feat: schema builder's create flow

This commit is contained in:
Florian Sylvain committed 2026-10-20 00:29:01 +02:00
1 parent f514146fed
commit 083cc9e23e
71 files changed
+7223 -61

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
<script setup lang="ts">
import { t } from '@/i18n'
import { computed } from 'vue'
const props = defineProps<{ kind: 'new' | 'required' | 'unique'; onSand?: boolean }>()
const badges = {
new: {
get label() {
return t('New')
},
class: 'border border-(--rc-sand) bg-(--rc-sand) text-(--rc-on-sand)',
},
required: {
get label() {
return t('Required')
},
class: 'border border-accented bg-transparent text-toned',
},
unique: {
get label() {
return t('Unique')
},
class: 'border border-accented bg-transparent text-toned',
},
} as const
const OUTLINE_ON_SAND = 'border border-(--rc-on-sand) bg-transparent text-(--rc-on-sand)'
const badge = computed(() => badges[props.kind])
const badgeClass = computed(() =>
props.onSand && props.kind !== 'new' ? OUTLINE_ON_SAND : badge.value.class,
)
</script>
<template>
<UBadge
color="neutral"
variant="soft"
:class="badgeClass"
:ui="{ base: 'h-5 shrink-0 px-1.5 py-0 text-xs font-medium whitespace-nowrap' }"
>
{{ badge.label }}
</UBadge>
</template>