ivt
Version:
Ivt Components Library
1 lines • 13.2 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../node_modules/@radix-ui/react-tabs/dist/index.mjs","../../src/components/ui/tabs/tabs.tsx"],"sourcesContent":["\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport React from \"react\";\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n\treturn (\n\t\t<TabsPrimitive.Root\n\t\t\tdata-slot=\"tabs\"\n\t\t\tclassName={cn(\"flex flex-col gap-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n\treturn (\n\t\t<TabsPrimitive.List\n\t\t\tdata-slot=\"tabs-list\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n\treturn (\n\t\t<TabsPrimitive.Trigger\n\t\t\tdata-slot=\"tabs-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/50 inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_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 TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n\treturn (\n\t\t<TabsPrimitive.Content\n\t\t\tdata-slot=\"tabs-content\"\n\t\t\tclassName={cn(\"flex-1 outline-none\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"names":["TABS_NAME","createTabsContext","createTabsScope","createContextScope","createRovingFocusGroupScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","React","forwardRef","props","forwardedRef","__scopeTabs","value","valueProp","onValueChange","defaultValue","orientation","dir","activationMode","tabsProps","direction","useDirection","setValue","useControllableState","prop","onChange","defaultProp","caller","jsx","scope","baseId","useId","children","Primitive","div","ref","displayName","TAB_LIST_NAME","TabsList","loop","listProps","context","rovingFocusGroupScope","RovingFocusGroup.Root","asChild","role","TRIGGER_NAME","TabsTrigger","disabled","triggerProps","triggerId","makeTriggerId","contentId","makeContentId","isSelected","RovingFocusGroup.Item","focusable","active","button","type","id","onMouseDown","composeEventHandlers","event","ctrlKey","preventDefault","onKeyDown","includes","key","onFocus","isAutomaticActivation","CONTENT_NAME","TabsContent","forceMount","contentProps","isMountAnimationPreventedRef","useRef","useEffect","rAF","requestAnimationFrame","current","cancelAnimationFrame","Presence","present","hidden","tabIndex","style","animationDuration","Root","List","Trigger","Content","className","createElement","TabsPrimitive","data-slot","cn"],"mappings":"kwBAiBA,IAAMA,EAAY,QAGXC,EAAmBC,GAAmBC,EAAmBH,EAAW,CACzEI,IAEIC,EAA2BD,KAW1BE,EAAcC,GAAkBN,EAAoCD,GA6BrEQ,EAAaC,EAAAC,WACjB,CAACC,EAA+BC,KAC9B,MAAMC,YACJA,EACAC,MAAOC,EAAAC,cACPA,EAAAC,aACAA,EAAAC,YACAA,EAAc,aAAAC,IACdA,EAAAC,eACAA,EAAiB,eACdC,GACDV,EACEW,EAAYC,EAAaJ,IACxBL,EAAOU,GAAYC,EAAqB,CAC7CC,KAAMX,EACNY,SAAUX,EACVY,YAAaX,GAAgB,GAC7BY,OAAQ7B,IAGV,OACE8B,EAACxB,EAAA,CACCyB,MAAOlB,EACPmB,OAAQC,IACRnB,QACAE,cAAeQ,EACfN,cACAC,IAAKG,EACLF,iBAEAc,SAAAJ,EAACK,EAAUC,IAAV,CACCjB,IAAKG,EACL,mBAAkBJ,KACdG,EACJgB,IAAKzB,QAOfJ,EAAK8B,YAActC,EAMnB,IAAMuC,EAAgB,WAOhBC,EAAiB/B,EAAAC,WACrB,CAACC,EAAmCC,KAClC,MAAMC,YAAEA,EAAA4B,KAAaA,GAAO,KAASC,GAAc/B,EAC7CgC,EAAUpC,EAAegC,EAAe1B,GACxC+B,EAAwBvC,EAAyBQ,GACvD,OACEiB,EAAkBe,EAAjB,CACCC,SAAO,KACHF,EACJ1B,YAAayB,EAAQzB,YACrBC,IAAKwB,EAAQxB,IACbsB,OAEAP,SAAAJ,EAACK,EAAUC,IAAV,CACCW,KAAK,UACL,mBAAkBJ,EAAQzB,eACtBwB,EACJL,IAAKzB,QAOf4B,EAASF,YAAcC,EAMvB,IAAMS,EAAe,cAQfC,EAAoBxC,EAAAC,WACxB,CAACC,EAAsCC,KACrC,MAAMC,YAAEA,EAAAC,MAAaA,EAAAoC,SAAOA,GAAW,KAAUC,GAAiBxC,EAC5DgC,EAAUpC,EAAeyC,EAAcnC,GACvC+B,EAAwBvC,EAAyBQ,GACjDuC,EAAYC,EAAcV,EAAQX,OAAQlB,GAC1CwC,EAAYC,EAAcZ,EAAQX,OAAQlB,GAC1C0C,EAAa1C,IAAU6B,EAAQ7B,MACrC,OACEgB,EAAkB2B,EAAjB,CACCX,SAAO,KACHF,EACJc,WAAYR,EACZS,OAAQH,EAERtB,SAAAJ,EAACK,EAAUyB,OAAV,CACCC,KAAK,SACLd,KAAK,MACL,gBAAeS,EACf,gBAAeF,EACf,aAAYE,EAAa,SAAW,WACpC,gBAAeN,EAAW,QAAK,EAC/BA,WACAY,GAAIV,KACAD,EACJd,IAAKzB,EACLmD,YAAaC,EAAqBrD,EAAMoD,YAAcE,IAG/Cf,GAA6B,IAAjBe,EAAML,SAAkC,IAAlBK,EAAMC,QAI3CD,EAAME,iBAHNxB,EAAQ3B,cAAcF,KAM1BsD,UAAWJ,EAAqBrD,EAAMyD,UAAYH,IAC5C,CAAC,IAAK,SAASI,SAASJ,EAAMK,MAAM3B,EAAQ3B,cAAcF,KAEhEyD,QAASP,EAAqBrD,EAAM4D,QAAS,KAG3C,MAAMC,EAAmD,WAA3B7B,EAAQvB,eACjCoC,GAAeN,IAAYsB,GAC9B7B,EAAQ3B,cAAcF,WASpCmC,EAAYX,YAAcU,EAM1B,IAAMyB,EAAe,cAafC,EAAoBjE,EAAAC,WACxB,CAACC,EAAsCC,KACrC,MAAMC,YAAEA,EAAAC,MAAaA,EAAA6D,WAAOA,EAAAzC,SAAYA,KAAa0C,GAAiBjE,EAChEgC,EAAUpC,EAAekE,EAAc5D,GACvCuC,EAAYC,EAAcV,EAAQX,OAAQlB,GAC1CwC,EAAYC,EAAcZ,EAAQX,OAAQlB,GAC1C0C,EAAa1C,IAAU6B,EAAQ7B,MAC/B+D,EAAqCpE,EAAAqE,OAAOtB,GAOlD,OALM/C,EAAAsE,UAAU,KACd,MAAMC,EAAMC,sBAAsB,IAAOJ,EAA6BK,SAAU,GAChF,MAAO,IAAMC,qBAAqBH,IACjC,IAGDlD,EAACsD,EAAA,CAASC,QAASV,GAAcnB,EAC9BtB,SAAA,EAAGmD,aACFvD,EAACK,EAAUC,IAAV,CACC,aAAYoB,EAAa,SAAW,WACpC,mBAAkBb,EAAQzB,YAC1B6B,KAAK,WACL,kBAAiBK,EACjBkC,QAASD,EACTvB,GAAIR,EACJiC,SAAU,KACNX,EACJvC,IAAKzB,EACL4E,MAAO,IACF7E,EAAM6E,MACTC,kBAAmBZ,EAA6BK,QAAU,UAAO,GAGlEhD,SAAAmD,GAAWnD,QAYxB,SAASmB,EAAcrB,EAAgBlB,GACrC,MAAO,GAAGkB,aAAkBlB,GAC9B,CAEA,SAASyC,EAAcvB,EAAgBlB,GACrC,MAAO,GAAGkB,aAAkBlB,GAC9B,CAVA4D,EAAYpC,YAAcmC,EAY1B,IAAMiB,EAAOlF,EACPmF,EAAOnD,EACPoD,EAAU3C,EACV4C,EAAUnB,ECtRhB,SAASlE,GAAKsF,UAAEA,KAAcnF,IAC7B,OACCF,EAAAsF,cAACC,EAAkB,CAClBC,YAAU,OACVH,UAAWI,EAAG,sBAAuBJ,MACjCnF,GAGP,CAEA,SAAS6B,GAASsD,UAAEA,KAAcnF,IACjC,OACCF,EAAAsF,cAACC,EAAkB,CAClBC,YAAU,YACVH,UAAWI,EACV,sGACAJ,MAEGnF,GAGP,CAEA,SAASsC,GAAY6C,UAAEA,KAAcnF,IACpC,OACCF,EAAAsF,cAACC,EAAqB,CACrBC,YAAU,eACVH,UAAWI,EACV,ioBACAJ,MAEGnF,GAGP,CAEA,SAAS+D,GAAYoB,UAAEA,KAAcnF,IACpC,OACCF,EAAAsF,cAACC,EAAqB,CACrBC,YAAU,eACVH,UAAWI,EAAG,sBAAuBJ,MACjCnF,GAGP","x_google_ignoreList":[0]}