UNPKG

@undp/design-system-react

Version:

React based design system for UNDP

1 lines 14.7 kB
{"version":3,"file":"tabs-D1QtqVH_.cjs","names":["createContextScope","createRovingFocusGroupScope","Tabs","useDirection","useControllableState","useId","Primitive","TabsList","TabsTrigger","composeEventHandlers","TabsContent","React","Presence"],"sources":["../node_modules/@radix-ui/react-tabs/dist/index.mjs","../src/components/ui/tabs.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\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 = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Tabs2(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 }, \"Tabs\")\n);\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function TabsList2(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 }, \"TabsList\")\n);\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function TabsTrigger2(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 (disabled || event.target !== event.currentTarget) {\n return;\n }\n if ([\" \", \"Enter\"].includes(event.key)) {\n context.onValueChange(value);\n }\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 }, \"TabsTrigger\")\n);\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function TabsContent2(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 }, \"TabsContent\")\n);\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\n__name(makeTriggerId, \"makeTriggerId\");\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\n__name(makeContentId, \"makeContentId\");\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 { cva, type VariantProps } from 'class-variance-authority';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\nimport React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst tabVariants = cva(\n 'inline-flex text-base rtl:[direction:rtl] uppercase font-bold justify-center whitespace-nowrap border-b-2 border-stroke-sm p-0 pb-2 mt-3 mr-6 -mb-0.5 transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-ring disabled:pointer-events-none disabled:opacity-disabled',\n {\n variants: {\n color: {\n primary: 'data-[state=active]:border-primary',\n secondary: 'data-[state=active]:border-secondary',\n tertiary: 'data-[state=active]:border-tertiary',\n quaternary: 'data-[state=active]:border-quaternary',\n foreground: 'data-[state=active]:border-foreground',\n },\n },\n defaultVariants: { color: 'primary' },\n },\n);\n\nconst TabContext = React.createContext<VariantProps<typeof tabVariants>>({ color: undefined });\n\nconst Tabs = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & VariantProps<typeof tabVariants>\n>(({ color, className, ...props }, ref) => {\n const contextValue = React.useMemo(() => ({ color }), [color]);\n return (\n <TabContext.Provider value={contextValue}>\n <TabsPrimitive.Root className={cn('rtl:[direction:rtl]', className)} {...props} ref={ref} />\n </TabContext.Provider>\n );\n});\nTabs.displayName = TabsPrimitive.Root.displayName;\n\nconst TabsList = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n {...props}\n ref={ref}\n className={cn(\n 'mb-10 inline-flex w-full items-center border-stroke-sm border-b-2 pl-12 rtl:[direction:rtl]',\n className,\n )}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => {\n const { color } = React.useContext(TabContext);\n return (\n <TabsPrimitive.Trigger {...props} ref={ref} className={cn(tabVariants({ color }), className)} />\n );\n});\n\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n {...props}\n ref={ref}\n className={cn(\n 'mt-2 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-1',\n className,\n )}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n"],"x_google_ignoreList":[0],"mappings":"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"}