{"version":3,"file":"tabs-B5HgsIWx.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","\"use client\";\n\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport React from \"react\";\nimport { cn } from \"@/lib/utils\";\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","TabsList","RovingFocusGroup.Root","TabsTrigger","RovingFocusGroup.Item","TabsContent","Root","className","props","React","TabsPrimitive","data-slot","cn"],"mappings":"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","x_google_ignoreList":[0]}