lizaui 12.0.21 → 12.0.23

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.
Files changed (108) hide show
  1. package/dist/autocomplete/index.cjs.js +1 -1
  2. package/dist/autocomplete/index.cjs.js.map +1 -1
  3. package/dist/autocomplete/index.es.js +1 -1
  4. package/dist/autocomplete/index.es.js.map +1 -1
  5. package/dist/calendar/index.cjs.js.map +1 -1
  6. package/dist/calendar/index.es.js.map +1 -1
  7. package/dist/chunks/BaseCollection-CdxYWaH6.js.map +1 -1
  8. package/dist/chunks/BaseCollection-DxI8p0cP.js.map +1 -1
  9. package/dist/chunks/Button-Bumy9bze.js.map +1 -1
  10. package/dist/chunks/Button-CFYOfByw.js.map +1 -1
  11. package/dist/chunks/FocusScope-4TdD5fCA.js.map +1 -1
  12. package/dist/chunks/FocusScope-jSNMAXzg.js.map +1 -1
  13. package/dist/chunks/Hidden-BY45Dc0j.js.map +1 -1
  14. package/dist/chunks/Hidden-C55DpjMP.js.map +1 -1
  15. package/dist/chunks/I18nProvider-BUfkOEhQ.js.map +1 -1
  16. package/dist/chunks/I18nProvider-Coj9x7B8.js.map +1 -1
  17. package/dist/chunks/ProgressBar-542C1mif.js.map +1 -1
  18. package/dist/chunks/ProgressBar-BiKRsJ8m.js.map +1 -1
  19. package/dist/chunks/SharedElementTransition-BSCoaphV.js.map +1 -1
  20. package/dist/chunks/SharedElementTransition-CJVe1D_I.js.map +1 -1
  21. package/dist/chunks/VisuallyHidden-CTe1-RoI.js.map +1 -1
  22. package/dist/chunks/VisuallyHidden-DPJuOMsW.js.map +1 -1
  23. package/dist/chunks/chevron-right-Bfa8mqfk.js.map +1 -1
  24. package/dist/chunks/chevron-right-D57wjjUp.js.map +1 -1
  25. package/dist/chunks/chevron-up-D8XaBFJG.js.map +1 -1
  26. package/dist/chunks/chevron-up-Diak1VOI.js.map +1 -1
  27. package/dist/chunks/chevrons-up-down-BEtKEloL.js.map +1 -1
  28. package/dist/chunks/chevrons-up-down-Cu7ozFlE.js.map +1 -1
  29. package/dist/chunks/createLucideIcon-C6RDgWrQ.js.map +1 -1
  30. package/dist/chunks/createLucideIcon-DvjiV7vp.js.map +1 -1
  31. package/dist/chunks/filterDOMProps-DqJGvnmf.js.map +1 -1
  32. package/dist/chunks/filterDOMProps-JgzPXl3Q.js.map +1 -1
  33. package/dist/chunks/focusSafely-CKxVSn6H.js.map +1 -1
  34. package/dist/chunks/focusSafely-DfEgLKh6.js.map +1 -1
  35. package/dist/chunks/index-CULZAuw9.js.map +1 -1
  36. package/dist/chunks/index-DvmTR3H_.js.map +1 -1
  37. package/dist/chunks/mergeRefs-Y9oG13yB.js.map +1 -1
  38. package/dist/chunks/mergeRefs-t6d4XvXq.js.map +1 -1
  39. package/dist/chunks/number-CYgYWykt.js.map +1 -1
  40. package/dist/chunks/number-DDpsLN2d.js.map +1 -1
  41. package/dist/chunks/radio-group-BwXvYzSm.js.map +1 -1
  42. package/dist/chunks/radio-group-hO2beGF6.js.map +1 -1
  43. package/dist/chunks/scroll-area-TppWtXwO.js.map +1 -1
  44. package/dist/chunks/scroll-area-W95K6hNR.js.map +1 -1
  45. package/dist/chunks/{textarea-8fv2j5Lo.js → textarea-C-0g_4r4.js} +1119 -1002
  46. package/dist/chunks/textarea-C-0g_4r4.js.map +1 -0
  47. package/dist/chunks/{textarea-DNdGuFw8.js → textarea-DUJqX13u.js} +1120 -1003
  48. package/dist/chunks/textarea-DUJqX13u.js.map +1 -0
  49. package/dist/chunks/useFormReset-BYRGk5vb.js.map +1 -1
  50. package/dist/chunks/useFormReset-Bgv2ktIE.js.map +1 -1
  51. package/dist/chunks/{useHasTabbableChild-kl2T5gEX.js → useHasTabbableChild-3an_bW0u.js} +2 -2
  52. package/dist/chunks/useHasTabbableChild-3an_bW0u.js.map +1 -0
  53. package/dist/chunks/{useHasTabbableChild-CSJ0P5QT.js → useHasTabbableChild-PNwltE9y.js} +2 -2
  54. package/dist/chunks/useHasTabbableChild-PNwltE9y.js.map +1 -0
  55. package/dist/chunks/useHover-BHCSbkLb.js.map +1 -1
  56. package/dist/chunks/useHover-D9f9xyxz.js.map +1 -1
  57. package/dist/chunks/useLabel-CzhH-Tov.js.map +1 -1
  58. package/dist/chunks/useLabel-YLbDMN-c.js.map +1 -1
  59. package/dist/chunks/useLabels-BiXnWBSL.js.map +1 -1
  60. package/dist/chunks/useLabels-Bl0mJafM.js.map +1 -1
  61. package/dist/chunks/useMove-DeuS9PRx.js.map +1 -1
  62. package/dist/chunks/useMove-Xpbmb6OD.js.map +1 -1
  63. package/dist/chunks/usePress-Arf10jW0.js.map +1 -1
  64. package/dist/chunks/usePress-B1yQk_p8.js.map +1 -1
  65. package/dist/chunks/useProgressBar-BsO-Q5JP.js.map +1 -1
  66. package/dist/chunks/useProgressBar-d2k0k8r0.js.map +1 -1
  67. package/dist/chunks/useSlot-CFaaZeQE.js.map +1 -1
  68. package/dist/chunks/useSlot-TNtJf1z8.js.map +1 -1
  69. package/dist/chunks/utils-BCEhcDlv.js.map +1 -1
  70. package/dist/chunks/utils-DvHk9ofL.js.map +1 -1
  71. package/dist/components/ui/index.d.ts +0 -1
  72. package/dist/components/ui/index.d.ts.map +1 -1
  73. package/dist/data-table/index.cjs.js +1 -1
  74. package/dist/data-table/index.cjs.js.map +1 -1
  75. package/dist/data-table/index.es.js +1 -1
  76. package/dist/data-table/index.es.js.map +1 -1
  77. package/dist/form-tabs/index.cjs.js.map +1 -1
  78. package/dist/form-tabs/index.es.js.map +1 -1
  79. package/dist/lizaui.css +9 -9
  80. package/dist/meter/index.cjs.js.map +1 -1
  81. package/dist/meter/index.es.js.map +1 -1
  82. package/dist/pagination/index.cjs.js +1 -1
  83. package/dist/pagination/index.es.js +1 -1
  84. package/dist/slider/index.cjs.js.map +1 -1
  85. package/dist/slider/index.es.js.map +1 -1
  86. package/dist/tabs/index.cjs.js +1 -1
  87. package/dist/tabs/index.cjs.js.map +1 -1
  88. package/dist/tabs/index.es.js +1 -1
  89. package/dist/tabs/index.es.js.map +1 -1
  90. package/dist/time-input/index.cjs.js +1 -1
  91. package/dist/time-input/index.es.js +1 -1
  92. package/dist/toggle-switch/index.cjs.js.map +1 -1
  93. package/dist/toggle-switch/index.es.js.map +1 -1
  94. package/dist/toolbar/index.cjs.js.map +1 -1
  95. package/dist/toolbar/index.es.js.map +1 -1
  96. package/dist/travel-calendar/index.cjs.js +1 -1
  97. package/dist/travel-calendar/index.es.js +1 -1
  98. package/dist/ui/index.cjs.js +94 -420
  99. package/dist/ui/index.cjs.js.map +1 -1
  100. package/dist/ui/index.es.js +96 -422
  101. package/dist/ui/index.es.js.map +1 -1
  102. package/package.json +31 -31
  103. package/dist/chunks/textarea-8fv2j5Lo.js.map +0 -1
  104. package/dist/chunks/textarea-DNdGuFw8.js.map +0 -1
  105. package/dist/chunks/useHasTabbableChild-CSJ0P5QT.js.map +0 -1
  106. package/dist/chunks/useHasTabbableChild-kl2T5gEX.js.map +0 -1
  107. package/dist/components/ui/tabs.d.ts +0 -8
  108. package/dist/components/ui/tabs.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/list/ListCollection.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/list/useListState.mjs","../../node_modules/.pnpm/react-aria@3.53.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/animation.mjs","../../node_modules/.pnpm/react-aria@3.53.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/utils.mjs","../../node_modules/.pnpm/react-aria@3.53.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/useTab.mjs","../../node_modules/.pnpm/react-aria@3.53.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/useTabPanel.mjs","../../node_modules/.pnpm/react-aria@3.53.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/TabsKeyboardDelegate.mjs","../../node_modules/.pnpm/react-aria@3.53.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/useTabList.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/list/useSingleSelectListState.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/tabs/useTabListState.mjs","../../node_modules/.pnpm/react-aria-components@1.22.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria-components/dist/private/Tabs.mjs","../../src/components/tabs/tabs.styles.ts","../../src/lib/utils/logger.ts","../../src/lib/utils/collection-prop-injection.tsx","../../src/lib/utils/compose.ts","../../src/lib/utils/dom.tsx","../../src/components/icons/icons.tsx","../../src/components/tabs/tabs.tsx","../../src/components/tabs/index.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $f664a81d022446b5$export$d085fb9e920b5ca7 {\n constructor(nodes){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.iterable = nodes;\n let visit = (node)=>{\n this.keyMap.set(node.key, node);\n if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);\n };\n for (let node of nodes)visit(node);\n let last = null;\n let index = 0;\n let size = 0;\n for (let [key, node] of this.keyMap){\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = undefined;\n }\n if (node.type === 'item') node.index = index++;\n // Only count sections and items when determining size so that\n // loaders and separators in RAC/S2 don't influence the emptyState determination\n if (node.type === 'section' || node.type === 'item') size++;\n last = node;\n // Set nextKey as undefined since this might be the last node\n // If it isn't the last node, last.nextKey will properly set at start of new loop\n last.nextKey = undefined;\n }\n this._size = size;\n this.lastKey = last?.key ?? null;\n }\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n get size() {\n return this._size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n return node ? node.prevKey ?? null : null;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n return node ? node.nextKey ?? null : null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n return this.keyMap.get(key) ?? null;\n }\n at(idx) {\n const keys = [\n ...this.getKeys()\n ];\n return this.getItem(keys[idx]);\n }\n getChildren(key) {\n let node = this.keyMap.get(key);\n return node?.childNodes || [];\n }\n}\n\n\nexport {$f664a81d022446b5$export$d085fb9e920b5ca7 as ListCollection};\n//# sourceMappingURL=ListCollection.mjs.map\n","import {ListCollection as $f664a81d022446b5$export$d085fb9e920b5ca7} from \"./ListCollection.mjs\";\nimport {useMultipleSelectionState as $60f19cefd567a3e4$export$253fe78d46329472} from \"../selection/useMultipleSelectionState.mjs\";\nimport {SelectionManager as $4a07ac835f260f78$export$6c8a5aaad13c9852} from \"../selection/SelectionManager.mjs\";\nimport {useCollection as $d03379b88399b8c5$export$6cd28814d92fa9c9} from \"../collections/useCollection.mjs\";\nimport {useMemo as $3yt54$useMemo, useCallback as $3yt54$useCallback, useRef as $3yt54$useRef, useEffect as $3yt54$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $b14b6f590b50af39$export$2f645645f7bca764(props) {\n let { filter: filter, layoutDelegate: layoutDelegate } = props;\n let selectionState = (0, $60f19cefd567a3e4$export$253fe78d46329472)(props);\n let disabledKeys = (0, $3yt54$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let factory = (0, $3yt54$useCallback)((nodes)=>filter ? new (0, $f664a81d022446b5$export$d085fb9e920b5ca7)(filter(nodes)) : new (0, $f664a81d022446b5$export$d085fb9e920b5ca7)(nodes), [\n filter\n ]);\n let context = (0, $3yt54$useMemo)(()=>({\n suppressTextValueWarning: props.suppressTextValueWarning\n }), [\n props.suppressTextValueWarning\n ]);\n let collection = (0, $d03379b88399b8c5$export$6cd28814d92fa9c9)(props, factory, context);\n let selectionManager = (0, $3yt54$useMemo)(()=>new (0, $4a07ac835f260f78$export$6c8a5aaad13c9852)(collection, selectionState, {\n layoutDelegate: layoutDelegate\n }), [\n collection,\n selectionState,\n layoutDelegate\n ]);\n $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager\n };\n}\nfunction $b14b6f590b50af39$export$ba9d38c0f1bf2b36(state, filterFn) {\n let collection = (0, $3yt54$useMemo)(()=>filterFn ? state.collection.filter(filterFn) : state.collection, [\n state.collection,\n filterFn\n ]);\n let selectionManager = state.selectionManager.withCollection(collection);\n $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n selectionManager: selectionManager,\n disabledKeys: state.disabledKeys\n };\n}\nfunction $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager) {\n // Reset focused key if that item is deleted from the collection.\n const cachedCollection = (0, $3yt54$useRef)(null);\n (0, $3yt54$useEffect)(()=>{\n if (selectionManager.focusedKey != null && !collection.getItem(selectionManager.focusedKey) && cachedCollection.current) {\n // Walk forward in the old collection to find the next key that still exists in the new collection.\n let key = cachedCollection.current.getKeyAfter(selectionManager.focusedKey);\n let nextFocusedKey = null;\n while(key != null){\n let node = collection.getItem(key);\n if (node && node.type === 'item' && !selectionManager.isDisabled(key)) {\n nextFocusedKey = key;\n break;\n }\n key = cachedCollection.current.getKeyAfter(key);\n }\n // If no such key exists, walk backward.\n if (nextFocusedKey == null) {\n key = cachedCollection.current.getKeyBefore(selectionManager.focusedKey);\n while(key != null){\n let node = collection.getItem(key);\n if (node && node.type === 'item' && !selectionManager.isDisabled(key)) {\n nextFocusedKey = key;\n break;\n }\n key = cachedCollection.current.getKeyBefore(key);\n }\n }\n selectionManager.setFocusedKey(nextFocusedKey);\n }\n cachedCollection.current = collection;\n }, [\n collection,\n selectionManager\n ]);\n}\n\n\nexport {$b14b6f590b50af39$export$2f645645f7bca764 as useListState, $b14b6f590b50af39$export$ba9d38c0f1bf2b36 as UNSTABLE_useFilteredListState};\n//# sourceMappingURL=useListState.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {setStyle as $d447af545b77c9f1$export$37a5fde709c1db82} from \"./domHelpers.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {flushSync as $5MIG0$flushSync} from \"react-dom\";\nimport {useState as $5MIG0$useState, useCallback as $5MIG0$useCallback, useRef as $5MIG0$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $fcc7165e876206c6$export$6d3443f2c48bfc20(ref, isReady = true, onEnter) {\n let [isEntering, setEntering] = (0, $5MIG0$useState)(true);\n let isAnimationReady = isEntering && isReady;\n // Hide the element while it prepares for entry, using only non-layout-thrashing attributes.\n // This prevents accidental flashes of content in scenarios where no hidden styling is applied\n // while the enter animation is not yet ready (e.g. popovers prior to placement calculation).\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (!isReady && ref.current) return (0, $a4e76a5424781910$export$e08e3b67e392101e)((0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'opacity', '0'), (0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'clip', 'rect(0 0 0 0)'), (0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'clip-path', 'inset(50%)'), (0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'mask-image', 'linear-gradient(#0000, #0000)'));\n }, [\n ref,\n isReady\n ]);\n // There are two cases for entry animations:\n // 1. CSS @keyframes. The `animation` property is set during the isEntering state, and it is removed after the animation finishes.\n // 2. CSS transitions. The initial styles are applied during the isEntering state, and removed immediately, causing the transition to occur.\n //\n // In the second case, cancel any transitions that were triggered prior to the isEntering = false state (when the transition is supposed to start).\n // This can happen when isReady starts as false (e.g. popovers prior to placement calculation).\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (isAnimationReady && ref.current && 'getAnimations' in ref.current) {\n for (let animation of ref.current.getAnimations())if (animation instanceof CSSTransition) animation.cancel();\n }\n }, [\n ref,\n isAnimationReady\n ]);\n $fcc7165e876206c6$var$useAnimation(ref, isAnimationReady, onEnter, (0, $5MIG0$useCallback)(()=>setEntering(false), []));\n return isAnimationReady;\n}\nfunction $fcc7165e876206c6$export$45fda7c47f93fd48(ref, isOpen, onExit) {\n let [exitState, setExitState] = (0, $5MIG0$useState)(isOpen ? 'open' : 'closed');\n switch(exitState){\n case 'open':\n // If isOpen becomes false, set the state to exiting.\n if (!isOpen) setExitState('exiting');\n break;\n case 'closed':\n case 'exiting':\n // If we are exiting and isOpen becomes true, the animation was interrupted.\n // Reset the state to open.\n if (isOpen) setExitState('open');\n break;\n }\n let isExiting = exitState === 'exiting';\n $fcc7165e876206c6$var$useAnimation(ref, isExiting, onExit, (0, $5MIG0$useCallback)(()=>{\n // Set the state to closed, which will cause the element to be unmounted.\n setExitState((state)=>state === 'exiting' ? 'closed' : state);\n }, []));\n return isExiting;\n}\nfunction $fcc7165e876206c6$var$useAnimation(ref, isActive, onStart, onEnd) {\n let isActiveRef = (0, $5MIG0$useRef)(null);\n let start = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(onStart);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (isActive && ref.current && isActiveRef.current !== isActive) {\n isActiveRef.current = isActive;\n if (!('getAnimations' in ref.current)) {\n // JSDOM\n onEnd();\n return;\n }\n let startPromise = start?.(ref.current);\n let animations = ref.current.getAnimations().filter((a)=>(typeof DocumentTimeline === 'undefined' || a.timeline instanceof DocumentTimeline) && a.playState === 'running');\n if (animations.length === 0 && !startPromise) {\n onEnd();\n return;\n }\n Promise.all([\n startPromise,\n ...animations.map((a)=>a.finished)\n ]).then(()=>{\n (0, $5MIG0$flushSync)(()=>{\n onEnd();\n });\n }).catch(()=>{});\n }\n isActiveRef.current = isActive;\n }, [\n ref,\n isActive,\n onEnd\n ]);\n}\n\n\nexport {$fcc7165e876206c6$export$6d3443f2c48bfc20 as useEnterAnimation, $fcc7165e876206c6$export$45fda7c47f93fd48 as useExitAnimation};\n//# sourceMappingURL=animation.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $a251981b23baaa12$export$c5f62239608282b6 = new WeakMap();\nfunction $a251981b23baaa12$export$567fc7097e064344(state, key, role) {\n if (!state) // this case should only happen in the first render before the tabs are registered\n return '';\n if (typeof key === 'string') key = key.replace(/\\s+/g, '');\n let baseId = $a251981b23baaa12$export$c5f62239608282b6.get(state);\n if (process.env.NODE_ENV !== 'production' && !baseId) console.error('There is no tab id, please check if you have rendered the tab panel before the tab list.');\n return `${baseId}-${role}-${key}`;\n}\n\n\nexport {$a251981b23baaa12$export$c5f62239608282b6 as tabsIds, $a251981b23baaa12$export$567fc7097e064344 as generateId};\n//# sourceMappingURL=utils.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {generateId as $a251981b23baaa12$export$567fc7097e064344} from \"./utils.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {useLinkProps as $caaf0dd3060ed57c$export$7e924b3091a3bd18} from \"../utils/openLink.mjs\";\nimport {useSelectableItem as $f6ba6936bfd098a0$export$ecf600387e221c37} from \"../selection/useSelectableItem.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $1b6fa05bad3d7740$export$fdf4756d5b8ef90a(props, state, ref) {\n let { key: key, isDisabled: propsDisabled, shouldSelectOnPressUp: shouldSelectOnPressUp } = props;\n let { selectionManager: manager, selectedKey: selectedKey } = state;\n let isSelected = key === selectedKey;\n let isDisabled = propsDisabled || state.isDisabled || state.selectionManager.isDisabled(key);\n let item = state.collection.getItem(key);\n let { itemProps: itemProps, isPressed: isPressed } = (0, $f6ba6936bfd098a0$export$ecf600387e221c37)({\n selectionManager: manager,\n key: key,\n ref: ref,\n isDisabled: isDisabled,\n // Link tabs should behave like native anchors (navigate on press up)\n // This avoids reopening beforeunload dialogs when browsers replay\n // queued pointer enter/leave events after cancellation.\n shouldSelectOnPressUp: shouldSelectOnPressUp ?? item?.props.href != null,\n linkBehavior: 'selection'\n });\n let tabId = (0, $a251981b23baaa12$export$567fc7097e064344)(state, key, 'tab');\n let tabPanelId = (0, $a251981b23baaa12$export$567fc7097e064344)(state, key, 'tabpanel');\n let { tabIndex: tabIndex } = itemProps;\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(item?.props, {\n labelable: true\n });\n delete domProps.id;\n let linkProps = (0, $caaf0dd3060ed57c$export$7e924b3091a3bd18)(item?.props);\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)({\n ...item?.props,\n isDisabled: isDisabled\n }, ref);\n return {\n tabProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, focusableProps, linkProps, itemProps, {\n id: tabId,\n 'aria-selected': isSelected,\n 'aria-disabled': isDisabled || undefined,\n 'aria-controls': isSelected ? tabPanelId : undefined,\n tabIndex: isDisabled ? undefined : tabIndex,\n role: 'tab'\n }),\n isSelected: isSelected,\n isDisabled: isDisabled,\n isPressed: isPressed\n };\n}\n\n\nexport {$1b6fa05bad3d7740$export$fdf4756d5b8ef90a as useTab};\n//# sourceMappingURL=useTab.mjs.map\n","import {generateId as $a251981b23baaa12$export$567fc7097e064344} from \"./utils.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useHasTabbableChild as $bf14c9739fda2eb3$export$eac1895992b9f3d6} from \"../focus/useHasTabbableChild.mjs\";\nimport {useLabels as $e8ac3c3f5d4bae7f$export$d6875122194c7b44} from \"../utils/useLabels.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $7d951241dadd72e4$export$fae0121b5afe572d(props, state, ref) {\n // The tabpanel should have tabIndex=0 when there are no tabbable elements within it.\n // Otherwise, tabbing from the focused tab should go directly to the first tabbable element\n // within the tabpanel.\n let tabIndex = (0, $bf14c9739fda2eb3$export$eac1895992b9f3d6)(ref) ? undefined : 0;\n const id = (0, $a251981b23baaa12$export$567fc7097e064344)(state, props.id ?? state?.selectedKey, 'tabpanel');\n const tabPanelProps = (0, $e8ac3c3f5d4bae7f$export$d6875122194c7b44)({\n ...props,\n id: id,\n 'aria-labelledby': (0, $a251981b23baaa12$export$567fc7097e064344)(state, state?.selectedKey, 'tab')\n });\n return {\n tabPanelProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(tabPanelProps, {\n tabIndex: tabIndex,\n role: 'tabpanel',\n 'aria-describedby': props['aria-describedby'],\n 'aria-details': props['aria-details']\n })\n };\n}\n\n\nexport {$7d951241dadd72e4$export$fae0121b5afe572d as useTabPanel};\n//# sourceMappingURL=useTabPanel.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $a226bee26c88efd7$export$15010ca3c1abe90b {\n constructor(collection, direction, orientation, disabledKeys = new Set()){\n this.collection = collection;\n // getKeyLeftOf/getKeyRightOf follow the locale's text direction regardless of orientation,\n // so ArrowLeft always moves to the next tab in RTL. getKeyAbove/getKeyBelow are never flipped.\n this.flipDirection = direction === 'rtl';\n this.disabledKeys = disabledKeys;\n this.tabDirection = orientation === 'horizontal';\n }\n getKeyLeftOf(key) {\n if (this.flipDirection) return this.getNextKey(key);\n return this.getPreviousKey(key);\n }\n getKeyRightOf(key) {\n if (this.flipDirection) return this.getPreviousKey(key);\n return this.getNextKey(key);\n }\n isDisabled(key) {\n return this.disabledKeys.has(key) || !!this.collection.getItem(key)?.props?.isDisabled;\n }\n getFirstKey() {\n let key = this.collection.getFirstKey();\n if (key != null && this.isDisabled(key)) key = this.getNextKey(key);\n return key;\n }\n getLastKey() {\n let key = this.collection.getLastKey();\n if (key != null && this.isDisabled(key)) key = this.getPreviousKey(key);\n return key;\n }\n getKeyAbove(key) {\n if (this.tabDirection) return null;\n return this.getPreviousKey(key);\n }\n getKeyBelow(key) {\n if (this.tabDirection) return null;\n return this.getNextKey(key);\n }\n getNextKey(startKey) {\n let key = startKey;\n do {\n key = this.collection.getKeyAfter(key);\n if (key == null) key = this.collection.getFirstKey();\n }while (key != null && this.isDisabled(key) && key !== startKey);\n return key;\n }\n getPreviousKey(startKey) {\n let key = startKey;\n do {\n key = this.collection.getKeyBefore(key);\n if (key == null) key = this.collection.getLastKey();\n }while (key != null && this.isDisabled(key) && key !== startKey);\n return key;\n }\n}\n\n\nexport {$a226bee26c88efd7$export$15010ca3c1abe90b as TabsKeyboardDelegate};\n//# sourceMappingURL=TabsKeyboardDelegate.mjs.map\n","import {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {tabsIds as $a251981b23baaa12$export$c5f62239608282b6} from \"./utils.mjs\";\nimport {TabsKeyboardDelegate as $a226bee26c88efd7$export$15010ca3c1abe90b} from \"./TabsKeyboardDelegate.mjs\";\nimport {useId as $390e54f620492c70$export$f680877a34711e37} from \"../utils/useId.mjs\";\nimport {useLabels as $e8ac3c3f5d4bae7f$export$d6875122194c7b44} from \"../utils/useLabels.mjs\";\nimport {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from \"../i18n/I18nProvider.mjs\";\nimport {useSelectableCollection as $d667c2af82d35a98$export$d6daf82dcd84e87c} from \"../selection/useSelectableCollection.mjs\";\nimport {useMemo as $4mYNK$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nfunction $83428e53deb13caf$export$773e389e644c5874(props, state, ref) {\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = props;\n let { collection: collection, selectionManager: manager, disabledKeys: disabledKeys } = state;\n let { direction: direction } = (0, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7)();\n let delegate = (0, $4mYNK$useMemo)(()=>new (0, $a226bee26c88efd7$export$15010ca3c1abe90b)(collection, direction, orientation, disabledKeys), [\n collection,\n disabledKeys,\n orientation,\n direction\n ]);\n let { collectionProps: collectionProps } = (0, $d667c2af82d35a98$export$d6daf82dcd84e87c)({\n ref: ref,\n selectionManager: manager,\n keyboardDelegate: delegate,\n selectOnFocus: keyboardActivation === 'automatic',\n disallowEmptySelection: true,\n scrollRef: ref,\n linkBehavior: 'selection'\n });\n // Compute base id for all tabs\n let tabsId = (0, $390e54f620492c70$export$f680877a34711e37)();\n (0, $a251981b23baaa12$export$c5f62239608282b6).set(state, tabsId);\n let tabListLabelProps = (0, $e8ac3c3f5d4bae7f$export$d6875122194c7b44)({\n ...props,\n id: tabsId\n });\n return {\n tabListProps: {\n ...(0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(collectionProps, tabListLabelProps),\n role: 'tablist',\n 'aria-orientation': orientation,\n tabIndex: undefined\n }\n };\n}\n\n\nexport {$83428e53deb13caf$export$773e389e644c5874 as useTabList};\n//# sourceMappingURL=useTabList.mjs.map\n","import {useListState as $b14b6f590b50af39$export$2f645645f7bca764} from \"./useListState.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useMemo as $jhfZc$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $0fdb127d377ffd84$export$e7f05e985daf4b5f(props) {\n let [selectedKey, setSelectedKey] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.selectedKey, props.defaultSelectedKey ?? null, props.onSelectionChange);\n let selectedKeys = (0, $jhfZc$useMemo)(()=>selectedKey != null ? [\n selectedKey\n ] : [], [\n selectedKey\n ]);\n let { collection: collection, disabledKeys: disabledKeys, selectionManager: selectionManager } = (0, $b14b6f590b50af39$export$2f645645f7bca764)({\n ...props,\n selectionMode: 'single',\n disallowEmptySelection: true,\n allowDuplicateSelectionEvents: true,\n selectedKeys: selectedKeys,\n onSelectionChange: (keys)=>{\n // impossible, but TS doesn't know that\n if (keys === 'all') return;\n let key = keys.values().next().value ?? null;\n // Always fire onSelectionChange, even if the key is the same\n // as the current key (useControlledState does not).\n if (key === selectedKey && props.onSelectionChange) props.onSelectionChange(key);\n setSelectedKey(key);\n }\n });\n let selectedItem = selectedKey != null ? collection.getItem(selectedKey) : null;\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager,\n selectedKey: selectedKey,\n setSelectedKey: setSelectedKey,\n selectedItem: selectedItem\n };\n}\n\n\nexport {$0fdb127d377ffd84$export$e7f05e985daf4b5f as useSingleSelectListState};\n//# sourceMappingURL=useSingleSelectListState.mjs.map\n","import {useSingleSelectListState as $0fdb127d377ffd84$export$e7f05e985daf4b5f} from \"../list/useSingleSelectListState.mjs\";\nimport {useRef as $eOo4G$useRef, useEffect as $eOo4G$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $caeb030f09a278a1$export$4ba071daf4e486(props) {\n let state = (0, $0fdb127d377ffd84$export$e7f05e985daf4b5f)({\n ...props,\n onSelectionChange: props.onSelectionChange ? (key)=>{\n if (key != null) props.onSelectionChange?.(key);\n } : undefined,\n suppressTextValueWarning: true,\n defaultSelectedKey: props.defaultSelectedKey ?? $caeb030f09a278a1$var$findDefaultSelectedKey(props.collection, props.disabledKeys ? new Set(props.disabledKeys) : new Set()) ?? undefined\n });\n let { selectionManager: selectionManager, collection: collection, selectedKey: currentSelectedKey } = state;\n let lastSelectedKey = (0, $eOo4G$useRef)(currentSelectedKey);\n (0, $eOo4G$useEffect)(()=>{\n // Ensure a tab is always selected (in case no selected key was specified or if selected item was deleted from collection)\n let selectedKey = currentSelectedKey;\n if (props.selectedKey == null && (selectionManager.isEmpty || selectedKey == null || !collection.getItem(selectedKey))) {\n selectedKey = $caeb030f09a278a1$var$findDefaultSelectedKey(collection, state.disabledKeys);\n if (selectedKey != null) // directly set selection because replace/toggle selection won't consider disabled keys\n selectionManager.setSelectedKeys([\n selectedKey\n ]);\n }\n // If the tablist doesn't have focus and the selected key changes or if there isn't a focused key yet, change focused key to the selected key if it exists.\n if (selectedKey != null && selectionManager.focusedKey == null || !selectionManager.isFocused && selectedKey !== lastSelectedKey.current) selectionManager.setFocusedKey(selectedKey);\n lastSelectedKey.current = selectedKey;\n });\n return {\n ...state,\n isDisabled: props.isDisabled || false\n };\n}\nfunction $caeb030f09a278a1$var$findDefaultSelectedKey(collection, disabledKeys) {\n let selectedKey = null;\n if (collection) {\n selectedKey = collection.getFirstKey();\n // loop over tabs until we find one that isn't disabled and select that\n while(selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey !== collection.getLastKey())selectedKey = collection.getKeyAfter(selectedKey);\n // if this check is true, then every item is disabled, it makes more sense to default to the first key than the last\n if (selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey === collection.getLastKey()) selectedKey = collection.getFirstKey();\n }\n return selectedKey;\n}\n\n\nexport {$caeb030f09a278a1$export$4ba071daf4e486 as useTabListState};\n//# sourceMappingURL=useTabListState.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {CollectionRendererContext as $263ab7fc0f95ccdb$export$4feb769f8ddf26c5, DefaultCollectionRenderer as $263ab7fc0f95ccdb$export$a164736487e3f0ae, usePersistedKeys as $263ab7fc0f95ccdb$export$90e00781bc59d8f9} from \"./Collection.mjs\";\nimport {SelectionIndicatorContext as $91fe5e721c7f36c1$export$c9549807523555e0} from \"./SelectionIndicator.mjs\";\nimport {SharedElementTransition as $792f28e438b9ad5f$export$758399f318e6385a} from \"./SharedElementTransition.mjs\";\nimport {useTabList as $4KeVI$useTabList, useTab as $4KeVI$useTab, useTabPanel as $4KeVI$useTabPanel} from \"react-aria/useTabList\";\nimport {Collection as $4KeVI$Collection} from \"react-aria/Collection\";\nimport {CollectionBuilder as $4KeVI$CollectionBuilder, createLeafComponent as $4KeVI$createLeafComponent} from \"react-aria/CollectionBuilder\";\nimport {CollectionNode as $4KeVI$CollectionNode} from \"react-aria/private/collections/BaseCollection\";\nimport {createHideableComponent as $4KeVI$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport {filterDOMProps as $4KeVI$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {inertValue as $4KeVI$inertValue} from \"react-aria/private/utils/inertValue\";\nimport {mergeProps as $4KeVI$mergeProps} from \"react-aria/mergeProps\";\nimport $4KeVI$react, {createContext as $4KeVI$createContext, forwardRef as $4KeVI$forwardRef, useMemo as $4KeVI$useMemo, useContext as $4KeVI$useContext, useRef as $4KeVI$useRef, useState as $4KeVI$useState} from \"react\";\nimport {useTabListState as $4KeVI$useTabListState} from \"react-stately/useTabListState\";\nimport {useExitAnimation as $4KeVI$useExitAnimation, useEnterAnimation as $4KeVI$useEnterAnimation} from \"react-aria/private/utils/animation\";\nimport {useFocusRing as $4KeVI$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $4KeVI$useHover} from \"react-aria/useHover\";\nimport {useLayoutEffect as $4KeVI$useLayoutEffect} from \"react-aria/private/utils/useLayoutEffect\";\nimport {useObjectRef as $4KeVI$useObjectRef} from \"react-aria/useObjectRef\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f = /*#__PURE__*/ (0, $4KeVI$createContext)(null);\nconst $b4f18e3395fe64d7$export$364712098d2aa57c = /*#__PURE__*/ (0, $4KeVI$createContext)(null);\nconst $b4f18e3395fe64d7$export$b2539bed5023c21c = /*#__PURE__*/ (0, $4KeVI$forwardRef)(function Tabs(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f);\n let { children: children, orientation: orientation = 'horizontal' } = props;\n children = (0, $4KeVI$useMemo)(()=>typeof children === 'function' ? children({\n orientation: orientation,\n defaultChildren: null\n }) : children, [\n children,\n orientation\n ]);\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $4KeVI$CollectionBuilder), {\n content: children\n }, (collection)=>/*#__PURE__*/ (0, $4KeVI$react).createElement($b4f18e3395fe64d7$var$TabsInner, {\n props: props,\n collection: collection,\n tabsRef: ref\n }));\n});\nfunction $b4f18e3395fe64d7$var$TabsInner({ props: props, tabsRef: ref, collection: collection }) {\n let { orientation: orientation = 'horizontal' } = props;\n let state = (0, $4KeVI$useTabListState)({\n ...props,\n collection: collection,\n children: undefined\n });\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $4KeVI$useFocusRing)({\n within: true\n });\n let values = (0, $4KeVI$useMemo)(()=>({\n orientation: orientation,\n isFocusWithin: isFocused,\n isFocusVisible: isFocusVisible\n }), [\n orientation,\n isFocused,\n isFocusVisible\n ]);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tabs',\n values: values\n });\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $4KeVI$mergeProps)(DOMProps, renderProps, focusProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-orientation\": orientation,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": state.isDisabled || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f,\n props\n ],\n [\n $b4f18e3395fe64d7$export$364712098d2aa57c,\n state\n ]\n ]\n }, renderProps.children));\n}\nconst $b4f18e3395fe64d7$export$e51a686c67fdaa2d = /*#__PURE__*/ (0, $4KeVI$forwardRef)(function TabList(props, ref) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n return state ? /*#__PURE__*/ (0, $4KeVI$react).createElement($b4f18e3395fe64d7$var$TabListInner, {\n props: props,\n forwardedRef: ref\n }) : /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $4KeVI$Collection), props);\n});\nfunction $b4f18e3395fe64d7$var$TabListInner({ props: props, forwardedRef: ref }) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let { CollectionRoot: CollectionRoot } = (0, $4KeVI$useContext)((0, $263ab7fc0f95ccdb$export$4feb769f8ddf26c5));\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)($b4f18e3395fe64d7$export$cfa7aa87c26e7d1f);\n let objectRef = (0, $4KeVI$useObjectRef)(ref);\n let { tabListProps: tabListProps } = (0, $4KeVI$useTabList)({\n ...props,\n orientation: orientation,\n keyboardActivation: keyboardActivation\n }, state, objectRef);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n children: null,\n defaultClassName: 'react-aria-TabList',\n values: {\n orientation: orientation,\n state: state\n }\n });\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $4KeVI$mergeProps)(DOMProps, renderProps, tabListProps),\n ref: objectRef,\n \"data-orientation\": orientation || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $792f28e438b9ad5f$export$758399f318e6385a), null, /*#__PURE__*/ (0, $4KeVI$react).createElement(CollectionRoot, {\n collection: state.collection,\n persistedKeys: (0, $263ab7fc0f95ccdb$export$90e00781bc59d8f9)(state.selectionManager.focusedKey)\n })));\n}\nclass $b4f18e3395fe64d7$var$TabItemNode extends (0, $4KeVI$CollectionNode) {\n static{\n this.type = 'item';\n }\n}\nconst $b4f18e3395fe64d7$export$3e41faf802a29e71 = /*#__PURE__*/ (0, $4KeVI$createLeafComponent)($b4f18e3395fe64d7$var$TabItemNode, (props, forwardedRef, item)=>{\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let ref = (0, $4KeVI$useObjectRef)(forwardedRef);\n let { tabProps: tabProps, isSelected: isSelected, isDisabled: isDisabled, isPressed: isPressed } = (0, $4KeVI$useTab)({\n key: item.key,\n ...props\n }, state, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $4KeVI$useFocusRing)();\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $4KeVI$useHover)({\n isDisabled: isDisabled,\n onHoverStart: props.onHoverStart,\n onHoverEnd: props.onHoverEnd,\n onHoverChange: props.onHoverChange\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Tab',\n values: {\n isSelected: isSelected,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isPressed: isPressed,\n isHovered: isHovered\n }\n });\n let ElementType = item.props.href ? (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).a : (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div;\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement(ElementType, {\n ...(0, $4KeVI$mergeProps)(DOMProps, renderProps, tabProps, focusProps, hoverProps),\n ref: ref,\n \"data-selected\": isSelected || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $91fe5e721c7f36c1$export$c9549807523555e0).Provider, {\n value: {\n isSelected: isSelected\n }\n }, renderProps.children));\n});\nconst $b4f18e3395fe64d7$export$5dae8d435677f210 = /*#__PURE__*/ (0, $4KeVI$createHideableComponent)(function TabPanels(props, forwardedRef) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let ref = (0, $4KeVI$useObjectRef)(forwardedRef);\n let selectedKeyRef = (0, $4KeVI$useRef)(state.selectedKey);\n let prevSize = (0, $4KeVI$useRef)(null);\n let hasTransition = (0, $4KeVI$useRef)(null);\n (0, $4KeVI$useLayoutEffect)(()=>{\n let el = ref.current;\n if (!el) return;\n if (hasTransition.current == null) hasTransition.current = /width|height|block-size|inline-size|all/.test(window.getComputedStyle(el).transition);\n if (hasTransition.current && selectedKeyRef.current != null && selectedKeyRef.current !== state.selectedKey) {\n // Measure auto size.\n el.style.setProperty('--tab-panel-width', 'auto');\n el.style.setProperty('--tab-panel-height', 'auto');\n let { width: width, height: height } = el.getBoundingClientRect();\n if (prevSize.current && (prevSize.current.width !== width || prevSize.current.height !== height)) {\n // Revert to previous size.\n el.style.setProperty('--tab-panel-width', prevSize.current.width + 'px');\n el.style.setProperty('--tab-panel-height', prevSize.current.height + 'px');\n // Force style re-calculation to trigger animations.\n window.getComputedStyle(el).height;\n // Animate to current pixel size.\n el.style.setProperty('--tab-panel-width', width + 'px');\n el.style.setProperty('--tab-panel-height', height + 'px');\n // When animations complete, revert back to auto size.\n Promise.all(el.getAnimations().map((a)=>a.finished)).then(()=>{\n el.style.setProperty('--tab-panel-width', 'auto');\n el.style.setProperty('--tab-panel-height', 'auto');\n }).catch(()=>{});\n }\n }\n selectedKeyRef.current = state.selectedKey;\n }, [\n ref,\n state.selectedKey\n ]);\n // Store previous size before DOM updates occur.\n // This breaks the rules of hooks because there is no effect that runs _before_ DOM updates.\n if (state.selectedKey != null && // eslint-disable-next-line rsp-rules/pure-render\n state.selectedKey !== selectedKeyRef.current && ref.current && // eslint-disable-next-line rsp-rules/pure-render\n hasTransition.current) // eslint-disable-next-line rsp-rules/pure-render\n prevSize.current = ref.current.getBoundingClientRect();\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n labelable: true,\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n render: props.render,\n ...DOMProps,\n ref: ref,\n style: props.style,\n className: props.className || 'react-aria-TabPanels'\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $4KeVI$Collection), props));\n});\nconst $b4f18e3395fe64d7$export$3d96ec278d3efce4 = /*#__PURE__*/ (0, $4KeVI$createHideableComponent)(function TabPanel(props, forwardedRef) {\n const state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let ref = (0, $4KeVI$useObjectRef)(forwardedRef);\n // Track if the tab panel was initially selected on mount (after extra render to populate the collection).\n // In this case, we don't want to trigger animations.\n let isSelected = state.selectedKey === props.id;\n let [isInitiallySelected, setInitiallySelected] = (0, $4KeVI$useState)(state.selectedKey != null ? isSelected : null);\n if (isInitiallySelected == null && state.selectedKey != null) setInitiallySelected(isSelected);\n else if (!isSelected && isInitiallySelected) setInitiallySelected(false);\n let isExiting = (0, $4KeVI$useExitAnimation)(ref, isSelected);\n if (!isSelected && !props.shouldForceMount && !isExiting) return null;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement($b4f18e3395fe64d7$var$TabPanelInner, {\n ...props,\n tabPanelRef: ref,\n isInitiallySelected: isInitiallySelected || false,\n isExiting: isExiting\n });\n});\nfunction $b4f18e3395fe64d7$var$TabPanelInner(props) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { id: id, tabPanelRef: ref, isInitiallySelected: isInitiallySelected, isExiting: isExiting, ...otherProps } = props;\n let { tabPanelProps: tabPanelProps } = (0, $4KeVI$useTabPanel)(props, state, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $4KeVI$useFocusRing)();\n let isSelected = state.selectedKey === props.id;\n let isEntering = (0, $4KeVI$useEnterAnimation)(ref) && !isInitiallySelected;\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-TabPanel',\n values: {\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n // @ts-ignore - compatibility with React < 19\n isInert: (0, $4KeVI$inertValue)(!isSelected),\n isEntering: isEntering,\n isExiting: isExiting,\n state: state\n }\n });\n let DOMProps = (0, $4KeVI$filterDOMProps)(otherProps, {\n global: true\n });\n delete DOMProps.id;\n let domProps = isSelected ? (0, $4KeVI$mergeProps)(DOMProps, tabPanelProps, focusProps, renderProps) : (0, $4KeVI$mergeProps)(DOMProps, renderProps);\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...domProps,\n ref: ref,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n // @ts-ignore\n inert: (0, $4KeVI$inertValue)(!isSelected || props.inert),\n \"data-inert\": !isSelected ? 'true' : undefined,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": isExiting || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f,\n null\n ],\n [\n $b4f18e3395fe64d7$export$364712098d2aa57c,\n null\n ]\n ]\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $263ab7fc0f95ccdb$export$4feb769f8ddf26c5).Provider, {\n value: (0, $263ab7fc0f95ccdb$export$a164736487e3f0ae)\n }, renderProps.children)));\n}\n\n\nexport {$b4f18e3395fe64d7$export$cfa7aa87c26e7d1f as TabsContext, $b4f18e3395fe64d7$export$364712098d2aa57c as TabListStateContext, $b4f18e3395fe64d7$export$b2539bed5023c21c as Tabs, $b4f18e3395fe64d7$export$e51a686c67fdaa2d as TabList, $b4f18e3395fe64d7$export$3e41faf802a29e71 as Tab, $b4f18e3395fe64d7$export$5dae8d435677f210 as TabPanels, $b4f18e3395fe64d7$export$3d96ec278d3efce4 as TabPanel};\n//# sourceMappingURL=Tabs.mjs.map\n","import type { VariantProps } from \"tailwind-variants\";\n\nimport { tv } from \"tailwind-variants\";\n\nexport const tabsVariants = tv({\n\tdefaultVariants: {\n\t\talign: \"center\",\n\t\tvariant: \"primary\",\n\t},\n\tslots: {\n\t\tbase: \"tabs\",\n\t\tscrollNext: \"tabs__list-container__scroll-next\",\n\t\tscrollPrev: \"tabs__list-container__scroll-prev\",\n\t\tscroller: \"tabs__list-container__scroller\",\n\t\tseparator: \"tabs__separator\",\n\t\ttab: \"tabs__tab\",\n\t\ttabIndicator: \"tabs__indicator\",\n\t\ttabList: \"tabs__list\",\n\t\ttabListContainer: \"tabs__list-container\",\n\t\ttabPanel: \"tabs__panel\",\n\t},\n\tvariants: {\n\t\talign: {\n\t\t\tcenter: {}, // No class as the base already centers tab content\n\t\t\tend: {\n\t\t\t\tbase: \"tabs--align-end\",\n\t\t\t},\n\t\t\tstart: {\n\t\t\t\tbase: \"tabs--align-start\",\n\t\t\t},\n\t\t},\n\t\tvariant: {\n\t\t\tprimary: {},\n\t\t\tsecondary: {\n\t\t\t\tbase: \"tabs--secondary\",\n\t\t\t},\n\t\t},\n\t},\n});\n\n// Render props that should be excluded from TabsVariants (framework-specific)\ntype TabsRenderPropsKeys = \"selectedKey\";\n\nexport type TabsVariants = Omit<VariantProps<typeof tabsVariants>, TabsRenderPropsKeys>;\n","/* eslint-disable no-console */\n/**\n * Logger utility for HeroUI Core\n * Provides formatted console output with levels and prefixes\n */\n\nconst colors = {\n\tblue: \"\\x1b[34m\",\n\tcyan: \"\\x1b[36m\",\n\tgreen: \"\\x1b[32m\",\n\tmagenta: \"\\x1b[35m\",\n\tred: \"\\x1b[31m\",\n\treset: \"\\x1b[0m\",\n\tyellow: \"\\x1b[33m\",\n} as const;\n\ntype LogLevel = \"info\" | \"success\" | \"warn\" | \"error\" | \"debug\";\n\ninterface LoggerOptions {\n\tenabled?: boolean;\n\tprefix?: string;\n}\n\nconst levelColors: Record<LogLevel, string> = {\n\tdebug: colors.magenta,\n\terror: colors.red,\n\tinfo: colors.blue,\n\tsuccess: colors.green,\n\twarn: colors.yellow,\n};\n\nconst levelEmojis: Record<LogLevel, string> = {\n\tdebug: \"🔍\",\n\terror: \"❌\",\n\tinfo: \"ℹ️\",\n\tsuccess: \"✅\",\n\twarn: \"⚠️\",\n};\n\nexport class Logger {\n\tprivate enabled: boolean;\n\tprivate prefix: string;\n\n\tconstructor(options: LoggerOptions = {}) {\n\t\tthis.enabled = options.enabled ?? true;\n\t\tthis.prefix = options.prefix ?? \"HeroUI\";\n\t}\n\n\tprivate formatMessage(level: LogLevel, message: string): string {\n\t\tconst color = levelColors[level];\n\t\tconst emoji = levelEmojis[level];\n\n\t\treturn `${color}[${this.prefix}]${colors.reset} ${emoji} ${message}`;\n\t}\n\n\tprivate log(level: LogLevel, message: string, ...args: any[]): void {\n\t\tif (!this.enabled) return;\n\n\t\tconst formattedMessage = this.formatMessage(level, message);\n\n\t\tswitch (level) {\n\t\t\tcase \"error\":\n\t\t\t\tconsole.error(formattedMessage, ...args);\n\t\t\t\tbreak;\n\t\t\tcase \"warn\":\n\t\t\t\tconsole.warn(formattedMessage, ...args);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log(formattedMessage, ...args);\n\t\t}\n\t}\n\n\tinfo(message: string, ...args: any[]): void {\n\t\tthis.log(\"info\", message, ...args);\n\t}\n\n\tsuccess(message: string, ...args: any[]): void {\n\t\tthis.log(\"success\", message, ...args);\n\t}\n\n\twarn(message: string, ...args: any[]): void {\n\t\tthis.log(\"warn\", message, ...args);\n\t}\n\n\terror(message: string, ...args: any[]): void {\n\t\tthis.log(\"error\", message, ...args);\n\t}\n\n\tdebug(message: string, ...args: any[]): void {\n\t\tthis.log(\"debug\", message, ...args);\n\t}\n\n\tdivider(char: string = \"=\", length: number = 80): void {\n\t\tif (!this.enabled) return;\n\t\tconsole.log(char.repeat(length));\n\t}\n\n\tnewline(): void {\n\t\tif (!this.enabled) return;\n\t\tconsole.log();\n\t}\n}\n","\"use client\";\n\nimport type { ComponentType, ForwardedRef, ReactElement, ReactNode } from \"react\";\n\nimport React, { Children, createContext, forwardRef, isValidElement, useContext } from \"react\";\n\nimport { Logger } from \"./logger\";\n\nconst logger = new Logger({ prefix: \"LizaUI\" });\n\n/** Dev-only registry for duplicate slot name warnings. */\nlet registry: Set<string> | undefined;\n\nconst __DEV__ = typeof process !== \"undefined\" && process.env?.[\"NODE_ENV\"] !== \"production\";\n\n/**\n * Create a CollectionBuilder-safe slot for optional chrome around a RAC collection\n * target (e.g. TabList, ListBox).\n *\n * The injector emits no host DOM: chrome props are provided via Context and a\n * string-keyed `cloneElement` channel (React strips Symbol keys from element props).\n * The target should apply chrome through the RAC `render` prop — not by wrapping\n * the collection child in a host node.\n */\nexport const createCollectionSlot = <T extends object>(name: string) => {\n\tif (__DEV__) {\n\t\tregistry ??= new Set<string>();\n\n\t\tif (registry.has(name)) {\n\t\t\tlogger.warn(`Duplicate collection slot \"${name}\". Use a unique, namespaced name (e.g. \"tabs.listContainer\", \"menu.popover\").`);\n\t\t}\n\n\t\tregistry.add(name);\n\t}\n\n\t// String key required — React drops Symbol keys from element props / cloneElement.\n\tconst key = `$$heroui.collection.${name}`;\n\tconst SlotContext = createContext<T | undefined>(undefined);\n\n\tconst inject = (children: ReactNode, value: T): ReactNode => {\n\t\treturn Children.map(children, (child) => {\n\t\t\tif (!isValidElement(child)) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\treturn React.cloneElement(child as ReactElement<Record<string, unknown>>, {\n\t\t\t\t[key]: value,\n\t\t\t});\n\t\t});\n\t};\n\n\tconst consume = <P extends object>(props: P): [injected: T | undefined, rest: P] => {\n\t\tconst { [key]: injected, ...rest } = props as P & Record<string, T | undefined>;\n\n\t\treturn [injected, rest as P];\n\t};\n\n\tconst useSlot = <P extends object>(props: P): [injected: T | undefined, rest: P] => {\n\t\tconst [fromProps, rest] = consume(props);\n\t\tconst fromContext = useContext(SlotContext);\n\n\t\treturn [fromProps ?? fromContext, rest];\n\t};\n\n\tconst Injector = ({ children, ...value }: { children?: ReactNode } & T) => {\n\t\treturn <SlotContext.Provider value={value as T}>{inject(children, value as T)}</SlotContext.Provider>;\n\t};\n\n\tInjector.displayName = `HeroUI.CollectionSlot(${name})`;\n\n\ttype WithSlotProps<P> = P & { children?: ReactNode };\n\n\tconst withSlot = <P extends object>(\n\t\tPrimitive: ComponentType<WithSlotProps<P>>,\n\t\tdefaultRender?: (props: WithSlotProps<P>, injected: T, forwardedRef: ForwardedRef<unknown>) => ReactElement,\n\t) => {\n\t\tconst Wrapped = forwardRef<unknown, WithSlotProps<P>>(function CollectionSlotTarget(props, forwardedRef) {\n\t\t\tconst [injected, rest] = useSlot(props);\n\t\t\tconst { children, ...restProps } = rest;\n\n\t\t\tif (!injected) {\n\t\t\t\treturn (\n\t\t\t\t\t<Primitive {...(restProps as P)} ref={forwardedRef as never}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Primitive>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (defaultRender) {\n\t\t\t\t// eslint-disable-next-line react-hooks/refs -- forward ref into chrome factory; `.current` is not read here\n\t\t\t\treturn defaultRender({ ...(restProps as P), children }, injected, forwardedRef);\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tclassName: containerClassName,\n\t\t\t\trender: customRender,\n\t\t\t\t...containerRest\n\t\t\t} = injected as T & {\n\t\t\t\tclassName?: string;\n\t\t\t\trender?: (props: Record<string, unknown>) => ReactElement;\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<Primitive {...(restProps as P)} ref={forwardedRef as never}>\n\t\t\t\t\t{customRender ? (\n\t\t\t\t\t\tcustomRender({ children, className: containerClassName, ...containerRest })\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className={containerClassName} data-slot={`${name}-container`} {...containerRest}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Primitive>\n\t\t\t);\n\t\t});\n\n\t\tWrapped.displayName = `HeroUI.withCollectionSlot(${Primitive.displayName || Primitive.name || name})`;\n\n\t\treturn Wrapped;\n\t};\n\n\treturn {\n\t\tkey,\n\t\tinject,\n\t\tconsume,\n\t\tuseSlot,\n\t\tInjector,\n\t\twithSlot,\n\t\tContext: SlotContext,\n\t} as const;\n};\n\nexport type CollectionSlot<T extends object> = ReturnType<typeof createCollectionSlot<T>>;\n","\"use client\";\n\nimport { composeRenderProps } from \"react-aria-components/composeRenderProps\";\nimport { cx } from \"tailwind-variants\";\n\n// Re-export utility classes from @heroui/styles for backward compatibility\nexport { disabledClasses, focusRingClasses, ariaDisabledClasses } from \"./class-name\";\n\nfunction composeTwRenderProps<T>(\n\tclassName: string | ((v: T) => string) | undefined,\n\ttailwind?: string | ((v: T) => string | undefined),\n): string | ((v: T) => string) {\n\treturn composeRenderProps(className, (className, renderProps): string => {\n\t\tconst tw = typeof tailwind === \"function\" ? (tailwind(renderProps) ?? \"\") : (tailwind ?? \"\");\n\t\tconst cls = className ?? \"\";\n\n\t\treturn cx(tw, cls) ?? \"\";\n\t});\n}\n\nexport const composeSlotClassName = (\n\tslotFn: ((args?: { className?: string; [key: string]: any }) => string) | undefined,\n\tclassName?: string,\n\tvariants?: Record<string, any>,\n): string | undefined => {\n\treturn typeof slotFn === \"function\" ? slotFn({ ...(variants ?? {}), className }) : className;\n};\n\nexport { composeTwRenderProps };\n","\"use client\";\n\n/* eslint-disable no-console */\n/*\n * From https://github.com/adobe/react-spectrum/blob/0e69a1bf028448551b8e6c3ee936f41b8f70109a/packages/react-aria-components/src/utils.tsx\n * Remove it and import directly from react-aria-components when they export it.\n */\n\nimport type { AllHTMLAttributes, ReactElement } from \"react\";\n\nimport { mergeRefs, useLayoutEffect } from \"@react-aria/utils\";\nimport React, { useMemo, useRef } from \"react\";\n\nexport type DOMRenderFunction<E extends keyof React.JSX.IntrinsicElements, T> = (\n\tprops: React.JSX.IntrinsicElements[E],\n\trenderProps: T,\n) => ReactElement;\nexport interface DOMRenderProps<E extends keyof React.JSX.IntrinsicElements, T> {\n\t/**\n\t * Overrides the default DOM element with a custom render function.\n\t * This allows rendering existing components with built-in styles and behaviors\n\t * such as router links, animation libraries, and pre-styled components.\n\t *\n\t * Requirements:\n\t *\n\t * * You must render the expected element type (e.g. if `<button>` is expected, you cannot render an `<a>`).\n\t * * Only a single root DOM element can be rendered (no fragments).\n\t * * You must pass through props and ref to the underlying DOM element, merging with your own prop as appropriate.\n\t */\n\trender?: DOMRenderFunction<E, T>;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nfunction DOMElement(ElementType: string, props: DOMRenderProps<any, any> & AllHTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> }) {\n\tconst { ref: forwardedRef, render, ...otherProps } = props;\n\tconst elementRef = useRef<HTMLElement | null>(null);\n\tconst ref = useMemo(() => mergeRefs(forwardedRef, elementRef), [forwardedRef, elementRef]);\n\n\tuseLayoutEffect(() => {\n\t\tif (typeof process !== \"undefined\" && process.env?.[\"NODE_ENV\"] !== \"production\" && render) {\n\t\t\tif (!elementRef.current) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"Ref was not connected to DOM element returned by custom `render` function. Did you forget to pass through or merge the `ref`?\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [ElementType, render]);\n\n\tconst domProps: any = { ...otherProps, ref };\n\n\tif (render) {\n\t\treturn render(domProps, undefined);\n\t}\n\n\treturn <ElementType {...domProps} />;\n}\n\ntype DOMComponents = {\n\t[E in keyof React.JSX.IntrinsicElements]: (props: DOMRenderProps<E, any> & React.JSX.IntrinsicElements[E]) => ReactElement;\n};\n\nconst domComponentCache: Record<string, unknown> = {};\n\n// Dynamically generates and caches components for each DOM element (e.g. `dom.button`).\nexport const dom = new Proxy(\n\t{},\n\t{\n\t\tget(_target, elementType) {\n\t\t\tif (typeof elementType !== \"string\") {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tlet res = domComponentCache[elementType];\n\n\t\t\tif (!res) {\n\t\t\t\tres = DOMElement.bind(null, elementType);\n\t\t\t\tdomComponentCache[elementType] = res;\n\t\t\t}\n\n\t\t\treturn res;\n\t\t},\n\t},\n) as DOMComponents;\n","import React from \"react\";\n\ninterface IconProps extends React.SVGProps<SVGSVGElement> {}\n\nexport const IconChevronDown = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M2.97 5.47a.75.75 0 0 1 1.06 0L8 9.44l3.97-3.97a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 0 1 0-1.06\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconChevronUp = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M13.03 10.53a.75.75 0 0 1-1.06 0L8 6.56l-3.97 3.97a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconChevronLeft = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M10.53 2.97a.75.75 0 0 1 0 1.06L6.56 8l3.97 3.97a.75.75 0 1 1-1.06 1.06l-4.5-4.5a.75.75 0 0 1 0-1.06l4.5-4.5a.75.75 0 0 1 1.06 0\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconChevronRight = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M5.47 2.97a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 0-1.06Z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const ExternalLinkIcon = ({ height = 9, width = 9, ...props }: IconProps) => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tfill=\"none\"\n\t\theight={height}\n\t\trole=\"presentation\"\n\t\tviewBox=\"0 0 7 7\"\n\t\twidth={width}\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t{...props}\n\t>\n\t\t<path\n\t\t\td=\"M1.20592 6.84333L0.379822 6.01723L4.52594 1.8672H1.37819L1.38601 0.731812H6.48742V5.83714H5.34421L5.35203 2.6933L1.20592 6.84333Z\"\n\t\t\tfill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const CircleDashedIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\td=\"M6.906 1.085a7.047 7.047 0 0 1 2.188 0 .75.75 0 0 1-.232 1.482 5.546 5.546 0 0 0-1.724 0 .75.75 0 0 1-.232-1.482ZM4.933 2.502a.75.75 0 0 1-.166 1.048c-.466.34-.878.75-1.217 1.217a.75.75 0 0 1-1.213-.882 7.036 7.036 0 0 1 1.548-1.548.75.75 0 0 1 1.048.165Zm6.135 0a.75.75 0 0 1 1.047-.165 7.037 7.037 0 0 1 1.548 1.548.75.75 0 0 1-1.213.882 5.533 5.533 0 0 0-1.217-1.217.75.75 0 0 1-.165-1.048ZM1.943 6.28a.75.75 0 0 1 .624.857 5.546 5.546 0 0 0 0 1.724.75.75 0 0 1-1.482.232 7.047 7.047 0 0 1 0-2.188.75.75 0 0 1 .858-.625Zm12.114 0a.75.75 0 0 1 .858.625 7.048 7.048 0 0 1 0 2.188.75.75 0 1 1-1.482-.232 5.54 5.54 0 0 0 0-1.724.75.75 0 0 1 .624-.857ZM2.502 11.068a.75.75 0 0 1 1.048.165c.34.466.75.878 1.217 1.217a.75.75 0 0 1-.882 1.213 7.037 7.037 0 0 1-1.548-1.548.75.75 0 0 1 .165-1.047Zm10.996 0a.75.75 0 0 1 .165 1.047 7.037 7.037 0 0 1-1.548 1.548.75.75 0 0 1-.883-1.213 5.53 5.53 0 0 0 1.218-1.217.75.75 0 0 1 1.048-.165Zm-7.217 2.99a.75.75 0 0 1 .857-.625 5.54 5.54 0 0 0 1.724 0 .75.75 0 0 1 .232 1.482 7.048 7.048 0 0 1-2.188 0 .75.75 0 0 1-.625-.857Z\"\n\t\t\tfill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const CloseIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M3.47 3.47a.75.75 0 0 1 1.06 0L8 6.94l3.47-3.47a.75.75 0 1 1 1.06 1.06L9.06 8l3.47 3.47a.75.75 0 1 1-1.06 1.06L8 9.06l-3.47 3.47a.75.75 0 0 1-1.06-1.06L6.94 8 3.47 4.53a.75.75 0 0 1 0-1.06Z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const InfoIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-9.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0m-.25 3a.75.75 0 0 0-1.5 0V11a.75.75 0 0 0 1.5 0z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const WarningIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M7.134 2.994L2.217 11.5a1 1 0 0 0 .866 1.5h9.834a1 1 0 0 0 .866-1.5L8.866 2.993a1 1 0 0 0-1.732 0m3.03-.75c-.962-1.665-3.366-1.665-4.329 0L.918 10.749c-.963 1.666.24 3.751 2.165 3.751h9.834c1.925 0 3.128-2.085 2.164-3.751zM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2A.75.75 0 0 1 8 5m1 5.75a1 1 0 1 1-2 0a1 1 0 0 1 2 0\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const DangerIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0M8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const SuccessIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M13.5 8a5.5 5.5 0 1 1-11 0a5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-3.9-1.55a.75.75 0 1 0-1.2-.9L7.419 8.858L6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconMinus = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M1.75 8a.75.75 0 0 1 .75-.75h11a.75.75 0 0 1 0 1.5h-11A.75.75 0 0 1 1.75 8\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconPlus = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8 1.75a.75.75 0 0 1 .75.75v4.75h4.75a.75.75 0 0 1 0 1.5H8.75v4.75a.75.75 0 0 1-1.5 0V8.75H2.5a.75.75 0 0 1 0-1.5h4.75V2.5A.75.75 0 0 1 8 1.75\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconSearch = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M11.5 7a4.5 4.5 0 1 1-9 0a4.5 4.5 0 0 1 9 0m-.82 4.74a6 6 0 1 1 1.06-1.06l2.79 2.79a.75.75 0 1 1-1.06 1.06z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconCalendar = (props: IconProps) => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tfill=\"none\"\n\t\theight=\"1em\"\n\t\trole=\"presentation\"\n\t\tviewBox=\"0 0 13 14\"\n\t\twidth=\"1em\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t{...props}\n\t>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M3.75 4.5A.75.75 0 0 1 3 3.75v-.748a1.5 1.5 0 0 0-1.5 1.5v1h10v-1a1.5 1.5 0 0 0-1.5-1.5v.75a.75.75 0 1 1-1.5 0v-.75h-4v.747a.75.75 0 0 1-.75.75ZM8.5 1.501h-4V.75a.75.75 0 0 0-1.5 0v.752a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3v-.75a.75.75 0 0 0-1.5 0v.75Zm-7 5.5v3.5a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 1.5-1.5v-3.5h-10Z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n","\"use client\";\n\nimport type { DOMRenderProps } from \"@/lib/utils/dom\";\nimport type { ComponentPropsWithRef, ReactNode } from \"react\";\nimport type { TabsVariants } from \"./tabs.styles\";\n\nimport React, { createContext, use, useCallback, useRef } from \"react\";\nimport { SelectionIndicator as SelectionIndicatorPrimitive } from \"react-aria-components/SelectionIndicator\";\nimport { TabList as TabListPrimitive, TabPanel as TabPanelPrimitive, Tab as TabPrimitive, Tabs as TabsPrimitive } from \"react-aria-components/Tabs\";\nimport { tabsVariants } from \"./tabs.styles\";\n\nimport { createCollectionSlot } from \"@/lib/utils/collection-prop-injection\";\nimport { composeSlotClassName, composeTwRenderProps } from \"@/lib/utils/compose\";\nimport { dom } from \"@/lib/utils/dom\";\nimport { IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp } from \"../icons/icons\";\nimport { ScrollShadow } from \"../scroll-shadow\";\nimport \"./tabs.css\";\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs Context\n * -----------------------------------------------------------------------------------------------*/\ntype TabsContext = {\n\torientation?: \"horizontal\" | \"vertical\";\n\tslots?: ReturnType<typeof tabsVariants>;\n};\n\nconst TabsContext = createContext<TabsContext>({});\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs Collection Slot\n * -----------------------------------------------------------------------------------------------*/\ntype ListContainerInjectedProps = {\n\tclassName?: string;\n\trender?: DOMRenderProps<\"div\", undefined>[\"render\"];\n} & Record<string, unknown>;\n\nconst listContainerSlot = createCollectionSlot<ListContainerInjectedProps>(\"tabs.listContainer\");\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs Root\n * -----------------------------------------------------------------------------------------------*/\ninterface TabsRootProps extends ComponentPropsWithRef<typeof TabsPrimitive>, TabsVariants {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nconst TabsRoot = ({ align, children, className, orientation = \"horizontal\", variant, ...props }: TabsRootProps) => {\n\tconst slots = React.useMemo(() => tabsVariants({ align, variant }), [align, variant]);\n\tconst contextValue = React.useMemo(() => ({ orientation, slots }), [orientation, slots]);\n\n\treturn (\n\t\t<TabsContext value={contextValue}>\n\t\t\t<TabsPrimitive {...props} className={composeTwRenderProps(className, slots.base())} data-slot=\"tabs\" orientation={orientation}>\n\t\t\t\t{children}\n\t\t\t</TabsPrimitive>\n\t\t</TabsContext>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs List Container\n * -----------------------------------------------------------------------------------------------*/\ninterface TabListContainerProps<E extends keyof React.JSX.IntrinsicElements = \"div\"> extends DOMRenderProps<E, undefined> {\n\tchildren?: ReactNode;\n\tclassName?: string;\n}\n\nconst TabListContainer = <E extends keyof React.JSX.IntrinsicElements = \"div\">({\n\tchildren,\n\tclassName,\n\trender,\n\t...containerProps\n}: TabListContainerProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof TabListContainerProps<E>>) => {\n\treturn (\n\t\t<listContainerSlot.Injector {...({ ...containerProps, className, render } as ListContainerInjectedProps)}>\n\t\t\t{children}\n\t\t</listContainerSlot.Injector>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs List\n * -----------------------------------------------------------------------------------------------*/\ninterface TabListProps extends ComponentPropsWithRef<typeof TabListPrimitive<object>> {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nconst TabList = ({ children, className, ...props }: TabListProps) => {\n\tconst { orientation = \"horizontal\", slots } = use(TabsContext);\n\tconst scrollerRef = useRef<HTMLDivElement | null>(null);\n\tconst isVertical = orientation === \"vertical\";\n\n\tconst [listContainerProps, restProps] = listContainerSlot.useSlot(props);\n\n\tconst scrollBy = useCallback(\n\t\t(direction: 1 | -1) => {\n\t\t\tconst el = scrollerRef.current;\n\n\t\t\tif (!el) return;\n\t\t\tconst size = isVertical ? el.clientHeight : el.clientWidth;\n\t\t\tconst scrollSize = isVertical ? el.scrollHeight : el.scrollWidth;\n\t\t\tconst maxScroll = Math.max(0, scrollSize - size);\n\n\t\t\t// In RTL, the horizontal scroll range runs from 0 (start, on the right) to negative,\n\t\t\t// so the delta sign must be flipped for `scrollLeft` to move toward the intended edge.\n\t\t\tconst isRTL = !isVertical && getComputedStyle(el).direction === \"rtl\";\n\t\t\tconst delta = direction * size * 0.8 * (isRTL ? -1 : 1);\n\t\t\tconst current = isVertical ? el.scrollTop : el.scrollLeft;\n\n\t\t\t// Clamp the target to the scrollable range so a press near the edge lands\n\t\t\t// flush on it instead of requesting a position past the content, which can\n\t\t\t// cut the smooth scroll short of the edge (e.g. iOS Safari) or leave the\n\t\t\t// strip visually stranded. RTL ranges run [-maxScroll, 0].\n\t\t\tconst next = Math.min(isRTL ? 0 : maxScroll, Math.max(isRTL ? -maxScroll : 0, current + delta));\n\n\t\t\tif (next === current) return;\n\n\t\t\tel.scrollTo({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t[isVertical ? \"top\" : \"left\"]: next,\n\t\t\t});\n\t\t},\n\t\t[isVertical],\n\t);\n\n\t// Without ListContainer, stay a thin RAC TabList\n\tif (!listContainerProps) {\n\t\treturn (\n\t\t\t<TabListPrimitive {...restProps} className={composeTwRenderProps(className, slots?.tabList())} data-slot=\"tabs-list\">\n\t\t\t\t{children}\n\t\t\t</TabListPrimitive>\n\t\t);\n\t}\n\n\tconst { className: containerClassName, render: containerRender, ...containerRest } = listContainerProps;\n\n\treturn (\n\t\t<TabListPrimitive\n\t\t\t{...restProps}\n\t\t\tclassName={composeTwRenderProps(className, slots?.tabList())}\n\t\t\tdata-slot=\"tabs-list\"\n\t\t\trender={(renderProps) => {\n\t\t\t\tconst {\n\t\t\t\t\tchildren: listChildren,\n\t\t\t\t\tclassName: listClassName,\n\t\t\t\t\tref: listRef,\n\t\t\t\t\t...listRest\n\t\t\t\t} = renderProps as typeof renderProps & {\n\t\t\t\t\tref?: React.Ref<HTMLDivElement>;\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<dom.div\n\t\t\t\t\t\tclassName={composeSlotClassName(slots?.tabListContainer, containerClassName)}\n\t\t\t\t\t\tdata-slot=\"tabs-list-container\"\n\t\t\t\t\t\trender={containerRender as DOMRenderProps<\"div\", undefined>[\"render\"]}\n\t\t\t\t\t\t{...(containerRest as React.HTMLAttributes<HTMLDivElement>)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScrollShadow\n\t\t\t\t\t\t\tref={scrollerRef}\n\t\t\t\t\t\t\thideScrollBar\n\t\t\t\t\t\t\tclassName={composeSlotClassName(slots?.scroller)}\n\t\t\t\t\t\t\torientation={orientation}\n\t\t\t\t\t\t\tsize={64}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div {...listRest} ref={listRef} className={listClassName}>\n\t\t\t\t\t\t\t\t{listChildren}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ScrollShadow>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={isVertical ? \"Scroll tabs up\" : \"Scroll tabs left\"}\n\t\t\t\t\t\t\tclassName={composeSlotClassName(slots?.scrollPrev)}\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => scrollBy(-1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isVertical ? <IconChevronUp /> : <IconChevronLeft />}\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={isVertical ? \"Scroll tabs down\" : \"Scroll tabs right\"}\n\t\t\t\t\t\t\tclassName={composeSlotClassName(slots?.scrollNext)}\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => scrollBy(1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isVertical ? <IconChevronDown /> : <IconChevronRight />}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</dom.div>\n\t\t\t\t);\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</TabListPrimitive>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab\n * -----------------------------------------------------------------------------------------------*/\ninterface TabProps extends ComponentPropsWithRef<typeof TabPrimitive> {\n\tclassName?: string;\n}\n\nconst Tab = ({ children, className, ...props }: TabProps) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn (\n\t\t<TabPrimitive {...props} className={composeTwRenderProps(className, slots?.tab())} data-slot=\"tabs-tab\">\n\t\t\t{children}\n\t\t</TabPrimitive>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab Indicator\n * -----------------------------------------------------------------------------------------------*/\ninterface TabIndicatorProps extends ComponentPropsWithRef<typeof SelectionIndicatorPrimitive> {\n\tclassName?: string;\n}\n\nconst TabIndicator = ({ className, ...props }: TabIndicatorProps) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn <SelectionIndicatorPrimitive className={composeSlotClassName(slots?.tabIndicator, className)} data-slot=\"tabs-indicator\" {...props} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab Panel\n * -----------------------------------------------------------------------------------------------*/\ninterface TabPanelProps extends Omit<ComponentPropsWithRef<typeof TabPanelPrimitive>, \"children\"> {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nconst TabPanel = ({ children, className, ...props }: TabPanelProps) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn (\n\t\t<TabPanelPrimitive {...props} className={composeTwRenderProps(className, slots?.tabPanel())} data-slot=\"tabs-panel\">\n\t\t\t{children}\n\t\t</TabPanelPrimitive>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab Separator\n * -----------------------------------------------------------------------------------------------*/\ninterface TabSeparatorProps<E extends keyof React.JSX.IntrinsicElements = \"span\"> extends DOMRenderProps<E, undefined> {\n\tclassName?: string;\n}\n\nconst TabSeparator = <E extends keyof React.JSX.IntrinsicElements = \"span\">({\n\tclassName,\n\t...props\n}: TabSeparatorProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof TabSeparatorProps<E>>) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn (\n\t\t<dom.span aria-hidden=\"true\" className={composeSlotClassName(slots?.separator, className)} data-slot=\"tabs-separator\" {...(props as any)} />\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Exports\n * -----------------------------------------------------------------------------------------------*/\nexport { Tab, TabIndicator, TabList, TabListContainer, TabPanel, TabSeparator, TabsRoot };\n\nexport type { TabIndicatorProps, TabListContainerProps, TabListProps, TabPanelProps, TabProps, TabSeparatorProps, TabsRootProps };\n","import type { ComponentProps } from \"react\";\n\nimport { Tab, TabIndicator, TabList, TabListContainer, TabPanel, TabSeparator, TabsRoot } from \"./tabs\";\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nexport const Tabs = Object.assign(TabsRoot, {\n\tRoot: TabsRoot,\n\tListContainer: TabListContainer,\n\tList: TabList,\n\tTab,\n\tIndicator: TabIndicator,\n\tSeparator: TabSeparator,\n\tPanel: TabPanel,\n});\n\nexport type Tabs = {\n\tProps: ComponentProps<typeof TabsRoot>;\n\tRootProps: ComponentProps<typeof TabsRoot>;\n\tListContainer: ComponentProps<typeof TabListContainer>;\n\tListProps: ComponentProps<typeof TabList>;\n\tTabProps: ComponentProps<typeof Tab>;\n\tIndicatorProps: ComponentProps<typeof TabIndicator>;\n\tSeparatorProps: ComponentProps<typeof TabSeparator>;\n\tPanelProps: ComponentProps<typeof TabPanel>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Named Component\n * -----------------------------------------------------------------------------------------------*/\nexport { TabsRoot, TabListContainer, TabList, Tab, TabIndicator, TabSeparator, TabPanel };\n\nexport type {\n\tTabsRootProps,\n\tTabsRootProps as TabsProps,\n\tTabListContainerProps,\n\tTabListProps,\n\tTabProps,\n\tTabIndicatorProps,\n\tTabSeparatorProps,\n\tTabPanelProps,\n} from \"./tabs\";\n\n/* -------------------------------------------------------------------------------------------------\n * Variants\n * -----------------------------------------------------------------------------------------------*/\nexport { tabsVariants } from \"./tabs.styles\";\n\nexport type { TabsVariants } from \"./tabs.styles\";\n"],"names":["$3yt54$useMemo","$3yt54$useCallback","$3yt54$useRef","$3yt54$useEffect","$5MIG0$useState","$5MIG0$useCallback","$5MIG0$useRef","$5MIG0$flushSync","$4mYNK$useMemo","$jhfZc$useMemo","$eOo4G$useRef","$eOo4G$useEffect","$4KeVI$createContext","$4KeVI$forwardRef","$4KeVI$useMemo","$4KeVI$react","$4KeVI$CollectionBuilder","$4KeVI$useTabListState","$4KeVI$useFocusRing","$4KeVI$filterDOMProps","$4KeVI$mergeProps","$4KeVI$useContext","$4KeVI$Collection","$4KeVI$useObjectRef","$4KeVI$useTabList","$4KeVI$CollectionNode","$4KeVI$createLeafComponent","$4KeVI$useTab","$4KeVI$useHover","$4KeVI$createHideableComponent","$4KeVI$useState","$4KeVI$useExitAnimation","$4KeVI$useTabPanel","$4KeVI$useEnterAnimation","$4KeVI$inertValue","tabsVariants","tv","defaultVariants","align","variant","slots","base","scrollNext","scrollPrev","scroller","separator","tab","tabIndicator","tabList","tabListContainer","tabPanel","variants","center","end","start","primary","secondary","colors","blue","green","magenta","red","reset","yellow","levelColors","debug","error","info","success","warn","levelEmojis","Logger","enabled","prefix","constructor","options","formatMessage","level","message","color","emoji","log","args","divider","char","length","newline","logger","registry","__DEV__","process","env","createCollectionSlot","name","Set","has","add","key","SlotContext","createContext","undefined","inject","children","value","Children","map","child","isValidElement","React","cloneElement","consume","props","injected","rest","useSlot","$","_c","t0","fromProps","fromContext","useContext","t1","t2","Injector","T0","Provider","t3","displayName","withSlot","Primitive","defaultRender","Wrapped","forwardRef","CollectionSlotTarget","forwardedRef","restProps","className","containerClassName","render","customRender","containerRest","Context","composeTwRenderProps","tailwind","composeRenderProps","renderProps","tw","cls","cx","composeSlotClassName","slotFn","DOMElement","ElementType","ref","otherProps","elementRef","useRef","useMemo","mergeRefs","useLayoutEffect","current","domProps","domComponentCache","dom","Proxy","get","_target","elementType","res","bind","IconChevronDown","Symbol","for","IconChevronUp","IconChevronLeft","IconChevronRight","TabsContext","listContainerSlot","TabsRoot","orientation","contextValue","t4","t5","TabsPrimitive","t6","TabListContainer","containerProps","TabList","use","scrollerRef","isVertical","listContainerProps","scrollBy","useCallback","direction","el","size","clientHeight","clientWidth","scrollSize","scrollHeight","scrollWidth","maxScroll","Math","max","isRTL","getComputedStyle","delta","scrollTop","scrollLeft","next","min","scrollTo","behavior","TabListPrimitive","containerRender","listChildren","listClassName","listRef","listRest","Tab","TabPrimitive","TabIndicator","SelectionIndicatorPrimitive","TabPanel","TabPanelPrimitive","TabSeparator","Tabs","Object","assign","Root","ListContainer","List","Indicator","Separator","Panel"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
1
+ {"version":3,"file":"index.es.js","sources":["../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/list/ListCollection.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/list/useListState.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/utils/animation.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/utils.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/useTab.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/useTabPanel.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/TabsKeyboardDelegate.mjs","../../node_modules/.pnpm/react-aria@3.53.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria/dist/private/tabs/useTabList.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/list/useSingleSelectListState.mjs","../../node_modules/.pnpm/react-stately@3.51.0_react@19.3.0/node_modules/react-stately/dist/private/tabs/useTabListState.mjs","../../node_modules/.pnpm/react-aria-components@1.22.1_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-aria-components/dist/private/Tabs.mjs","../../src/components/tabs/tabs.styles.ts","../../src/lib/utils/logger.ts","../../src/lib/utils/collection-prop-injection.tsx","../../src/lib/utils/compose.ts","../../src/lib/utils/dom.tsx","../../src/components/icons/icons.tsx","../../src/components/tabs/tabs.tsx","../../src/components/tabs/index.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $f664a81d022446b5$export$d085fb9e920b5ca7 {\n constructor(nodes){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.iterable = nodes;\n let visit = (node)=>{\n this.keyMap.set(node.key, node);\n if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);\n };\n for (let node of nodes)visit(node);\n let last = null;\n let index = 0;\n let size = 0;\n for (let [key, node] of this.keyMap){\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = undefined;\n }\n if (node.type === 'item') node.index = index++;\n // Only count sections and items when determining size so that\n // loaders and separators in RAC/S2 don't influence the emptyState determination\n if (node.type === 'section' || node.type === 'item') size++;\n last = node;\n // Set nextKey as undefined since this might be the last node\n // If it isn't the last node, last.nextKey will properly set at start of new loop\n last.nextKey = undefined;\n }\n this._size = size;\n this.lastKey = last?.key ?? null;\n }\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n get size() {\n return this._size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n return node ? node.prevKey ?? null : null;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n return node ? node.nextKey ?? null : null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n return this.keyMap.get(key) ?? null;\n }\n at(idx) {\n const keys = [\n ...this.getKeys()\n ];\n return this.getItem(keys[idx]);\n }\n getChildren(key) {\n let node = this.keyMap.get(key);\n return node?.childNodes || [];\n }\n}\n\n\nexport {$f664a81d022446b5$export$d085fb9e920b5ca7 as ListCollection};\n//# sourceMappingURL=ListCollection.mjs.map\n","import {ListCollection as $f664a81d022446b5$export$d085fb9e920b5ca7} from \"./ListCollection.mjs\";\nimport {useMultipleSelectionState as $60f19cefd567a3e4$export$253fe78d46329472} from \"../selection/useMultipleSelectionState.mjs\";\nimport {SelectionManager as $4a07ac835f260f78$export$6c8a5aaad13c9852} from \"../selection/SelectionManager.mjs\";\nimport {useCollection as $d03379b88399b8c5$export$6cd28814d92fa9c9} from \"../collections/useCollection.mjs\";\nimport {useMemo as $3yt54$useMemo, useCallback as $3yt54$useCallback, useRef as $3yt54$useRef, useEffect as $3yt54$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $b14b6f590b50af39$export$2f645645f7bca764(props) {\n let { filter: filter, layoutDelegate: layoutDelegate } = props;\n let selectionState = (0, $60f19cefd567a3e4$export$253fe78d46329472)(props);\n let disabledKeys = (0, $3yt54$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let factory = (0, $3yt54$useCallback)((nodes)=>filter ? new (0, $f664a81d022446b5$export$d085fb9e920b5ca7)(filter(nodes)) : new (0, $f664a81d022446b5$export$d085fb9e920b5ca7)(nodes), [\n filter\n ]);\n let context = (0, $3yt54$useMemo)(()=>({\n suppressTextValueWarning: props.suppressTextValueWarning\n }), [\n props.suppressTextValueWarning\n ]);\n let collection = (0, $d03379b88399b8c5$export$6cd28814d92fa9c9)(props, factory, context);\n let selectionManager = (0, $3yt54$useMemo)(()=>new (0, $4a07ac835f260f78$export$6c8a5aaad13c9852)(collection, selectionState, {\n layoutDelegate: layoutDelegate\n }), [\n collection,\n selectionState,\n layoutDelegate\n ]);\n $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager\n };\n}\nfunction $b14b6f590b50af39$export$ba9d38c0f1bf2b36(state, filterFn) {\n let collection = (0, $3yt54$useMemo)(()=>filterFn ? state.collection.filter(filterFn) : state.collection, [\n state.collection,\n filterFn\n ]);\n let selectionManager = state.selectionManager.withCollection(collection);\n $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n selectionManager: selectionManager,\n disabledKeys: state.disabledKeys\n };\n}\nfunction $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager) {\n // Reset focused key if that item is deleted from the collection.\n const cachedCollection = (0, $3yt54$useRef)(null);\n (0, $3yt54$useEffect)(()=>{\n if (selectionManager.focusedKey != null && !collection.getItem(selectionManager.focusedKey) && cachedCollection.current) {\n // Walk forward in the old collection to find the next key that still exists in the new collection.\n let key = cachedCollection.current.getKeyAfter(selectionManager.focusedKey);\n let nextFocusedKey = null;\n while(key != null){\n let node = collection.getItem(key);\n if (node && node.type === 'item' && !selectionManager.isDisabled(key)) {\n nextFocusedKey = key;\n break;\n }\n key = cachedCollection.current.getKeyAfter(key);\n }\n // If no such key exists, walk backward.\n if (nextFocusedKey == null) {\n key = cachedCollection.current.getKeyBefore(selectionManager.focusedKey);\n while(key != null){\n let node = collection.getItem(key);\n if (node && node.type === 'item' && !selectionManager.isDisabled(key)) {\n nextFocusedKey = key;\n break;\n }\n key = cachedCollection.current.getKeyBefore(key);\n }\n }\n selectionManager.setFocusedKey(nextFocusedKey);\n }\n cachedCollection.current = collection;\n }, [\n collection,\n selectionManager\n ]);\n}\n\n\nexport {$b14b6f590b50af39$export$2f645645f7bca764 as useListState, $b14b6f590b50af39$export$ba9d38c0f1bf2b36 as UNSTABLE_useFilteredListState};\n//# sourceMappingURL=useListState.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {setStyle as $d447af545b77c9f1$export$37a5fde709c1db82} from \"./domHelpers.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {flushSync as $5MIG0$flushSync} from \"react-dom\";\nimport {useState as $5MIG0$useState, useCallback as $5MIG0$useCallback, useRef as $5MIG0$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $fcc7165e876206c6$export$6d3443f2c48bfc20(ref, isReady = true, onEnter) {\n let [isEntering, setEntering] = (0, $5MIG0$useState)(true);\n let isAnimationReady = isEntering && isReady;\n // Hide the element while it prepares for entry, using only non-layout-thrashing attributes.\n // This prevents accidental flashes of content in scenarios where no hidden styling is applied\n // while the enter animation is not yet ready (e.g. popovers prior to placement calculation).\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (!isReady && ref.current) return (0, $a4e76a5424781910$export$e08e3b67e392101e)((0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'opacity', '0'), (0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'clip', 'rect(0 0 0 0)'), (0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'clip-path', 'inset(50%)'), (0, $d447af545b77c9f1$export$37a5fde709c1db82)(ref.current, 'mask-image', 'linear-gradient(#0000, #0000)'));\n }, [\n ref,\n isReady\n ]);\n // There are two cases for entry animations:\n // 1. CSS @keyframes. The `animation` property is set during the isEntering state, and it is removed after the animation finishes.\n // 2. CSS transitions. The initial styles are applied during the isEntering state, and removed immediately, causing the transition to occur.\n //\n // In the second case, cancel any transitions that were triggered prior to the isEntering = false state (when the transition is supposed to start).\n // This can happen when isReady starts as false (e.g. popovers prior to placement calculation).\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (isAnimationReady && ref.current && 'getAnimations' in ref.current) {\n for (let animation of ref.current.getAnimations())if (animation instanceof CSSTransition) animation.cancel();\n }\n }, [\n ref,\n isAnimationReady\n ]);\n $fcc7165e876206c6$var$useAnimation(ref, isAnimationReady, onEnter, (0, $5MIG0$useCallback)(()=>setEntering(false), []));\n return isAnimationReady;\n}\nfunction $fcc7165e876206c6$export$45fda7c47f93fd48(ref, isOpen, onExit) {\n let [exitState, setExitState] = (0, $5MIG0$useState)(isOpen ? 'open' : 'closed');\n switch(exitState){\n case 'open':\n // If isOpen becomes false, set the state to exiting.\n if (!isOpen) setExitState('exiting');\n break;\n case 'closed':\n case 'exiting':\n // If we are exiting and isOpen becomes true, the animation was interrupted.\n // Reset the state to open.\n if (isOpen) setExitState('open');\n break;\n }\n let isExiting = exitState === 'exiting';\n $fcc7165e876206c6$var$useAnimation(ref, isExiting, onExit, (0, $5MIG0$useCallback)(()=>{\n // Set the state to closed, which will cause the element to be unmounted.\n setExitState((state)=>state === 'exiting' ? 'closed' : state);\n }, []));\n return isExiting;\n}\nfunction $fcc7165e876206c6$var$useAnimation(ref, isActive, onStart, onEnd) {\n let isActiveRef = (0, $5MIG0$useRef)(null);\n let start = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(onStart);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (isActive && ref.current && isActiveRef.current !== isActive) {\n isActiveRef.current = isActive;\n if (!('getAnimations' in ref.current)) {\n // JSDOM\n onEnd();\n return;\n }\n let startPromise = start?.(ref.current);\n let animations = ref.current.getAnimations().filter((a)=>(typeof DocumentTimeline === 'undefined' || a.timeline instanceof DocumentTimeline) && a.playState === 'running');\n if (animations.length === 0 && !startPromise) {\n onEnd();\n return;\n }\n Promise.all([\n startPromise,\n ...animations.map((a)=>a.finished)\n ]).then(()=>{\n (0, $5MIG0$flushSync)(()=>{\n onEnd();\n });\n }).catch(()=>{});\n }\n isActiveRef.current = isActive;\n }, [\n ref,\n isActive,\n onEnd\n ]);\n}\n\n\nexport {$fcc7165e876206c6$export$6d3443f2c48bfc20 as useEnterAnimation, $fcc7165e876206c6$export$45fda7c47f93fd48 as useExitAnimation};\n//# sourceMappingURL=animation.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $a251981b23baaa12$export$c5f62239608282b6 = new WeakMap();\nfunction $a251981b23baaa12$export$567fc7097e064344(state, key, role) {\n if (!state) // this case should only happen in the first render before the tabs are registered\n return '';\n if (typeof key === 'string') key = key.replace(/\\s+/g, '');\n let baseId = $a251981b23baaa12$export$c5f62239608282b6.get(state);\n if (process.env.NODE_ENV !== 'production' && !baseId) console.error('There is no tab id, please check if you have rendered the tab panel before the tab list.');\n return `${baseId}-${role}-${key}`;\n}\n\n\nexport {$a251981b23baaa12$export$c5f62239608282b6 as tabsIds, $a251981b23baaa12$export$567fc7097e064344 as generateId};\n//# sourceMappingURL=utils.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {generateId as $a251981b23baaa12$export$567fc7097e064344} from \"./utils.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {useLinkProps as $caaf0dd3060ed57c$export$7e924b3091a3bd18} from \"../utils/openLink.mjs\";\nimport {useSelectableItem as $f6ba6936bfd098a0$export$ecf600387e221c37} from \"../selection/useSelectableItem.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $1b6fa05bad3d7740$export$fdf4756d5b8ef90a(props, state, ref) {\n let { key: key, isDisabled: propsDisabled, shouldSelectOnPressUp: shouldSelectOnPressUp } = props;\n let { selectionManager: manager, selectedKey: selectedKey } = state;\n let isSelected = key === selectedKey;\n let isDisabled = propsDisabled || state.isDisabled || state.selectionManager.isDisabled(key);\n let item = state.collection.getItem(key);\n let { itemProps: itemProps, isPressed: isPressed } = (0, $f6ba6936bfd098a0$export$ecf600387e221c37)({\n selectionManager: manager,\n key: key,\n ref: ref,\n isDisabled: isDisabled,\n // Link tabs should behave like native anchors (navigate on press up)\n // This avoids reopening beforeunload dialogs when browsers replay\n // queued pointer enter/leave events after cancellation.\n shouldSelectOnPressUp: shouldSelectOnPressUp ?? item?.props.href != null,\n linkBehavior: 'selection'\n });\n let tabId = (0, $a251981b23baaa12$export$567fc7097e064344)(state, key, 'tab');\n let tabPanelId = (0, $a251981b23baaa12$export$567fc7097e064344)(state, key, 'tabpanel');\n let { tabIndex: tabIndex } = itemProps;\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(item?.props, {\n labelable: true\n });\n delete domProps.id;\n let linkProps = (0, $caaf0dd3060ed57c$export$7e924b3091a3bd18)(item?.props);\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)({\n ...item?.props,\n isDisabled: isDisabled\n }, ref);\n return {\n tabProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, focusableProps, linkProps, itemProps, {\n id: tabId,\n 'aria-selected': isSelected,\n 'aria-disabled': isDisabled || undefined,\n 'aria-controls': isSelected ? tabPanelId : undefined,\n tabIndex: isDisabled ? undefined : tabIndex,\n role: 'tab'\n }),\n isSelected: isSelected,\n isDisabled: isDisabled,\n isPressed: isPressed\n };\n}\n\n\nexport {$1b6fa05bad3d7740$export$fdf4756d5b8ef90a as useTab};\n//# sourceMappingURL=useTab.mjs.map\n","import {generateId as $a251981b23baaa12$export$567fc7097e064344} from \"./utils.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useHasTabbableChild as $bf14c9739fda2eb3$export$eac1895992b9f3d6} from \"../focus/useHasTabbableChild.mjs\";\nimport {useLabels as $e8ac3c3f5d4bae7f$export$d6875122194c7b44} from \"../utils/useLabels.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $7d951241dadd72e4$export$fae0121b5afe572d(props, state, ref) {\n // The tabpanel should have tabIndex=0 when there are no tabbable elements within it.\n // Otherwise, tabbing from the focused tab should go directly to the first tabbable element\n // within the tabpanel.\n let tabIndex = (0, $bf14c9739fda2eb3$export$eac1895992b9f3d6)(ref) ? undefined : 0;\n const id = (0, $a251981b23baaa12$export$567fc7097e064344)(state, props.id ?? state?.selectedKey, 'tabpanel');\n const tabPanelProps = (0, $e8ac3c3f5d4bae7f$export$d6875122194c7b44)({\n ...props,\n id: id,\n 'aria-labelledby': (0, $a251981b23baaa12$export$567fc7097e064344)(state, state?.selectedKey, 'tab')\n });\n return {\n tabPanelProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(tabPanelProps, {\n tabIndex: tabIndex,\n role: 'tabpanel',\n 'aria-describedby': props['aria-describedby'],\n 'aria-details': props['aria-details']\n })\n };\n}\n\n\nexport {$7d951241dadd72e4$export$fae0121b5afe572d as useTabPanel};\n//# sourceMappingURL=useTabPanel.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $a226bee26c88efd7$export$15010ca3c1abe90b {\n constructor(collection, direction, orientation, disabledKeys = new Set()){\n this.collection = collection;\n // getKeyLeftOf/getKeyRightOf follow the locale's text direction regardless of orientation,\n // so ArrowLeft always moves to the next tab in RTL. getKeyAbove/getKeyBelow are never flipped.\n this.flipDirection = direction === 'rtl';\n this.disabledKeys = disabledKeys;\n this.tabDirection = orientation === 'horizontal';\n }\n getKeyLeftOf(key) {\n if (this.flipDirection) return this.getNextKey(key);\n return this.getPreviousKey(key);\n }\n getKeyRightOf(key) {\n if (this.flipDirection) return this.getPreviousKey(key);\n return this.getNextKey(key);\n }\n isDisabled(key) {\n return this.disabledKeys.has(key) || !!this.collection.getItem(key)?.props?.isDisabled;\n }\n getFirstKey() {\n let key = this.collection.getFirstKey();\n if (key != null && this.isDisabled(key)) key = this.getNextKey(key);\n return key;\n }\n getLastKey() {\n let key = this.collection.getLastKey();\n if (key != null && this.isDisabled(key)) key = this.getPreviousKey(key);\n return key;\n }\n getKeyAbove(key) {\n if (this.tabDirection) return null;\n return this.getPreviousKey(key);\n }\n getKeyBelow(key) {\n if (this.tabDirection) return null;\n return this.getNextKey(key);\n }\n getNextKey(startKey) {\n let key = startKey;\n do {\n key = this.collection.getKeyAfter(key);\n if (key == null) key = this.collection.getFirstKey();\n }while (key != null && this.isDisabled(key) && key !== startKey);\n return key;\n }\n getPreviousKey(startKey) {\n let key = startKey;\n do {\n key = this.collection.getKeyBefore(key);\n if (key == null) key = this.collection.getLastKey();\n }while (key != null && this.isDisabled(key) && key !== startKey);\n return key;\n }\n}\n\n\nexport {$a226bee26c88efd7$export$15010ca3c1abe90b as TabsKeyboardDelegate};\n//# sourceMappingURL=TabsKeyboardDelegate.mjs.map\n","import {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {tabsIds as $a251981b23baaa12$export$c5f62239608282b6} from \"./utils.mjs\";\nimport {TabsKeyboardDelegate as $a226bee26c88efd7$export$15010ca3c1abe90b} from \"./TabsKeyboardDelegate.mjs\";\nimport {useId as $390e54f620492c70$export$f680877a34711e37} from \"../utils/useId.mjs\";\nimport {useLabels as $e8ac3c3f5d4bae7f$export$d6875122194c7b44} from \"../utils/useLabels.mjs\";\nimport {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from \"../i18n/I18nProvider.mjs\";\nimport {useSelectableCollection as $d667c2af82d35a98$export$d6daf82dcd84e87c} from \"../selection/useSelectableCollection.mjs\";\nimport {useMemo as $4mYNK$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nfunction $83428e53deb13caf$export$773e389e644c5874(props, state, ref) {\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = props;\n let { collection: collection, selectionManager: manager, disabledKeys: disabledKeys } = state;\n let { direction: direction } = (0, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7)();\n let delegate = (0, $4mYNK$useMemo)(()=>new (0, $a226bee26c88efd7$export$15010ca3c1abe90b)(collection, direction, orientation, disabledKeys), [\n collection,\n disabledKeys,\n orientation,\n direction\n ]);\n let { collectionProps: collectionProps } = (0, $d667c2af82d35a98$export$d6daf82dcd84e87c)({\n ref: ref,\n selectionManager: manager,\n keyboardDelegate: delegate,\n selectOnFocus: keyboardActivation === 'automatic',\n disallowEmptySelection: true,\n scrollRef: ref,\n linkBehavior: 'selection'\n });\n // Compute base id for all tabs\n let tabsId = (0, $390e54f620492c70$export$f680877a34711e37)();\n (0, $a251981b23baaa12$export$c5f62239608282b6).set(state, tabsId);\n let tabListLabelProps = (0, $e8ac3c3f5d4bae7f$export$d6875122194c7b44)({\n ...props,\n id: tabsId\n });\n return {\n tabListProps: {\n ...(0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(collectionProps, tabListLabelProps),\n role: 'tablist',\n 'aria-orientation': orientation,\n tabIndex: undefined\n }\n };\n}\n\n\nexport {$83428e53deb13caf$export$773e389e644c5874 as useTabList};\n//# sourceMappingURL=useTabList.mjs.map\n","import {useListState as $b14b6f590b50af39$export$2f645645f7bca764} from \"./useListState.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useMemo as $jhfZc$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $0fdb127d377ffd84$export$e7f05e985daf4b5f(props) {\n let [selectedKey, setSelectedKey] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.selectedKey, props.defaultSelectedKey ?? null, props.onSelectionChange);\n let selectedKeys = (0, $jhfZc$useMemo)(()=>selectedKey != null ? [\n selectedKey\n ] : [], [\n selectedKey\n ]);\n let { collection: collection, disabledKeys: disabledKeys, selectionManager: selectionManager } = (0, $b14b6f590b50af39$export$2f645645f7bca764)({\n ...props,\n selectionMode: 'single',\n disallowEmptySelection: true,\n allowDuplicateSelectionEvents: true,\n selectedKeys: selectedKeys,\n onSelectionChange: (keys)=>{\n // impossible, but TS doesn't know that\n if (keys === 'all') return;\n let key = keys.values().next().value ?? null;\n // Always fire onSelectionChange, even if the key is the same\n // as the current key (useControlledState does not).\n if (key === selectedKey && props.onSelectionChange) props.onSelectionChange(key);\n setSelectedKey(key);\n }\n });\n let selectedItem = selectedKey != null ? collection.getItem(selectedKey) : null;\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager,\n selectedKey: selectedKey,\n setSelectedKey: setSelectedKey,\n selectedItem: selectedItem\n };\n}\n\n\nexport {$0fdb127d377ffd84$export$e7f05e985daf4b5f as useSingleSelectListState};\n//# sourceMappingURL=useSingleSelectListState.mjs.map\n","import {useSingleSelectListState as $0fdb127d377ffd84$export$e7f05e985daf4b5f} from \"../list/useSingleSelectListState.mjs\";\nimport {useRef as $eOo4G$useRef, useEffect as $eOo4G$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $caeb030f09a278a1$export$4ba071daf4e486(props) {\n let state = (0, $0fdb127d377ffd84$export$e7f05e985daf4b5f)({\n ...props,\n onSelectionChange: props.onSelectionChange ? (key)=>{\n if (key != null) props.onSelectionChange?.(key);\n } : undefined,\n suppressTextValueWarning: true,\n defaultSelectedKey: props.defaultSelectedKey ?? $caeb030f09a278a1$var$findDefaultSelectedKey(props.collection, props.disabledKeys ? new Set(props.disabledKeys) : new Set()) ?? undefined\n });\n let { selectionManager: selectionManager, collection: collection, selectedKey: currentSelectedKey } = state;\n let lastSelectedKey = (0, $eOo4G$useRef)(currentSelectedKey);\n (0, $eOo4G$useEffect)(()=>{\n // Ensure a tab is always selected (in case no selected key was specified or if selected item was deleted from collection)\n let selectedKey = currentSelectedKey;\n if (props.selectedKey == null && (selectionManager.isEmpty || selectedKey == null || !collection.getItem(selectedKey))) {\n selectedKey = $caeb030f09a278a1$var$findDefaultSelectedKey(collection, state.disabledKeys);\n if (selectedKey != null) // directly set selection because replace/toggle selection won't consider disabled keys\n selectionManager.setSelectedKeys([\n selectedKey\n ]);\n }\n // If the tablist doesn't have focus and the selected key changes or if there isn't a focused key yet, change focused key to the selected key if it exists.\n if (selectedKey != null && selectionManager.focusedKey == null || !selectionManager.isFocused && selectedKey !== lastSelectedKey.current) selectionManager.setFocusedKey(selectedKey);\n lastSelectedKey.current = selectedKey;\n });\n return {\n ...state,\n isDisabled: props.isDisabled || false\n };\n}\nfunction $caeb030f09a278a1$var$findDefaultSelectedKey(collection, disabledKeys) {\n let selectedKey = null;\n if (collection) {\n selectedKey = collection.getFirstKey();\n // loop over tabs until we find one that isn't disabled and select that\n while(selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey !== collection.getLastKey())selectedKey = collection.getKeyAfter(selectedKey);\n // if this check is true, then every item is disabled, it makes more sense to default to the first key than the last\n if (selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey === collection.getLastKey()) selectedKey = collection.getFirstKey();\n }\n return selectedKey;\n}\n\n\nexport {$caeb030f09a278a1$export$4ba071daf4e486 as useTabListState};\n//# sourceMappingURL=useTabListState.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {CollectionRendererContext as $263ab7fc0f95ccdb$export$4feb769f8ddf26c5, DefaultCollectionRenderer as $263ab7fc0f95ccdb$export$a164736487e3f0ae, usePersistedKeys as $263ab7fc0f95ccdb$export$90e00781bc59d8f9} from \"./Collection.mjs\";\nimport {SelectionIndicatorContext as $91fe5e721c7f36c1$export$c9549807523555e0} from \"./SelectionIndicator.mjs\";\nimport {SharedElementTransition as $792f28e438b9ad5f$export$758399f318e6385a} from \"./SharedElementTransition.mjs\";\nimport {useTabList as $4KeVI$useTabList, useTab as $4KeVI$useTab, useTabPanel as $4KeVI$useTabPanel} from \"react-aria/useTabList\";\nimport {Collection as $4KeVI$Collection} from \"react-aria/Collection\";\nimport {CollectionBuilder as $4KeVI$CollectionBuilder, createLeafComponent as $4KeVI$createLeafComponent} from \"react-aria/CollectionBuilder\";\nimport {CollectionNode as $4KeVI$CollectionNode} from \"react-aria/private/collections/BaseCollection\";\nimport {createHideableComponent as $4KeVI$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport {filterDOMProps as $4KeVI$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {inertValue as $4KeVI$inertValue} from \"react-aria/private/utils/inertValue\";\nimport {mergeProps as $4KeVI$mergeProps} from \"react-aria/mergeProps\";\nimport $4KeVI$react, {createContext as $4KeVI$createContext, forwardRef as $4KeVI$forwardRef, useMemo as $4KeVI$useMemo, useContext as $4KeVI$useContext, useRef as $4KeVI$useRef, useState as $4KeVI$useState} from \"react\";\nimport {useTabListState as $4KeVI$useTabListState} from \"react-stately/useTabListState\";\nimport {useExitAnimation as $4KeVI$useExitAnimation, useEnterAnimation as $4KeVI$useEnterAnimation} from \"react-aria/private/utils/animation\";\nimport {useFocusRing as $4KeVI$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $4KeVI$useHover} from \"react-aria/useHover\";\nimport {useLayoutEffect as $4KeVI$useLayoutEffect} from \"react-aria/private/utils/useLayoutEffect\";\nimport {useObjectRef as $4KeVI$useObjectRef} from \"react-aria/useObjectRef\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f = /*#__PURE__*/ (0, $4KeVI$createContext)(null);\nconst $b4f18e3395fe64d7$export$364712098d2aa57c = /*#__PURE__*/ (0, $4KeVI$createContext)(null);\nconst $b4f18e3395fe64d7$export$b2539bed5023c21c = /*#__PURE__*/ (0, $4KeVI$forwardRef)(function Tabs(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f);\n let { children: children, orientation: orientation = 'horizontal' } = props;\n children = (0, $4KeVI$useMemo)(()=>typeof children === 'function' ? children({\n orientation: orientation,\n defaultChildren: null\n }) : children, [\n children,\n orientation\n ]);\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $4KeVI$CollectionBuilder), {\n content: children\n }, (collection)=>/*#__PURE__*/ (0, $4KeVI$react).createElement($b4f18e3395fe64d7$var$TabsInner, {\n props: props,\n collection: collection,\n tabsRef: ref\n }));\n});\nfunction $b4f18e3395fe64d7$var$TabsInner({ props: props, tabsRef: ref, collection: collection }) {\n let { orientation: orientation = 'horizontal' } = props;\n let state = (0, $4KeVI$useTabListState)({\n ...props,\n collection: collection,\n children: undefined\n });\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $4KeVI$useFocusRing)({\n within: true\n });\n let values = (0, $4KeVI$useMemo)(()=>({\n orientation: orientation,\n isFocusWithin: isFocused,\n isFocusVisible: isFocusVisible\n }), [\n orientation,\n isFocused,\n isFocusVisible\n ]);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tabs',\n values: values\n });\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $4KeVI$mergeProps)(DOMProps, renderProps, focusProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-orientation\": orientation,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": state.isDisabled || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f,\n props\n ],\n [\n $b4f18e3395fe64d7$export$364712098d2aa57c,\n state\n ]\n ]\n }, renderProps.children));\n}\nconst $b4f18e3395fe64d7$export$e51a686c67fdaa2d = /*#__PURE__*/ (0, $4KeVI$forwardRef)(function TabList(props, ref) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n return state ? /*#__PURE__*/ (0, $4KeVI$react).createElement($b4f18e3395fe64d7$var$TabListInner, {\n props: props,\n forwardedRef: ref\n }) : /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $4KeVI$Collection), props);\n});\nfunction $b4f18e3395fe64d7$var$TabListInner({ props: props, forwardedRef: ref }) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let { CollectionRoot: CollectionRoot } = (0, $4KeVI$useContext)((0, $263ab7fc0f95ccdb$export$4feb769f8ddf26c5));\n let { orientation: orientation = 'horizontal', keyboardActivation: keyboardActivation = 'automatic' } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)($b4f18e3395fe64d7$export$cfa7aa87c26e7d1f);\n let objectRef = (0, $4KeVI$useObjectRef)(ref);\n let { tabListProps: tabListProps } = (0, $4KeVI$useTabList)({\n ...props,\n orientation: orientation,\n keyboardActivation: keyboardActivation\n }, state, objectRef);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n children: null,\n defaultClassName: 'react-aria-TabList',\n values: {\n orientation: orientation,\n state: state\n }\n });\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $4KeVI$mergeProps)(DOMProps, renderProps, tabListProps),\n ref: objectRef,\n \"data-orientation\": orientation || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $792f28e438b9ad5f$export$758399f318e6385a), null, /*#__PURE__*/ (0, $4KeVI$react).createElement(CollectionRoot, {\n collection: state.collection,\n persistedKeys: (0, $263ab7fc0f95ccdb$export$90e00781bc59d8f9)(state.selectionManager.focusedKey)\n })));\n}\nclass $b4f18e3395fe64d7$var$TabItemNode extends (0, $4KeVI$CollectionNode) {\n static{\n this.type = 'item';\n }\n}\nconst $b4f18e3395fe64d7$export$3e41faf802a29e71 = /*#__PURE__*/ (0, $4KeVI$createLeafComponent)($b4f18e3395fe64d7$var$TabItemNode, (props, forwardedRef, item)=>{\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let ref = (0, $4KeVI$useObjectRef)(forwardedRef);\n let { tabProps: tabProps, isSelected: isSelected, isDisabled: isDisabled, isPressed: isPressed } = (0, $4KeVI$useTab)({\n key: item.key,\n ...props\n }, state, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $4KeVI$useFocusRing)();\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $4KeVI$useHover)({\n isDisabled: isDisabled,\n onHoverStart: props.onHoverStart,\n onHoverEnd: props.onHoverEnd,\n onHoverChange: props.onHoverChange\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-Tab',\n values: {\n isSelected: isSelected,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isPressed: isPressed,\n isHovered: isHovered\n }\n });\n let ElementType = item.props.href ? (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).a : (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div;\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement(ElementType, {\n ...(0, $4KeVI$mergeProps)(DOMProps, renderProps, tabProps, focusProps, hoverProps),\n ref: ref,\n \"data-selected\": isSelected || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-hovered\": isHovered || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $91fe5e721c7f36c1$export$c9549807523555e0).Provider, {\n value: {\n isSelected: isSelected\n }\n }, renderProps.children));\n});\nconst $b4f18e3395fe64d7$export$5dae8d435677f210 = /*#__PURE__*/ (0, $4KeVI$createHideableComponent)(function TabPanels(props, forwardedRef) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let ref = (0, $4KeVI$useObjectRef)(forwardedRef);\n let selectedKeyRef = (0, $4KeVI$useRef)(state.selectedKey);\n let prevSize = (0, $4KeVI$useRef)(null);\n let hasTransition = (0, $4KeVI$useRef)(null);\n (0, $4KeVI$useLayoutEffect)(()=>{\n let el = ref.current;\n if (!el) return;\n if (hasTransition.current == null) hasTransition.current = /width|height|block-size|inline-size|all/.test(window.getComputedStyle(el).transition);\n if (hasTransition.current && selectedKeyRef.current != null && selectedKeyRef.current !== state.selectedKey) {\n // Measure auto size.\n el.style.setProperty('--tab-panel-width', 'auto');\n el.style.setProperty('--tab-panel-height', 'auto');\n let { width: width, height: height } = el.getBoundingClientRect();\n if (prevSize.current && (prevSize.current.width !== width || prevSize.current.height !== height)) {\n // Revert to previous size.\n el.style.setProperty('--tab-panel-width', prevSize.current.width + 'px');\n el.style.setProperty('--tab-panel-height', prevSize.current.height + 'px');\n // Force style re-calculation to trigger animations.\n window.getComputedStyle(el).height;\n // Animate to current pixel size.\n el.style.setProperty('--tab-panel-width', width + 'px');\n el.style.setProperty('--tab-panel-height', height + 'px');\n // When animations complete, revert back to auto size.\n Promise.all(el.getAnimations().map((a)=>a.finished)).then(()=>{\n el.style.setProperty('--tab-panel-width', 'auto');\n el.style.setProperty('--tab-panel-height', 'auto');\n }).catch(()=>{});\n }\n }\n selectedKeyRef.current = state.selectedKey;\n }, [\n ref,\n state.selectedKey\n ]);\n // Store previous size before DOM updates occur.\n // This breaks the rules of hooks because there is no effect that runs _before_ DOM updates.\n if (state.selectedKey != null && // eslint-disable-next-line rsp-rules/pure-render\n state.selectedKey !== selectedKeyRef.current && ref.current && // eslint-disable-next-line rsp-rules/pure-render\n hasTransition.current) // eslint-disable-next-line rsp-rules/pure-render\n prevSize.current = ref.current.getBoundingClientRect();\n let DOMProps = (0, $4KeVI$filterDOMProps)(props, {\n labelable: true,\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n render: props.render,\n ...DOMProps,\n ref: ref,\n style: props.style,\n className: props.className || 'react-aria-TabPanels'\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $4KeVI$Collection), props));\n});\nconst $b4f18e3395fe64d7$export$3d96ec278d3efce4 = /*#__PURE__*/ (0, $4KeVI$createHideableComponent)(function TabPanel(props, forwardedRef) {\n const state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n let ref = (0, $4KeVI$useObjectRef)(forwardedRef);\n // Track if the tab panel was initially selected on mount (after extra render to populate the collection).\n // In this case, we don't want to trigger animations.\n let isSelected = state.selectedKey === props.id;\n let [isInitiallySelected, setInitiallySelected] = (0, $4KeVI$useState)(state.selectedKey != null ? isSelected : null);\n if (isInitiallySelected == null && state.selectedKey != null) setInitiallySelected(isSelected);\n else if (!isSelected && isInitiallySelected) setInitiallySelected(false);\n let isExiting = (0, $4KeVI$useExitAnimation)(ref, isSelected);\n if (!isSelected && !props.shouldForceMount && !isExiting) return null;\n return /*#__PURE__*/ (0, $4KeVI$react).createElement($b4f18e3395fe64d7$var$TabPanelInner, {\n ...props,\n tabPanelRef: ref,\n isInitiallySelected: isInitiallySelected || false,\n isExiting: isExiting\n });\n});\nfunction $b4f18e3395fe64d7$var$TabPanelInner(props) {\n let state = (0, $4KeVI$useContext)($b4f18e3395fe64d7$export$364712098d2aa57c);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { id: id, tabPanelRef: ref, isInitiallySelected: isInitiallySelected, isExiting: isExiting, ...otherProps } = props;\n let { tabPanelProps: tabPanelProps } = (0, $4KeVI$useTabPanel)(props, state, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $4KeVI$useFocusRing)();\n let isSelected = state.selectedKey === props.id;\n let isEntering = (0, $4KeVI$useEnterAnimation)(ref) && !isInitiallySelected;\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-TabPanel',\n values: {\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n // @ts-ignore - compatibility with React < 19\n isInert: (0, $4KeVI$inertValue)(!isSelected),\n isEntering: isEntering,\n isExiting: isExiting,\n state: state\n }\n });\n let DOMProps = (0, $4KeVI$filterDOMProps)(otherProps, {\n global: true\n });\n delete DOMProps.id;\n let domProps = isSelected ? (0, $4KeVI$mergeProps)(DOMProps, tabPanelProps, focusProps, renderProps) : (0, $4KeVI$mergeProps)(DOMProps, renderProps);\n return /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...domProps,\n ref: ref,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n // @ts-ignore\n inert: (0, $4KeVI$inertValue)(!isSelected || props.inert),\n \"data-inert\": !isSelected ? 'true' : undefined,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": isExiting || undefined\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f,\n null\n ],\n [\n $b4f18e3395fe64d7$export$364712098d2aa57c,\n null\n ]\n ]\n }, /*#__PURE__*/ (0, $4KeVI$react).createElement((0, $263ab7fc0f95ccdb$export$4feb769f8ddf26c5).Provider, {\n value: (0, $263ab7fc0f95ccdb$export$a164736487e3f0ae)\n }, renderProps.children)));\n}\n\n\nexport {$b4f18e3395fe64d7$export$cfa7aa87c26e7d1f as TabsContext, $b4f18e3395fe64d7$export$364712098d2aa57c as TabListStateContext, $b4f18e3395fe64d7$export$b2539bed5023c21c as Tabs, $b4f18e3395fe64d7$export$e51a686c67fdaa2d as TabList, $b4f18e3395fe64d7$export$3e41faf802a29e71 as Tab, $b4f18e3395fe64d7$export$5dae8d435677f210 as TabPanels, $b4f18e3395fe64d7$export$3d96ec278d3efce4 as TabPanel};\n//# sourceMappingURL=Tabs.mjs.map\n","import type { VariantProps } from \"tailwind-variants\";\n\nimport { tv } from \"tailwind-variants\";\n\nexport const tabsVariants = tv({\n\tdefaultVariants: {\n\t\talign: \"center\",\n\t\tvariant: \"primary\",\n\t},\n\tslots: {\n\t\tbase: \"tabs\",\n\t\tscrollNext: \"tabs__list-container__scroll-next\",\n\t\tscrollPrev: \"tabs__list-container__scroll-prev\",\n\t\tscroller: \"tabs__list-container__scroller\",\n\t\tseparator: \"tabs__separator\",\n\t\ttab: \"tabs__tab\",\n\t\ttabIndicator: \"tabs__indicator\",\n\t\ttabList: \"tabs__list\",\n\t\ttabListContainer: \"tabs__list-container\",\n\t\ttabPanel: \"tabs__panel\",\n\t},\n\tvariants: {\n\t\talign: {\n\t\t\tcenter: {}, // No class as the base already centers tab content\n\t\t\tend: {\n\t\t\t\tbase: \"tabs--align-end\",\n\t\t\t},\n\t\t\tstart: {\n\t\t\t\tbase: \"tabs--align-start\",\n\t\t\t},\n\t\t},\n\t\tvariant: {\n\t\t\tprimary: {},\n\t\t\tsecondary: {\n\t\t\t\tbase: \"tabs--secondary\",\n\t\t\t},\n\t\t},\n\t},\n});\n\n// Render props that should be excluded from TabsVariants (framework-specific)\ntype TabsRenderPropsKeys = \"selectedKey\";\n\nexport type TabsVariants = Omit<VariantProps<typeof tabsVariants>, TabsRenderPropsKeys>;\n","/* eslint-disable no-console */\n/**\n * Logger utility for HeroUI Core\n * Provides formatted console output with levels and prefixes\n */\n\nconst colors = {\n\tblue: \"\\x1b[34m\",\n\tcyan: \"\\x1b[36m\",\n\tgreen: \"\\x1b[32m\",\n\tmagenta: \"\\x1b[35m\",\n\tred: \"\\x1b[31m\",\n\treset: \"\\x1b[0m\",\n\tyellow: \"\\x1b[33m\",\n} as const;\n\ntype LogLevel = \"info\" | \"success\" | \"warn\" | \"error\" | \"debug\";\n\ninterface LoggerOptions {\n\tenabled?: boolean;\n\tprefix?: string;\n}\n\nconst levelColors: Record<LogLevel, string> = {\n\tdebug: colors.magenta,\n\terror: colors.red,\n\tinfo: colors.blue,\n\tsuccess: colors.green,\n\twarn: colors.yellow,\n};\n\nconst levelEmojis: Record<LogLevel, string> = {\n\tdebug: \"🔍\",\n\terror: \"❌\",\n\tinfo: \"ℹ️\",\n\tsuccess: \"✅\",\n\twarn: \"⚠️\",\n};\n\nexport class Logger {\n\tprivate enabled: boolean;\n\tprivate prefix: string;\n\n\tconstructor(options: LoggerOptions = {}) {\n\t\tthis.enabled = options.enabled ?? true;\n\t\tthis.prefix = options.prefix ?? \"HeroUI\";\n\t}\n\n\tprivate formatMessage(level: LogLevel, message: string): string {\n\t\tconst color = levelColors[level];\n\t\tconst emoji = levelEmojis[level];\n\n\t\treturn `${color}[${this.prefix}]${colors.reset} ${emoji} ${message}`;\n\t}\n\n\tprivate log(level: LogLevel, message: string, ...args: any[]): void {\n\t\tif (!this.enabled) return;\n\n\t\tconst formattedMessage = this.formatMessage(level, message);\n\n\t\tswitch (level) {\n\t\t\tcase \"error\":\n\t\t\t\tconsole.error(formattedMessage, ...args);\n\t\t\t\tbreak;\n\t\t\tcase \"warn\":\n\t\t\t\tconsole.warn(formattedMessage, ...args);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log(formattedMessage, ...args);\n\t\t}\n\t}\n\n\tinfo(message: string, ...args: any[]): void {\n\t\tthis.log(\"info\", message, ...args);\n\t}\n\n\tsuccess(message: string, ...args: any[]): void {\n\t\tthis.log(\"success\", message, ...args);\n\t}\n\n\twarn(message: string, ...args: any[]): void {\n\t\tthis.log(\"warn\", message, ...args);\n\t}\n\n\terror(message: string, ...args: any[]): void {\n\t\tthis.log(\"error\", message, ...args);\n\t}\n\n\tdebug(message: string, ...args: any[]): void {\n\t\tthis.log(\"debug\", message, ...args);\n\t}\n\n\tdivider(char: string = \"=\", length: number = 80): void {\n\t\tif (!this.enabled) return;\n\t\tconsole.log(char.repeat(length));\n\t}\n\n\tnewline(): void {\n\t\tif (!this.enabled) return;\n\t\tconsole.log();\n\t}\n}\n","\"use client\";\n\nimport type { ComponentType, ForwardedRef, ReactElement, ReactNode } from \"react\";\n\nimport React, { Children, createContext, forwardRef, isValidElement, useContext } from \"react\";\n\nimport { Logger } from \"./logger\";\n\nconst logger = new Logger({ prefix: \"LizaUI\" });\n\n/** Dev-only registry for duplicate slot name warnings. */\nlet registry: Set<string> | undefined;\n\nconst __DEV__ = typeof process !== \"undefined\" && process.env?.[\"NODE_ENV\"] !== \"production\";\n\n/**\n * Create a CollectionBuilder-safe slot for optional chrome around a RAC collection\n * target (e.g. TabList, ListBox).\n *\n * The injector emits no host DOM: chrome props are provided via Context and a\n * string-keyed `cloneElement` channel (React strips Symbol keys from element props).\n * The target should apply chrome through the RAC `render` prop — not by wrapping\n * the collection child in a host node.\n */\nexport const createCollectionSlot = <T extends object>(name: string) => {\n\tif (__DEV__) {\n\t\tregistry ??= new Set<string>();\n\n\t\tif (registry.has(name)) {\n\t\t\tlogger.warn(`Duplicate collection slot \"${name}\". Use a unique, namespaced name (e.g. \"tabs.listContainer\", \"menu.popover\").`);\n\t\t}\n\n\t\tregistry.add(name);\n\t}\n\n\t// String key required — React drops Symbol keys from element props / cloneElement.\n\tconst key = `$$heroui.collection.${name}`;\n\tconst SlotContext = createContext<T | undefined>(undefined);\n\n\tconst inject = (children: ReactNode, value: T): ReactNode => {\n\t\treturn Children.map(children, (child) => {\n\t\t\tif (!isValidElement(child)) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\treturn React.cloneElement(child as ReactElement<Record<string, unknown>>, {\n\t\t\t\t[key]: value,\n\t\t\t});\n\t\t});\n\t};\n\n\tconst consume = <P extends object>(props: P): [injected: T | undefined, rest: P] => {\n\t\tconst { [key]: injected, ...rest } = props as P & Record<string, T | undefined>;\n\n\t\treturn [injected, rest as P];\n\t};\n\n\tconst useSlot = <P extends object>(props: P): [injected: T | undefined, rest: P] => {\n\t\tconst [fromProps, rest] = consume(props);\n\t\tconst fromContext = useContext(SlotContext);\n\n\t\treturn [fromProps ?? fromContext, rest];\n\t};\n\n\tconst Injector = ({ children, ...value }: { children?: ReactNode } & T) => {\n\t\treturn <SlotContext.Provider value={value as T}>{inject(children, value as T)}</SlotContext.Provider>;\n\t};\n\n\tInjector.displayName = `HeroUI.CollectionSlot(${name})`;\n\n\ttype WithSlotProps<P> = P & { children?: ReactNode };\n\n\tconst withSlot = <P extends object>(\n\t\tPrimitive: ComponentType<WithSlotProps<P>>,\n\t\tdefaultRender?: (props: WithSlotProps<P>, injected: T, forwardedRef: ForwardedRef<unknown>) => ReactElement,\n\t) => {\n\t\tconst Wrapped = forwardRef<unknown, WithSlotProps<P>>(function CollectionSlotTarget(props, forwardedRef) {\n\t\t\tconst [injected, rest] = useSlot(props);\n\t\t\tconst { children, ...restProps } = rest;\n\n\t\t\tif (!injected) {\n\t\t\t\treturn (\n\t\t\t\t\t<Primitive {...(restProps as P)} ref={forwardedRef as never}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Primitive>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (defaultRender) {\n\t\t\t\t// eslint-disable-next-line react-hooks/refs -- forward ref into chrome factory; `.current` is not read here\n\t\t\t\treturn defaultRender({ ...(restProps as P), children }, injected, forwardedRef);\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tclassName: containerClassName,\n\t\t\t\trender: customRender,\n\t\t\t\t...containerRest\n\t\t\t} = injected as T & {\n\t\t\t\tclassName?: string;\n\t\t\t\trender?: (props: Record<string, unknown>) => ReactElement;\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<Primitive {...(restProps as P)} ref={forwardedRef as never}>\n\t\t\t\t\t{customRender ? (\n\t\t\t\t\t\tcustomRender({ children, className: containerClassName, ...containerRest })\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className={containerClassName} data-slot={`${name}-container`} {...containerRest}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Primitive>\n\t\t\t);\n\t\t});\n\n\t\tWrapped.displayName = `HeroUI.withCollectionSlot(${Primitive.displayName || Primitive.name || name})`;\n\n\t\treturn Wrapped;\n\t};\n\n\treturn {\n\t\tkey,\n\t\tinject,\n\t\tconsume,\n\t\tuseSlot,\n\t\tInjector,\n\t\twithSlot,\n\t\tContext: SlotContext,\n\t} as const;\n};\n\nexport type CollectionSlot<T extends object> = ReturnType<typeof createCollectionSlot<T>>;\n","\"use client\";\n\nimport { composeRenderProps } from \"react-aria-components/composeRenderProps\";\nimport { cx } from \"tailwind-variants\";\n\n// Re-export utility classes from @heroui/styles for backward compatibility\nexport { disabledClasses, focusRingClasses, ariaDisabledClasses } from \"./class-name\";\n\nfunction composeTwRenderProps<T>(\n\tclassName: string | ((v: T) => string) | undefined,\n\ttailwind?: string | ((v: T) => string | undefined),\n): string | ((v: T) => string) {\n\treturn composeRenderProps(className, (className, renderProps): string => {\n\t\tconst tw = typeof tailwind === \"function\" ? (tailwind(renderProps) ?? \"\") : (tailwind ?? \"\");\n\t\tconst cls = className ?? \"\";\n\n\t\treturn cx(tw, cls) ?? \"\";\n\t});\n}\n\nexport const composeSlotClassName = (\n\tslotFn: ((args?: { className?: string; [key: string]: any }) => string) | undefined,\n\tclassName?: string,\n\tvariants?: Record<string, any>,\n): string | undefined => {\n\treturn typeof slotFn === \"function\" ? slotFn({ ...(variants ?? {}), className }) : className;\n};\n\nexport { composeTwRenderProps };\n","\"use client\";\n\n/* eslint-disable no-console */\n/*\n * From https://github.com/adobe/react-spectrum/blob/0e69a1bf028448551b8e6c3ee936f41b8f70109a/packages/react-aria-components/src/utils.tsx\n * Remove it and import directly from react-aria-components when they export it.\n */\n\nimport type { AllHTMLAttributes, ReactElement } from \"react\";\n\nimport { mergeRefs, useLayoutEffect } from \"@react-aria/utils\";\nimport React, { useMemo, useRef } from \"react\";\n\nexport type DOMRenderFunction<E extends keyof React.JSX.IntrinsicElements, T> = (\n\tprops: React.JSX.IntrinsicElements[E],\n\trenderProps: T,\n) => ReactElement;\nexport interface DOMRenderProps<E extends keyof React.JSX.IntrinsicElements, T> {\n\t/**\n\t * Overrides the default DOM element with a custom render function.\n\t * This allows rendering existing components with built-in styles and behaviors\n\t * such as router links, animation libraries, and pre-styled components.\n\t *\n\t * Requirements:\n\t *\n\t * * You must render the expected element type (e.g. if `<button>` is expected, you cannot render an `<a>`).\n\t * * Only a single root DOM element can be rendered (no fragments).\n\t * * You must pass through props and ref to the underlying DOM element, merging with your own prop as appropriate.\n\t */\n\trender?: DOMRenderFunction<E, T>;\n}\n\n// eslint-disable-next-line react-refresh/only-export-components\nfunction DOMElement(ElementType: string, props: DOMRenderProps<any, any> & AllHTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> }) {\n\tconst { ref: forwardedRef, render, ...otherProps } = props;\n\tconst elementRef = useRef<HTMLElement | null>(null);\n\tconst ref = useMemo(() => mergeRefs(forwardedRef, elementRef), [forwardedRef, elementRef]);\n\n\tuseLayoutEffect(() => {\n\t\tif (typeof process !== \"undefined\" && process.env?.[\"NODE_ENV\"] !== \"production\" && render) {\n\t\t\tif (!elementRef.current) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"Ref was not connected to DOM element returned by custom `render` function. Did you forget to pass through or merge the `ref`?\",\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [ElementType, render]);\n\n\tconst domProps: any = { ...otherProps, ref };\n\n\tif (render) {\n\t\treturn render(domProps, undefined);\n\t}\n\n\treturn <ElementType {...domProps} />;\n}\n\ntype DOMComponents = {\n\t[E in keyof React.JSX.IntrinsicElements]: (props: DOMRenderProps<E, any> & React.JSX.IntrinsicElements[E]) => ReactElement;\n};\n\nconst domComponentCache: Record<string, unknown> = {};\n\n// Dynamically generates and caches components for each DOM element (e.g. `dom.button`).\nexport const dom = new Proxy(\n\t{},\n\t{\n\t\tget(_target, elementType) {\n\t\t\tif (typeof elementType !== \"string\") {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tlet res = domComponentCache[elementType];\n\n\t\t\tif (!res) {\n\t\t\t\tres = DOMElement.bind(null, elementType);\n\t\t\t\tdomComponentCache[elementType] = res;\n\t\t\t}\n\n\t\t\treturn res;\n\t\t},\n\t},\n) as DOMComponents;\n","import React from \"react\";\n\ninterface IconProps extends React.SVGProps<SVGSVGElement> {}\n\nexport const IconChevronDown = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M2.97 5.47a.75.75 0 0 1 1.06 0L8 9.44l3.97-3.97a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 0 1 0-1.06\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconChevronUp = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M13.03 10.53a.75.75 0 0 1-1.06 0L8 6.56l-3.97 3.97a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconChevronLeft = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M10.53 2.97a.75.75 0 0 1 0 1.06L6.56 8l3.97 3.97a.75.75 0 1 1-1.06 1.06l-4.5-4.5a.75.75 0 0 1 0-1.06l4.5-4.5a.75.75 0 0 1 1.06 0\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconChevronRight = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M5.47 2.97a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 0-1.06Z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const ExternalLinkIcon = ({ height = 9, width = 9, ...props }: IconProps) => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tfill=\"none\"\n\t\theight={height}\n\t\trole=\"presentation\"\n\t\tviewBox=\"0 0 7 7\"\n\t\twidth={width}\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t{...props}\n\t>\n\t\t<path\n\t\t\td=\"M1.20592 6.84333L0.379822 6.01723L4.52594 1.8672H1.37819L1.38601 0.731812H6.48742V5.83714H5.34421L5.35203 2.6933L1.20592 6.84333Z\"\n\t\t\tfill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const CircleDashedIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\td=\"M6.906 1.085a7.047 7.047 0 0 1 2.188 0 .75.75 0 0 1-.232 1.482 5.546 5.546 0 0 0-1.724 0 .75.75 0 0 1-.232-1.482ZM4.933 2.502a.75.75 0 0 1-.166 1.048c-.466.34-.878.75-1.217 1.217a.75.75 0 0 1-1.213-.882 7.036 7.036 0 0 1 1.548-1.548.75.75 0 0 1 1.048.165Zm6.135 0a.75.75 0 0 1 1.047-.165 7.037 7.037 0 0 1 1.548 1.548.75.75 0 0 1-1.213.882 5.533 5.533 0 0 0-1.217-1.217.75.75 0 0 1-.165-1.048ZM1.943 6.28a.75.75 0 0 1 .624.857 5.546 5.546 0 0 0 0 1.724.75.75 0 0 1-1.482.232 7.047 7.047 0 0 1 0-2.188.75.75 0 0 1 .858-.625Zm12.114 0a.75.75 0 0 1 .858.625 7.048 7.048 0 0 1 0 2.188.75.75 0 1 1-1.482-.232 5.54 5.54 0 0 0 0-1.724.75.75 0 0 1 .624-.857ZM2.502 11.068a.75.75 0 0 1 1.048.165c.34.466.75.878 1.217 1.217a.75.75 0 0 1-.882 1.213 7.037 7.037 0 0 1-1.548-1.548.75.75 0 0 1 .165-1.047Zm10.996 0a.75.75 0 0 1 .165 1.047 7.037 7.037 0 0 1-1.548 1.548.75.75 0 0 1-.883-1.213 5.53 5.53 0 0 0 1.218-1.217.75.75 0 0 1 1.048-.165Zm-7.217 2.99a.75.75 0 0 1 .857-.625 5.54 5.54 0 0 0 1.724 0 .75.75 0 0 1 .232 1.482 7.048 7.048 0 0 1-2.188 0 .75.75 0 0 1-.625-.857Z\"\n\t\t\tfill=\"currentColor\"\n\t\t/>\n\t</svg>\n);\n\nexport const CloseIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M3.47 3.47a.75.75 0 0 1 1.06 0L8 6.94l3.47-3.47a.75.75 0 1 1 1.06 1.06L9.06 8l3.47 3.47a.75.75 0 1 1-1.06 1.06L8 9.06l-3.47 3.47a.75.75 0 0 1-1.06-1.06L6.94 8 3.47 4.53a.75.75 0 0 1 0-1.06Z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const InfoIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-9.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0m-.25 3a.75.75 0 0 0-1.5 0V11a.75.75 0 0 0 1.5 0z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const WarningIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M7.134 2.994L2.217 11.5a1 1 0 0 0 .866 1.5h9.834a1 1 0 0 0 .866-1.5L8.866 2.993a1 1 0 0 0-1.732 0m3.03-.75c-.962-1.665-3.366-1.665-4.329 0L.918 10.749c-.963 1.666.24 3.751 2.165 3.751h9.834c1.925 0 3.128-2.085 2.164-3.751zM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2A.75.75 0 0 1 8 5m1 5.75a1 1 0 1 1-2 0a1 1 0 0 1 2 0\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const DangerIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8 13.5a5.5 5.5 0 1 0 0-11a5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0M8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const SuccessIcon = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M13.5 8a5.5 5.5 0 1 1-11 0a5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-3.9-1.55a.75.75 0 1 0-1.2-.9L7.419 8.858L6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconMinus = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M1.75 8a.75.75 0 0 1 .75-.75h11a.75.75 0 0 1 0 1.5h-11A.75.75 0 0 1 1.75 8\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconPlus = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M8 1.75a.75.75 0 0 1 .75.75v4.75h4.75a.75.75 0 0 1 0 1.5H8.75v4.75a.75.75 0 0 1-1.5 0V8.75H2.5a.75.75 0 0 1 0-1.5h4.75V2.5A.75.75 0 0 1 8 1.75\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconSearch = (props: IconProps) => (\n\t<svg aria-hidden=\"true\" fill=\"none\" height={16} role=\"presentation\" viewBox=\"0 0 16 16\" width={16} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M11.5 7a4.5 4.5 0 1 1-9 0a4.5 4.5 0 0 1 9 0m-.82 4.74a6 6 0 1 1 1.06-1.06l2.79 2.79a.75.75 0 1 1-1.06 1.06z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n\nexport const IconCalendar = (props: IconProps) => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tfill=\"none\"\n\t\theight=\"1em\"\n\t\trole=\"presentation\"\n\t\tviewBox=\"0 0 13 14\"\n\t\twidth=\"1em\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t{...props}\n\t>\n\t\t<path\n\t\t\tclipRule=\"evenodd\"\n\t\t\td=\"M3.75 4.5A.75.75 0 0 1 3 3.75v-.748a1.5 1.5 0 0 0-1.5 1.5v1h10v-1a1.5 1.5 0 0 0-1.5-1.5v.75a.75.75 0 1 1-1.5 0v-.75h-4v.747a.75.75 0 0 1-.75.75ZM8.5 1.501h-4V.75a.75.75 0 0 0-1.5 0v.752a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h7a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3v-.75a.75.75 0 0 0-1.5 0v.75Zm-7 5.5v3.5a1.5 1.5 0 0 0 1.5 1.5h7a1.5 1.5 0 0 0 1.5-1.5v-3.5h-10Z\"\n\t\t\tfill=\"currentColor\"\n\t\t\tfillRule=\"evenodd\"\n\t\t/>\n\t</svg>\n);\n","\"use client\";\n\nimport type { DOMRenderProps } from \"@/lib/utils/dom\";\nimport type { ComponentPropsWithRef, ReactNode } from \"react\";\nimport type { TabsVariants } from \"./tabs.styles\";\n\nimport React, { createContext, use, useCallback, useRef } from \"react\";\nimport { SelectionIndicator as SelectionIndicatorPrimitive } from \"react-aria-components/SelectionIndicator\";\nimport { TabList as TabListPrimitive, TabPanel as TabPanelPrimitive, Tab as TabPrimitive, Tabs as TabsPrimitive } from \"react-aria-components/Tabs\";\nimport { tabsVariants } from \"./tabs.styles\";\n\nimport { createCollectionSlot } from \"@/lib/utils/collection-prop-injection\";\nimport { composeSlotClassName, composeTwRenderProps } from \"@/lib/utils/compose\";\nimport { dom } from \"@/lib/utils/dom\";\nimport { IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp } from \"../icons/icons\";\nimport { ScrollShadow } from \"../scroll-shadow\";\nimport \"./tabs.css\";\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs Context\n * -----------------------------------------------------------------------------------------------*/\ntype TabsContext = {\n\torientation?: \"horizontal\" | \"vertical\";\n\tslots?: ReturnType<typeof tabsVariants>;\n};\n\nconst TabsContext = createContext<TabsContext>({});\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs Collection Slot\n * -----------------------------------------------------------------------------------------------*/\ntype ListContainerInjectedProps = {\n\tclassName?: string;\n\trender?: DOMRenderProps<\"div\", undefined>[\"render\"];\n} & Record<string, unknown>;\n\nconst listContainerSlot = createCollectionSlot<ListContainerInjectedProps>(\"tabs.listContainer\");\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs Root\n * -----------------------------------------------------------------------------------------------*/\ninterface TabsRootProps extends ComponentPropsWithRef<typeof TabsPrimitive>, TabsVariants {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nconst TabsRoot = ({ align, children, className, orientation = \"horizontal\", variant, ...props }: TabsRootProps) => {\n\tconst slots = React.useMemo(() => tabsVariants({ align, variant }), [align, variant]);\n\tconst contextValue = React.useMemo(() => ({ orientation, slots }), [orientation, slots]);\n\n\treturn (\n\t\t<TabsContext value={contextValue}>\n\t\t\t<TabsPrimitive {...props} className={composeTwRenderProps(className, slots.base())} data-slot=\"tabs\" orientation={orientation}>\n\t\t\t\t{children}\n\t\t\t</TabsPrimitive>\n\t\t</TabsContext>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs List Container\n * -----------------------------------------------------------------------------------------------*/\ninterface TabListContainerProps<E extends keyof React.JSX.IntrinsicElements = \"div\"> extends DOMRenderProps<E, undefined> {\n\tchildren?: ReactNode;\n\tclassName?: string;\n}\n\nconst TabListContainer = <E extends keyof React.JSX.IntrinsicElements = \"div\">({\n\tchildren,\n\tclassName,\n\trender,\n\t...containerProps\n}: TabListContainerProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof TabListContainerProps<E>>) => {\n\treturn (\n\t\t<listContainerSlot.Injector {...({ ...containerProps, className, render } as ListContainerInjectedProps)}>\n\t\t\t{children}\n\t\t</listContainerSlot.Injector>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs List\n * -----------------------------------------------------------------------------------------------*/\ninterface TabListProps extends ComponentPropsWithRef<typeof TabListPrimitive<object>> {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nconst TabList = ({ children, className, ...props }: TabListProps) => {\n\tconst { orientation = \"horizontal\", slots } = use(TabsContext);\n\tconst scrollerRef = useRef<HTMLDivElement | null>(null);\n\tconst isVertical = orientation === \"vertical\";\n\n\tconst [listContainerProps, restProps] = listContainerSlot.useSlot(props);\n\n\tconst scrollBy = useCallback(\n\t\t(direction: 1 | -1) => {\n\t\t\tconst el = scrollerRef.current;\n\n\t\t\tif (!el) return;\n\t\t\tconst size = isVertical ? el.clientHeight : el.clientWidth;\n\t\t\tconst scrollSize = isVertical ? el.scrollHeight : el.scrollWidth;\n\t\t\tconst maxScroll = Math.max(0, scrollSize - size);\n\n\t\t\t// In RTL, the horizontal scroll range runs from 0 (start, on the right) to negative,\n\t\t\t// so the delta sign must be flipped for `scrollLeft` to move toward the intended edge.\n\t\t\tconst isRTL = !isVertical && getComputedStyle(el).direction === \"rtl\";\n\t\t\tconst delta = direction * size * 0.8 * (isRTL ? -1 : 1);\n\t\t\tconst current = isVertical ? el.scrollTop : el.scrollLeft;\n\n\t\t\t// Clamp the target to the scrollable range so a press near the edge lands\n\t\t\t// flush on it instead of requesting a position past the content, which can\n\t\t\t// cut the smooth scroll short of the edge (e.g. iOS Safari) or leave the\n\t\t\t// strip visually stranded. RTL ranges run [-maxScroll, 0].\n\t\t\tconst next = Math.min(isRTL ? 0 : maxScroll, Math.max(isRTL ? -maxScroll : 0, current + delta));\n\n\t\t\tif (next === current) return;\n\n\t\t\tel.scrollTo({\n\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t[isVertical ? \"top\" : \"left\"]: next,\n\t\t\t});\n\t\t},\n\t\t[isVertical],\n\t);\n\n\t// Without ListContainer, stay a thin RAC TabList\n\tif (!listContainerProps) {\n\t\treturn (\n\t\t\t<TabListPrimitive {...restProps} className={composeTwRenderProps(className, slots?.tabList())} data-slot=\"tabs-list\">\n\t\t\t\t{children}\n\t\t\t</TabListPrimitive>\n\t\t);\n\t}\n\n\tconst { className: containerClassName, render: containerRender, ...containerRest } = listContainerProps;\n\n\treturn (\n\t\t<TabListPrimitive\n\t\t\t{...restProps}\n\t\t\tclassName={composeTwRenderProps(className, slots?.tabList())}\n\t\t\tdata-slot=\"tabs-list\"\n\t\t\trender={(renderProps) => {\n\t\t\t\tconst {\n\t\t\t\t\tchildren: listChildren,\n\t\t\t\t\tclassName: listClassName,\n\t\t\t\t\tref: listRef,\n\t\t\t\t\t...listRest\n\t\t\t\t} = renderProps as typeof renderProps & {\n\t\t\t\t\tref?: React.Ref<HTMLDivElement>;\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<dom.div\n\t\t\t\t\t\tclassName={composeSlotClassName(slots?.tabListContainer, containerClassName)}\n\t\t\t\t\t\tdata-slot=\"tabs-list-container\"\n\t\t\t\t\t\trender={containerRender as DOMRenderProps<\"div\", undefined>[\"render\"]}\n\t\t\t\t\t\t{...(containerRest as React.HTMLAttributes<HTMLDivElement>)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScrollShadow\n\t\t\t\t\t\t\tref={scrollerRef}\n\t\t\t\t\t\t\thideScrollBar\n\t\t\t\t\t\t\tclassName={composeSlotClassName(slots?.scroller)}\n\t\t\t\t\t\t\torientation={orientation}\n\t\t\t\t\t\t\tsize={64}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div {...listRest} ref={listRef} className={listClassName}>\n\t\t\t\t\t\t\t\t{listChildren}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ScrollShadow>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={isVertical ? \"Scroll tabs up\" : \"Scroll tabs left\"}\n\t\t\t\t\t\t\tclassName={composeSlotClassName(slots?.scrollPrev)}\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => scrollBy(-1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isVertical ? <IconChevronUp /> : <IconChevronLeft />}\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={isVertical ? \"Scroll tabs down\" : \"Scroll tabs right\"}\n\t\t\t\t\t\t\tclassName={composeSlotClassName(slots?.scrollNext)}\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => scrollBy(1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isVertical ? <IconChevronDown /> : <IconChevronRight />}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</dom.div>\n\t\t\t\t);\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</TabListPrimitive>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab\n * -----------------------------------------------------------------------------------------------*/\ninterface TabProps extends ComponentPropsWithRef<typeof TabPrimitive> {\n\tclassName?: string;\n}\n\nconst Tab = ({ children, className, ...props }: TabProps) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn (\n\t\t<TabPrimitive {...props} className={composeTwRenderProps(className, slots?.tab())} data-slot=\"tabs-tab\">\n\t\t\t{children}\n\t\t</TabPrimitive>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab Indicator\n * -----------------------------------------------------------------------------------------------*/\ninterface TabIndicatorProps extends ComponentPropsWithRef<typeof SelectionIndicatorPrimitive> {\n\tclassName?: string;\n}\n\nconst TabIndicator = ({ className, ...props }: TabIndicatorProps) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn <SelectionIndicatorPrimitive className={composeSlotClassName(slots?.tabIndicator, className)} data-slot=\"tabs-indicator\" {...props} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab Panel\n * -----------------------------------------------------------------------------------------------*/\ninterface TabPanelProps extends Omit<ComponentPropsWithRef<typeof TabPanelPrimitive>, \"children\"> {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nconst TabPanel = ({ children, className, ...props }: TabPanelProps) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn (\n\t\t<TabPanelPrimitive {...props} className={composeTwRenderProps(className, slots?.tabPanel())} data-slot=\"tabs-panel\">\n\t\t\t{children}\n\t\t</TabPanelPrimitive>\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Tab Separator\n * -----------------------------------------------------------------------------------------------*/\ninterface TabSeparatorProps<E extends keyof React.JSX.IntrinsicElements = \"span\"> extends DOMRenderProps<E, undefined> {\n\tclassName?: string;\n}\n\nconst TabSeparator = <E extends keyof React.JSX.IntrinsicElements = \"span\">({\n\tclassName,\n\t...props\n}: TabSeparatorProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof TabSeparatorProps<E>>) => {\n\tconst { slots } = use(TabsContext);\n\n\treturn (\n\t\t<dom.span aria-hidden=\"true\" className={composeSlotClassName(slots?.separator, className)} data-slot=\"tabs-separator\" {...(props as any)} />\n\t);\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Exports\n * -----------------------------------------------------------------------------------------------*/\nexport { Tab, TabIndicator, TabList, TabListContainer, TabPanel, TabSeparator, TabsRoot };\n\nexport type { TabIndicatorProps, TabListContainerProps, TabListProps, TabPanelProps, TabProps, TabSeparatorProps, TabsRootProps };\n","import type { ComponentProps } from \"react\";\n\nimport { Tab, TabIndicator, TabList, TabListContainer, TabPanel, TabSeparator, TabsRoot } from \"./tabs\";\n\n/* -------------------------------------------------------------------------------------------------\n * Compound Component\n * -----------------------------------------------------------------------------------------------*/\nexport const Tabs = Object.assign(TabsRoot, {\n\tRoot: TabsRoot,\n\tListContainer: TabListContainer,\n\tList: TabList,\n\tTab,\n\tIndicator: TabIndicator,\n\tSeparator: TabSeparator,\n\tPanel: TabPanel,\n});\n\nexport type Tabs = {\n\tProps: ComponentProps<typeof TabsRoot>;\n\tRootProps: ComponentProps<typeof TabsRoot>;\n\tListContainer: ComponentProps<typeof TabListContainer>;\n\tListProps: ComponentProps<typeof TabList>;\n\tTabProps: ComponentProps<typeof Tab>;\n\tIndicatorProps: ComponentProps<typeof TabIndicator>;\n\tSeparatorProps: ComponentProps<typeof TabSeparator>;\n\tPanelProps: ComponentProps<typeof TabPanel>;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Named Component\n * -----------------------------------------------------------------------------------------------*/\nexport { TabsRoot, TabListContainer, TabList, Tab, TabIndicator, TabSeparator, TabPanel };\n\nexport type {\n\tTabsRootProps,\n\tTabsRootProps as TabsProps,\n\tTabListContainerProps,\n\tTabListProps,\n\tTabProps,\n\tTabIndicatorProps,\n\tTabSeparatorProps,\n\tTabPanelProps,\n} from \"./tabs\";\n\n/* -------------------------------------------------------------------------------------------------\n * Variants\n * -----------------------------------------------------------------------------------------------*/\nexport { tabsVariants } from \"./tabs.styles\";\n\nexport type { TabsVariants } from \"./tabs.styles\";\n"],"names":["$3yt54$useMemo","$3yt54$useCallback","$3yt54$useRef","$3yt54$useEffect","$5MIG0$useState","$5MIG0$useCallback","$5MIG0$useRef","$5MIG0$flushSync","$4mYNK$useMemo","$jhfZc$useMemo","$eOo4G$useRef","$eOo4G$useEffect","$4KeVI$createContext","$4KeVI$forwardRef","$4KeVI$useMemo","$4KeVI$react","$4KeVI$CollectionBuilder","$4KeVI$useTabListState","$4KeVI$useFocusRing","$4KeVI$filterDOMProps","$4KeVI$mergeProps","$4KeVI$useContext","$4KeVI$Collection","$4KeVI$useObjectRef","$4KeVI$useTabList","$4KeVI$CollectionNode","$4KeVI$createLeafComponent","$4KeVI$useTab","$4KeVI$useHover","$4KeVI$createHideableComponent","$4KeVI$useState","$4KeVI$useExitAnimation","$4KeVI$useTabPanel","$4KeVI$useEnterAnimation","$4KeVI$inertValue","tabsVariants","tv","defaultVariants","align","variant","slots","base","scrollNext","scrollPrev","scroller","separator","tab","tabIndicator","tabList","tabListContainer","tabPanel","variants","center","end","start","primary","secondary","colors","blue","green","magenta","red","reset","yellow","levelColors","debug","error","info","success","warn","levelEmojis","Logger","enabled","prefix","constructor","options","formatMessage","level","message","color","emoji","log","args","divider","char","length","newline","logger","registry","__DEV__","process","env","createCollectionSlot","name","Set","has","add","key","SlotContext","createContext","undefined","inject","children","value","Children","map","child","isValidElement","React","cloneElement","consume","props","injected","rest","useSlot","$","_c","t0","fromProps","fromContext","useContext","t1","t2","Injector","T0","Provider","t3","displayName","withSlot","Primitive","defaultRender","Wrapped","forwardRef","CollectionSlotTarget","forwardedRef","restProps","className","containerClassName","render","customRender","containerRest","Context","composeTwRenderProps","tailwind","composeRenderProps","renderProps","tw","cls","cx","composeSlotClassName","slotFn","DOMElement","ElementType","ref","otherProps","elementRef","useRef","useMemo","mergeRefs","useLayoutEffect","current","domProps","domComponentCache","dom","Proxy","get","_target","elementType","res","bind","IconChevronDown","Symbol","for","IconChevronUp","IconChevronLeft","IconChevronRight","TabsContext","listContainerSlot","TabsRoot","orientation","contextValue","t4","t5","TabsPrimitive","t6","TabListContainer","containerProps","TabList","use","scrollerRef","isVertical","listContainerProps","scrollBy","useCallback","direction","el","size","clientHeight","clientWidth","scrollSize","scrollHeight","scrollWidth","maxScroll","Math","max","isRTL","getComputedStyle","delta","scrollTop","scrollLeft","next","min","scrollTo","behavior","TabListPrimitive","containerRender","listChildren","listClassName","listRef","listRest","Tab","TabPrimitive","TabIndicator","SelectionIndicatorPrimitive","TabPanel","TabPanelPrimitive","TabSeparator","Tabs","Object","assign","Root","ListContainer","List","Indicator","Separator","Panel"],"mappings":";;;;;;;;;;;;;;;;;;AAUI,MAAM,0CAA0C;AAAA,EAChD,YAAY,OAAM;AACd,SAAK,SAAS,oBAAI,IAAG;AACrB,SAAK,WAAW;AAChB,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,QAAI,QAAQ,CAAC,SAAO;AAChB,WAAK,OAAO,IAAI,KAAK,KAAK,IAAI;AAC9B,UAAI,KAAK,cAAc,KAAK,SAAS,UAAW,UAAS,SAAS,KAAK,WAAW,OAAM,KAAK;AAAA,IACjG;AACA,aAAS,QAAQ,MAAM,OAAM,IAAI;AACjC,QAAI,OAAO;AACX,QAAI,QAAQ;AACZ,QAAI,OAAO;AACX,aAAS,CAAC,KAAK,IAAI,KAAK,KAAK,QAAO;AAChC,UAAI,MAAM;AACN,aAAK,UAAU;AACf,aAAK,UAAU,KAAK;AAAA,MACxB,OAAO;AACH,aAAK,WAAW;AAChB,aAAK,UAAU;AAAA,MACnB;AACA,UAAI,KAAK,SAAS,OAAQ,MAAK,QAAQ;AAGvC,UAAI,KAAK,SAAS,aAAa,KAAK,SAAS,OAAQ;AACrD,aAAO;AAGP,WAAK,UAAU;AAAA,IACnB;AACA,SAAK,QAAQ;AACb,SAAK,UAAU,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,EAAE,OAAO,QAAQ,IAAI;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,UAAU;AACN,WAAO,KAAK,OAAO,KAAI;AAAA,EAC3B;AAAA,EACA,aAAa,KAAK;AACd,QAAI,OAAO,KAAK,OAAO,IAAI,GAAG;AAC9B,WAAO,OAAO,KAAK,WAAW,OAAO;AAAA,EACzC;AAAA,EACA,YAAY,KAAK;AACb,QAAI,OAAO,KAAK,OAAO,IAAI,GAAG;AAC9B,WAAO,OAAO,KAAK,WAAW,OAAO;AAAA,EACzC;AAAA,EACA,cAAc;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,aAAa;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EACA,QAAQ,KAAK;AACT,WAAO,KAAK,OAAO,IAAI,GAAG,KAAK;AAAA,EACnC;AAAA,EACA,GAAG,KAAK;AACJ,UAAM,OAAO;AAAA,MACT,GAAG,KAAK,QAAO;AAAA,IAC3B;AACQ,WAAO,KAAK,QAAQ,KAAK,GAAG,CAAC;AAAA,EACjC;AAAA,EACA,YAAY,KAAK;AACb,QAAI,OAAO,KAAK,OAAO,IAAI,GAAG;AAC9B,WAAO,MAAM,cAAc,CAAA;AAAA,EAC/B;AACJ;AC3DA,SAAS,0CAA0C,OAAO;AACtD,MAAI,EAAE,QAAgB,eAA8B,IAAK;AACzD,MAAI,iBAAqB,0CAA2C,KAAK;AACzE,MAAI,eAAmBA,QAAgB,MAAI,MAAM,eAAe,IAAI,IAAI,MAAM,YAAY,IAAI,oBAAI,IAAG,GAAI;AAAA,IACrG,MAAM;AAAA,EACd,CAAK;AACD,MAAI,UAAcC,YAAoB,CAAC,UAAQ,SAAS,IAAQ,0CAA2C,OAAO,KAAK,CAAC,IAAI,IAAQ,0CAA2C,KAAK,GAAG;AAAA,IACnL;AAAA,EACR,CAAK;AACD,MAAI,UAAcD,QAAgB,OAAK;AAAA,IAC/B,0BAA0B,MAAM;AAAA,EAC5C,IAAY;AAAA,IACJ,MAAM;AAAA,EACd,CAAK;AACD,MAAI,aAAiB,0CAA2C,OAAO,SAAS,OAAO;AACvF,MAAI,mBAAuBA,QAAgB,MAAI,IAAQ,0CAA2C,YAAY,gBAAgB;AAAA,IACtH;AAAA,EACZ,CAAS,GAAG;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACR,CAAK;AACD,2CAAyC,YAAY,gBAAgB;AACrE,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACR;AACA;AAcA,SAAS,yCAAyC,YAAY,kBAAkB;AAE5E,QAAM,mBAAuBE,OAAe,IAAI;AAChD,EAAIC,UAAkB,MAAI;AACtB,QAAI,iBAAiB,cAAc,QAAQ,CAAC,WAAW,QAAQ,iBAAiB,UAAU,KAAK,iBAAiB,SAAS;AAErH,UAAI,MAAM,iBAAiB,QAAQ,YAAY,iBAAiB,UAAU;AAC1E,UAAI,iBAAiB;AACrB,aAAM,OAAO,MAAK;AACd,YAAI,OAAO,WAAW,QAAQ,GAAG;AACjC,YAAI,QAAQ,KAAK,SAAS,UAAU,CAAC,iBAAiB,WAAW,GAAG,GAAG;AACnE,2BAAiB;AACjB;AAAA,QACJ;AACA,cAAM,iBAAiB,QAAQ,YAAY,GAAG;AAAA,MAClD;AAEA,UAAI,kBAAkB,MAAM;AACxB,cAAM,iBAAiB,QAAQ,aAAa,iBAAiB,UAAU;AACvE,eAAM,OAAO,MAAK;AACd,cAAI,OAAO,WAAW,QAAQ,GAAG;AACjC,cAAI,QAAQ,KAAK,SAAS,UAAU,CAAC,iBAAiB,WAAW,GAAG,GAAG;AACnE,6BAAiB;AACjB;AAAA,UACJ;AACA,gBAAM,iBAAiB,QAAQ,aAAa,GAAG;AAAA,QACnD;AAAA,MACJ;AACA,uBAAiB,cAAc,cAAc;AAAA,IACjD;AACA,qBAAiB,UAAU;AAAA,EAC/B,GAAG;AAAA,IACC;AAAA,IACA;AAAA,EACR,CAAK;AACL;AC3EA,SAAS,0CAA0C,KAAK,UAAU,MAAM,SAAS;AAC7E,MAAI,CAAC,YAAY,WAAW,IAAQC,SAAiB,IAAI;AACzD,MAAI,mBAAmB,cAAc;AAIrC,EAAI,0CAA2C,MAAI;AAC/C,QAAI,CAAC,WAAW,IAAI,QAAS,QAAW,0CAA+C,0CAA2C,IAAI,SAAS,WAAW,GAAG,GAAO,0CAA2C,IAAI,SAAS,QAAQ,eAAe,GAAO,0CAA2C,IAAI,SAAS,aAAa,YAAY,GAAO,0CAA2C,IAAI,SAAS,cAAc,+BAA+B,CAAC;AAAA,EAC5b,GAAG;AAAA,IACC;AAAA,IACA;AAAA,EACR,CAAK;AAOD,EAAI,0CAA2C,MAAI;AAC/C,QAAI,oBAAoB,IAAI,WAAW,mBAAmB,IAAI,SAAS;AACnE,eAAS,aAAa,IAAI,QAAQ,gBAAgB,KAAI,qBAAqB,cAAe,WAAU,OAAM;AAAA,IAC9G;AAAA,EACJ,GAAG;AAAA,IACC;AAAA,IACA;AAAA,EACR,CAAK;AACD,qCAAmC,KAAK,kBAAkB,SAAaC,YAAoB,MAAI,YAAY,KAAK,GAAG,CAAA,CAAE,CAAC;AACtH,SAAO;AACX;AACA,SAAS,0CAA0C,KAAK,QAAQ,QAAQ;AACpE,MAAI,CAAC,WAAW,YAAY,IAAQD,SAAiB,SAAS,SAAS,QAAQ;AAC/E,UAAO,WAAS;AAAA,IACZ,KAAK;AAED,UAAI,CAAC,OAAQ,cAAa,SAAS;AACnC;AAAA,IACJ,KAAK;AAAA,IACL,KAAK;AAGD,UAAI,OAAQ,cAAa,MAAM;AAC/B;AAAA,EACZ;AACI,MAAI,YAAY,cAAc;AAC9B,qCAAmC,KAAK,WAAW,QAAYC,YAAoB,MAAI;AAEnF,iBAAa,CAAC,UAAQ,UAAU,YAAY,WAAW,KAAK;AAAA,EAChE,GAAG,CAAA,CAAE,CAAC;AACN,SAAO;AACX;AACA,SAAS,mCAAmC,KAAK,UAAU,SAAS,OAAO;AACvE,MAAI,cAAkBC,OAAe,IAAI;AACzC,MAAI,QAAY,0CAA2C,OAAO;AAClE,EAAI,0CAA2C,MAAI;AAC/C,QAAI,YAAY,IAAI,WAAW,YAAY,YAAY,UAAU;AAC7D,kBAAY,UAAU;AACtB,UAAI,EAAE,mBAAmB,IAAI,UAAU;AAEnC,cAAK;AACL;AAAA,MACJ;AACA,UAAI,eAAe,QAAQ,IAAI,OAAO;AACtC,UAAI,aAAa,IAAI,QAAQ,cAAa,EAAG,OAAO,CAAC,OAAK,OAAO,qBAAqB,eAAe,EAAE,oBAAoB,qBAAqB,EAAE,cAAc,SAAS;AACzK,UAAI,WAAW,WAAW,KAAK,CAAC,cAAc;AAC1C,cAAK;AACL;AAAA,MACJ;AACA,cAAQ,IAAI;AAAA,QACR;AAAA,QACA,GAAG,WAAW,IAAI,CAAC,MAAI,EAAE,QAAQ;AAAA,MACjD,CAAa,EAAE,KAAK,MAAI;AACR,QAAIC,UAAkB,MAAI;AACtB,gBAAK;AAAA,QACT,CAAC;AAAA,MACL,CAAC,EAAE,MAAM,MAAI;AAAA,MAAC,CAAC;AAAA,IACnB;AACA,gBAAY,UAAU;AAAA,EAC1B,GAAG;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACR,CAAK;AACL;AC/FI,MAAM,4CAA4C,oBAAI,QAAO;AACjE,SAAS,0CAA0C,OAAO,KAAK,MAAM;AACjE,MAAI,CAAC;AACL,WAAO;AACP,MAAI,OAAO,QAAQ,SAAU,OAAM,IAAI,QAAQ,QAAQ,EAAE;AACzD,MAAI,SAAS,0CAA0C,IAAI,KAAK;AAChE,MAAI,QAAQ,IAAI,aAAa,gBAAgB,CAAC,OAAQ;AACtD,SAAO,GAAG,MAAM,IAAI,IAAI,IAAI,GAAG;AACnC;ACKA,SAAS,0CAA0C,OAAO,OAAO,KAAK;AAClE,MAAI,EAAE,KAAU,YAAY,eAAe,sBAA4C,IAAK;AAC5F,MAAI,EAAE,kBAAkB,SAAS,YAAwB,IAAK;AAC9D,MAAI,aAAa,QAAQ;AACzB,MAAI,aAAa,iBAAiB,MAAM,cAAc,MAAM,iBAAiB,WAAW,GAAG;AAC3F,MAAI,OAAO,MAAM,WAAW,QAAQ,GAAG;AACvC,MAAI,EAAE,WAAsB,UAAoB,IAAS,0CAA2C;AAAA,IAChG,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,uBAAuB,yBAAyB,MAAM,MAAM,QAAQ;AAAA,IACpE,cAAc;AAAA,EACtB,CAAK;AACD,MAAI,QAAY,0CAA2C,OAAO,KAAK,KAAK;AAC5E,MAAI,aAAiB,0CAA2C,OAAO,KAAK,UAAU;AACtF,MAAI,EAAE,SAAkB,IAAK;AAC7B,MAAI,WAAe,0CAA2C,MAAM,OAAO;AAAA,IACvE,WAAW;AAAA,EACnB,CAAK;AACD,SAAO,SAAS;AAChB,MAAI,YAAgB,0CAA2C,MAAM,KAAK;AAC1E,MAAI,EAAE,eAA8B,IAAS,0CAA2C;AAAA,IACpF,GAAG,MAAM;AAAA,IACT;AAAA,EACR,GAAO,GAAG;AACN,SAAO;AAAA,IACH,UAAc,0CAA2C,UAAU,gBAAgB,WAAW,WAAW;AAAA,MACrG,IAAI;AAAA,MACJ,iBAAiB;AAAA,MACjB,iBAAiB,cAAc;AAAA,MAC/B,iBAAiB,aAAa,aAAa;AAAA,MAC3C,UAAU,aAAa,SAAY;AAAA,MACnC,MAAM;AAAA,IAClB,CAAS;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,EACR;AACA;AC9CA,SAAS,0CAA0C,OAAO,OAAO,KAAK;AAIlE,MAAI,WAAe,0CAA2C,GAAG,IAAI,SAAY;AACjF,QAAM,KAAS,0CAA2C,OAAO,MAAM,MAAM,OAAO,aAAa,UAAU;AAC3G,QAAM,gBAAoB,0CAA2C;AAAA,IACjE,GAAG;AAAA,IACH;AAAA,IACA,mBAAuB,0CAA2C,OAAO,OAAO,aAAa,KAAK;AAAA,EAC1G,CAAK;AACD,SAAO;AAAA,IACH,eAAmB,0CAA2C,eAAe;AAAA,MACzE;AAAA,MACA,MAAM;AAAA,MACN,oBAAoB,MAAM,kBAAkB;AAAA,MAC5C,gBAAgB,MAAM,cAAc;AAAA,IAChD,CAAS;AAAA,EACT;AACA;AC5BI,MAAM,0CAA0C;AAAA,EAChD,YAAY,YAAY,WAAW,aAAa,eAAe,oBAAI,OAAM;AACrE,SAAK,aAAa;AAGlB,SAAK,gBAAgB,cAAc;AACnC,SAAK,eAAe;AACpB,SAAK,eAAe,gBAAgB;AAAA,EACxC;AAAA,EACA,aAAa,KAAK;AACd,QAAI,KAAK,cAAe,QAAO,KAAK,WAAW,GAAG;AAClD,WAAO,KAAK,eAAe,GAAG;AAAA,EAClC;AAAA,EACA,cAAc,KAAK;AACf,QAAI,KAAK,cAAe,QAAO,KAAK,eAAe,GAAG;AACtD,WAAO,KAAK,WAAW,GAAG;AAAA,EAC9B;AAAA,EACA,WAAW,KAAK;AACZ,WAAO,KAAK,aAAa,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,WAAW,QAAQ,GAAG,GAAG,OAAO;AAAA,EAChF;AAAA,EACA,cAAc;AACV,QAAI,MAAM,KAAK,WAAW,YAAW;AACrC,QAAI,OAAO,QAAQ,KAAK,WAAW,GAAG,EAAG,OAAM,KAAK,WAAW,GAAG;AAClE,WAAO;AAAA,EACX;AAAA,EACA,aAAa;AACT,QAAI,MAAM,KAAK,WAAW,WAAU;AACpC,QAAI,OAAO,QAAQ,KAAK,WAAW,GAAG,EAAG,OAAM,KAAK,eAAe,GAAG;AACtE,WAAO;AAAA,EACX;AAAA,EACA,YAAY,KAAK;AACb,QAAI,KAAK,aAAc,QAAO;AAC9B,WAAO,KAAK,eAAe,GAAG;AAAA,EAClC;AAAA,EACA,YAAY,KAAK;AACb,QAAI,KAAK,aAAc,QAAO;AAC9B,WAAO,KAAK,WAAW,GAAG;AAAA,EAC9B;AAAA,EACA,WAAW,UAAU;AACjB,QAAI,MAAM;AACV,OAAG;AACC,YAAM,KAAK,WAAW,YAAY,GAAG;AACrC,UAAI,OAAO,KAAM,OAAM,KAAK,WAAW,YAAW;AAAA,IACtD,SAAQ,OAAO,QAAQ,KAAK,WAAW,GAAG,KAAK,QAAQ;AACvD,WAAO;AAAA,EACX;AAAA,EACA,eAAe,UAAU;AACrB,QAAI,MAAM;AACV,OAAG;AACC,YAAM,KAAK,WAAW,aAAa,GAAG;AACtC,UAAI,OAAO,KAAM,OAAM,KAAK,WAAW,WAAU;AAAA,IACrD,SAAQ,OAAO,QAAQ,KAAK,WAAW,GAAG,KAAK,QAAQ;AACvD,WAAO;AAAA,EACX;AACJ;ACrCA,SAAS,0CAA0C,OAAO,OAAO,KAAK;AAClE,MAAI,EAAE,cAA2B,cAAc,qBAAyC,YAAW,IAAK;AACxG,MAAI,EAAE,YAAwB,kBAAkB,SAAS,aAA0B,IAAK;AACxF,MAAI,EAAE,UAAoB,IAAS,0CAAyC;AAC5E,MAAI,WAAeC,QAAgB,MAAI,IAAQ,0CAA2C,YAAY,WAAW,aAAa,YAAY,GAAG;AAAA,IACzI;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACR,CAAK;AACD,MAAI,EAAE,gBAAgC,IAAS,0CAA2C;AAAA,IACtF;AAAA,IACA,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,eAAe,uBAAuB;AAAA,IACtC,wBAAwB;AAAA,IACxB,WAAW;AAAA,IACX,cAAc;AAAA,EACtB,CAAK;AAED,MAAI,SAAa,0CAAyC;AAC1D,EAAI,0CAA2C,IAAI,OAAO,MAAM;AAChE,MAAI,oBAAwB,0CAA2C;AAAA,IACnE,GAAG;AAAA,IACH,IAAI;AAAA,EACZ,CAAK;AACD,SAAO;AAAA,IACH,cAAc;AAAA,MACV,GAAO,0CAA2C,iBAAiB,iBAAiB;AAAA,MACpF,MAAM;AAAA,MACN,oBAAoB;AAAA,MACpB,UAAU;AAAA,IACtB;AAAA,EACA;AACA;AC5CA,SAAS,0CAA0C,OAAO;AACtD,MAAI,CAAC,aAAa,cAAc,IAAQ,0CAA2C,MAAM,aAAa,MAAM,sBAAsB,MAAM,MAAM,iBAAiB;AAC/J,MAAI,eAAmBC,QAAgB,MAAI,eAAe,OAAO;AAAA,IACzD;AAAA,EACZ,IAAY,IAAI;AAAA,IACR;AAAA,EACR,CAAK;AACD,MAAI,EAAE,YAAwB,cAA4B,qBAA2C,0CAA2C;AAAA,IAC5I,GAAG;AAAA,IACH,eAAe;AAAA,IACf,wBAAwB;AAAA,IACxB,+BAA+B;AAAA,IAC/B;AAAA,IACA,mBAAmB,CAAC,SAAO;AAEvB,UAAI,SAAS,MAAO;AACpB,UAAI,MAAM,KAAK,OAAM,EAAG,KAAI,EAAG,SAAS;AAGxC,UAAI,QAAQ,eAAe,MAAM,kBAAmB,OAAM,kBAAkB,GAAG;AAC/E,qBAAe,GAAG;AAAA,IACtB;AAAA,EACR,CAAK;AACD,MAAI,eAAe,eAAe,OAAO,WAAW,QAAQ,WAAW,IAAI;AAC3E,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACR;AACA;AClCA,SAAS,wCAAwC,OAAO;AACpD,MAAI,QAAY,0CAA2C;AAAA,IACvD,GAAG;AAAA,IACH,mBAAmB,MAAM,oBAAoB,CAAC,QAAM;AAChD,UAAI,OAAO,KAAM,OAAM,oBAAoB,GAAG;AAAA,IAClD,IAAI;AAAA,IACJ,0BAA0B;AAAA,IAC1B,oBAAoB,MAAM,sBAAsB,6CAA6C,MAAM,YAAY,MAAM,eAAe,IAAI,IAAI,MAAM,YAAY,IAAI,oBAAI,IAAG,CAAE,KAAK;AAAA,EACxL,CAAK;AACD,MAAI,EAAE,kBAAoC,YAAwB,aAAa,mBAAkB,IAAK;AACtG,MAAI,kBAAsBC,OAAe,kBAAkB;AAC3D,EAAIC,UAAkB,MAAI;AAEtB,QAAI,cAAc;AAClB,QAAI,MAAM,eAAe,SAAS,iBAAiB,WAAW,eAAe,QAAQ,CAAC,WAAW,QAAQ,WAAW,IAAI;AACpH,oBAAc,6CAA6C,YAAY,MAAM,YAAY;AACzF,UAAI,eAAe;AACnB,yBAAiB,gBAAgB;AAAA,UAC7B;AAAA,QAChB,CAAa;AAAA,IACL;AAEA,QAAI,eAAe,QAAQ,iBAAiB,cAAc,QAAQ,CAAC,iBAAiB,aAAa,gBAAgB,gBAAgB,QAAS,kBAAiB,cAAc,WAAW;AACpL,oBAAgB,UAAU;AAAA,EAC9B,CAAC;AACD,SAAO;AAAA,IACH,GAAG;AAAA,IACH,YAAY,MAAM,cAAc;AAAA,EACxC;AACA;AACA,SAAS,6CAA6C,YAAY,cAAc;AAC5E,MAAI,cAAc;AAClB,MAAI,YAAY;AACZ,kBAAc,WAAW,YAAW;AAEpC,WAAM,eAAe,SAAS,aAAa,IAAI,WAAW,KAAK,WAAW,QAAQ,WAAW,GAAG,OAAO,eAAe,gBAAgB,WAAW,WAAU,EAAG,eAAc,WAAW,YAAY,WAAW;AAE9M,QAAI,eAAe,SAAS,aAAa,IAAI,WAAW,KAAK,WAAW,QAAQ,WAAW,GAAG,OAAO,eAAe,gBAAgB,WAAW,WAAU,EAAI,eAAc,WAAW,YAAW;AAAA,EACrM;AACA,SAAO;AACX;ACNA,MAAM,4CAA8DC,8BAAsB,IAAI;AAC9F,MAAM,4CAA8DA,8BAAsB,IAAI;AAC9F,MAAM,4CAA8DC,2BAAmB,SAAS,KAAK,OAAO,KAAK;AAC7G,GAAC,OAAO,GAAG,IAAQ,0CAA2C,OAAO,KAAK,yCAAyC;AACnH,MAAI,EAAE,UAAoB,cAA2B,aAAY,IAAK;AACtE,aAAeC,QAAgB,MAAI,OAAO,aAAa,aAAa,SAAS;AAAA,IACrE;AAAA,IACA,iBAAiB;AAAA,EAC7B,CAAS,IAAI,UAAU;AAAA,IACf;AAAA,IACA;AAAA,EACR,CAAK;AACD,SAAyBC,+BAAc,cAAkBC,2CAA2B;AAAA,IAChF,SAAS;AAAA,EACjB,GAAO,CAAC,eAA+BD,+BAAc,cAAc,iCAAiC;AAAA,IACxF;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EACrB,CAAS,CAAC;AACV,CAAC;AACD,SAAS,gCAAgC,EAAE,OAAc,SAAS,KAAK,cAA0B;AAC7F,MAAI,EAAE,cAA2B,aAAY,IAAK;AAClD,MAAI,QAAYE,wCAAwB;AAAA,IACpC,GAAG;AAAA,IACH;AAAA,IACA,UAAU;AAAA,EAClB,CAAK;AACD,MAAI,EAAE,YAAwB,WAAsB,mBAAuCC,0CAAqB;AAAA,IAC5G,QAAQ;AAAA,EAChB,CAAK;AACD,MAAI,SAAaJ,QAAgB,OAAK;AAAA,IAC9B;AAAA,IACA,eAAe;AAAA,IACf;AAAA,EACZ,IAAY;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACR,CAAK;AACD,MAAI,cAAkB,wCAAyC;AAAA,IAC3D,GAAG;AAAA,IACH,kBAAkB;AAAA,IAClB;AAAA,EACR,CAAK;AACD,MAAI,WAAeK,0CAAuB,OAAO;AAAA,IAC7C,QAAQ;AAAA,EAChB,CAAK;AACD,SAAyBJ,+BAAc,cAAkB,0CAA2C,KAAK;AAAA,IACrG,GAAOK,0CAAmB,UAAU,aAAa,UAAU;AAAA,IAC3D;AAAA,IACA,MAAM,MAAM,QAAQ;AAAA,IACpB,gBAAgB,aAAa;AAAA,IAC7B,oBAAoB;AAAA,IACpB,sBAAsB,kBAAkB;AAAA,IACxC,iBAAiB,MAAM,cAAc;AAAA,EAC7C,GAAyBL,+BAAc,cAAkB,2CAA4C;AAAA,IAC7F,QAAQ;AAAA,MACJ;AAAA,QACI;AAAA,QACA;AAAA,MAChB;AAAA,MACY;AAAA,QACI;AAAA,QACA;AAAA,MAChB;AAAA,IACA;AAAA,EACA,GAAO,YAAY,QAAQ,CAAC;AAC5B;AACA,MAAM,4CAA8DF,2BAAmB,SAAS,QAAQ,OAAO,KAAK;AAChH,MAAI,QAAYQ,WAAmB,yCAAyC;AAC5E,SAAO,QAA0BN,+BAAc,cAAc,oCAAoC;AAAA,IAC7F;AAAA,IACA,cAAc;AAAA,EACtB,CAAK,IAAsBA,+BAAc,cAAkBO,2CAAoB,KAAK;AACpF,CAAC;AACD,SAAS,mCAAmC,EAAE,OAAc,cAAc,IAAG,GAAI;AAC7E,MAAI,QAAYD,WAAmB,yCAAyC;AAC5E,MAAI,EAAE,eAA8B,IAASA,WAAuB,yCAAyC;AAC7G,MAAI,EAAE,cAA2B,cAAc,qBAAyC,YAAW,IAAS,0CAA2C,yCAAyC;AAChM,MAAI,YAAgBE,0CAAqB,GAAG;AAC5C,MAAI,EAAE,aAA0B,IAASC,0CAAmB;AAAA,IACxD,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACR,GAAO,OAAO,SAAS;AACnB,MAAI,cAAkB,wCAAyC;AAAA,IAC3D,GAAG;AAAA,IACH,UAAU;AAAA,IACV,kBAAkB;AAAA,IAClB,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,IACZ;AAAA,EACA,CAAK;AACD,MAAI,WAAeL,0CAAuB,OAAO;AAAA,IAC7C,QAAQ;AAAA,EAChB,CAAK;AACD,SAAO,SAAS;AAChB,SAAyBJ,+BAAc,cAAkB,0CAA2C,KAAK;AAAA,IACrG,GAAOK,0CAAmB,UAAU,aAAa,YAAY;AAAA,IAC7D,KAAK;AAAA,IACL,oBAAoB,eAAe;AAAA,EAC3C,GAAyBL,+BAAc,cAAkB,2CAA4C,MAAwBA,+BAAc,cAAc,gBAAgB;AAAA,IACjK,YAAY,MAAM;AAAA,IAClB,eAAmB,0CAA2C,MAAM,iBAAiB,UAAU;AAAA,EACvG,CAAK,CAAC,CAAC;AACP;AACA,MAAM,qCAAN,MAAM,2CAA8CU,0CAAuB;AAI3E;AAFQ,mCAAK,OAAO;AAFpB,IAAM,oCAAN;AAKA,MAAM,4CAA8DC,0DAA4B,mCAAmC,CAAC,OAAO,cAAc,SAAO;AAC5J,MAAI,QAAYL,WAAmB,yCAAyC;AAC5E,MAAI,MAAUE,0CAAqB,YAAY;AAC/C,MAAI,EAAE,UAAoB,YAAwB,YAAwB,UAAoB,IAASI,0CAAe;AAAA,IAClH,KAAK,KAAK;AAAA,IACV,GAAG;AAAA,EACX,GAAO,OAAO,GAAG;AACb,MAAI,EAAE,YAAwB,WAAsB,mBAAuCT,0CAAmB;AAC9G,MAAI,EAAE,YAAwB,UAAoB,IAASU,0CAAiB;AAAA,IACxE;AAAA,IACA,cAAc,MAAM;AAAA,IACpB,YAAY,MAAM;AAAA,IAClB,eAAe,MAAM;AAAA,EAC7B,CAAK;AACD,MAAI,cAAkB,wCAAyC;AAAA,IAC3D,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,UAAU,KAAK;AAAA,IACf,kBAAkB;AAAA,IAClB,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,EACA,CAAK;AACD,MAAI,cAAc,KAAK,MAAM,OAAW,0CAA2C,IAAQ,0CAA2C;AACtI,MAAI,WAAeT,0CAAuB,OAAO;AAAA,IAC7C,QAAQ;AAAA,EAChB,CAAK;AACD,SAAO,SAAS;AAChB,SAAO,SAAS;AAChB,SAAyBJ,+BAAc,cAAc,aAAa;AAAA,IAC9D,GAAOK,0CAAmB,UAAU,aAAa,UAAU,YAAY,UAAU;AAAA,IACjF;AAAA,IACA,iBAAiB,cAAc;AAAA,IAC/B,iBAAiB,cAAc;AAAA,IAC/B,gBAAgB,aAAa;AAAA,IAC7B,sBAAsB,kBAAkB;AAAA,IACxC,gBAAgB,aAAa;AAAA,IAC7B,gBAAgB,aAAa;AAAA,EACrC,GAAyBL,+BAAc,cAAkB,0CAA2C,UAAU;AAAA,IACtG,OAAO;AAAA,MACH;AAAA,IACZ;AAAA,EACA,GAAO,YAAY,QAAQ,CAAC;AAC5B,CAAC;AAwDD,MAAM,4CAA8Dc,0DAAgC,SAAS,SAAS,OAAO,cAAc;AACvI,QAAM,QAAYR,WAAmB,yCAAyC;AAC9E,MAAI,MAAUE,0CAAqB,YAAY;AAG/C,MAAI,aAAa,MAAM,gBAAgB,MAAM;AAC7C,MAAI,CAAC,qBAAqB,oBAAoB,IAAQO,SAAiB,MAAM,eAAe,OAAO,aAAa,IAAI;AACpH,MAAI,uBAAuB,QAAQ,MAAM,eAAe,KAAM,sBAAqB,UAAU;AAAA,WACpF,CAAC,cAAc,oBAAqB,sBAAqB,KAAK;AACvE,MAAI,YAAgBC,0CAAyB,KAAK,UAAU;AAC5D,MAAI,CAAC,cAAc,CAAC,MAAM,oBAAoB,CAAC,UAAW,QAAO;AACjE,SAAyBhB,+BAAc,cAAc,qCAAqC;AAAA,IACtF,GAAG;AAAA,IACH,aAAa;AAAA,IACb,qBAAqB,uBAAuB;AAAA,IAC5C;AAAA,EACR,CAAK;AACL,CAAC;AACD,SAAS,oCAAoC,OAAO;AAChD,MAAI,QAAYM,WAAmB,yCAAyC;AAE5E,MAAI,EAAE,IAAQ,aAAa,KAAK,qBAA0C,WAAsB,GAAG,WAAU,IAAK;AAClH,MAAI,EAAE,cAA4B,IAASW,0CAAoB,OAAO,OAAO,GAAG;AAChF,MAAI,EAAE,YAAwB,WAAsB,mBAAuCd,0CAAmB;AAC9G,MAAI,aAAa,MAAM,gBAAgB,MAAM;AAC7C,MAAI,aAAiBe,0CAA0B,GAAG,KAAK,CAAC;AACxD,MAAI,cAAkB,wCAAyC;AAAA,IAC3D,GAAG;AAAA,IACH,kBAAkB;AAAA,IAClB,QAAQ;AAAA,MACJ;AAAA,MACA;AAAA;AAAA,MAEA,SAAaC,0CAAmB,CAAC,UAAU;AAAA,MAC3C;AAAA,MACA;AAAA,MACA;AAAA,IACZ;AAAA,EACA,CAAK;AACD,MAAI,WAAef,0CAAuB,YAAY;AAAA,IAClD,QAAQ;AAAA,EAChB,CAAK;AACD,SAAO,SAAS;AAChB,MAAI,WAAW,aAAiBC,0CAAmB,UAAU,eAAe,YAAY,WAAW,IAAQA,0CAAmB,UAAU,WAAW;AACnJ,SAAyBL,+BAAc,cAAkB,0CAA2C,KAAK;AAAA,IACrG,GAAG;AAAA,IACH;AAAA,IACA,gBAAgB,aAAa;AAAA,IAC7B,sBAAsB,kBAAkB;AAAA;AAAA,IAExC,OAAWmB,0CAAmB,CAAC,cAAc,MAAM,KAAK;AAAA,IACxD,cAAc,CAAC,aAAa,SAAS;AAAA,IACrC,iBAAiB,cAAc;AAAA,IAC/B,gBAAgB,aAAa;AAAA,EACrC,GAAyBnB,+BAAc,cAAkB,2CAA4C;AAAA,IAC7F,QAAQ;AAAA,MACJ;AAAA,QACI;AAAA,QACA;AAAA,MAChB;AAAA,MACY;AAAA,QACI;AAAA,QACA;AAAA,MAChB;AAAA,IACA;AAAA,EACA,GAAyBA,+BAAc,cAAkB,0CAA2C,UAAU;AAAA,IACtG,OAAW;AAAA,EACnB,GAAO,YAAY,QAAQ,CAAC,CAAC;AAC7B;ACzUO,MAAMoB,eAAeC,GAAG;AAAA,EAC9BC,iBAAiB;AAAA,IAChBC,OAAO;AAAA,IACPC,SAAS;AAAA,EAAA;AAAA,EAEVC,OAAO;AAAA,IACNC,MAAM;AAAA,IACNC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC,UAAU;AAAA,IACVC,WAAW;AAAA,IACXC,KAAK;AAAA,IACLC,cAAc;AAAA,IACdC,SAAS;AAAA,IACTC,kBAAkB;AAAA,IAClBC,UAAU;AAAA,EAAA;AAAA,EAEXC,UAAU;AAAA,IACTb,OAAO;AAAA,MACNc,QAAQ,CAAA;AAAA;AAAA,MACRC,KAAK;AAAA,QACJZ,MAAM;AAAA,MAAA;AAAA,MAEPa,OAAO;AAAA,QACNb,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,IAEDF,SAAS;AAAA,MACRgB,SAAS,CAAA;AAAA,MACTC,WAAW;AAAA,QACVf,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,EACD;AAEF,CAAC;AChCD,MAAMgB,SAAS;AAAA,EACdC,MAAM;AAAA,EAENC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,KAAK;AAAA,EACLC,OAAO;AAAA,EACPC,QAAQ;AACT;AASA,MAAMC,cAAwC;AAAA,EAC7CC,OAAOR,OAAOG;AAAAA,EACdM,OAAOT,OAAOI;AAAAA,EACdM,MAAMV,OAAOC;AAAAA,EACbU,SAASX,OAAOE;AAAAA,EAChBU,MAAMZ,OAAOM;AACd;AAEA,MAAMO,cAAwC;AAAA,EAC7CL,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,MAAM;AAAA,EACNC,SAAS;AAAA,EACTC,MAAM;AACP;AAEO,MAAME,OAAO;AAAA,EACXC;AAAAA,EACAC;AAAAA,EAERC,YAAYC,UAAyB,IAAI;AACxC,SAAKH,UAAUG,QAAQH,WAAW;AAClC,SAAKC,SAASE,QAAQF,UAAU;AAAA,EACjC;AAAA,EAEQG,cAAcC,OAAiBC,SAAyB;AAC/D,UAAMC,QAAQf,YAAYa,KAAK;AAC/B,UAAMG,QAAQV,YAAYO,KAAK;AAE/B,WAAO,GAAGE,KAAK,IAAI,KAAKN,MAAM,IAAIhB,OAAOK,KAAK,IAAIkB,KAAK,KAAKF,OAAO;AAAA,EACpE;AAAA,EAEQG,IAAIJ,OAAiBC,YAAoBI,MAAmB;AACnE,QAAI,CAAC,KAAKV,QAAS;AAEM,SAAKI,cAAcC,OAAOC,OAAO;AAAA,EAY3D;AAAA,EAEAX,KAAKW,YAAoBI,MAAmB;AAC3C,SAAKD,IAAI,QAAQH,SAAS,GAAGI,IAAI;AAAA,EAClC;AAAA,EAEAd,QAAQU,YAAoBI,MAAmB;AAC9C,SAAKD,IAAI,WAAWH,SAAS,GAAGI,IAAI;AAAA,EACrC;AAAA,EAEAb,KAAKS,YAAoBI,MAAmB;AAC3C,SAAKD,IAAI,QAAQH,SAAS,GAAGI,IAAI;AAAA,EAClC;AAAA,EAEAhB,MAAMY,YAAoBI,MAAmB;AAC5C,SAAKD,IAAI,SAASH,SAAS,GAAGI,IAAI;AAAA,EACnC;AAAA,EAEAjB,MAAMa,YAAoBI,MAAmB;AAC5C,SAAKD,IAAI,SAASH,SAAS,GAAGI,IAAI;AAAA,EACnC;AAAA,EAEAC,QAAQC,OAAe,KAAKC,SAAiB,IAAU;AACtD,QAAI,CAAC,KAAKb,QAAS;AAAA,EAEpB;AAAA,EAEAc,UAAgB;AACf,QAAI,CAAC,KAAKd,QAAS;AAAA,EAEpB;AACD;AC7FA,MAAMe,SAAS,IAAIhB,OAAO;AAAA,EAAEE,QAAQ;AAAS,CAAC;AAG9C,IAAIe;AAEJ,MAAMC,UAAU,OAAOC,YAAY,eAAeA,QAAQC,MAAM,UAAU,MAAM;AAWzE,MAAMC,uBAAuB,CAAmBC,SAAiB;AACvE,MAAIJ,SAAS;AACZD,qCAAiBM,IAAAA;AAEjB,QAAIN,SAASO,IAAIF,IAAI,GAAG;AACvBN,aAAOlB,KAAK,8BAA8BwB,IAAI,+EAA+E;AAAA,IAC9H;AAEAL,aAASQ,IAAIH,IAAI;AAAA,EAClB;AAGA,QAAMI,MAAM,uBAAuBJ,IAAI;AACvC,QAAMK,cAAcC,cAA6BC,MAAS;AAE1D,QAAMC,SAASA,CAACC,UAAqBC,UAAwB;AAC5D,WAAOC,SAASC,IAAIH,UAAWI,CAAAA,UAAU;AACxC,UAAI,CAACC,eAAeD,KAAK,GAAG;AAC3B,eAAOA;AAAAA,MACR;AAEA,aAAOE,eAAMC,aAAaH,OAAgD;AAAA,QACzE,CAACT,GAAG,GAAGM;AAAAA,MAAAA,CACP;AAAA,IACF,CAAC;AAAA,EACF;AAEA,QAAMO,UAAU,CAAmBC,UAAiD;AACnF,UAAM;AAAA,MAAE,CAACd,GAAG,GAAGe;AAAAA,MAAU,GAAGC;AAAAA,IAAAA,IAASF;AAErC,WAAO,CAACC,UAAUC,IAAS;AAAA,EAC5B;AAEA,QAAMC,UAAUH,CAAAA,UAAA;AAAA,UAAAI,IAAAC,EAAA,CAAA;AAAA,QAAAC;AAAA,QAAAF,SAAAJ,OAAA;AACWM,WAAAP,QAAQC,KAAK;AAACI,aAAAJ;AAAAI,aAAAE;AAAAA,IAAA,OAAA;AAAAA,WAAAF,EAAA,CAAA;AAAA,IAAA;AAAxC,UAAA,CAAAG,WAAAL,IAAA,IAA0BI;AAC1B,UAAAE,cAAoBC,WAAWtB,WAAW;AAElC,UAAAuB,KAAAH,aAAAC;AAAwB,QAAAG;AAAA,QAAAP,EAAA,CAAA,MAAAF,QAAAE,SAAAM,IAAA;AAAzBC,WAAA,CAACD,IAA0BR,IAAI;AAACE,aAAAF;AAAAE,aAAAM;AAAAN,aAAAO;AAAAA,IAAA,OAAA;AAAAA,WAAAP,EAAA,CAAA;AAAA,IAAA;AAAA,WAAhCO;AAAAA,EAAgC;AAGxC,QAAMC,WAAWN,CAAAA,OAAA;AAAA,UAAAF,IAAAC,EAAA,CAAA;AAAA,QAAAQ;AAAA,QAAAH;AAAA,QAAAC;AAAA,QAAAP,SAAAE,IAAA;AAAC,YAAA;AAAA,QAAAf;AAAAA,QAAA,GAAAC;AAAAA,MAAAA,IAAAc;AACTO,WAAA1B,YAAW2B;AAAiBJ,WAAAlB;AAAamB,WAAArB,OAAOC,UAAUC,KAAU;AAACY,aAAAE;AAAAF,aAAAS;AAAAT,aAAAM;AAAAN,aAAAO;AAAAA,IAAA,OAAA;AAAAE,WAAAT,EAAA,CAAA;AAAAM,WAAAN,EAAA,CAAA;AAAAO,WAAAP,EAAA,CAAA;AAAA,IAAA;AAAA,QAAAW;AAAA,QAAAX,EAAA,CAAA,MAAAS,MAAAT,SAAAM,MAAAN,EAAA,CAAA,MAAAO,IAAA;AAAtEI,WAAA,oBAAC,IAAA,EAA4B,OAAAL,IAAaC,UAAAA,IAA6B;AAAuBP,aAAAS;AAAAT,aAAAM;AAAAN,aAAAO;AAAAP,aAAAW;AAAAA,IAAA,OAAA;AAAAA,WAAAX,EAAA,CAAA;AAAA,IAAA;AAAA,WAA9FW;AAAAA,EAA8F;AAGtGH,WAASI,cAAc,yBAAyBlC,IAAI;AAIpD,QAAMmC,WAAW,CAChBC,WACAC,kBACI;AACJ,UAAMC,UAAUC,WAAsC,SAASC,qBAAqBtB,OAAOuB,cAAc;AACxG,YAAM,CAACtB,UAAUC,IAAI,IAAIC,QAAQH,KAAK;AACtC,YAAM;AAAA,QAAET;AAAAA,QAAU,GAAGiC;AAAAA,MAAAA,IAActB;AAEnC,UAAI,CAACD,UAAU;AACd,mCACE,WAAA,EAAU,GAAKuB,WAAiB,KAAKD,cACpChC,UACF;AAAA,MAEF;AAEA,UAAI4B,eAAe;AAElB,eAAOA,cAAc;AAAA,UAAE,GAAIK;AAAAA,UAAiBjC;AAAAA,QAAAA,GAAYU,UAAUsB,YAAY;AAAA,MAC/E;AAEA,YAAM;AAAA,QACLE,WAAWC;AAAAA,QACXC,QAAQC;AAAAA,QACR,GAAGC;AAAAA,MAAAA,IACA5B;AAKJ,iCACE,WAAA,EAAU,GAAKuB,WAAiB,KAAKD,cACpCK,yBACAA,aAAa;AAAA,QAAErC;AAAAA,QAAUkC,WAAWC;AAAAA,QAAoB,GAAGG;AAAAA,MAAAA,CAAe,IAE1E,oBAAC,OAAA,EAAI,WAAWH,oBAAoB,aAAW,GAAG5C,IAAI,cAAc,GAAI+C,eACtEtC,UACF,EAAA,CAEF;AAAA,IAEF,CAAC;AAED6B,YAAQJ,cAAc,6BAA6BE,UAAUF,eAAeE,UAAUpC,QAAQA,IAAI;AAElG,WAAOsC;AAAAA,EACR;AAEA,SAAO;AAAA,IACNlC;AAAAA,IACAI;AAAAA,IACAS;AAAAA,IACAI;AAAAA,IACAS;AAAAA,IACAK;AAAAA,IACAa,SAAS3C;AAAAA,EAAAA;AAEX;ACzHA,SAAS4C,qBACRN,WACAO,UAC8B;AAC9B,SAAOC,0CAAmBR,WAAW,CAACA,YAAWS,gBAAwB;AACxE,UAAMC,KAAK,OAAOH,aAAa,aAAcA,SAASE,WAAW,KAAK,KAAOF,YAAY;AACzF,UAAMI,MAAMX,cAAa;AAEzB,WAAOY,GAAGF,IAAIC,GAAG,KAAK;AAAA,EACvB,CAAC;AACF;AAEO,MAAME,uBAAuBA,CACnCC,QACAd,WACArF,aACwB;AACxB,SAAO,OAAOmG,WAAW,aAAaA,OAAO;AAAA,IAAE,GAAgB,CAAA;AAAA,IAAKd;AAAAA,EAAAA,CAAW,IAAIA;AACpF;ACOA,SAASe,WAAWC,aAAqBzC,OAAqG;AAC7I,QAAM;AAAA,IAAE0C,KAAKnB;AAAAA,IAAcI;AAAAA,IAAQ,GAAGgB;AAAAA,EAAAA,IAAe3C;AACrD,QAAM4C,aAAaC,OAA2B,IAAI;AAClD,QAAMH,MAAMI,QAAQ,MAAMC,0CAAUxB,cAAcqB,UAAU,GAAG,CAACrB,cAAcqB,UAAU,CAAC;AAEzFI,4CAAgB,MAAM;AACrB,QAAI,OAAOrE,YAAY,eAAeA,QAAQC,MAAM,UAAU,MAAM,gBAAgB+C,QAAQ;AAC3F,UAAI,CAACiB,WAAWK,QAAS;AAAA,IAK1B;AAAA,EACD,GAAG,CAACR,aAAad,MAAM,CAAC;AAExB,QAAMuB,WAAgB;AAAA,IAAE,GAAGP;AAAAA,IAAYD;AAAAA,EAAAA;AAEvC,MAAIf,QAAQ;AACX,WAAOA,OAAOuB,UAAU7D,MAAS;AAAA,EAClC;AAEA,SAAO,oBAAC,aAAA,EAAY,GAAI6D,SAAAA,CAAS;AAClC;AAMA,MAAMC,oBAA6C,CAAA;AAG5C,MAAMC,MAAM,IAAIC,MACtB,IACA;AAAA,EACCC,IAAIC,SAASC,aAAa;AACzB,QAAI,OAAOA,gBAAgB,UAAU;AACpC,aAAOnE;AAAAA,IACR;AAEA,QAAIoE,MAAMN,kBAAkBK,WAAW;AAEvC,QAAI,CAACC,KAAK;AACTA,YAAMjB,WAAWkB,KAAK,MAAMF,WAAW;AACvCL,wBAAkBK,WAAW,IAAIC;AAAAA,IAClC;AAEA,WAAOA;AAAAA,EACR;AACD,CACD;AC9EO,MAAME,kBAAkB3D,CAAAA,UAAA;AAAA,QAAAI,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAwD,uBAAAC,IAAA,2BAAA,GAAA;AAE7BvD,uCACU,UAAA,WACP,GAAA,oIACG,MAAA,gBACI,UAAA,UAAA,CAAS;AACjBF,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAM;AAAA,MAAAN,SAAAJ,OAAA;AANHU,sCAAiB,eAAA,QAAY,MAAA,QAAe,QAAA,IAAS,MAAA,gBAAuB,SAAA,aAAmB,OAAA,IAAU,OAAA,iCAAiCV,OACzIM,UAAAA,IAMD;AAAMF,WAAAJ;AAAAI,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAA,SAPNM;AAOM;AAGA,MAAMoD,gBAAgB9D,CAAAA,UAAA;AAAA,QAAAI,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAwD,uBAAAC,IAAA,2BAAA,GAAA;AAE3BvD,uCACU,UAAA,WACP,GAAA,qIACG,MAAA,gBACI,UAAA,UAAA,CAAS;AACjBF,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAM;AAAA,MAAAN,SAAAJ,OAAA;AANHU,sCAAiB,eAAA,QAAY,MAAA,QAAe,QAAA,IAAS,MAAA,gBAAuB,SAAA,aAAmB,OAAA,IAAU,OAAA,iCAAiCV,OACzIM,UAAAA,IAMD;AAAMF,WAAAJ;AAAAI,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAA,SAPNM;AAOM;AAGA,MAAMqD,kBAAkB/D,CAAAA,UAAA;AAAA,QAAAI,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAwD,uBAAAC,IAAA,2BAAA,GAAA;AAE7BvD,uCACU,UAAA,WACP,GAAA,oIACG,MAAA,gBACI,UAAA,UAAA,CAAS;AACjBF,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAM;AAAA,MAAAN,SAAAJ,OAAA;AANHU,sCAAiB,eAAA,QAAY,MAAA,QAAe,QAAA,IAAS,MAAA,gBAAuB,SAAA,aAAmB,OAAA,IAAU,OAAA,iCAAiCV,OACzIM,UAAAA,IAMD;AAAMF,WAAAJ;AAAAI,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAA,SAPNM;AAOM;AAGA,MAAMsD,mBAAmBhE,CAAAA,UAAA;AAAA,QAAAI,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,MAAAF,EAAA,CAAA,MAAAwD,uBAAAC,IAAA,2BAAA,GAAA;AAE9BvD,uCACU,UAAA,WACP,GAAA,oIACG,MAAA,gBACI,UAAA,UAAA,CAAS;AACjBF,WAAAE;AAAAA,EAAA,OAAA;AAAAA,SAAAF,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAM;AAAA,MAAAN,SAAAJ,OAAA;AANHU,sCAAiB,eAAA,QAAY,MAAA,QAAe,QAAA,IAAS,MAAA,gBAAuB,SAAA,aAAmB,OAAA,IAAU,OAAA,iCAAiCV,OACzIM,UAAAA,IAMD;AAAMF,WAAAJ;AAAAI,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAA,SAPNM;AAOM;ACnBP,MAAMuD,cAAc7E,cAA2B,EAAE;AAUjD,MAAM8E,oBAAoBrF,qBAAiD,oBAAoB;AAU/F,MAAMsF,WAAW7D,CAAAA,OAAA;AAAA,QAAAF,IAAAC,EAAA,EAAA;AAAA,MAAA9E;AAAA,MAAAgE;AAAA,MAAAkC;AAAA,MAAAzB;AAAA,MAAAU;AAAA,MAAAlF;AAAA,MAAA4E,SAAAE,IAAA;AAAC,KAAA;AAAA,MAAA/E;AAAAA,MAAAgE;AAAAA,MAAAkC;AAAAA,MAAA2C,aAAA1D;AAAAA,MAAAlF;AAAAA,MAAA,GAAAwE;AAAAA,IAAAA,IAAAM;AAA4FF,WAAAE;AAAAF,WAAA7E;AAAA6E,WAAAb;AAAAa,WAAAqB;AAAArB,WAAAJ;AAAAI,WAAAM;AAAAN,WAAA5E;AAAAA,EAAA,OAAA;AAAAD,YAAA6E,EAAA,CAAA;AAAAb,eAAAa,EAAA,CAAA;AAAAqB,gBAAArB,EAAA,CAAA;AAAAJ,YAAAI,EAAA,CAAA;AAAAM,SAAAN,EAAA,CAAA;AAAA5E,cAAA4E,EAAA,CAAA;AAAA,EAAA;AAA9D,QAAAgE,cAAA1D,OAAArB,SAAA,eAAAqB;AAA0B,MAAAC;AAAA,MAAAP,EAAA,CAAA,MAAA7E,SAAA6E,SAAA5E,SAAA;AACvCmF,SAAAvF,aAAa;AAAA,MAAAG;AAAAA,MAAAC;AAAAA,IAAAA,CAAkB;AAAC4E,WAAA7E;AAAA6E,WAAA5E;AAAA4E,WAAAO;AAAAA,EAAA,OAAA;AAAAA,SAAAP,EAAA,CAAA;AAAA,EAAA;AAAlE,QAAA3E,QAAkCkF;AAAoD,MAAAI;AAAA,MAAAX,EAAA,EAAA,MAAAgE,eAAAhE,UAAA3E,OAAA;AAC5CsF,SAAA;AAAA,MAAAqD;AAAAA,MAAA3I;AAAAA,IAAAA;AAAsB2E,YAAAgE;AAAAhE,YAAA3E;AAAA2E,YAAAW;AAAAA,EAAA,OAAA;AAAAA,SAAAX,EAAA,EAAA;AAAA,EAAA;AAAhE,QAAAiE,eAA0CtD;AAA+C,MAAAuD;AAAA,MAAAlE,EAAA,EAAA,MAAAqB,aAAArB,UAAA3E,OAAA;AAIlD6I,SAAAvC,qBAAqBN,WAAWhG,MAAKC,KAAAA,CAAO;AAAC0E,YAAAqB;AAAArB,YAAA3E;AAAA2E,YAAAkE;AAAAA,EAAA,OAAA;AAAAA,SAAAlE,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAmE;AAAA,MAAAnE,EAAA,EAAA,MAAAb,YAAAa,EAAA,EAAA,MAAAgE,eAAAhE,EAAA,EAAA,MAAAJ,SAAAI,UAAAkE,IAAA;AAAlFC,SAAA,oBAACC,6CAAa,GAAKxE,OAAkB,WAAAsE,IAAyD,aAAA,QAAoBF,aAChH7E,SAAAA,CACF;AAAgBa,YAAAb;AAAAa,YAAAgE;AAAAhE,YAAAJ;AAAAI,YAAAkE;AAAAlE,YAAAmE;AAAAA,EAAA,OAAA;AAAAA,SAAAnE,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAqE;AAAA,MAAArE,EAAA,EAAA,MAAAiE,gBAAAjE,UAAAmE,IAAA;AAHjBE,SAAA,oBAAC,aAAA,EAAmBJ,OAAAA,cACnBE,UAAAA,IAGD;AAAcnE,YAAAiE;AAAAjE,YAAAmE;AAAAnE,YAAAqE;AAAAA,EAAA,OAAA;AAAAA,SAAArE,EAAA,EAAA;AAAA,EAAA;AAAA,SAJdqE;AAIc;AAYhB,MAAMC,mBAAmBpE,CAAAA,OAAA;AAAA,QAAAF,IAAAC,EAAA,EAAA;AAAA,MAAAd;AAAA,MAAAkC;AAAA,MAAAkD;AAAA,MAAAhD;AAAA,MAAAvB,SAAAE,IAAA;AAAsD,KAAA;AAAA,MAAAf;AAAAA,MAAAkC;AAAAA,MAAAE;AAAAA,MAAA,GAAAgD;AAAAA,IAAAA,IAAArE;AAKmBF,WAAAE;AAAAF,WAAAb;AAAAa,WAAAqB;AAAArB,WAAAuE;AAAAvE,WAAAuB;AAAAA,EAAA,OAAA;AAAApC,eAAAa,EAAA,CAAA;AAAAqB,gBAAArB,EAAA,CAAA;AAAAuE,qBAAAvE,EAAA,CAAA;AAAAuB,aAAAvB,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAM;AAAA,MAAAN,EAAA,CAAA,MAAAqB,aAAArB,SAAAuE,kBAAAvE,EAAA,CAAA,MAAAuB,QAAA;AAE/DjB,SAAA;AAAA,MAAA,GAAKiE;AAAAA,MAAclD;AAAAA,MAAAE;AAAAA,IAAAA;AAAqBvB,WAAAqB;AAAArB,WAAAuE;AAAAvE,WAAAuB;AAAAvB,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAxC,QAAAO,KAAAD;AAAsE,MAAAK;AAAA,MAAAX,EAAA,CAAA,MAAAb,YAAAa,UAAAO,IAAA;AAAvGI,6BAAA,kBAAA,UAAA,EAAA,GAAiCJ,IAC/BpB,UACF;AAA6Ba,WAAAb;AAAAa,YAAAO;AAAAP,YAAAW;AAAAA,EAAA,OAAA;AAAAA,SAAAX,EAAA,EAAA;AAAA,EAAA;AAAA,SAF7BW;AAE6B;AAY/B,MAAM6D,WAAUA,CAAC;AAAA,EAAErF;AAAAA,EAAUkC;AAAAA,EAAW,GAAGzB;AAAoB,MAAM;AACpE,QAAM;AAAA,IAAEoE,cAAc;AAAA,IAAc3I;AAAAA,EAAAA,IAAUoJ,IAAIZ,WAAW;AAC7D,QAAMa,cAAcjC,OAA8B,IAAI;AACtD,QAAMkC,aAAaX,gBAAgB;AAEnC,QAAM,CAACY,oBAAoBxD,SAAS,IAAI0C,kBAAkB/D,QAAQH,KAAK;AAEvE,QAAMiF,WAAWC,YAChB,CAACC,cAAsB;AACtB,UAAMC,KAAKN,YAAY7B;AAEvB,QAAI,CAACmC,GAAI;AACT,UAAMC,OAAON,aAAaK,GAAGE,eAAeF,GAAGG;AAC/C,UAAMC,aAAaT,aAAaK,GAAGK,eAAeL,GAAGM;AACrD,UAAMC,YAAYC,KAAKC,IAAI,GAAGL,aAAaH,IAAI;AAI/C,UAAMS,QAAQ,CAACf,cAAcgB,iBAAiBX,EAAE,EAAED,cAAc;AAChE,UAAMa,QAAQb,YAAYE,OAAO,OAAOS,QAAQ,KAAK;AACrD,UAAM7C,UAAU8B,aAAaK,GAAGa,YAAYb,GAAGc;AAM/C,UAAMC,OAAOP,KAAKQ,IAAIN,QAAQ,IAAIH,WAAWC,KAAKC,IAAIC,QAAQ,CAACH,YAAY,GAAG1C,UAAU+C,KAAK,CAAC;AAE9F,QAAIG,SAASlD,QAAS;AAEtBmC,OAAGiB,SAAS;AAAA,MACXC,UAAU;AAAA,MACV,CAACvB,aAAa,QAAQ,MAAM,GAAGoB;AAAAA,IAAAA,CAC/B;AAAA,EACF,GACA,CAACpB,UAAU,CACZ;AAGA,MAAI,CAACC,oBAAoB;AACxB,WACC,oBAACuB,2CAAA,EAAiB,GAAI/E,WAAW,WAAWO,qBAAqBN,WAAWhG,OAAOQ,QAAAA,CAAS,GAAG,aAAU,aACvGsD,SAAAA,CACF;AAAA,EAEF;AAEA,QAAM;AAAA,IAAEkC,WAAWC;AAAAA,IAAoBC,QAAQ6E;AAAAA,IAAiB,GAAG3E;AAAAA,EAAAA,IAAkBmD;AAErF,SACC,oBAACuB,2CAAA,EACA,GAAI/E,WACJ,WAAWO,qBAAqBN,WAAWhG,OAAOQ,QAAAA,CAAS,GAC3D,aAAU,aACV,QAASiG,CAAAA,gBAAgB;AACxB,UAAM;AAAA,MACL3C,UAAUkH;AAAAA,MACVhF,WAAWiF;AAAAA,MACXhE,KAAKiE;AAAAA,MACL,GAAGC;AAAAA,IAAAA,IACA1E;AAIJ,WACC,qBAAC,IAAI,KAAJ,EACA,WAAWI,qBAAqB7G,OAAOS,kBAAkBwF,kBAAkB,GAC3E,aAAU,uBACV,QAAQ8E,iBACR,GAAK3E,eAEL,UAAA;AAAA,MAAA,oBAAC,cAAA,EACA,KAAKiD,aACL,eAAa,MACb,WAAWxC,qBAAqB7G,OAAOI,QAAQ,GAC/C,aACA,MAAM,IAEN,UAAA,oBAAC,SAAI,GAAI+K,UAAU,KAAKD,SAAS,WAAWD,eAC1CD,UAAAA,aAAAA,CACF,EAAA,CACD;AAAA,MAEA,oBAAC,UAAA,EACA,cAAY1B,aAAa,mBAAmB,oBAC5C,WAAWzC,qBAAqB7G,OAAOG,UAAU,GACjD,UAAU,IACV,MAAK,UACL,SAAS,MAAMqJ,SAAS,EAAE,GAEzBF,UAAAA,aAAa,oBAAC,eAAA,CAAA,CAAa,IAAM,oBAAC,iBAAA,CAAA,CAAe,EAAA,CACnD;AAAA,MAEA,oBAAC,UAAA,EACA,cAAYA,aAAa,qBAAqB,qBAC9C,WAAWzC,qBAAqB7G,OAAOE,UAAU,GACjD,UAAU,IACV,MAAK,UACL,SAAS,MAAMsJ,SAAS,CAAC,GAExBF,UAAAA,aAAa,oBAAC,iBAAA,CAAA,CAAe,IAAM,oBAAC,kBAAA,CAAA,CAAgB,EAAA,CACtD;AAAA,IAAA,GACD;AAAA,EAEF,GAECxF,SAAAA,CACF;AAEF;AASA,MAAMsH,MAAMvG,CAAAA,OAAA;AAAA,QAAAF,IAAAC,EAAA,EAAA;AAAA,MAAAd;AAAA,MAAAkC;AAAA,MAAAzB;AAAA,MAAAI,SAAAE,IAAA;AAAC,KAAA;AAAA,MAAAf;AAAAA,MAAAkC;AAAAA,MAAA,GAAAzB;AAAAA,IAAAA,IAAAM;AAA2CF,WAAAE;AAAAF,WAAAb;AAAAa,WAAAqB;AAAArB,WAAAJ;AAAAA,EAAA,OAAA;AAAAT,eAAAa,EAAA,CAAA;AAAAqB,gBAAArB,EAAA,CAAA;AAAAJ,YAAAI,EAAA,CAAA;AAAA,EAAA;AACvD,QAAA;AAAA,IAAA3E;AAAAA,EAAAA,IAAkBoJ,IAAIZ,WAAW;AAAE,MAAAvD;AAAA,MAAAN,EAAA,CAAA,MAAAqB,aAAArB,SAAA3E,OAAA;AAGEiF,SAAAqB,qBAAqBN,WAAWhG,OAAKM,IAAAA,CAAO;AAACqE,WAAAqB;AAAArB,WAAA3E;AAAA2E,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAO;AAAA,MAAAP,EAAA,CAAA,MAAAb,YAAAa,SAAAJ,SAAAI,EAAA,CAAA,MAAAM,IAAA;AAAjFC,6BAACmG,6CAAY,GAAK9G,OAAkB,WAAAU,IAAyD,aAAA,sBAE7F;AAAeN,WAAAb;AAAAa,WAAAJ;AAAAI,WAAAM;AAAAN,YAAAO;AAAAA,EAAA,OAAA;AAAAA,SAAAP,EAAA,EAAA;AAAA,EAAA;AAAA,SAFfO;AAEe;AAWjB,MAAMoG,eAAezG,CAAAA,OAAA;AAAA,QAAAF,IAAAC,EAAA,CAAA;AAAA,MAAAoB;AAAA,MAAAzB;AAAA,MAAAI,SAAAE,IAAA;AAAC,KAAA;AAAA,MAAAmB;AAAAA,MAAA,GAAAzB;AAAAA,IAAAA,IAAAM;AAA0CF,WAAAE;AAAAF,WAAAqB;AAAArB,WAAAJ;AAAAA,EAAA,OAAA;AAAAyB,gBAAArB,EAAA,CAAA;AAAAJ,YAAAI,EAAA,CAAA;AAAA,EAAA;AAC/D,QAAA;AAAA,IAAA3E;AAAAA,EAAAA,IAAkBoJ,IAAIZ,WAAW;AAEmC,QAAAvD,KAAAjF,OAAKO;AAAc,MAAA2E;AAAA,MAAAP,EAAA,CAAA,MAAAqB,aAAArB,SAAAM,IAAA;AAAxCC,SAAA2B,qBAAqB5B,IAAqBe,SAAS;AAACrB,WAAAqB;AAAArB,WAAAM;AAAAN,WAAAO;AAAAA,EAAA,OAAA;AAAAA,SAAAP,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAW;AAAA,MAAAX,EAAA,CAAA,MAAAJ,SAAAI,SAAAO,IAAA;AAA5FI,6BAACiG,2CAAA,EAAuC,WAAArG,IAAgE,aAAA,kBAAgB,GAAKX,OAAK;AAAII,WAAAJ;AAAAI,WAAAO;AAAAP,WAAAW;AAAAA,EAAA,OAAA;AAAAA,SAAAX,EAAA,CAAA;AAAA,EAAA;AAAA,SAAtIW;AAAsI;AAW9I,MAAMkG,YAAW3G,CAAAA,OAAA;AAAA,QAAAF,IAAAC,EAAA,EAAA;AAAA,MAAAd;AAAA,MAAAkC;AAAA,MAAAzB;AAAA,MAAAI,SAAAE,IAAA;AAAC,KAAA;AAAA,MAAAf;AAAAA,MAAAkC;AAAAA,MAAA,GAAAzB;AAAAA,IAAAA,IAAAM;AAAgDF,WAAAE;AAAAF,WAAAb;AAAAa,WAAAqB;AAAArB,WAAAJ;AAAAA,EAAA,OAAA;AAAAT,eAAAa,EAAA,CAAA;AAAAqB,gBAAArB,EAAA,CAAA;AAAAJ,YAAAI,EAAA,CAAA;AAAA,EAAA;AACjE,QAAA;AAAA,IAAA3E;AAAAA,EAAAA,IAAkBoJ,IAAIZ,WAAW;AAAE,MAAAvD;AAAA,MAAAN,EAAA,CAAA,MAAAqB,aAAArB,SAAA3E,OAAA;AAGOiF,SAAAqB,qBAAqBN,WAAWhG,OAAKU,SAAAA,CAAY;AAACiE,WAAAqB;AAAArB,WAAA3E;AAAA2E,WAAAM;AAAAA,EAAA,OAAA;AAAAA,SAAAN,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAO;AAAA,MAAAP,EAAA,CAAA,MAAAb,YAAAa,SAAAJ,SAAAI,EAAA,CAAA,MAAAM,IAAA;AAA3FC,6BAACuG,6CAAiB,GAAKlH,OAAkB,WAAAU,IAA8D,aAAA,wBAEvG;AAAoBN,WAAAb;AAAAa,WAAAJ;AAAAI,WAAAM;AAAAN,YAAAO;AAAAA,EAAA,OAAA;AAAAA,SAAAP,EAAA,EAAA;AAAA,EAAA;AAAA,SAFpBO;AAEoB;AAWtB,MAAMwG,eAAe7G,CAAAA,OAAA;AAAA,QAAAF,IAAAC,EAAA,CAAA;AAAA,MAAAoB;AAAA,MAAAzB;AAAA,MAAAI,SAAAE,IAAA;AAAuD,KAAA;AAAA,MAAAmB;AAAAA,MAAA,GAAAzB;AAAAA,IAAAA,IAAAM;AAGcF,WAAAE;AAAAF,WAAAqB;AAAArB,WAAAJ;AAAAA,EAAA,OAAA;AAAAyB,gBAAArB,EAAA,CAAA;AAAAJ,YAAAI,EAAA,CAAA;AAAA,EAAA;AACzF,QAAA;AAAA,IAAA3E;AAAAA,EAAAA,IAAkBoJ,IAAIZ,WAAW;AAG6B,QAAAvD,KAAAjF,OAAKK;AAAW,MAAA6E;AAAA,MAAAP,EAAA,CAAA,MAAAqB,aAAArB,SAAAM,IAAA;AAArCC,SAAA2B,qBAAqB5B,IAAkBe,SAAS;AAACrB,WAAAqB;AAAArB,WAAAM;AAAAN,WAAAO;AAAAA,EAAA,OAAA;AAAAA,SAAAP,EAAA,CAAA;AAAA,EAAA;AAAkC,QAAAW,KAAAf;AAAY,MAAAsE;AAAA,MAAAlE,EAAA,CAAA,MAAAO,MAAAP,SAAAW,IAAA;AAAvIuD,yCAAsB,eAAA,QAAkB,WAAA3D,IAA6D,aAAA,kBAAgB,GAAMI,GAAAA,CAAY;AAAKX,WAAAO;AAAAP,WAAAW;AAAAX,WAAAkE;AAAAA,EAAA,OAAA;AAAAA,SAAAlE,EAAA,CAAA;AAAA,EAAA;AAAA,SAA5IkE;AAA4I;AC9PvI,MAAM8C,QAAOC,OAAOC,OAAOnD,UAAU;AAAA,EAC3CoD,MAAMpD;AAAAA,EACNqD,eAAe9C;AAAAA,EACf+C,MAAM7C;AAAAA,EACNiC;AAAAA,EACAa,WAAWX;AAAAA,EACXY,WAAWR;AAAAA,EACXS,OAAOX;AACR,CAAC;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}