chore(components): improve props

This commit is contained in:
Benjamin Canac
2024-06-28 18:13:03 +02:00
parent c9f9a248b7
commit 673064dee5
38 changed files with 260 additions and 137 deletions

View File

@@ -1,6 +1,5 @@
<script lang="ts">
import { tv, type VariantProps } from 'tailwind-variants'
import type { PrimitiveProps } from 'radix-vue'
import type { AppConfig } from '@nuxt/schema'
import _appConfig from '#build/app.config'
import theme from '#build/ui/kbd'
@@ -12,7 +11,12 @@ const kbd = tv({ extend: tv(theme), ...(appConfig.ui?.kbd || {}) })
type KbdVariants = VariantProps<typeof kbd>
export interface KbdProps extends Omit<PrimitiveProps, 'asChild'> {
export interface KbdProps {
/**
* The element or component this component should render as.
* @defaultValue 'kbd'
*/
as?: any
value: KbdKey | string
color?: KbdVariants['color']
size?: KbdVariants['size']
@@ -28,7 +32,9 @@ export interface KbdSlots {
import { Primitive } from 'radix-vue'
import { useKbd } from '#imports'
const props = withDefaults(defineProps<KbdProps>(), { as: 'kbd' })
const props = withDefaults(defineProps<KbdProps>(), {
as: 'kbd'
})
defineSlots<KbdSlots>()
const { getKbdKey } = useKbd()