refactor(Button): use VariantProps for Button Props instead of NonNullable

This commit is contained in:
hrynevych.romann 2024-01-11 22:48:21 +02:00
parent ff2727500c
commit 2643f562cc
2 changed files with 14 additions and 4 deletions

View File

@ -1,15 +1,20 @@
<script setup lang="ts">
import type { VariantProps } from 'class-variance-authority'
import { Primitive, type PrimitiveProps } from 'radix-vue'
import { buttonVariants } from '.'
import { cn } from '@/lib/utils'
interface ButtonVariantProps extends VariantProps<typeof buttonVariants> {}
interface Props extends PrimitiveProps {
variant?: NonNullable<Parameters<typeof buttonVariants>[0]>['variant']
size?: NonNullable<Parameters<typeof buttonVariants>[0]>['size']
variant?: ButtonVariantProps['variant']
size?: ButtonVariantProps['size']
as?: string
}
withDefaults(defineProps<Props>(), {
variant: 'default',
size: 'default',
as: 'button',
})
</script>

View File

@ -1,15 +1,20 @@
<script setup lang="ts">
import type { VariantProps } from 'class-variance-authority'
import { Primitive, type PrimitiveProps } from 'radix-vue'
import { buttonVariants } from '.'
import { cn } from '@/lib/utils'
interface ButtonVariantProps extends VariantProps<typeof buttonVariants> {}
interface Props extends PrimitiveProps {
variant?: NonNullable<Parameters<typeof buttonVariants>[0]>['variant']
size?: NonNullable<Parameters<typeof buttonVariants>[0]>['size']
variant?: ButtonVariantProps['variant']
size?: ButtonVariantProps['size']
as?: string
}
withDefaults(defineProps<Props>(), {
variant: 'default',
size: 'default',
as: 'button',
})
</script>