@purpurds/tabs 6.0.1 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE.txt +15 -51
- package/dist/tabs.cjs.js +3 -3
- package/dist/tabs.cjs.js.map +1 -1
- package/dist/tabs.es.js +629 -682
- package/dist/tabs.es.js.map +1 -1
- package/package.json +6 -6
package/dist/tabs.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.es.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/chevron-left.es.js","../../icon/dist/assets/chevron-right.es.js","../../../common/temp/node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/extends.js","../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.0.1/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.0.2_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-collection@1.0.3_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-collection/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-id@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@1.0.3_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-direction@1.0.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-roving-focus@1.0.4_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-presence@1.0.1_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-tabs@1.0.4_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-tabs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/tab-content.tsx","../src/tab-header.tsx","../src/tabs.utils.ts","../src/tabs.tsx"],"sourcesContent":["import { jsx as l } from \"react/jsx-runtime\";\nfunction a(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar p = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n})(p);\nvar m = p.exports;\nconst f = /* @__PURE__ */ a(m), _ = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, d = f.bind(_), c = \"purpur-icon\", y = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], v = \"md\", x = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), g = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${x(s)}>${u}${r}</svg>`;\n}, h = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: s,\n className: u,\n size: i = v,\n ...t\n}) => {\n const n = g({\n content: h(e.svg),\n title: s\n }), o = d(u, c, `${c}--${i}`);\n return /* @__PURE__ */ l(\n \"span\",\n {\n \"aria-label\": s,\n className: o,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n v as DEFAULT_SIZE,\n b as Icon,\n y as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const e = {\n name: \"chevron-left\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M16.175 3.905a.9.9 0 0 1-.08 1.27L8.36 12l7.736 6.825a.9.9 0 0 1-1.191 1.35l-8.5-7.5a.9.9 0 0 1 0-1.35l8.5-7.5a.9.9 0 0 1 1.27.08Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"chevron-left\"],\n category: \"utility\"\n};\nexport {\n e as chevronLeft\n};\n//# sourceMappingURL=chevron-left.es.js.map\n","const e = {\n name: \"chevron-right\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M7.809 3.924a.9.9 0 0 0 .115 1.267L16.094 12l-8.17 6.809a.9.9 0 0 0 1.152 1.382l9-7.5a.9.9 0 0 0 0-1.382l-9-7.5a.9.9 0 0 0-1.267.115Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"chevron-right\"],\n category: \"utility\"\n};\nexport {\n e as chevronRight\n};\n//# sourceMappingURL=chevron-right.es.js.map\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function $e42e1063c40fb3ef$export$b9ecd428b558ff10(originalEventHandler, ourEventHandler, { checkForDefaultPrevented: checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler === null || originalEventHandler === void 0 || originalEventHandler(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) return ourEventHandler === null || ourEventHandler === void 0 ? void 0 : ourEventHandler(event);\n };\n}\n\n\n\n\nexport {$e42e1063c40fb3ef$export$b9ecd428b558ff10 as composeEventHandlers};\n//# sourceMappingURL=index.mjs.map\n","import {createContext as $3bkAK$createContext, useMemo as $3bkAK$useMemo, createElement as $3bkAK$createElement, useContext as $3bkAK$useContext} from \"react\";\n\n\nfunction $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n const Context = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n function Provider(props) {\n const { children: children , ...context } = props; // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = $3bkAK$useMemo(()=>context\n , Object.values(context));\n return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n value: value\n }, children);\n }\n function useContext(consumerName) {\n const context = $3bkAK$useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + 'Provider';\n return [\n Provider,\n useContext\n ];\n}\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$50c7b4e9d9f19c1(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n /* -----------------------------------------------------------------------------------------------\n * createContext\n * ---------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$export$fd42f52fd3ae1109(rootComponentName, defaultContext) {\n const BaseContext = /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [\n ...defaultContexts,\n defaultContext\n ];\n function Provider(props) {\n const { scope: scope , children: children , ...context } = props;\n const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext; // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = $3bkAK$useMemo(()=>context\n , Object.values(context));\n return /*#__PURE__*/ $3bkAK$createElement(Context.Provider, {\n value: value\n }, children);\n }\n function useContext(consumerName, scope) {\n const Context = (scope === null || scope === void 0 ? void 0 : scope[scopeName][index]) || BaseContext;\n const context = $3bkAK$useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext; // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + 'Provider';\n return [\n Provider,\n useContext\n ];\n }\n /* -----------------------------------------------------------------------------------------------\n * createScope\n * ---------------------------------------------------------------------------------------------*/ const createScope = ()=>{\n const scopeContexts = defaultContexts.map((defaultContext)=>{\n return /*#__PURE__*/ $3bkAK$createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = (scope === null || scope === void 0 ? void 0 : scope[scopeName]) || scopeContexts;\n return $3bkAK$useMemo(()=>({\n [`__scope${scopeName}`]: {\n ...scope,\n [scopeName]: contexts\n }\n })\n , [\n scope,\n contexts\n ]);\n };\n };\n createScope.scopeName = scopeName;\n return [\n $c512c27ab02ef895$export$fd42f52fd3ae1109,\n $c512c27ab02ef895$var$composeContextScopes(createScope, ...createContextScopeDeps)\n ];\n}\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/ function $c512c27ab02ef895$var$composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope1 = ()=>{\n const scopeHooks = scopes.map((createScope)=>({\n useScope: createScope(),\n scopeName: createScope.scopeName\n })\n );\n return function useComposedScopes(overrideScopes) {\n const nextScopes1 = scopeHooks.reduce((nextScopes, { useScope: useScope , scopeName: scopeName })=>{\n // We are calling a hook inside a callback which React warns against to avoid inconsistent\n // renders, however, scoping doesn't have render side effects so we ignore the rule.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return {\n ...nextScopes,\n ...currentScope\n };\n }, {});\n return $3bkAK$useMemo(()=>({\n [`__scope${baseScope.scopeName}`]: nextScopes1\n })\n , [\n nextScopes1\n ]);\n };\n };\n createScope1.scopeName = baseScope.scopeName;\n return createScope1;\n}\n\n\n\n\nexport {$c512c27ab02ef895$export$fd42f52fd3ae1109 as createContext, $c512c27ab02ef895$export$50c7b4e9d9f19c1 as createContextScope};\n//# sourceMappingURL=index.mjs.map\n","import {useCallback as $3vqmr$useCallback} from \"react\";\n\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$var$setRef(ref, value) {\n if (typeof ref === 'function') ref(value);\n else if (ref !== null && ref !== undefined) ref.current = value;\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$43e446d32b3d21af(...refs) {\n return (node)=>refs.forEach((ref)=>$6ed0406888f73fc4$var$setRef(ref, node)\n )\n ;\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */ function $6ed0406888f73fc4$export$c7b2cbe3552a0d05(...refs) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return $3vqmr$useCallback($6ed0406888f73fc4$export$43e446d32b3d21af(...refs), refs);\n}\n\n\n\n\nexport {$6ed0406888f73fc4$export$43e446d32b3d21af as composeRefs, $6ed0406888f73fc4$export$c7b2cbe3552a0d05 as useComposedRefs};\n//# sourceMappingURL=index.mjs.map\n","import $9IrjX$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $9IrjX$forwardRef, Children as $9IrjX$Children, isValidElement as $9IrjX$isValidElement, createElement as $9IrjX$createElement, cloneElement as $9IrjX$cloneElement, Fragment as $9IrjX$Fragment} from \"react\";\nimport {composeRefs as $9IrjX$composeRefs} from \"@radix-ui/react-compose-refs\";\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n const childrenArray = $9IrjX$Children.toArray(children);\n const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child)=>{\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if ($9IrjX$Children.count(newElement) > 1) return $9IrjX$Children.only(null);\n return /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? newElement.props.children : null;\n } else return child;\n });\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), /*#__PURE__*/ $9IrjX$isValidElement(newElement) ? /*#__PURE__*/ $9IrjX$cloneElement(newElement, undefined, newChildren) : null);\n }\n return /*#__PURE__*/ $9IrjX$createElement($5e63c961fc1ce211$var$SlotClone, $9IrjX$babelruntimehelpersesmextends({}, slotProps, {\n ref: forwardedRef\n }), children);\n});\n$5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = 'Slot';\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$var$SlotClone = /*#__PURE__*/ $9IrjX$forwardRef((props, forwardedRef)=>{\n const { children: children , ...slotProps } = props;\n if (/*#__PURE__*/ $9IrjX$isValidElement(children)) return /*#__PURE__*/ $9IrjX$cloneElement(children, {\n ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),\n ref: forwardedRef ? $9IrjX$composeRefs(forwardedRef, children.ref) : children.ref\n });\n return $9IrjX$Children.count(children) > 1 ? $9IrjX$Children.only(null) : null;\n});\n$5e63c961fc1ce211$var$SlotClone.displayName = 'SlotClone';\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children: children })=>{\n return /*#__PURE__*/ $9IrjX$createElement($9IrjX$Fragment, null, children);\n};\n/* ---------------------------------------------------------------------------------------------- */ function $5e63c961fc1ce211$var$isSlottable(child) {\n return /*#__PURE__*/ $9IrjX$isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;\n}\nfunction $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {\n // all child props should override\n const overrideProps = {\n ...childProps\n };\n for(const propName in childProps){\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{\n childPropValue(...args);\n slotPropValue(...args);\n };\n else if (slotPropValue) overrideProps[propName] = slotPropValue;\n } else if (propName === 'style') overrideProps[propName] = {\n ...slotPropValue,\n ...childPropValue\n };\n else if (propName === 'className') overrideProps[propName] = [\n slotPropValue,\n childPropValue\n ].filter(Boolean).join(' ');\n }\n return {\n ...slotProps,\n ...overrideProps\n };\n}\nconst $5e63c961fc1ce211$export$be92b6f5f03c0fe9 = $5e63c961fc1ce211$export$8c6ed5c666ac1360;\n\n\n\n\nexport {$5e63c961fc1ce211$export$8c6ed5c666ac1360 as Slot, $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 as Slottable, $5e63c961fc1ce211$export$be92b6f5f03c0fe9 as Root};\n//# sourceMappingURL=index.mjs.map\n","import $6vYhU$react from \"react\";\nimport {createContextScope as $6vYhU$createContextScope} from \"@radix-ui/react-context\";\nimport {useComposedRefs as $6vYhU$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {Slot as $6vYhU$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like `<CollectionItem as={Slot}>…</CollectionItem>`.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\nfunction $e02a7d9cb1dc128c$export$c74125a8e3af6bb2(name) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/ const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = $6vYhU$createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, {\n collectionRef: {\n current: null\n },\n itemMap: new Map()\n });\n const CollectionProvider = (props)=>{\n const { scope: scope , children: children } = props;\n const ref = $6vYhU$react.useRef(null);\n const itemMap = $6vYhU$react.useRef(new Map()).current;\n return /*#__PURE__*/ $6vYhU$react.createElement(CollectionProviderImpl, {\n scope: scope,\n itemMap: itemMap,\n collectionRef: ref\n }, children);\n };\n /*#__PURE__*/ Object.assign(CollectionProvider, {\n displayName: PROVIDER_NAME\n });\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/ const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n const CollectionSlot = /*#__PURE__*/ $6vYhU$react.forwardRef((props, forwardedRef)=>{\n const { scope: scope , children: children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = $6vYhU$useComposedRefs(forwardedRef, context.collectionRef);\n return /*#__PURE__*/ $6vYhU$react.createElement($6vYhU$Slot, {\n ref: composedRefs\n }, children);\n });\n /*#__PURE__*/ Object.assign(CollectionSlot, {\n displayName: COLLECTION_SLOT_NAME\n });\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/ const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n const CollectionItemSlot = /*#__PURE__*/ $6vYhU$react.forwardRef((props, forwardedRef)=>{\n const { scope: scope , children: children , ...itemData } = props;\n const ref = $6vYhU$react.useRef(null);\n const composedRefs = $6vYhU$useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n $6vYhU$react.useEffect(()=>{\n context.itemMap.set(ref, {\n ref: ref,\n ...itemData\n });\n return ()=>void context.itemMap.delete(ref)\n ;\n });\n return /*#__PURE__*/ $6vYhU$react.createElement($6vYhU$Slot, {\n [ITEM_DATA_ATTR]: '',\n ref: composedRefs\n }, children);\n });\n /*#__PURE__*/ Object.assign(CollectionItemSlot, {\n displayName: ITEM_SLOT_NAME\n });\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/ function useCollection(scope) {\n const context = useCollectionContext(name + 'CollectionConsumer', scope);\n const getItems = $6vYhU$react.useCallback(()=>{\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort((a, b)=>orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [\n context.collectionRef,\n context.itemMap\n ]);\n return getItems;\n }\n return [\n {\n Provider: CollectionProvider,\n Slot: CollectionSlot,\n ItemSlot: CollectionItemSlot\n },\n useCollection,\n createCollectionScope\n ];\n}\n\n\n\n\nexport {$e02a7d9cb1dc128c$export$c74125a8e3af6bb2 as createCollection};\n//# sourceMappingURL=index.mjs.map\n","import {useLayoutEffect as $dxlwH$useLayoutEffect} from \"react\";\n\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */ const $9f79659886946c16$export$e5c5a5f917a5871c = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.document) ? $dxlwH$useLayoutEffect : ()=>{};\n\n\n\n\nexport {$9f79659886946c16$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=index.mjs.map\n","import * as $2AODx$react from \"react\";\nimport {useLayoutEffect as $2AODx$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\nconst $1746a345f3d73bb7$var$useReactId = $2AODx$react['useId'.toString()] || (()=>undefined\n);\nlet $1746a345f3d73bb7$var$count = 0;\nfunction $1746a345f3d73bb7$export$f680877a34711e37(deterministicId) {\n const [id, setId] = $2AODx$react.useState($1746a345f3d73bb7$var$useReactId()); // React versions older than 18 will have client-side ids only.\n $2AODx$useLayoutEffect(()=>{\n if (!deterministicId) setId((reactId)=>reactId !== null && reactId !== void 0 ? reactId : String($1746a345f3d73bb7$var$count++)\n );\n }, [\n deterministicId\n ]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\n\n\n\nexport {$1746a345f3d73bb7$export$f680877a34711e37 as useId};\n//# sourceMappingURL=index.mjs.map\n","import $4q5Fq$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $4q5Fq$forwardRef, useEffect as $4q5Fq$useEffect, createElement as $4q5Fq$createElement} from \"react\";\nimport {flushSync as $4q5Fq$flushSync} from \"react-dom\";\nimport {Slot as $4q5Fq$Slot} from \"@radix-ui/react-slot\";\n\n\n\n\n\nconst $8927f6f2acc4f386$var$NODES = [\n 'a',\n 'button',\n 'div',\n 'form',\n 'h2',\n 'h3',\n 'img',\n 'input',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'span',\n 'svg',\n 'ul'\n]; // Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$250ffa63cdc0d034 = $8927f6f2acc4f386$var$NODES.reduce((primitive, node)=>{\n const Node = /*#__PURE__*/ $4q5Fq$forwardRef((props, forwardedRef)=>{\n const { asChild: asChild , ...primitiveProps } = props;\n const Comp = asChild ? $4q5Fq$Slot : node;\n $4q5Fq$useEffect(()=>{\n window[Symbol.for('radix-ui')] = true;\n }, []);\n return /*#__PURE__*/ $4q5Fq$createElement(Comp, $4q5Fq$babelruntimehelpersesmextends({}, primitiveProps, {\n ref: forwardedRef\n }));\n });\n Node.displayName = `Primitive.${node}`;\n return {\n ...primitive,\n [node]: Node\n };\n}, {});\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/ /**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */ function $8927f6f2acc4f386$export$6d1a0317bde7de7f(target, event) {\n if (target) $4q5Fq$flushSync(()=>target.dispatchEvent(event)\n );\n}\n/* -----------------------------------------------------------------------------------------------*/ const $8927f6f2acc4f386$export$be92b6f5f03c0fe9 = $8927f6f2acc4f386$export$250ffa63cdc0d034;\n\n\n\n\nexport {$8927f6f2acc4f386$export$250ffa63cdc0d034 as Primitive, $8927f6f2acc4f386$export$be92b6f5f03c0fe9 as Root, $8927f6f2acc4f386$export$6d1a0317bde7de7f as dispatchDiscreteCustomEvent};\n//# sourceMappingURL=index.mjs.map\n","import {useRef as $lwiWj$useRef, useEffect as $lwiWj$useEffect, useMemo as $lwiWj$useMemo} from \"react\";\n\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */ function $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(callback) {\n const callbackRef = $lwiWj$useRef(callback);\n $lwiWj$useEffect(()=>{\n callbackRef.current = callback;\n }); // https://github.com/facebook/react/issues/19240\n return $lwiWj$useMemo(()=>(...args)=>{\n var _callbackRef$current;\n return (_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef, ...args);\n }\n , []);\n}\n\n\n\n\nexport {$b1b2314f5f9a1d84$export$25bec8c6f54ee79a as useCallbackRef};\n//# sourceMappingURL=index.mjs.map\n","import {useCallback as $bnPw9$useCallback, useState as $bnPw9$useState, useRef as $bnPw9$useRef, useEffect as $bnPw9$useEffect} from \"react\";\nimport {useCallbackRef as $bnPw9$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\n\n\n\nfunction $71cd76cc60e0454e$export$6f32135080cb4c3({ prop: prop , defaultProp: defaultProp , onChange: onChange = ()=>{} }) {\n const [uncontrolledProp, setUncontrolledProp] = $71cd76cc60e0454e$var$useUncontrolledState({\n defaultProp: defaultProp,\n onChange: onChange\n });\n const isControlled = prop !== undefined;\n const value1 = isControlled ? prop : uncontrolledProp;\n const handleChange = $bnPw9$useCallbackRef(onChange);\n const setValue = $bnPw9$useCallback((nextValue)=>{\n if (isControlled) {\n const setter = nextValue;\n const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n if (value !== prop) handleChange(value);\n } else setUncontrolledProp(nextValue);\n }, [\n isControlled,\n prop,\n setUncontrolledProp,\n handleChange\n ]);\n return [\n value1,\n setValue\n ];\n}\nfunction $71cd76cc60e0454e$var$useUncontrolledState({ defaultProp: defaultProp , onChange: onChange }) {\n const uncontrolledState = $bnPw9$useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = $bnPw9$useRef(value);\n const handleChange = $bnPw9$useCallbackRef(onChange);\n $bnPw9$useEffect(()=>{\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [\n value,\n prevValueRef,\n handleChange\n ]);\n return uncontrolledState;\n}\n\n\n\n\nexport {$71cd76cc60e0454e$export$6f32135080cb4c3 as useControllableState};\n//# sourceMappingURL=index.mjs.map\n","import {createContext as $7Gjcd$createContext, createElement as $7Gjcd$createElement, useContext as $7Gjcd$useContext} from \"react\";\n\n\nconst $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ $7Gjcd$createContext(undefined);\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/ const $f631663db3294ace$export$c760c09fdd558351 = (props)=>{\n const { dir: dir , children: children } = props;\n return /*#__PURE__*/ $7Gjcd$createElement($f631663db3294ace$var$DirectionContext.Provider, {\n value: dir\n }, children);\n};\n/* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {\n const globalDir = $7Gjcd$useContext($f631663db3294ace$var$DirectionContext);\n return localDir || globalDir || 'ltr';\n}\nconst $f631663db3294ace$export$2881499e37b75b9a = $f631663db3294ace$export$c760c09fdd558351;\n\n\n\n\nexport {$f631663db3294ace$export$b39126d51d94e6f3 as useDirection, $f631663db3294ace$export$2881499e37b75b9a as Provider, $f631663db3294ace$export$c760c09fdd558351 as DirectionProvider};\n//# sourceMappingURL=index.mjs.map\n","import $98Iye$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $98Iye$forwardRef, createElement as $98Iye$createElement, useRef as $98Iye$useRef, useState as $98Iye$useState, useEffect as $98Iye$useEffect, useCallback as $98Iye$useCallback} from \"react\";\nimport {composeEventHandlers as $98Iye$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createCollection as $98Iye$createCollection} from \"@radix-ui/react-collection\";\nimport {useComposedRefs as $98Iye$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $98Iye$createContextScope} from \"@radix-ui/react-context\";\nimport {useId as $98Iye$useId} from \"@radix-ui/react-id\";\nimport {Primitive as $98Iye$Primitive} from \"@radix-ui/react-primitive\";\nimport {useCallbackRef as $98Iye$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useControllableState as $98Iye$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useDirection as $98Iye$useDirection} from \"@radix-ui/react-direction\";\n\n\n\n\n\n\n\n\n\n\n\n\nconst $d7bdfb9eb0fdf311$var$ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst $d7bdfb9eb0fdf311$var$EVENT_OPTIONS = {\n bubbles: false,\n cancelable: true\n};\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$GROUP_NAME = 'RovingFocusGroup';\nconst [$d7bdfb9eb0fdf311$var$Collection, $d7bdfb9eb0fdf311$var$useCollection, $d7bdfb9eb0fdf311$var$createCollectionScope] = $98Iye$createCollection($d7bdfb9eb0fdf311$var$GROUP_NAME);\nconst [$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext, $d7bdfb9eb0fdf311$export$c7109489551a4f4] = $98Iye$createContextScope($d7bdfb9eb0fdf311$var$GROUP_NAME, [\n $d7bdfb9eb0fdf311$var$createCollectionScope\n]);\nconst [$d7bdfb9eb0fdf311$var$RovingFocusProvider, $d7bdfb9eb0fdf311$var$useRovingFocusContext] = $d7bdfb9eb0fdf311$var$createRovingFocusGroupContext($d7bdfb9eb0fdf311$var$GROUP_NAME);\nconst $d7bdfb9eb0fdf311$export$8699f7c8af148338 = /*#__PURE__*/ $98Iye$forwardRef((props, forwardedRef)=>{\n return /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$Collection.Provider, {\n scope: props.__scopeRovingFocusGroup\n }, /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$Collection.Slot, {\n scope: props.__scopeRovingFocusGroup\n }, /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$RovingFocusGroupImpl, $98Iye$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef\n }))));\n});\n/*#__PURE__*/ Object.assign($d7bdfb9eb0fdf311$export$8699f7c8af148338, {\n displayName: $d7bdfb9eb0fdf311$var$GROUP_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$RovingFocusGroupImpl = /*#__PURE__*/ $98Iye$forwardRef((props, forwardedRef)=>{\n const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , orientation: orientation , loop: loop = false , dir: dir , currentTabStopId: currentTabStopIdProp , defaultCurrentTabStopId: defaultCurrentTabStopId , onCurrentTabStopIdChange: onCurrentTabStopIdChange , onEntryFocus: onEntryFocus , ...groupProps } = props;\n const ref = $98Iye$useRef(null);\n const composedRefs = $98Iye$useComposedRefs(forwardedRef, ref);\n const direction = $98Iye$useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = $98Iye$useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = $98Iye$useState(false);\n const handleEntryFocus = $98Iye$useCallbackRef(onEntryFocus);\n const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = $98Iye$useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = $98Iye$useState(0);\n $98Iye$useEffect(()=>{\n const node = ref.current;\n if (node) {\n node.addEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus);\n return ()=>node.removeEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus)\n ;\n }\n }, [\n handleEntryFocus\n ]);\n return /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$RovingFocusProvider, {\n scope: __scopeRovingFocusGroup,\n orientation: orientation,\n dir: direction,\n loop: loop,\n currentTabStopId: currentTabStopId,\n onItemFocus: $98Iye$useCallback((tabStopId)=>setCurrentTabStopId(tabStopId)\n , [\n setCurrentTabStopId\n ]),\n onItemShiftTab: $98Iye$useCallback(()=>setIsTabbingBackOut(true)\n , []),\n onFocusableItemAdd: $98Iye$useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount + 1\n )\n , []),\n onFocusableItemRemove: $98Iye$useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount - 1\n )\n , [])\n }, /*#__PURE__*/ $98Iye$createElement($98Iye$Primitive.div, $98Iye$babelruntimehelpersesmextends({\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation\n }, groupProps, {\n ref: composedRefs,\n style: {\n outline: 'none',\n ...props.style\n },\n onMouseDown: $98Iye$composeEventHandlers(props.onMouseDown, ()=>{\n isClickFocusRef.current = true;\n }),\n onFocus: $98Iye$composeEventHandlers(props.onFocus, (event)=>{\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, $d7bdfb9eb0fdf311$var$EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item)=>item.focusable\n );\n const activeItem = items.find((item)=>item.active\n );\n const currentItem = items.find((item)=>item.id === currentTabStopId\n );\n const candidateItems = [\n activeItem,\n currentItem,\n ...items\n ].filter(Boolean);\n const candidateNodes = candidateItems.map((item)=>item.ref.current\n );\n $d7bdfb9eb0fdf311$var$focusFirst(candidateNodes);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: $98Iye$composeEventHandlers(props.onBlur, ()=>setIsTabbingBackOut(false)\n )\n })));\n});\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$ITEM_NAME = 'RovingFocusGroupItem';\nconst $d7bdfb9eb0fdf311$export$ab9df7c53fe8454 = /*#__PURE__*/ $98Iye$forwardRef((props, forwardedRef)=>{\n const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , focusable: focusable = true , active: active = false , tabStopId: tabStopId , ...itemProps } = props;\n const autoId = $98Iye$useId();\n const id = tabStopId || autoId;\n const context = $d7bdfb9eb0fdf311$var$useRovingFocusContext($d7bdfb9eb0fdf311$var$ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd: onFocusableItemAdd , onFocusableItemRemove: onFocusableItemRemove } = context;\n $98Iye$useEffect(()=>{\n if (focusable) {\n onFocusableItemAdd();\n return ()=>onFocusableItemRemove()\n ;\n }\n }, [\n focusable,\n onFocusableItemAdd,\n onFocusableItemRemove\n ]);\n return /*#__PURE__*/ $98Iye$createElement($d7bdfb9eb0fdf311$var$Collection.ItemSlot, {\n scope: __scopeRovingFocusGroup,\n id: id,\n focusable: focusable,\n active: active\n }, /*#__PURE__*/ $98Iye$createElement($98Iye$Primitive.span, $98Iye$babelruntimehelpersesmextends({\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation\n }, itemProps, {\n ref: forwardedRef,\n onMouseDown: $98Iye$composeEventHandlers(props.onMouseDown, (event)=>{\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault(); // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n }),\n onFocus: $98Iye$composeEventHandlers(props.onFocus, ()=>context.onItemFocus(id)\n ),\n onKeyDown: $98Iye$composeEventHandlers(props.onKeyDown, (event)=>{\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = $d7bdfb9eb0fdf311$var$getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== undefined) {\n event.preventDefault();\n const items = getItems().filter((item)=>item.focusable\n );\n let candidateNodes = items.map((item)=>item.ref.current\n );\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? $d7bdfb9eb0fdf311$var$wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */ setTimeout(()=>$d7bdfb9eb0fdf311$var$focusFirst(candidateNodes)\n );\n }\n })\n })));\n});\n/*#__PURE__*/ Object.assign($d7bdfb9eb0fdf311$export$ab9df7c53fe8454, {\n displayName: $d7bdfb9eb0fdf311$var$ITEM_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ // prettier-ignore\nconst $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: 'prev',\n ArrowUp: 'prev',\n ArrowRight: 'next',\n ArrowDown: 'next',\n PageUp: 'first',\n Home: 'first',\n PageDown: 'last',\n End: 'last'\n};\nfunction $d7bdfb9eb0fdf311$var$getDirectionAwareKey(key, dir) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\nfunction $d7bdfb9eb0fdf311$var$getFocusIntent(event, orientation, dir) {\n const key = $d7bdfb9eb0fdf311$var$getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && [\n 'ArrowLeft',\n 'ArrowRight'\n ].includes(key)) return undefined;\n if (orientation === 'horizontal' && [\n 'ArrowUp',\n 'ArrowDown'\n ].includes(key)) return undefined;\n return $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction $d7bdfb9eb0fdf311$var$focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates){\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */ function $d7bdfb9eb0fdf311$var$wrapArray(array, startIndex) {\n return array.map((_, index)=>array[(startIndex + index) % array.length]\n );\n}\nconst $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9 = $d7bdfb9eb0fdf311$export$8699f7c8af148338;\nconst $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 = $d7bdfb9eb0fdf311$export$ab9df7c53fe8454;\n\n\n\n\nexport {$d7bdfb9eb0fdf311$export$c7109489551a4f4 as createRovingFocusGroupScope, $d7bdfb9eb0fdf311$export$8699f7c8af148338 as RovingFocusGroup, $d7bdfb9eb0fdf311$export$ab9df7c53fe8454 as RovingFocusGroupItem, $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9 as Root, $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 as Item};\n//# sourceMappingURL=index.mjs.map\n","import {Children as $iqq3r$Children, cloneElement as $iqq3r$cloneElement, useState as $iqq3r$useState, useRef as $iqq3r$useRef, useEffect as $iqq3r$useEffect, useCallback as $iqq3r$useCallback, useReducer as $iqq3r$useReducer} from \"react\";\nimport {flushSync as $iqq3r$flushSync} from \"react-dom\";\nimport {useComposedRefs as $iqq3r$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {useLayoutEffect as $iqq3r$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\n\n\n\n\n\n\nfunction $fe963b355347cc68$export$3e6543de14f8614f(initialState, machine) {\n return $iqq3r$useReducer((state, event)=>{\n const nextState = machine[state][event];\n return nextState !== null && nextState !== void 0 ? nextState : state;\n }, initialState);\n}\n\n\nconst $921a889cee6df7e8$export$99c2b779aa4e8b8b = (props)=>{\n const { present: present , children: children } = props;\n const presence = $921a889cee6df7e8$var$usePresence(present);\n const child = typeof children === 'function' ? children({\n present: presence.isPresent\n }) : $iqq3r$Children.only(children);\n const ref = $iqq3r$useComposedRefs(presence.ref, child.ref);\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? /*#__PURE__*/ $iqq3r$cloneElement(child, {\n ref: ref\n }) : null;\n};\n$921a889cee6df7e8$export$99c2b779aa4e8b8b.displayName = 'Presence';\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$usePresence(present) {\n const [node1, setNode] = $iqq3r$useState();\n const stylesRef = $iqq3r$useRef({});\n const prevPresentRef = $iqq3r$useRef(present);\n const prevAnimationNameRef = $iqq3r$useRef('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = $fe963b355347cc68$export$3e6543de14f8614f(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended'\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted'\n },\n unmounted: {\n MOUNT: 'mounted'\n }\n });\n $iqq3r$useEffect(()=>{\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [\n state\n ]);\n $iqq3r$useLayoutEffect(()=>{\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(styles);\n if (present) send('MOUNT');\n else if (currentAnimationName === 'none' || (styles === null || styles === void 0 ? void 0 : styles.display) === 'none') // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */ const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) send('ANIMATION_OUT');\n else send('UNMOUNT');\n }\n prevPresentRef.current = present;\n }\n }, [\n present,\n send\n ]);\n $iqq3r$useLayoutEffect(()=>{\n if (node1) {\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */ const handleAnimationEnd = (event)=>{\n const currentAnimationName = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node1 && isCurrentAnimation) // With React 18 concurrency this update is applied\n // a frame after the animation ends, creating a flash of visible content.\n // By manually flushing we ensure they sync within a frame, removing the flash.\n $iqq3r$flushSync(()=>send('ANIMATION_END')\n );\n };\n const handleAnimationStart = (event)=>{\n if (event.target === node1) // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = $921a889cee6df7e8$var$getAnimationName(stylesRef.current);\n };\n node1.addEventListener('animationstart', handleAnimationStart);\n node1.addEventListener('animationcancel', handleAnimationEnd);\n node1.addEventListener('animationend', handleAnimationEnd);\n return ()=>{\n node1.removeEventListener('animationstart', handleAnimationStart);\n node1.removeEventListener('animationcancel', handleAnimationEnd);\n node1.removeEventListener('animationend', handleAnimationEnd);\n };\n } else // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }, [\n node1,\n send\n ]);\n return {\n isPresent: [\n 'mounted',\n 'unmountSuspended'\n ].includes(state),\n ref: $iqq3r$useCallback((node)=>{\n if (node) stylesRef.current = getComputedStyle(node);\n setNode(node);\n }, [])\n };\n}\n/* -----------------------------------------------------------------------------------------------*/ function $921a889cee6df7e8$var$getAnimationName(styles) {\n return (styles === null || styles === void 0 ? void 0 : styles.animationName) || 'none';\n}\n\n\n\n\nexport {$921a889cee6df7e8$export$99c2b779aa4e8b8b as Presence};\n//# sourceMappingURL=index.mjs.map\n","import $1IHzk$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {forwardRef as $1IHzk$forwardRef, createElement as $1IHzk$createElement, useRef as $1IHzk$useRef, useEffect as $1IHzk$useEffect} from \"react\";\nimport {composeEventHandlers as $1IHzk$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createContextScope as $1IHzk$createContextScope} from \"@radix-ui/react-context\";\nimport {createRovingFocusGroupScope as $1IHzk$createRovingFocusGroupScope, Root as $1IHzk$Root, Item as $1IHzk$Item} from \"@radix-ui/react-roving-focus\";\nimport {Presence as $1IHzk$Presence} from \"@radix-ui/react-presence\";\nimport {Primitive as $1IHzk$Primitive} from \"@radix-ui/react-primitive\";\nimport {useDirection as $1IHzk$useDirection} from \"@radix-ui/react-direction\";\nimport {useControllableState as $1IHzk$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useId as $1IHzk$useId} from \"@radix-ui/react-id\";\n\n\n\n\n\n\n\n\n\n\n\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs\n * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TABS_NAME = 'Tabs';\nconst [$69cb30bb0017df05$var$createTabsContext, $69cb30bb0017df05$export$355f5bd209d7b13a] = $1IHzk$createContextScope($69cb30bb0017df05$var$TABS_NAME, [\n $1IHzk$createRovingFocusGroupScope\n]);\nconst $69cb30bb0017df05$var$useRovingFocusGroupScope = $1IHzk$createRovingFocusGroupScope();\nconst [$69cb30bb0017df05$var$TabsProvider, $69cb30bb0017df05$var$useTabsContext] = $69cb30bb0017df05$var$createTabsContext($69cb30bb0017df05$var$TABS_NAME);\nconst $69cb30bb0017df05$export$b2539bed5023c21c = /*#__PURE__*/ $1IHzk$forwardRef((props, forwardedRef)=>{\n const { __scopeTabs: __scopeTabs , value: valueProp , onValueChange: onValueChange , defaultValue: defaultValue , orientation: orientation = 'horizontal' , dir: dir , activationMode: activationMode = 'automatic' , ...tabsProps } = props;\n const direction = $1IHzk$useDirection(dir);\n const [value, setValue] = $1IHzk$useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue\n });\n return /*#__PURE__*/ $1IHzk$createElement($69cb30bb0017df05$var$TabsProvider, {\n scope: __scopeTabs,\n baseId: $1IHzk$useId(),\n value: value,\n onValueChange: setValue,\n orientation: orientation,\n dir: direction,\n activationMode: activationMode\n }, /*#__PURE__*/ $1IHzk$createElement($1IHzk$Primitive.div, $1IHzk$babelruntimehelpersesmextends({\n dir: direction,\n \"data-orientation\": orientation\n }, tabsProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($69cb30bb0017df05$export$b2539bed5023c21c, {\n displayName: $69cb30bb0017df05$var$TABS_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TabsList\n * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TAB_LIST_NAME = 'TabsList';\nconst $69cb30bb0017df05$export$9712d22edc0d78c1 = /*#__PURE__*/ $1IHzk$forwardRef((props, forwardedRef)=>{\n const { __scopeTabs: __scopeTabs , loop: loop = true , ...listProps } = props;\n const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = $69cb30bb0017df05$var$useRovingFocusGroupScope(__scopeTabs);\n return /*#__PURE__*/ $1IHzk$createElement($1IHzk$Root, $1IHzk$babelruntimehelpersesmextends({\n asChild: true\n }, rovingFocusGroupScope, {\n orientation: context.orientation,\n dir: context.dir,\n loop: loop\n }), /*#__PURE__*/ $1IHzk$createElement($1IHzk$Primitive.div, $1IHzk$babelruntimehelpersesmextends({\n role: \"tablist\",\n \"aria-orientation\": context.orientation\n }, listProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($69cb30bb0017df05$export$9712d22edc0d78c1, {\n displayName: $69cb30bb0017df05$var$TAB_LIST_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TabsTrigger\n * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TRIGGER_NAME = 'TabsTrigger';\nconst $69cb30bb0017df05$export$8114b9fdfdf9f3ba = /*#__PURE__*/ $1IHzk$forwardRef((props, forwardedRef)=>{\n const { __scopeTabs: __scopeTabs , value: value , disabled: disabled = false , ...triggerProps } = props;\n const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = $69cb30bb0017df05$var$useRovingFocusGroupScope(__scopeTabs);\n const triggerId = $69cb30bb0017df05$var$makeTriggerId(context.baseId, value);\n const contentId = $69cb30bb0017df05$var$makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /*#__PURE__*/ $1IHzk$createElement($1IHzk$Item, $1IHzk$babelruntimehelpersesmextends({\n asChild: true\n }, rovingFocusGroupScope, {\n focusable: !disabled,\n active: isSelected\n }), /*#__PURE__*/ $1IHzk$createElement($1IHzk$Primitive.button, $1IHzk$babelruntimehelpersesmextends({\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? 'active' : 'inactive',\n \"data-disabled\": disabled ? '' : undefined,\n disabled: disabled,\n id: triggerId\n }, triggerProps, {\n ref: forwardedRef,\n onMouseDown: $1IHzk$composeEventHandlers(props.onMouseDown, (event)=>{\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) context.onValueChange(value);\n else // prevent focus to avoid accidental activation\n event.preventDefault();\n }),\n onKeyDown: $1IHzk$composeEventHandlers(props.onKeyDown, (event)=>{\n if ([\n ' ',\n 'Enter'\n ].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: $1IHzk$composeEventHandlers(props.onFocus, ()=>{\n // handle \"automatic\" activation if necessary\n // ie. activate tab following focus\n const isAutomaticActivation = context.activationMode !== 'manual';\n if (!isSelected && !disabled && isAutomaticActivation) context.onValueChange(value);\n })\n })));\n});\n/*#__PURE__*/ Object.assign($69cb30bb0017df05$export$8114b9fdfdf9f3ba, {\n displayName: $69cb30bb0017df05$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TabsContent\n * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$CONTENT_NAME = 'TabsContent';\nconst $69cb30bb0017df05$export$bd905d70e8fd2ebb = /*#__PURE__*/ $1IHzk$forwardRef((props, forwardedRef)=>{\n const { __scopeTabs: __scopeTabs , value: value , forceMount: forceMount , children: children , ...contentProps } = props;\n const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$CONTENT_NAME, __scopeTabs);\n const triggerId = $69cb30bb0017df05$var$makeTriggerId(context.baseId, value);\n const contentId = $69cb30bb0017df05$var$makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = $1IHzk$useRef(isSelected);\n $1IHzk$useEffect(()=>{\n const rAF = requestAnimationFrame(()=>isMountAnimationPreventedRef.current = false\n );\n return ()=>cancelAnimationFrame(rAF)\n ;\n }, []);\n return /*#__PURE__*/ $1IHzk$createElement($1IHzk$Presence, {\n present: forceMount || isSelected\n }, ({ present: present })=>/*#__PURE__*/ $1IHzk$createElement($1IHzk$Primitive.div, $1IHzk$babelruntimehelpersesmextends({\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' : undefined\n }\n }), present && children)\n );\n});\n/*#__PURE__*/ Object.assign($69cb30bb0017df05$export$bd905d70e8fd2ebb, {\n displayName: $69cb30bb0017df05$var$CONTENT_NAME\n});\n/* ---------------------------------------------------------------------------------------------- */ function $69cb30bb0017df05$var$makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction $69cb30bb0017df05$var$makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nconst $69cb30bb0017df05$export$be92b6f5f03c0fe9 = $69cb30bb0017df05$export$b2539bed5023c21c;\nconst $69cb30bb0017df05$export$54c2e3dc7acea9f5 = $69cb30bb0017df05$export$9712d22edc0d78c1;\nconst $69cb30bb0017df05$export$41fb9f06171c75f4 = $69cb30bb0017df05$export$8114b9fdfdf9f3ba;\nconst $69cb30bb0017df05$export$7c6e2c02157bb7d2 = $69cb30bb0017df05$export$bd905d70e8fd2ebb;\n\n\n\n\nexport {$69cb30bb0017df05$export$355f5bd209d7b13a as createTabsScope, $69cb30bb0017df05$export$b2539bed5023c21c as Tabs, $69cb30bb0017df05$export$9712d22edc0d78c1 as TabsList, $69cb30bb0017df05$export$8114b9fdfdf9f3ba as TabsTrigger, $69cb30bb0017df05$export$bd905d70e8fd2ebb as TabsContent, $69cb30bb0017df05$export$be92b6f5f03c0fe9 as Root, $69cb30bb0017df05$export$54c2e3dc7acea9f5 as List, $69cb30bb0017df05$export$41fb9f06171c75f4 as Trigger, $69cb30bb0017df05$export$7c6e2c02157bb7d2 as Content};\n//# sourceMappingURL=index.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n ComponentPropsWithoutRef,\n ForwardedRef,\n forwardRef,\n isValidElement,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n ReactPortal,\n} from \"react\";\nimport { Content } from \"@radix-ui/react-tabs\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./tab-content.module.scss\";\n\nexport type TabContentProps = {\n /**\n * The text that will be displayed in the tab.\n * */\n name: string;\n /**\n * A unique ID that associates the tab with a content.\n * */\n tabId: string;\n /**\n * If true, the inactive tab content will not be rendered.\n */\n disableForceMount?: boolean;\n className?: string;\n \"data-testid\"?: string;\n};\n\nexport type TabContentPropsWithChildren = ComponentPropsWithoutRef<\"div\"> &\n TabContentProps & {\n children: ReactNode;\n };\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-tab-content\";\n\nexport const TabContent = forwardRef(\n (\n {\n children,\n tabId,\n \"data-testid\": dataTestId,\n className,\n disableForceMount,\n ...rest\n }: TabContentPropsWithChildren,\n ref: ForwardedRef<HTMLDivElement>\n ) => (\n <Content\n ref={ref}\n className={cx([\n rootClassName,\n className,\n { [`${rootClassName}--force-mount`]: !disableForceMount },\n ])}\n data-testid={dataTestId}\n value={tabId}\n forceMount={!disableForceMount || undefined}\n {...rest}\n >\n {children}\n </Content>\n )\n);\n\nexport const isTabContent = (\n child:\n | ReactChild\n | ReactElement\n | ReactFragment\n | ReactPortal\n | string\n | number\n | boolean\n | null\n | undefined\n): child is ReactElement<TabContentProps> =>\n !!child && isValidElement<TabContentProps>(child) && !!child.props.name && !!child.props.tabId;\n","import React, { FocusEventHandler, ForwardedRef, forwardRef, ReactNode } from \"react\";\nimport { Trigger } from \"@radix-ui/react-tabs\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./tab-header.module.scss\";\nimport { TabsVariant } from \"./tabs.utils\";\n\ntype TabHeaderProps = {\n \"data-testid\"?: string;\n index: number;\n tabId: string;\n variant: TabsVariant;\n negative?: boolean;\n onFocus: FocusEventHandler<HTMLButtonElement>;\n children: ReactNode;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-tab-header\";\n\nexport const TabHeader = forwardRef(\n <T extends HTMLButtonElement>(\n {\n index,\n tabId,\n variant,\n negative,\n onFocus,\n \"data-testid\": dataTestId,\n children,\n }: TabHeaderProps,\n ref: ForwardedRef<T>\n ) => (\n <Trigger\n id={`${tabId}-trigger`}\n className={cx([rootClassName, `${rootClassName}--${variant}${negative ? \"-negative\" : \"\"}`])}\n value={tabId}\n data-testid={dataTestId}\n data-index={index}\n ref={ref}\n onFocus={onFocus}\n >\n {children}\n </Trigger>\n )\n);\n","import { TabContent } from \"./tab-content\";\n\nexport type TabsCmp<P> = React.FunctionComponent<P> & {\n Content: typeof TabContent;\n};\n\nexport const tabsVariants = [\"line\", \"contained\"] as const;\n\nexport type TabsVariant = (typeof tabsVariants)[number];\n\nexport const createTabChangeDetailEvent = (value: string) =>\n new CustomEvent<TabChangeDetail>(\"tabChangeDetail\", { detail: { value } });\n\nexport type TabChangeDetail = { value: string };\n","import React, { Children, ReactElement, useEffect, useRef, useState } from \"react\";\nimport { Icon } from \"@purpurds/icon\";\nimport { chevronLeft } from \"@purpurds/icon/assets/chevron-left\";\nimport { chevronRight } from \"@purpurds/icon/assets/chevron-right\";\nimport { List, Root } from \"@radix-ui/react-tabs\";\nimport c from \"classnames/bind\";\n\nimport { isTabContent, TabContent } from \"./tab-content\";\nimport { TabHeader } from \"./tab-header\";\nimport styles from \"./tabs.module.scss\";\nimport { createTabChangeDetailEvent, TabChangeDetail, TabsCmp, TabsVariant } from \"./tabs.utils\";\n\ntype TabsProps = {\n children: Array<ReactElement<typeof TabContent>> | ReactElement<typeof TabContent>;\n variant?: TabsVariant;\n negative?: boolean;\n fullWidth?: boolean;\n /**\n * The controlled value of the tabs. Must be used in conjunction with onChange.\n */\n value?: string;\n /**\n * Event handler called when the value changes.\n * */\n onChange?: (event: CustomEvent<TabChangeDetail>) => void;\n className?: string;\n defaultValue?: string;\n \"data-testid\"?: string;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-tabs\";\n\nconst scrollToTarget = (target: HTMLElement, tabList?: HTMLDivElement | null) => {\n /**\n * scroll may not be available in test runner, so check existence before\n * proceeding. We can't use scrollIntoView() because Safari doesn't support\n * it fully.\n */\n if (\n typeof target?.getBoundingClientRect !== \"function\" ||\n typeof tabList?.scroll !== \"function\"\n ) {\n return;\n }\n\n const targetRect = target.getBoundingClientRect();\n const wrapperRect = tabList.getBoundingClientRect();\n const wrapperWidth = tabList.clientWidth;\n const wrapperOffset = parseInt(getComputedStyle(tabList).borderLeftWidth?.split(\"px\")[0], 10);\n const offset = wrapperRect.left + (isNaN(wrapperOffset) ? 0 : wrapperOffset);\n let left;\n\n // Handle forward navigation\n if (targetRect.right > wrapperRect.right) {\n left = targetRect.left + tabList.scrollLeft;\n left = left + targetRect.width - wrapperWidth + wrapperWidth * 0.1;\n left = left - offset;\n }\n\n // Handle backwards navigation\n if (targetRect.left < wrapperRect.left) {\n left = targetRect.left + tabList.scrollLeft;\n left = left - wrapperWidth * 0.1;\n left = left - offset;\n }\n\n if (left !== undefined) {\n tabList.scroll({ left, behavior: \"smooth\" });\n }\n};\n\nexport const Tabs: TabsCmp<TabsProps> = ({\n children,\n variant = \"line\",\n negative = false,\n fullWidth = false,\n onChange,\n className,\n defaultValue,\n \"data-testid\": dataTestId,\n value,\n ...props\n}) => {\n const [scrollClasses, setScrollClasses] = useState<{ [key: string]: boolean }>({});\n const [selectedTriggerOffset, setSelectedTriggerOffset] = useState(0);\n const [selectedTriggerWidth, setSelectedTriggerWidth] = useState(0);\n const tabContentChildren = Children.toArray(children).filter(isTabContent);\n const tabList = useRef<HTMLDivElement | null>();\n const tabChildren = useRef<HTMLButtonElement[]>(new Array(tabContentChildren.length));\n const sideScrollAdjustmentSize = 200;\n const isLineVariant = variant === \"line\";\n\n const classNames = cx([\n rootClassName,\n `${rootClassName}--${variant}${negative ? \"-negative\" : \"\"}`,\n { [`${rootClassName}--fullWidth`]: fullWidth },\n className,\n ]);\n\n const tabIds = Children.map(tabContentChildren, ({ props: { tabId } }) => tabId);\n\n const getDefaultTabIndex = () => {\n const defaultIndex = tabIds.findIndex((tabIndex) => tabIndex === defaultValue);\n return defaultIndex >= 0 ? defaultIndex : 0;\n };\n\n useEffect(() => {\n if (value) {\n setActiveIndex(tabContentChildren.findIndex((child) => child.props.tabId === value));\n }\n }, [tabContentChildren, value]);\n\n const [activeIndex, setActiveIndex] = useState(getDefaultTabIndex);\n\n if (new Set(tabIds).size !== tabIds.length) {\n throw new Error(\"tabId must be unique\");\n }\n\n const getTestId = (name: string, id?: string) =>\n id || dataTestId ? `${id || dataTestId}-${name}` : undefined;\n\n const handleLinePosition = () => {\n if (!isLineVariant) {\n return;\n }\n\n const activeTabElement = tabChildren.current[activeIndex];\n\n setSelectedTriggerOffset(activeTabElement?.offsetLeft || 0);\n setSelectedTriggerWidth(activeTabElement?.getBoundingClientRect().width || 0);\n };\n\n const handleTabChange = (_value: string) => {\n if (isLineVariant && !value) {\n setActiveIndex(tabContentChildren.findIndex((child) => child.props.tabId === _value));\n }\n onChange?.(createTabChangeDetailEvent(_value));\n };\n\n const handleScrollButtonClick = (side: \"left\" | \"right\") => {\n if (tabList?.current) {\n const { scrollLeft } = tabList.current;\n const modifier = side === \"left\" ? -sideScrollAdjustmentSize : sideScrollAdjustmentSize;\n\n tabList.current.scroll({ left: scrollLeft + modifier, behavior: \"smooth\" });\n }\n };\n\n const ScrollButton = ({ side }: { side: \"left\" | \"right\" }) => (\n <button\n className={cx(`${rootClassName}__scroll-button`, `${rootClassName}__scroll-button--${side}`)}\n onClick={() => handleScrollButtonClick(side)}\n type=\"button\"\n aria-hidden=\"true\"\n tabIndex={-1}\n data-testid={getTestId(\"scroll-button\")}\n >\n <Icon svg={side === \"left\" ? chevronLeft : chevronRight} size=\"md\" />\n </button>\n );\n\n useEffect(() => {\n window.addEventListener(\"resize\", handleLinePosition);\n\n return () => {\n window.removeEventListener(\"resize\", handleLinePosition);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n handleLinePosition();\n }, [activeIndex, fullWidth, tabContentChildren.length, variant]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n const onIntersection = (entries: IntersectionObserverEntry[]): void => {\n const allEntriesVisible =\n entries.every((entry) => entry.isIntersecting) &&\n entries.length === tabContentChildren.length;\n\n if (allEntriesVisible) {\n setScrollClasses({});\n return;\n }\n\n entries.forEach((entry) => {\n const entryIndex = Number(entry.target.getAttribute(\"data-index\"));\n const isStartEntry = entryIndex === 0;\n const isLastEntry = entryIndex === tabContentChildren.length - 1;\n\n setScrollClasses((currentScrollClasses) => ({\n ...currentScrollClasses,\n ...(isStartEntry && {\n [`${rootClassName}__wrapper--scroll-end`]: !entry.isIntersecting,\n }),\n ...(isLastEntry && {\n [`${rootClassName}__wrapper--scroll-start`]: !entry.isIntersecting,\n }),\n }));\n });\n };\n\n const observer = new IntersectionObserver(onIntersection, {\n threshold: [0.99],\n root: tabList.current,\n });\n\n const currentTabChildren = tabChildren.current;\n\n currentTabChildren.forEach((el) => observer.observe(el));\n\n return () => {\n currentTabChildren.forEach((el) => observer.unobserve(el));\n };\n }, [tabContentChildren.length]);\n\n return (\n <Root\n defaultValue={defaultValue ?? tabContentChildren[0].props.tabId}\n onValueChange={handleTabChange}\n data-testid={dataTestId}\n className={classNames}\n value={value}\n {...props}\n >\n <div className={cx(`${rootClassName}__container`)}>\n <div className={cx([`${rootClassName}__wrapper`, scrollClasses])}>\n <List\n ref={(el) => {\n tabList.current = el;\n }}\n className={cx(`${rootClassName}__list`)}\n >\n {Children.map(tabContentChildren, (child, index) => {\n const { name, tabId, \"data-testid\": childDataTestId } = child.props;\n return (\n <TabHeader\n data-testid={getTestId(\"header\", childDataTestId)}\n index={index}\n tabId={tabId}\n ref={(el) => {\n if (el) {\n tabChildren.current[index] = el;\n }\n }}\n onFocus={(e) => {\n scrollToTarget(e.target as HTMLElement, tabList.current);\n }}\n variant={variant}\n negative={negative}\n >\n {name}\n </TabHeader>\n );\n })}\n {isLineVariant && (\n <div\n className={cx(`${rootClassName}__selected-border`)}\n style={{\n width: selectedTriggerWidth,\n transform: `translateX(${selectedTriggerOffset}px)`,\n }}\n data-testid={getTestId(\"selected-border\")}\n />\n )}\n </List>\n <ScrollButton side=\"left\" />\n <ScrollButton side=\"right\" />\n </div>\n <div className={cx(`${rootClassName}__content-container`)}>\n {Children.map(tabContentChildren, (child) => child)}\n </div>\n </div>\n </Root>\n );\n};\n\nTabs.Content = TabContent;\n\nexport * from \"./tabs.utils\";\n"],"names":["a","r","p","e","s","t","n","o","i","u","m","f","_","d","c","v","x","g","h","b","l","_extends","$e42e1063c40fb3ef$export$b9ecd428b558ff10","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","$c512c27ab02ef895$export$50c7b4e9d9f19c1","scopeName","createContextScopeDeps","defaultContexts","$c512c27ab02ef895$export$fd42f52fd3ae1109","rootComponentName","defaultContext","BaseContext","$3bkAK$createContext","index","Provider","props","scope","children","context","Context","value","$3bkAK$useMemo","$3bkAK$createElement","useContext","consumerName","$3bkAK$useContext","createScope","scopeContexts","contexts","$c512c27ab02ef895$var$composeContextScopes","scopes","baseScope","createScope1","scopeHooks","overrideScopes","nextScopes1","nextScopes","useScope","currentScope","$6ed0406888f73fc4$var$setRef","ref","$6ed0406888f73fc4$export$43e446d32b3d21af","refs","node","$6ed0406888f73fc4$export$c7b2cbe3552a0d05","$3vqmr$useCallback","$5e63c961fc1ce211$export$8c6ed5c666ac1360","$9IrjX$forwardRef","forwardedRef","slotProps","childrenArray","$9IrjX$Children","slottable","$5e63c961fc1ce211$var$isSlottable","newElement","newChildren","child","$9IrjX$isValidElement","$9IrjX$createElement","$5e63c961fc1ce211$var$SlotClone","$9IrjX$babelruntimehelpersesmextends","$9IrjX$cloneElement","$5e63c961fc1ce211$var$mergeProps","$9IrjX$composeRefs","$5e63c961fc1ce211$export$d9f1ccf0bdb05d45","$9IrjX$Fragment","childProps","overrideProps","propName","slotPropValue","childPropValue","args","$e02a7d9cb1dc128c$export$c74125a8e3af6bb2","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","$6vYhU$createContextScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","$6vYhU$react","itemMap","COLLECTION_SLOT_NAME","CollectionSlot","composedRefs","$6vYhU$useComposedRefs","$6vYhU$Slot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","$9f79659886946c16$export$e5c5a5f917a5871c","$dxlwH$useLayoutEffect","$1746a345f3d73bb7$var$useReactId","$2AODx$react","$1746a345f3d73bb7$var$count","$1746a345f3d73bb7$export$f680877a34711e37","deterministicId","id","setId","$2AODx$useLayoutEffect","reactId","$8927f6f2acc4f386$var$NODES","$8927f6f2acc4f386$export$250ffa63cdc0d034","primitive","Node","$4q5Fq$forwardRef","asChild","primitiveProps","Comp","$4q5Fq$Slot","$4q5Fq$useEffect","$4q5Fq$createElement","$4q5Fq$babelruntimehelpersesmextends","$b1b2314f5f9a1d84$export$25bec8c6f54ee79a","callback","callbackRef","$lwiWj$useRef","$lwiWj$useEffect","$lwiWj$useMemo","_callbackRef$current","$71cd76cc60e0454e$export$6f32135080cb4c3","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","$71cd76cc60e0454e$var$useUncontrolledState","isControlled","value1","handleChange","$bnPw9$useCallbackRef","setValue","$bnPw9$useCallback","nextValue","uncontrolledState","$bnPw9$useState","prevValueRef","$bnPw9$useRef","$bnPw9$useEffect","$f631663db3294ace$var$DirectionContext","$7Gjcd$createContext","$f631663db3294ace$export$b39126d51d94e6f3","localDir","globalDir","$7Gjcd$useContext","$d7bdfb9eb0fdf311$var$ENTRY_FOCUS","$d7bdfb9eb0fdf311$var$EVENT_OPTIONS","$d7bdfb9eb0fdf311$var$GROUP_NAME","$d7bdfb9eb0fdf311$var$Collection","$d7bdfb9eb0fdf311$var$useCollection","$d7bdfb9eb0fdf311$var$createCollectionScope","$98Iye$createCollection","$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext","$d7bdfb9eb0fdf311$export$c7109489551a4f4","$98Iye$createContextScope","$d7bdfb9eb0fdf311$var$RovingFocusProvider","$d7bdfb9eb0fdf311$var$useRovingFocusContext","$d7bdfb9eb0fdf311$export$8699f7c8af148338","$98Iye$forwardRef","$98Iye$createElement","$d7bdfb9eb0fdf311$var$RovingFocusGroupImpl","$98Iye$babelruntimehelpersesmextends","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","groupProps","$98Iye$useRef","$98Iye$useComposedRefs","direction","$98Iye$useDirection","currentTabStopId","setCurrentTabStopId","$98Iye$useControllableState","isTabbingBackOut","setIsTabbingBackOut","$98Iye$useState","handleEntryFocus","$98Iye$useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","$98Iye$useEffect","$98Iye$useCallback","tabStopId","prevCount","$98Iye$Primitive","$98Iye$composeEventHandlers","isKeyboardFocus","entryFocusEvent","items","item","activeItem","currentItem","candidateNodes","$d7bdfb9eb0fdf311$var$focusFirst","$d7bdfb9eb0fdf311$var$ITEM_NAME","$d7bdfb9eb0fdf311$export$ab9df7c53fe8454","focusable","active","itemProps","autoId","$98Iye$useId","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","$d7bdfb9eb0fdf311$var$getFocusIntent","currentIndex","$d7bdfb9eb0fdf311$var$wrapArray","$d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT","$d7bdfb9eb0fdf311$var$getDirectionAwareKey","key","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","array","startIndex","$d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9","$d7bdfb9eb0fdf311$export$6d08773d2e66f8f2","$fe963b355347cc68$export$3e6543de14f8614f","initialState","machine","$iqq3r$useReducer","state","nextState","$921a889cee6df7e8$export$99c2b779aa4e8b8b","present","presence","$921a889cee6df7e8$var$usePresence","$iqq3r$Children","$iqq3r$useComposedRefs","$iqq3r$cloneElement","node1","setNode","$iqq3r$useState","stylesRef","$iqq3r$useRef","prevPresentRef","prevAnimationNameRef","send","$iqq3r$useEffect","currentAnimationName","$921a889cee6df7e8$var$getAnimationName","$iqq3r$useLayoutEffect","styles","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","$iqq3r$flushSync","handleAnimationStart","$iqq3r$useCallback","$69cb30bb0017df05$var$TABS_NAME","$69cb30bb0017df05$var$createTabsContext","$69cb30bb0017df05$export$355f5bd209d7b13a","$1IHzk$createContextScope","$1IHzk$createRovingFocusGroupScope","$69cb30bb0017df05$var$useRovingFocusGroupScope","$69cb30bb0017df05$var$TabsProvider","$69cb30bb0017df05$var$useTabsContext","$69cb30bb0017df05$export$b2539bed5023c21c","$1IHzk$forwardRef","__scopeTabs","valueProp","onValueChange","defaultValue","activationMode","tabsProps","$1IHzk$useDirection","$1IHzk$useControllableState","$1IHzk$createElement","$1IHzk$useId","$1IHzk$Primitive","$1IHzk$babelruntimehelpersesmextends","$69cb30bb0017df05$var$TAB_LIST_NAME","$69cb30bb0017df05$export$9712d22edc0d78c1","listProps","rovingFocusGroupScope","$1IHzk$Root","$69cb30bb0017df05$var$TRIGGER_NAME","$69cb30bb0017df05$export$8114b9fdfdf9f3ba","disabled","triggerProps","triggerId","$69cb30bb0017df05$var$makeTriggerId","contentId","$69cb30bb0017df05$var$makeContentId","isSelected","$1IHzk$Item","$1IHzk$composeEventHandlers","isAutomaticActivation","$69cb30bb0017df05$var$CONTENT_NAME","$69cb30bb0017df05$export$bd905d70e8fd2ebb","forceMount","contentProps","isMountAnimationPreventedRef","$1IHzk$useRef","$1IHzk$useEffect","rAF","$1IHzk$Presence","baseId","$69cb30bb0017df05$export$be92b6f5f03c0fe9","$69cb30bb0017df05$export$54c2e3dc7acea9f5","$69cb30bb0017df05$export$41fb9f06171c75f4","$69cb30bb0017df05$export$7c6e2c02157bb7d2","hasOwn","classNames","classes","arg","appendClass","parseValue","newClass","module","cx","rootClassName","TabContent","forwardRef","tabId","dataTestId","className","disableForceMount","rest","jsx","Content","isTabContent","isValidElement","TabHeader","variant","negative","onFocus","Trigger","tabsVariants","createTabChangeDetailEvent","scrollToTarget","target","tabList","targetRect","wrapperRect","wrapperWidth","wrapperOffset","_a","offset","left","Tabs","fullWidth","scrollClasses","setScrollClasses","useState","selectedTriggerOffset","setSelectedTriggerOffset","selectedTriggerWidth","setSelectedTriggerWidth","tabContentChildren","Children","useRef","tabChildren","sideScrollAdjustmentSize","isLineVariant","tabIds","getDefaultTabIndex","defaultIndex","tabIndex","useEffect","setActiveIndex","activeIndex","getTestId","handleLinePosition","activeTabElement","handleTabChange","_value","handleScrollButtonClick","side","scrollLeft","modifier","ScrollButton","Icon","chevronLeft","chevronRight","onIntersection","entries","entry","entryIndex","isStartEntry","isLastEntry","currentScrollClasses","observer","currentTabChildren","el","Root","jsxs","List","childDataTestId"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]}
|
|
1
|
+
{"version":3,"file":"tabs.es.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/chevron-left.es.js","../../icon/dist/assets/chevron-right.es.js","../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.1.2_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-collection@1.1.2_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-collection/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.2_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-direction@1.1.0_@types+react@18.3.18_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.2_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-presence@1.1.2_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-tabs@1.1.3_@types+react-dom@18.3.5_@types+react@18.3.18_react-dom@18.3.1_react@18.3.1/node_modules/@radix-ui/react-tabs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/tab-content.tsx","../src/tab-header.tsx","../src/tabs.utils.ts","../src/tabs.tsx"],"sourcesContent":["import { jsx as l } from \"react/jsx-runtime\";\nfunction a(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar p = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n})(p);\nvar m = p.exports;\nconst f = /* @__PURE__ */ a(m), _ = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, d = f.bind(_), c = \"purpur-icon\", y = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], v = \"md\", x = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), g = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${x(s)}>${u}${r}</svg>`;\n}, h = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: s,\n className: u,\n size: i = v,\n ...t\n}) => {\n const n = g({\n content: h(e.svg),\n title: s\n }), o = d(u, c, `${c}--${i}`);\n return /* @__PURE__ */ l(\n \"span\",\n {\n \"aria-label\": s,\n className: o,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n v as DEFAULT_SIZE,\n b as Icon,\n y as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const e = {\n name: \"chevron-left\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M16.175 3.905a.9.9 0 0 1-.08 1.27L8.36 12l7.736 6.825a.9.9 0 0 1-1.191 1.35l-8.5-7.5a.9.9 0 0 1 0-1.35l8.5-7.5a.9.9 0 0 1 1.27.08Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"chevron-left\"],\n category: \"utility\"\n};\nexport {\n e as chevronLeft\n};\n//# sourceMappingURL=chevron-left.es.js.map\n","const e = {\n name: \"chevron-right\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M7.809 3.924a.9.9 0 0 0 .115 1.267L16.094 12l-8.17 6.809a.9.9 0 0 0 1.152 1.382l9-7.5a.9.9 0 0 0 0-1.382l-9-7.5a.9.9 0 0 0-1.267.115Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"chevron-right\"],\n category: \"utility\"\n};\nexport {\n e as chevronRight\n};\n//# sourceMappingURL=chevron-right.es.js.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collection/src/collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/Direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/roving-focus/src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n })\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/tabs/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 });\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","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n ComponentPropsWithoutRef,\n ForwardedRef,\n forwardRef,\n isValidElement,\n ReactChild,\n ReactElement,\n ReactFragment,\n ReactNode,\n ReactPortal,\n} from \"react\";\nimport { Content } from \"@radix-ui/react-tabs\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./tab-content.module.scss\";\n\nexport type TabContentProps = {\n /**\n * The text that will be displayed in the tab.\n * */\n name: string;\n /**\n * A unique ID that associates the tab with a content.\n * */\n tabId: string;\n /**\n * If true, the inactive tab content will not be rendered.\n */\n disableForceMount?: boolean;\n className?: string;\n \"data-testid\"?: string;\n};\n\nexport type TabContentPropsWithChildren = ComponentPropsWithoutRef<\"div\"> &\n TabContentProps & {\n children: ReactNode;\n };\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-tab-content\";\n\nexport const TabContent = forwardRef(\n (\n {\n children,\n tabId,\n \"data-testid\": dataTestId,\n className,\n disableForceMount,\n ...rest\n }: TabContentPropsWithChildren,\n ref: ForwardedRef<HTMLDivElement>\n ) => (\n <Content\n ref={ref}\n className={cx([\n rootClassName,\n className,\n { [`${rootClassName}--force-mount`]: !disableForceMount },\n ])}\n data-testid={dataTestId}\n value={tabId}\n forceMount={!disableForceMount || undefined}\n {...rest}\n >\n {children}\n </Content>\n )\n);\n\nexport const isTabContent = (\n child:\n | ReactChild\n | ReactElement\n | ReactFragment\n | ReactPortal\n | string\n | number\n | boolean\n | null\n | undefined\n): child is ReactElement<TabContentProps> =>\n !!child && isValidElement<TabContentProps>(child) && !!child.props.name && !!child.props.tabId;\n","import React, { FocusEventHandler, ForwardedRef, forwardRef, ReactNode } from \"react\";\nimport { Trigger } from \"@radix-ui/react-tabs\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./tab-header.module.scss\";\nimport { TabsVariant } from \"./tabs.utils\";\n\ntype TabHeaderProps = {\n \"data-testid\"?: string;\n index: number;\n tabId: string;\n variant: TabsVariant;\n negative?: boolean;\n onFocus: FocusEventHandler<HTMLButtonElement>;\n children: ReactNode;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-tab-header\";\n\nexport const TabHeader = forwardRef(\n <T extends HTMLButtonElement>(\n {\n index,\n tabId,\n variant,\n negative,\n onFocus,\n \"data-testid\": dataTestId,\n children,\n }: TabHeaderProps,\n ref: ForwardedRef<T>\n ) => (\n <Trigger\n id={`${tabId}-trigger`}\n className={cx([rootClassName, `${rootClassName}--${variant}${negative ? \"-negative\" : \"\"}`])}\n value={tabId}\n data-testid={dataTestId}\n data-index={index}\n ref={ref}\n onFocus={onFocus}\n >\n {children}\n </Trigger>\n )\n);\n","import { TabContent } from \"./tab-content\";\n\nexport type TabsCmp<P> = React.FunctionComponent<P> & {\n Content: typeof TabContent;\n};\n\nexport const tabsVariants = [\"line\", \"contained\"] as const;\n\nexport type TabsVariant = (typeof tabsVariants)[number];\n\nexport const createTabChangeDetailEvent = (value: string) =>\n new CustomEvent<TabChangeDetail>(\"tabChangeDetail\", { detail: { value } });\n\nexport type TabChangeDetail = { value: string };\n","import React, { Children, ReactElement, useEffect, useRef, useState } from \"react\";\nimport { Icon } from \"@purpurds/icon\";\nimport { chevronLeft } from \"@purpurds/icon/assets/chevron-left\";\nimport { chevronRight } from \"@purpurds/icon/assets/chevron-right\";\nimport { List, Root } from \"@radix-ui/react-tabs\";\nimport c from \"classnames/bind\";\n\nimport { isTabContent, TabContent } from \"./tab-content\";\nimport { TabHeader } from \"./tab-header\";\nimport styles from \"./tabs.module.scss\";\nimport { createTabChangeDetailEvent, TabChangeDetail, TabsCmp, TabsVariant } from \"./tabs.utils\";\n\ntype TabsProps = {\n children: Array<ReactElement<typeof TabContent>> | ReactElement<typeof TabContent>;\n variant?: TabsVariant;\n negative?: boolean;\n fullWidth?: boolean;\n /**\n * The controlled value of the tabs. Must be used in conjunction with onChange.\n */\n value?: string;\n /**\n * Event handler called when the value changes.\n * */\n onChange?: (event: CustomEvent<TabChangeDetail>) => void;\n className?: string;\n defaultValue?: string;\n \"data-testid\"?: string;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-tabs\";\n\nconst scrollToTarget = (target: HTMLElement, tabList?: HTMLDivElement | null) => {\n /**\n * scroll may not be available in test runner, so check existence before\n * proceeding. We can't use scrollIntoView() because Safari doesn't support\n * it fully.\n */\n if (\n typeof target?.getBoundingClientRect !== \"function\" ||\n typeof tabList?.scroll !== \"function\"\n ) {\n return;\n }\n\n const targetRect = target.getBoundingClientRect();\n const wrapperRect = tabList.getBoundingClientRect();\n const wrapperWidth = tabList.clientWidth;\n const wrapperOffset = parseInt(getComputedStyle(tabList).borderLeftWidth?.split(\"px\")[0], 10);\n const offset = wrapperRect.left + (isNaN(wrapperOffset) ? 0 : wrapperOffset);\n let left;\n\n // Handle forward navigation\n if (targetRect.right > wrapperRect.right) {\n left = targetRect.left + tabList.scrollLeft;\n left = left + targetRect.width - wrapperWidth + wrapperWidth * 0.1;\n left = left - offset;\n }\n\n // Handle backwards navigation\n if (targetRect.left < wrapperRect.left) {\n left = targetRect.left + tabList.scrollLeft;\n left = left - wrapperWidth * 0.1;\n left = left - offset;\n }\n\n if (left !== undefined) {\n tabList.scroll({ left, behavior: \"smooth\" });\n }\n};\n\nexport const Tabs: TabsCmp<TabsProps> = ({\n children,\n variant = \"line\",\n negative = false,\n fullWidth = false,\n onChange,\n className,\n defaultValue,\n \"data-testid\": dataTestId,\n value,\n ...props\n}) => {\n const [scrollClasses, setScrollClasses] = useState<{ [key: string]: boolean }>({});\n const [selectedTriggerOffset, setSelectedTriggerOffset] = useState(0);\n const [selectedTriggerWidth, setSelectedTriggerWidth] = useState(0);\n const tabContentChildren = Children.toArray(children).filter(isTabContent);\n const tabList = useRef<HTMLDivElement | null>();\n const tabChildren = useRef<HTMLButtonElement[]>(new Array(tabContentChildren.length));\n const sideScrollAdjustmentSize = 200;\n const isLineVariant = variant === \"line\";\n\n const classNames = cx([\n rootClassName,\n `${rootClassName}--${variant}${negative ? \"-negative\" : \"\"}`,\n { [`${rootClassName}--fullWidth`]: fullWidth },\n className,\n ]);\n\n const tabIds = Children.map(tabContentChildren, ({ props: { tabId } }) => tabId);\n\n const getDefaultTabIndex = () => {\n const defaultIndex = tabIds.findIndex((tabIndex) => tabIndex === defaultValue);\n return defaultIndex >= 0 ? defaultIndex : 0;\n };\n\n useEffect(() => {\n if (value) {\n setActiveIndex(tabContentChildren.findIndex((child) => child.props.tabId === value));\n }\n }, [tabContentChildren, value]);\n\n const [activeIndex, setActiveIndex] = useState(getDefaultTabIndex);\n\n if (new Set(tabIds).size !== tabIds.length) {\n throw new Error(\"tabId must be unique\");\n }\n\n const getTestId = (name: string, id?: string) =>\n id || dataTestId ? `${id || dataTestId}-${name}` : undefined;\n\n const handleLinePosition = () => {\n if (!isLineVariant) {\n return;\n }\n\n const activeTabElement = tabChildren.current[activeIndex];\n\n setSelectedTriggerOffset(activeTabElement?.offsetLeft || 0);\n setSelectedTriggerWidth(activeTabElement?.getBoundingClientRect().width || 0);\n };\n\n const handleTabChange = (_value: string) => {\n if (isLineVariant && !value) {\n setActiveIndex(tabContentChildren.findIndex((child) => child.props.tabId === _value));\n }\n onChange?.(createTabChangeDetailEvent(_value));\n };\n\n const handleScrollButtonClick = (side: \"left\" | \"right\") => {\n if (tabList?.current) {\n const { scrollLeft } = tabList.current;\n const modifier = side === \"left\" ? -sideScrollAdjustmentSize : sideScrollAdjustmentSize;\n\n tabList.current.scroll({ left: scrollLeft + modifier, behavior: \"smooth\" });\n }\n };\n\n const ScrollButton = ({ side }: { side: \"left\" | \"right\" }) => (\n <button\n className={cx(`${rootClassName}__scroll-button`, `${rootClassName}__scroll-button--${side}`)}\n onClick={() => handleScrollButtonClick(side)}\n type=\"button\"\n aria-hidden=\"true\"\n tabIndex={-1}\n data-testid={getTestId(\"scroll-button\")}\n >\n <Icon svg={side === \"left\" ? chevronLeft : chevronRight} size=\"md\" />\n </button>\n );\n\n useEffect(() => {\n window.addEventListener(\"resize\", handleLinePosition);\n\n return () => {\n window.removeEventListener(\"resize\", handleLinePosition);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n handleLinePosition();\n }, [activeIndex, fullWidth, tabContentChildren.length, variant]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n const onIntersection = (entries: IntersectionObserverEntry[]): void => {\n const allEntriesVisible =\n entries.every((entry) => entry.isIntersecting) &&\n entries.length === tabContentChildren.length;\n\n if (allEntriesVisible) {\n setScrollClasses({});\n return;\n }\n\n entries.forEach((entry) => {\n const entryIndex = Number(entry.target.getAttribute(\"data-index\"));\n const isStartEntry = entryIndex === 0;\n const isLastEntry = entryIndex === tabContentChildren.length - 1;\n\n setScrollClasses((currentScrollClasses) => ({\n ...currentScrollClasses,\n ...(isStartEntry && {\n [`${rootClassName}__wrapper--scroll-end`]: !entry.isIntersecting,\n }),\n ...(isLastEntry && {\n [`${rootClassName}__wrapper--scroll-start`]: !entry.isIntersecting,\n }),\n }));\n });\n };\n\n const observer = new IntersectionObserver(onIntersection, {\n threshold: [0.99],\n root: tabList.current,\n });\n\n const currentTabChildren = tabChildren.current;\n\n currentTabChildren.forEach((el) => observer.observe(el));\n\n return () => {\n currentTabChildren.forEach((el) => observer.unobserve(el));\n };\n }, [tabContentChildren.length]);\n\n return (\n <Root\n defaultValue={defaultValue ?? tabContentChildren[0].props.tabId}\n onValueChange={handleTabChange}\n data-testid={dataTestId}\n className={classNames}\n value={value}\n {...props}\n >\n <div className={cx(`${rootClassName}__container`)}>\n <div className={cx([`${rootClassName}__wrapper`, scrollClasses])}>\n <List\n ref={(el) => {\n tabList.current = el;\n }}\n className={cx(`${rootClassName}__list`)}\n >\n {Children.map(tabContentChildren, (child, index) => {\n const { name, tabId, \"data-testid\": childDataTestId } = child.props;\n return (\n <TabHeader\n data-testid={getTestId(\"header\", childDataTestId)}\n index={index}\n tabId={tabId}\n ref={(el) => {\n if (el) {\n tabChildren.current[index] = el;\n }\n }}\n onFocus={(e) => {\n scrollToTarget(e.target as HTMLElement, tabList.current);\n }}\n variant={variant}\n negative={negative}\n >\n {name}\n </TabHeader>\n );\n })}\n {isLineVariant && (\n <div\n className={cx(`${rootClassName}__selected-border`)}\n style={{\n width: selectedTriggerWidth,\n transform: `translateX(${selectedTriggerOffset}px)`,\n }}\n data-testid={getTestId(\"selected-border\")}\n />\n )}\n </List>\n <ScrollButton side=\"left\" />\n <ScrollButton side=\"right\" />\n </div>\n <div className={cx(`${rootClassName}__content-container`)}>\n {Children.map(tabContentChildren, (child) => child)}\n </div>\n </div>\n </Root>\n );\n};\n\nTabs.Content = TabContent;\n\nexport * from \"./tabs.utils\";\n"],"names":["a","r","p","e","s","t","n","o","i","u","m","f","_","d","c","v","x","g","h","b","l","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","React","index","Provider","props","scope","children","context","Context","_a","value","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","useComposedRefs","Slot","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","SlotClone","childrenRef","getElementRef","props2","mergeProps","Slottable","Fragment2","childProps","overrideProps","propName","slotPropValue","childPropValue","args","element","getter","mayWarn","_b","createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","itemMap","COLLECTION_SLOT_NAME","CollectionSlot","composedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","useLayoutEffect2","useReactId","count","useId","deterministicId","id","setId","useLayoutEffect","reactId","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","useCallbackRef","callback","callbackRef","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","DirectionContext","useDirection","localDir","globalDir","ENTRY_FOCUS","EVENT_OPTIONS","GROUP_NAME","Collection","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","direction","currentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","tabStopId","prevCount","isKeyboardFocus","entryFocusEvent","items","item","activeItem","currentItem","candidateNodes","focusFirst","ITEM_NAME","RovingFocusGroupItem","focusable","active","itemProps","autoId","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","currentIndex","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","key","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","candidate","array","startIndex","Root","Item","useStateMachine","initialState","machine","state","Presence","present","presence","usePresence","React2","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","TABS_NAME","createTabsContext","createTabsScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","valueProp","onValueChange","defaultValue","activationMode","tabsProps","TAB_LIST_NAME","TabsList","listProps","rovingFocusGroupScope","RovingFocusGroup.Root","TRIGGER_NAME","TabsTrigger","disabled","triggerProps","triggerId","makeTriggerId","contentId","makeContentId","isSelected","RovingFocusGroup.Item","isAutomaticActivation","CONTENT_NAME","TabsContent","forceMount","contentProps","isMountAnimationPreventedRef","rAF","baseId","Root2","List","Trigger","Content","hasOwn","classNames","classes","arg","appendClass","parseValue","newClass","module","cx","rootClassName","TabContent","forwardRef","tabId","dataTestId","className","disableForceMount","rest","isTabContent","isValidElement","TabHeader","variant","negative","onFocus","tabsVariants","createTabChangeDetailEvent","scrollToTarget","target","tabList","targetRect","wrapperRect","wrapperWidth","wrapperOffset","offset","left","fullWidth","scrollClasses","setScrollClasses","useState","selectedTriggerOffset","setSelectedTriggerOffset","selectedTriggerWidth","setSelectedTriggerWidth","tabContentChildren","Children","useRef","tabChildren","sideScrollAdjustmentSize","isLineVariant","tabIds","getDefaultTabIndex","defaultIndex","tabIndex","useEffect","setActiveIndex","activeIndex","getTestId","handleLinePosition","activeTabElement","handleTabChange","_value","handleScrollButtonClick","side","scrollLeft","modifier","ScrollButton","Icon","chevronLeft","chevronRight","onIntersection","entries","entry","entryIndex","isStartEntry","isLastEntry","currentScrollClasses","observer","currentTabChildren","el","jsxs","childDataTestId"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purpurds/tabs",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.2",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"main": "./dist/tabs.cjs.js",
|
|
6
6
|
"types": "./dist/tabs.d.ts",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"source": "src/tabs.tsx",
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"classnames": "~2.5.0",
|
|
19
|
-
"@radix-ui/react-tabs": "~1.
|
|
20
|
-
"@purpurds/tokens": "6.0.
|
|
21
|
-
"@purpurds/icon": "6.0.
|
|
22
|
-
"@purpurds/paragraph": "6.0.
|
|
19
|
+
"@radix-ui/react-tabs": "~1.1.3",
|
|
20
|
+
"@purpurds/tokens": "6.0.2",
|
|
21
|
+
"@purpurds/icon": "6.0.2",
|
|
22
|
+
"@purpurds/paragraph": "6.0.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@rushstack/eslint-patch": "~1.10.0",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"vite": "5.4.8",
|
|
46
46
|
"vitest": "^2.1.2",
|
|
47
47
|
"@purpurds/component-rig": "1.0.0",
|
|
48
|
-
"@purpurds/button": "6.0.
|
|
48
|
+
"@purpurds/button": "6.0.2"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build:dev": "vite",
|