shadcn-vue/packages/cli/test/fixtures/nuxt/components/ui/button/Button.vue
2024-10-14 19:48:05 +08:00

24 lines
488 B
Vue

<script setup lang="ts">
import { cn } from '@/lib/utils'
import { buttonVariants } from '.'
interface Props {
variant?: NonNullable<Parameters<typeof buttonVariants>[0]>['variant']
size?: NonNullable<Parameters<typeof buttonVariants>[0]>['size']
as?: string
}
withDefaults(defineProps<Props>(), {
as: 'button',
})
</script>
<template>
<component
:is="as"
:class="cn(buttonVariants({ variant, size }), $attrs.class ?? '')"
>
<slot />
</component>
</template>