ivt
Version:
Ivt Components Library
1 lines • 2.99 kB
Source Map (JSON)
{"version":3,"file":"button-CWf6NSDH.mjs","sources":["../../src/components/ui/button/button.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n\t\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 cursor-pointer\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: \"bg-primary text-primary-foreground shadow hover:bg-primary/90\",\n\t\t\t\tdestructive: \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n\t\t\t\toutline:\n\t\t\t\t\t\"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n\t\t\t\tsecondary: \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n\t\t\t\tselection: \"border border-input bg-accent text-accent-foreground hover:bg-accent/80\",\n\t\t\t\tupload: \"bg-accent text-primary hover:bg-accent/80\",\n\t\t\t\tghost: \"hover:bg-body\",\n\t\t\t\tlink: \"text-primary underline-offset-4 hover:underline\",\n\t\t\t\ttable: \"text-inherit\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: \"h-9 px-4 py-2\",\n\t\t\t\tsm: \"h-8 rounded-md px-3\",\n\t\t\t\tlg: \"h-10 rounded-md px-8\",\n\t\t\t\ticon: \"h-9 w-9\",\n\t\t\t\tnormal: \"h-fit\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"default\",\n\t\t\tsize: \"default\",\n\t\t},\n\t},\n);\n\nexport interface ButtonProps\n\textends React.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tVariantProps<typeof buttonVariants> {\n\tasChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n\t({ className, variant, size, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"button\";\n\t\treturn (\n\t\t\t<Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n\t\t);\n\t},\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n"],"names":["buttonVariants","cva","variants","variant","default","destructive","outline","secondary","selection","upload","ghost","link","table","size","sm","lg","icon","normal","defaultVariants","Button","React","forwardRef","className","asChild","props","ref","Comp","Slot","createElement","cn","displayName"],"mappings":"4JAMA,MAAMA,EAAiBC,EACtB,2PACA,CACCC,SAAU,CACTC,QAAS,CACRC,QAAS,gEACTC,YAAa,+EACbC,QACC,2FACDC,UAAW,yEACXC,UAAW,0EACXC,OAAQ,4CACRC,MAAO,gBACPC,KAAM,kDACNC,MAAO,gBAERC,KAAM,CACLT,QAAS,gBACTU,GAAI,sBACJC,GAAI,uBACJC,KAAM,UACNC,OAAQ,UAGVC,gBAAiB,CAChBf,QAAS,UACTU,KAAM,aAWHM,EAASC,EAAMC,WACpB,EAAGC,YAAWnB,UAASU,OAAMU,WAAU,KAAUC,GAASC,KACzD,MAAMC,EAAOH,EAAUI,EAAO,SAC9B,OACCP,EAAAQ,cAACF,EAAAA,CAAKJ,UAAWO,EAAG7B,EAAe,CAAEG,UAASU,OAAMS,eAAeG,IAAKA,KAASD,MAIpFL,EAAOW,YAAc"}