11import type { VariantProps } from "class-variance-authority" ;
22import type * as React from "react" ;
33import { Slot } from "@radix-ui/react-slot" ;
4- import { cva } from "class-variance-authority" ;
54import { cn } from "@/lib/utils" ;
6-
7- const buttonVariants = cva (
8- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive" ,
9- {
10- variants : {
11- variant : {
12- default :
13- "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90" ,
14- destructive :
15- "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60" ,
16- outline :
17- "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50" ,
18- secondary :
19- "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80" ,
20- ghost :
21- "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50" ,
22- link : "text-primary underline-offset-4 hover:underline" ,
23- } ,
24- size : {
25- default : "h-9 px-4 py-2 has-[>svg]:px-3" ,
26- sm : "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5" ,
27- lg : "h-10 rounded-md px-6 has-[>svg]:px-4" ,
28- icon : "size-9" ,
29- } ,
30- } ,
31- defaultVariants : {
32- variant : "default" ,
33- size : "default" ,
34- } ,
35- } ,
36- ) ;
5+ import { buttonVariants } from "./button-variants" ;
376
387function Button ( {
398 className,
@@ -56,5 +25,4 @@ function Button({
5625 ) ;
5726}
5827
59- // eslint-disable-next-line react-refresh/only-export-components
60- export { Button , buttonVariants } ;
28+ export { Button } ;
0 commit comments