UNPKG

ivt

Version:

Ivt Components Library

1 lines 3.82 kB
{"version":3,"file":"index.mjs","sources":["../../src/components/ui/button-group/button-group.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { Separator } from \"@/components/ui/separator\";\nimport { cn } from \"@/lib/utils\";\n\nconst buttonGroupVariants = cva(\n\t\"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\",\n\t{\n\t\tvariants: {\n\t\t\torientation: {\n\t\t\t\thorizontal:\n\t\t\t\t\t\"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n\t\t\t\tvertical:\n\t\t\t\t\t\"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\torientation: \"horizontal\",\n\t\t},\n\t},\n);\n\nfunction ButtonGroup({\n\tclassName,\n\torientation,\n\t...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n\treturn (\n\t\t// biome-ignore lint/a11y/useSemanticElements: <group>\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\tdata-slot=\"button-group\"\n\t\t\tdata-orientation={orientation}\n\t\t\tclassName={cn(buttonGroupVariants({ orientation }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction ButtonGroupText({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tasChild?: boolean;\n}) {\n\tconst Comp = asChild ? Slot : \"div\";\n\n\treturn (\n\t\t<Comp\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction ButtonGroupSeparator({\n\tclassName,\n\torientation = \"vertical\",\n\t...props\n}: React.ComponentProps<typeof Separator>) {\n\treturn (\n\t\t<Separator\n\t\t\tdata-slot=\"button-group-separator\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-input relative m-0! self-stretch data-[orientation=vertical]:h-auto\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };\n"],"names":["buttonGroupVariants","cva","variants","orientation","horizontal","vertical","defaultVariants","ButtonGroup","className","props","React","div","role","data-slot","data-orientation","cn","ButtonGroupText","asChild","Comp","Slot","ButtonGroupSeparator","Separator"],"mappings":";;;;;;;;;;AAOA,MAAMA,mBAAAA,GAAsBC,IAC3B,kSAAA,EACA;IACCC,QAAAA,EAAU;QACTC,WAAAA,EAAa;YACZC,UAAAA,EACC,iHAAA;YACDC,QAAAA,EACC;AACF;AACD,KAAA;IACAC,eAAAA,EAAiB;QAChBH,WAAAA,EAAa;AACd;AACD,CAAA;AAGD,SAASI,YAAY,EACpBC,SAAS,EACTL,WAAW,EACX,GAAGM,KAAAA,EACqE,EAAA;AACxE,IAAA;kBAECC,cAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;QACAC,IAAAA,EAAK,OAAA;QACLC,WAAAA,EAAU,cAAA;QACVC,kBAAAA,EAAkBX,WAAAA;AAClBK,QAAAA,SAAAA,EAAWO,GAAGf,mBAAAA,CAAoB;AAAEG,YAAAA;SAAY,CAAA,EAAIK,SAAAA,CAAAA;AACnD,QAAA,GAAGC;;AAGP;AAEA,SAASO,eAAAA,CAAgB,EACxBR,SAAS,EACTS,UAAU,KAAK,EACf,GAAGR,KAAAA,EAGH,EAAA;IACA,MAAMS,IAAAA,GAAOD,UAAUE,IAAAA,GAAO,KAAA;AAE9B,IAAA,qBACCT,cAAA,CAAA,aAAA,CAACQ,IAAAA,EAAAA;AACAV,QAAAA,SAAAA,EAAWO,GACV,wJAAA,EACAP,SAAAA,CAAAA;AAEA,QAAA,GAAGC;;AAGP;AAEA,SAASW,oBAAAA,CAAqB,EAC7BZ,SAAS,EACTL,cAAc,UAAU,EACxB,GAAGM,KAAAA,EACqC,EAAA;AACxC,IAAA,qBACCC,cAAA,CAAA,aAAA,CAACW,SAAAA,EAAAA;QACAR,WAAAA,EAAU,wBAAA;QACVV,WAAAA,EAAaA,WAAAA;AACbK,QAAAA,SAAAA,EAAWO,GACV,wEAAA,EACAP,SAAAA,CAAAA;AAEA,QAAA,GAAGC;;AAGP;;;;"}