lizaui 12.0.19 → 12.0.21

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 (186) hide show
  1. package/dist/button-group/index.cjs.js +1 -1
  2. package/dist/button-group/index.es.js +2 -2
  3. package/dist/button-v2/index.cjs.js +3 -3
  4. package/dist/button-v2/index.es.js +3 -3
  5. package/dist/chunks/{Button-daStTTzk.js → Button-Bumy9bze.js} +7 -56
  6. package/dist/chunks/Button-Bumy9bze.js.map +1 -0
  7. package/dist/chunks/{Button-DK8vIKEw.js → Button-CFYOfByw.js} +9 -58
  8. package/dist/chunks/Button-CFYOfByw.js.map +1 -0
  9. package/dist/chunks/{FocusScope-D-jCzxHq.js → FocusScope-4TdD5fCA.js} +3 -3
  10. package/dist/chunks/{FocusScope-D-jCzxHq.js.map → FocusScope-4TdD5fCA.js.map} +1 -1
  11. package/dist/chunks/{FocusScope-BJBTKF3R.js → FocusScope-jSNMAXzg.js} +3 -3
  12. package/dist/chunks/{FocusScope-BJBTKF3R.js.map → FocusScope-jSNMAXzg.js.map} +1 -1
  13. package/dist/chunks/Hidden-BY45Dc0j.js +54 -0
  14. package/dist/chunks/Hidden-BY45Dc0j.js.map +1 -0
  15. package/dist/chunks/Hidden-C55DpjMP.js +55 -0
  16. package/dist/chunks/Hidden-C55DpjMP.js.map +1 -0
  17. package/dist/chunks/{I18nProvider-8HiWALvM.js → I18nProvider-BUfkOEhQ.js} +2 -2
  18. package/dist/chunks/{I18nProvider-8HiWALvM.js.map → I18nProvider-BUfkOEhQ.js.map} +1 -1
  19. package/dist/chunks/{I18nProvider-DSyuLrKX.js → I18nProvider-Coj9x7B8.js} +2 -2
  20. package/dist/chunks/{I18nProvider-DSyuLrKX.js.map → I18nProvider-Coj9x7B8.js.map} +1 -1
  21. package/dist/chunks/{ProgressBar-CYj13G9N.js → ProgressBar-542C1mif.js} +5 -5
  22. package/dist/chunks/{ProgressBar-CYj13G9N.js.map → ProgressBar-542C1mif.js.map} +1 -1
  23. package/dist/chunks/{ProgressBar-BiWM84v5.js → ProgressBar-BiKRsJ8m.js} +5 -5
  24. package/dist/chunks/{ProgressBar-BiWM84v5.js.map → ProgressBar-BiKRsJ8m.js.map} +1 -1
  25. package/dist/chunks/SharedElementTransition-BSCoaphV.js +106 -0
  26. package/dist/chunks/{SharedElementTransition-D87oSBzB.js.map → SharedElementTransition-BSCoaphV.js.map} +1 -1
  27. package/dist/chunks/SharedElementTransition-CJVe1D_I.js +107 -0
  28. package/dist/chunks/{SharedElementTransition-BxczX23g.js.map → SharedElementTransition-CJVe1D_I.js.map} +1 -1
  29. package/dist/chunks/VisuallyHidden-CTe1-RoI.js +49 -0
  30. package/dist/chunks/VisuallyHidden-CTe1-RoI.js.map +1 -0
  31. package/dist/chunks/VisuallyHidden-DPJuOMsW.js +50 -0
  32. package/dist/chunks/VisuallyHidden-DPJuOMsW.js.map +1 -0
  33. package/dist/chunks/{button-group-CXxfE0Nh.js → button-group-CJ72SS4c.js} +2 -2
  34. package/dist/chunks/{button-group-CXxfE0Nh.js.map → button-group-CJ72SS4c.js.map} +1 -1
  35. package/dist/chunks/{button-group-CAIXp_CY.js → button-group-DJ5IdBp6.js} +2 -2
  36. package/dist/chunks/{button-group-CAIXp_CY.js.map → button-group-DJ5IdBp6.js.map} +1 -1
  37. package/dist/chunks/{compose-zqddfADC.js → compose-Cfw0sImv.js} +2 -2
  38. package/dist/chunks/{compose-zqddfADC.js.map → compose-Cfw0sImv.js.map} +1 -1
  39. package/dist/chunks/{compose-DVjlikkg.js → compose-DOOi0Yan.js} +2 -2
  40. package/dist/chunks/{compose-DVjlikkg.js.map → compose-DOOi0Yan.js.map} +1 -1
  41. package/dist/chunks/{focusSafely-CoIRf3xM.js → focusSafely-CKxVSn6H.js} +40 -2
  42. package/dist/chunks/{focusSafely-CoIRf3xM.js.map → focusSafely-CKxVSn6H.js.map} +1 -1
  43. package/dist/chunks/{focusSafely-kwqdsDlJ.js → focusSafely-DfEgLKh6.js} +46 -8
  44. package/dist/chunks/{focusSafely-kwqdsDlJ.js.map → focusSafely-DfEgLKh6.js.map} +1 -1
  45. package/dist/chunks/mergeRefs-Y9oG13yB.js +24 -0
  46. package/dist/chunks/mergeRefs-Y9oG13yB.js.map +1 -0
  47. package/dist/chunks/mergeRefs-t6d4XvXq.js +25 -0
  48. package/dist/chunks/mergeRefs-t6d4XvXq.js.map +1 -0
  49. package/dist/chunks/{number-ClNYm70x.js → number-CYgYWykt.js} +2 -2
  50. package/dist/chunks/{number-ClNYm70x.js.map → number-CYgYWykt.js.map} +1 -1
  51. package/dist/chunks/{number-apyCzMO6.js → number-DDpsLN2d.js} +2 -2
  52. package/dist/chunks/{number-apyCzMO6.js.map → number-DDpsLN2d.js.map} +1 -1
  53. package/dist/chunks/{radio-group-dNkQoY2h.js → radio-group-BwXvYzSm.js} +15 -13
  54. package/dist/chunks/{radio-group-dNkQoY2h.js.map → radio-group-BwXvYzSm.js.map} +1 -1
  55. package/dist/chunks/{radio-group-V6X0yA63.js → radio-group-hO2beGF6.js} +17 -15
  56. package/dist/chunks/{radio-group-V6X0yA63.js.map → radio-group-hO2beGF6.js.map} +1 -1
  57. package/dist/chunks/useControlledState-DE_m1RML.js +39 -0
  58. package/dist/chunks/useControlledState-DE_m1RML.js.map +1 -0
  59. package/dist/chunks/useControlledState-DZA25XHU.js +40 -0
  60. package/dist/chunks/useControlledState-DZA25XHU.js.map +1 -0
  61. package/dist/chunks/{useFormReset-Cf2fzi86.js → useFormReset-BYRGk5vb.js} +2 -2
  62. package/dist/chunks/{useFormReset-Cf2fzi86.js.map → useFormReset-BYRGk5vb.js.map} +1 -1
  63. package/dist/chunks/{useFormReset-Bwwr8ivc.js → useFormReset-Bgv2ktIE.js} +2 -2
  64. package/dist/chunks/{useFormReset-Bwwr8ivc.js.map → useFormReset-Bgv2ktIE.js.map} +1 -1
  65. package/dist/chunks/useHasTabbableChild-CSJ0P5QT.js +2577 -0
  66. package/dist/chunks/useHasTabbableChild-CSJ0P5QT.js.map +1 -0
  67. package/dist/chunks/useHasTabbableChild-kl2T5gEX.js +2576 -0
  68. package/dist/chunks/useHasTabbableChild-kl2T5gEX.js.map +1 -0
  69. package/dist/chunks/{useHover-B3gEex-2.js → useHover-BHCSbkLb.js} +3 -3
  70. package/dist/chunks/{useHover-B3gEex-2.js.map → useHover-BHCSbkLb.js.map} +1 -1
  71. package/dist/chunks/{useHover-Dn1CIUT8.js → useHover-D9f9xyxz.js} +3 -3
  72. package/dist/chunks/{useHover-Dn1CIUT8.js.map → useHover-D9f9xyxz.js.map} +1 -1
  73. package/dist/chunks/{useLabel-ClsFWJD0.js → useLabel-CzhH-Tov.js} +4 -23
  74. package/dist/chunks/useLabel-CzhH-Tov.js.map +1 -0
  75. package/dist/chunks/{useLabel-todYehRc.js → useLabel-YLbDMN-c.js} +4 -23
  76. package/dist/chunks/useLabel-YLbDMN-c.js.map +1 -0
  77. package/dist/chunks/useLabels-BiXnWBSL.js +23 -0
  78. package/dist/chunks/useLabels-BiXnWBSL.js.map +1 -0
  79. package/dist/chunks/useLabels-Bl0mJafM.js +24 -0
  80. package/dist/chunks/useLabels-Bl0mJafM.js.map +1 -0
  81. package/dist/chunks/{useMove-BifTPO2Z.js → useMove-DeuS9PRx.js} +3 -3
  82. package/dist/chunks/{useMove-BifTPO2Z.js.map → useMove-DeuS9PRx.js.map} +1 -1
  83. package/dist/chunks/{useMove-C6JNYkjM.js → useMove-Xpbmb6OD.js} +3 -3
  84. package/dist/chunks/{useMove-C6JNYkjM.js.map → useMove-Xpbmb6OD.js.map} +1 -1
  85. package/dist/chunks/{usePress-D_rPVnKY.js → usePress-Arf10jW0.js} +4 -4
  86. package/dist/chunks/{usePress-D_rPVnKY.js.map → usePress-Arf10jW0.js.map} +1 -1
  87. package/dist/chunks/{usePress-BtBLddLY.js → usePress-B1yQk_p8.js} +4 -4
  88. package/dist/chunks/{usePress-BtBLddLY.js.map → usePress-B1yQk_p8.js.map} +1 -1
  89. package/dist/chunks/{useProgressBar-B1VDzYE6.js → useProgressBar-BsO-Q5JP.js} +4 -4
  90. package/dist/chunks/{useProgressBar-B1VDzYE6.js.map → useProgressBar-BsO-Q5JP.js.map} +1 -1
  91. package/dist/chunks/{useProgressBar--b8hyT4v.js → useProgressBar-d2k0k8r0.js} +4 -4
  92. package/dist/chunks/{useProgressBar--b8hyT4v.js.map → useProgressBar-d2k0k8r0.js.map} +1 -1
  93. package/dist/chunks/{useSlot-DnUNwd8f.js → useSlot-CFaaZeQE.js} +4 -4
  94. package/dist/chunks/{useSlot-DnUNwd8f.js.map → useSlot-CFaaZeQE.js.map} +1 -1
  95. package/dist/chunks/{useSlot-Dwd3MQYT.js → useSlot-TNtJf1z8.js} +4 -4
  96. package/dist/chunks/{useSlot-Dwd3MQYT.js.map → useSlot-TNtJf1z8.js.map} +1 -1
  97. package/dist/chunks/{utils-Ki_DdjNi.js → utils-BCEhcDlv.js} +12 -33
  98. package/dist/chunks/utils-BCEhcDlv.js.map +1 -0
  99. package/dist/chunks/{utils-GD-7Nve2.js → utils-DvHk9ofL.js} +5 -26
  100. package/dist/chunks/utils-DvHk9ofL.js.map +1 -0
  101. package/dist/components/icons/icons.d.ts +20 -0
  102. package/dist/components/icons/icons.d.ts.map +1 -0
  103. package/dist/components/scroll-shadow/index.d.ts +22 -0
  104. package/dist/components/scroll-shadow/index.d.ts.map +1 -0
  105. package/dist/components/scroll-shadow/scroll-shadow.d.ts +33 -0
  106. package/dist/components/scroll-shadow/scroll-shadow.d.ts.map +1 -0
  107. package/dist/components/scroll-shadow/scroll-shadow.styles.d.ts +70 -0
  108. package/dist/components/scroll-shadow/scroll-shadow.styles.d.ts.map +1 -0
  109. package/dist/components/scroll-shadow/use-safe-layout-effect.d.ts +3 -0
  110. package/dist/components/scroll-shadow/use-safe-layout-effect.d.ts.map +1 -0
  111. package/dist/components/scroll-shadow/use-scroll-shadow.d.ts +12 -0
  112. package/dist/components/scroll-shadow/use-scroll-shadow.d.ts.map +1 -0
  113. package/dist/components/tabs/index.d.ts +26 -0
  114. package/dist/components/tabs/index.d.ts.map +1 -0
  115. package/dist/components/tabs/tabs.d.ts +40 -0
  116. package/dist/components/tabs/tabs.d.ts.map +1 -0
  117. package/dist/components/tabs/tabs.styles.d.ts +87 -0
  118. package/dist/components/tabs/tabs.styles.d.ts.map +1 -0
  119. package/dist/data-table/index.cjs.js +297 -2813
  120. package/dist/data-table/index.cjs.js.map +1 -1
  121. package/dist/data-table/index.es.js +208 -2724
  122. package/dist/data-table/index.es.js.map +1 -1
  123. package/dist/index.cjs.js +3 -3
  124. package/dist/index.es.js +3 -3
  125. package/dist/lib/utils/assertion.d.ts +10 -0
  126. package/dist/lib/utils/assertion.d.ts.map +1 -0
  127. package/dist/lib/utils/class-name.d.ts +8 -0
  128. package/dist/lib/utils/class-name.d.ts.map +1 -0
  129. package/dist/lib/utils/cn.d.ts +23 -0
  130. package/dist/lib/utils/cn.d.ts.map +1 -0
  131. package/dist/lib/utils/collection-prop-injection.d.ts +32 -0
  132. package/dist/lib/utils/collection-prop-injection.d.ts.map +1 -0
  133. package/dist/lib/utils/compose.d.ts +8 -0
  134. package/dist/lib/utils/compose.d.ts.map +1 -0
  135. package/dist/lib/utils/dom.d.ts +22 -0
  136. package/dist/lib/utils/dom.d.ts.map +1 -0
  137. package/dist/lib/utils/field-slots-gate.d.ts +10 -0
  138. package/dist/lib/utils/field-slots-gate.d.ts.map +1 -0
  139. package/dist/lib/utils/logger.d.ts +24 -0
  140. package/dist/lib/utils/logger.d.ts.map +1 -0
  141. package/dist/lib/utils/normalize.d.ts +6 -0
  142. package/dist/lib/utils/normalize.d.ts.map +1 -0
  143. package/dist/lib/utils/use-has-text-slot.d.ts +14 -0
  144. package/dist/lib/utils/use-has-text-slot.d.ts.map +1 -0
  145. package/dist/lizaui.css +632 -0
  146. package/dist/meter/index.cjs.js +4 -4
  147. package/dist/meter/index.es.js +4 -4
  148. package/dist/progress-bar/index.cjs.js +2 -2
  149. package/dist/progress-bar/index.es.js +2 -2
  150. package/dist/radio/index.cjs.js +2 -2
  151. package/dist/radio/index.es.js +2 -2
  152. package/dist/radio-group/index.cjs.js +1 -1
  153. package/dist/radio-group/index.es.js +2 -2
  154. package/dist/scroll-shadow/index.cjs.js +394 -0
  155. package/dist/scroll-shadow/index.cjs.js.map +1 -0
  156. package/dist/scroll-shadow/index.es.js +394 -0
  157. package/dist/scroll-shadow/index.es.js.map +1 -0
  158. package/dist/scroll-shadow.d.ts +2 -0
  159. package/dist/slider/index.cjs.js +11 -10
  160. package/dist/slider/index.cjs.js.map +1 -1
  161. package/dist/slider/index.es.js +10 -9
  162. package/dist/slider/index.es.js.map +1 -1
  163. package/dist/tabs/index.cjs.js +1400 -0
  164. package/dist/tabs/index.cjs.js.map +1 -0
  165. package/dist/tabs/index.es.js +1400 -0
  166. package/dist/tabs/index.es.js.map +1 -0
  167. package/dist/tabs.d.ts +2 -0
  168. package/dist/toggle-switch/index.cjs.js +11 -9
  169. package/dist/toggle-switch/index.cjs.js.map +1 -1
  170. package/dist/toggle-switch/index.es.js +9 -7
  171. package/dist/toggle-switch/index.es.js.map +1 -1
  172. package/dist/toolbar/index.cjs.js +4 -4
  173. package/dist/toolbar/index.es.js +4 -4
  174. package/package.json +12 -1
  175. package/dist/chunks/Button-DK8vIKEw.js.map +0 -1
  176. package/dist/chunks/Button-daStTTzk.js.map +0 -1
  177. package/dist/chunks/SharedElementTransition-BxczX23g.js +0 -12
  178. package/dist/chunks/SharedElementTransition-D87oSBzB.js +0 -13
  179. package/dist/chunks/VisuallyHidden-BbvdASBh.js +0 -85
  180. package/dist/chunks/VisuallyHidden-BbvdASBh.js.map +0 -1
  181. package/dist/chunks/VisuallyHidden-C-WtISJo.js +0 -86
  182. package/dist/chunks/VisuallyHidden-C-WtISJo.js.map +0 -1
  183. package/dist/chunks/useLabel-ClsFWJD0.js.map +0 -1
  184. package/dist/chunks/useLabel-todYehRc.js.map +0 -1
  185. package/dist/chunks/utils-GD-7Nve2.js.map +0 -1
  186. package/dist/chunks/utils-Ki_DdjNi.js.map +0 -1
@@ -0,0 +1,1400 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const compilerRuntime = require("react/compiler-runtime");
5
+ const React = require("react");
6
+ const useHasTabbableChild = require("../chunks/useHasTabbableChild-kl2T5gEX.js");
7
+ const utils = require("../chunks/utils-DvHk9ofL.js");
8
+ const SharedElementTransition = require("../chunks/SharedElementTransition-BSCoaphV.js");
9
+ const filterDOMProps = require("../chunks/filterDOMProps-JgzPXl3Q.js");
10
+ const useHover = require("../chunks/useHover-D9f9xyxz.js");
11
+ const focusSafely = require("../chunks/focusSafely-CKxVSn6H.js");
12
+ const useLabels = require("../chunks/useLabels-BiXnWBSL.js");
13
+ const I18nProvider = require("../chunks/I18nProvider-BUfkOEhQ.js");
14
+ const BaseCollection = require("../chunks/BaseCollection-DxI8p0cP.js");
15
+ const Hidden = require("../chunks/Hidden-BY45Dc0j.js");
16
+ const useControlledState = require("../chunks/useControlledState-DE_m1RML.js");
17
+ const ReactDOM = require("react-dom");
18
+ const tailwindVariants = require("tailwind-variants");
19
+ const mergeRefs = require("../chunks/mergeRefs-Y9oG13yB.js");
20
+ const scrollShadow = require("../scroll-shadow/index.cjs.js");
21
+ class $f664a81d022446b5$export$d085fb9e920b5ca7 {
22
+ constructor(nodes) {
23
+ this.keyMap = /* @__PURE__ */ new Map();
24
+ this.firstKey = null;
25
+ this.lastKey = null;
26
+ this.iterable = nodes;
27
+ let visit = (node) => {
28
+ this.keyMap.set(node.key, node);
29
+ if (node.childNodes && node.type === "section") for (let child of node.childNodes) visit(child);
30
+ };
31
+ for (let node of nodes) visit(node);
32
+ let last = null;
33
+ let index = 0;
34
+ let size = 0;
35
+ for (let [key, node] of this.keyMap) {
36
+ if (last) {
37
+ last.nextKey = key;
38
+ node.prevKey = last.key;
39
+ } else {
40
+ this.firstKey = key;
41
+ node.prevKey = void 0;
42
+ }
43
+ if (node.type === "item") node.index = index++;
44
+ if (node.type === "section" || node.type === "item") size++;
45
+ last = node;
46
+ last.nextKey = void 0;
47
+ }
48
+ this._size = size;
49
+ this.lastKey = last?.key ?? null;
50
+ }
51
+ *[Symbol.iterator]() {
52
+ yield* this.iterable;
53
+ }
54
+ get size() {
55
+ return this._size;
56
+ }
57
+ getKeys() {
58
+ return this.keyMap.keys();
59
+ }
60
+ getKeyBefore(key) {
61
+ let node = this.keyMap.get(key);
62
+ return node ? node.prevKey ?? null : null;
63
+ }
64
+ getKeyAfter(key) {
65
+ let node = this.keyMap.get(key);
66
+ return node ? node.nextKey ?? null : null;
67
+ }
68
+ getFirstKey() {
69
+ return this.firstKey;
70
+ }
71
+ getLastKey() {
72
+ return this.lastKey;
73
+ }
74
+ getItem(key) {
75
+ return this.keyMap.get(key) ?? null;
76
+ }
77
+ at(idx) {
78
+ const keys = [
79
+ ...this.getKeys()
80
+ ];
81
+ return this.getItem(keys[idx]);
82
+ }
83
+ getChildren(key) {
84
+ let node = this.keyMap.get(key);
85
+ return node?.childNodes || [];
86
+ }
87
+ }
88
+ function $b14b6f590b50af39$export$2f645645f7bca764(props) {
89
+ let { filter, layoutDelegate } = props;
90
+ let selectionState = useHasTabbableChild.$60f19cefd567a3e4$export$253fe78d46329472(props);
91
+ let disabledKeys = React.useMemo(() => props.disabledKeys ? new Set(props.disabledKeys) : /* @__PURE__ */ new Set(), [
92
+ props.disabledKeys
93
+ ]);
94
+ let factory = React.useCallback((nodes) => filter ? new $f664a81d022446b5$export$d085fb9e920b5ca7(filter(nodes)) : new $f664a81d022446b5$export$d085fb9e920b5ca7(nodes), [
95
+ filter
96
+ ]);
97
+ let context = React.useMemo(() => ({
98
+ suppressTextValueWarning: props.suppressTextValueWarning
99
+ }), [
100
+ props.suppressTextValueWarning
101
+ ]);
102
+ let collection = useHasTabbableChild.$d03379b88399b8c5$export$6cd28814d92fa9c9(props, factory, context);
103
+ let selectionManager = React.useMemo(() => new useHasTabbableChild.$4a07ac835f260f78$export$6c8a5aaad13c9852(collection, selectionState, {
104
+ layoutDelegate
105
+ }), [
106
+ collection,
107
+ selectionState,
108
+ layoutDelegate
109
+ ]);
110
+ $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);
111
+ return {
112
+ collection,
113
+ disabledKeys,
114
+ selectionManager
115
+ };
116
+ }
117
+ function $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager) {
118
+ const cachedCollection = React.useRef(null);
119
+ React.useEffect(() => {
120
+ if (selectionManager.focusedKey != null && !collection.getItem(selectionManager.focusedKey) && cachedCollection.current) {
121
+ let key = cachedCollection.current.getKeyAfter(selectionManager.focusedKey);
122
+ let nextFocusedKey = null;
123
+ while (key != null) {
124
+ let node = collection.getItem(key);
125
+ if (node && node.type === "item" && !selectionManager.isDisabled(key)) {
126
+ nextFocusedKey = key;
127
+ break;
128
+ }
129
+ key = cachedCollection.current.getKeyAfter(key);
130
+ }
131
+ if (nextFocusedKey == null) {
132
+ key = cachedCollection.current.getKeyBefore(selectionManager.focusedKey);
133
+ while (key != null) {
134
+ let node = collection.getItem(key);
135
+ if (node && node.type === "item" && !selectionManager.isDisabled(key)) {
136
+ nextFocusedKey = key;
137
+ break;
138
+ }
139
+ key = cachedCollection.current.getKeyBefore(key);
140
+ }
141
+ }
142
+ selectionManager.setFocusedKey(nextFocusedKey);
143
+ }
144
+ cachedCollection.current = collection;
145
+ }, [
146
+ collection,
147
+ selectionManager
148
+ ]);
149
+ }
150
+ function $fcc7165e876206c6$export$6d3443f2c48bfc20(ref, isReady = true, onEnter) {
151
+ let [isEntering, setEntering] = React.useState(true);
152
+ let isAnimationReady = isEntering && isReady;
153
+ utils.$c4867b2f328c2698$export$e5c5a5f917a5871c(() => {
154
+ if (!isReady && ref.current) return utils.$a4e76a5424781910$export$e08e3b67e392101e(focusSafely.$d447af545b77c9f1$export$37a5fde709c1db82(ref.current, "opacity", "0"), focusSafely.$d447af545b77c9f1$export$37a5fde709c1db82(ref.current, "clip", "rect(0 0 0 0)"), focusSafely.$d447af545b77c9f1$export$37a5fde709c1db82(ref.current, "clip-path", "inset(50%)"), focusSafely.$d447af545b77c9f1$export$37a5fde709c1db82(ref.current, "mask-image", "linear-gradient(#0000, #0000)"));
155
+ }, [
156
+ ref,
157
+ isReady
158
+ ]);
159
+ utils.$c4867b2f328c2698$export$e5c5a5f917a5871c(() => {
160
+ if (isAnimationReady && ref.current && "getAnimations" in ref.current) {
161
+ for (let animation of ref.current.getAnimations()) if (animation instanceof CSSTransition) animation.cancel();
162
+ }
163
+ }, [
164
+ ref,
165
+ isAnimationReady
166
+ ]);
167
+ $fcc7165e876206c6$var$useAnimation(ref, isAnimationReady, onEnter, React.useCallback(() => setEntering(false), []));
168
+ return isAnimationReady;
169
+ }
170
+ function $fcc7165e876206c6$export$45fda7c47f93fd48(ref, isOpen, onExit) {
171
+ let [exitState, setExitState] = React.useState(isOpen ? "open" : "closed");
172
+ switch (exitState) {
173
+ case "open":
174
+ if (!isOpen) setExitState("exiting");
175
+ break;
176
+ case "closed":
177
+ case "exiting":
178
+ if (isOpen) setExitState("open");
179
+ break;
180
+ }
181
+ let isExiting = exitState === "exiting";
182
+ $fcc7165e876206c6$var$useAnimation(ref, isExiting, onExit, React.useCallback(() => {
183
+ setExitState((state) => state === "exiting" ? "closed" : state);
184
+ }, []));
185
+ return isExiting;
186
+ }
187
+ function $fcc7165e876206c6$var$useAnimation(ref, isActive, onStart, onEnd) {
188
+ let isActiveRef = React.useRef(null);
189
+ let start = useHover.$fe16bffc7a557bf0$export$7f54fc3180508a52(onStart);
190
+ utils.$c4867b2f328c2698$export$e5c5a5f917a5871c(() => {
191
+ if (isActive && ref.current && isActiveRef.current !== isActive) {
192
+ isActiveRef.current = isActive;
193
+ if (!("getAnimations" in ref.current)) {
194
+ onEnd();
195
+ return;
196
+ }
197
+ let startPromise = start?.(ref.current);
198
+ let animations = ref.current.getAnimations().filter((a) => (typeof DocumentTimeline === "undefined" || a.timeline instanceof DocumentTimeline) && a.playState === "running");
199
+ if (animations.length === 0 && !startPromise) {
200
+ onEnd();
201
+ return;
202
+ }
203
+ Promise.all([
204
+ startPromise,
205
+ ...animations.map((a) => a.finished)
206
+ ]).then(() => {
207
+ ReactDOM.flushSync(() => {
208
+ onEnd();
209
+ });
210
+ }).catch(() => {
211
+ });
212
+ }
213
+ isActiveRef.current = isActive;
214
+ }, [
215
+ ref,
216
+ isActive,
217
+ onEnd
218
+ ]);
219
+ }
220
+ const $a251981b23baaa12$export$c5f62239608282b6 = /* @__PURE__ */ new WeakMap();
221
+ function $a251981b23baaa12$export$567fc7097e064344(state, key, role) {
222
+ if (!state)
223
+ return "";
224
+ if (typeof key === "string") key = key.replace(/\s+/g, "");
225
+ let baseId = $a251981b23baaa12$export$c5f62239608282b6.get(state);
226
+ if (process.env.NODE_ENV !== "production" && !baseId) ;
227
+ return `${baseId}-${role}-${key}`;
228
+ }
229
+ function $1b6fa05bad3d7740$export$fdf4756d5b8ef90a(props, state, ref) {
230
+ let { key, isDisabled: propsDisabled, shouldSelectOnPressUp } = props;
231
+ let { selectionManager: manager, selectedKey } = state;
232
+ let isSelected = key === selectedKey;
233
+ let isDisabled = propsDisabled || state.isDisabled || state.selectionManager.isDisabled(key);
234
+ let item = state.collection.getItem(key);
235
+ let { itemProps, isPressed } = useHasTabbableChild.$f6ba6936bfd098a0$export$ecf600387e221c37({
236
+ selectionManager: manager,
237
+ key,
238
+ ref,
239
+ isDisabled,
240
+ // Link tabs should behave like native anchors (navigate on press up)
241
+ // This avoids reopening beforeunload dialogs when browsers replay
242
+ // queued pointer enter/leave events after cancellation.
243
+ shouldSelectOnPressUp: shouldSelectOnPressUp ?? item?.props.href != null,
244
+ linkBehavior: "selection"
245
+ });
246
+ let tabId = $a251981b23baaa12$export$567fc7097e064344(state, key, "tab");
247
+ let tabPanelId = $a251981b23baaa12$export$567fc7097e064344(state, key, "tabpanel");
248
+ let { tabIndex } = itemProps;
249
+ let domProps = filterDOMProps.$8e9d2fae0ecb9001$export$457c3d6518dd4c6f(item?.props, {
250
+ labelable: true
251
+ });
252
+ delete domProps.id;
253
+ let linkProps = focusSafely.$caaf0dd3060ed57c$export$7e924b3091a3bd18(item?.props);
254
+ let { focusableProps } = useHover.$d1116acdf220c2da$export$4c014de7c8940b4c({
255
+ ...item?.props,
256
+ isDisabled
257
+ }, ref);
258
+ return {
259
+ tabProps: utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(domProps, focusableProps, linkProps, itemProps, {
260
+ id: tabId,
261
+ "aria-selected": isSelected,
262
+ "aria-disabled": isDisabled || void 0,
263
+ "aria-controls": isSelected ? tabPanelId : void 0,
264
+ tabIndex: isDisabled ? void 0 : tabIndex,
265
+ role: "tab"
266
+ }),
267
+ isSelected,
268
+ isDisabled,
269
+ isPressed
270
+ };
271
+ }
272
+ function $7d951241dadd72e4$export$fae0121b5afe572d(props, state, ref) {
273
+ let tabIndex = useHasTabbableChild.$bf14c9739fda2eb3$export$eac1895992b9f3d6(ref) ? void 0 : 0;
274
+ const id = $a251981b23baaa12$export$567fc7097e064344(state, props.id ?? state?.selectedKey, "tabpanel");
275
+ const tabPanelProps = useLabels.$e8ac3c3f5d4bae7f$export$d6875122194c7b44({
276
+ ...props,
277
+ id,
278
+ "aria-labelledby": $a251981b23baaa12$export$567fc7097e064344(state, state?.selectedKey, "tab")
279
+ });
280
+ return {
281
+ tabPanelProps: utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(tabPanelProps, {
282
+ tabIndex,
283
+ role: "tabpanel",
284
+ "aria-describedby": props["aria-describedby"],
285
+ "aria-details": props["aria-details"]
286
+ })
287
+ };
288
+ }
289
+ class $a226bee26c88efd7$export$15010ca3c1abe90b {
290
+ constructor(collection, direction, orientation, disabledKeys = /* @__PURE__ */ new Set()) {
291
+ this.collection = collection;
292
+ this.flipDirection = direction === "rtl";
293
+ this.disabledKeys = disabledKeys;
294
+ this.tabDirection = orientation === "horizontal";
295
+ }
296
+ getKeyLeftOf(key) {
297
+ if (this.flipDirection) return this.getNextKey(key);
298
+ return this.getPreviousKey(key);
299
+ }
300
+ getKeyRightOf(key) {
301
+ if (this.flipDirection) return this.getPreviousKey(key);
302
+ return this.getNextKey(key);
303
+ }
304
+ isDisabled(key) {
305
+ return this.disabledKeys.has(key) || !!this.collection.getItem(key)?.props?.isDisabled;
306
+ }
307
+ getFirstKey() {
308
+ let key = this.collection.getFirstKey();
309
+ if (key != null && this.isDisabled(key)) key = this.getNextKey(key);
310
+ return key;
311
+ }
312
+ getLastKey() {
313
+ let key = this.collection.getLastKey();
314
+ if (key != null && this.isDisabled(key)) key = this.getPreviousKey(key);
315
+ return key;
316
+ }
317
+ getKeyAbove(key) {
318
+ if (this.tabDirection) return null;
319
+ return this.getPreviousKey(key);
320
+ }
321
+ getKeyBelow(key) {
322
+ if (this.tabDirection) return null;
323
+ return this.getNextKey(key);
324
+ }
325
+ getNextKey(startKey) {
326
+ let key = startKey;
327
+ do {
328
+ key = this.collection.getKeyAfter(key);
329
+ if (key == null) key = this.collection.getFirstKey();
330
+ } while (key != null && this.isDisabled(key) && key !== startKey);
331
+ return key;
332
+ }
333
+ getPreviousKey(startKey) {
334
+ let key = startKey;
335
+ do {
336
+ key = this.collection.getKeyBefore(key);
337
+ if (key == null) key = this.collection.getLastKey();
338
+ } while (key != null && this.isDisabled(key) && key !== startKey);
339
+ return key;
340
+ }
341
+ }
342
+ function $83428e53deb13caf$export$773e389e644c5874(props, state, ref) {
343
+ let { orientation = "horizontal", keyboardActivation = "automatic" } = props;
344
+ let { collection, selectionManager: manager, disabledKeys } = state;
345
+ let { direction } = I18nProvider.$2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7();
346
+ let delegate = React.useMemo(() => new $a226bee26c88efd7$export$15010ca3c1abe90b(collection, direction, orientation, disabledKeys), [
347
+ collection,
348
+ disabledKeys,
349
+ orientation,
350
+ direction
351
+ ]);
352
+ let { collectionProps } = useHasTabbableChild.$d667c2af82d35a98$export$d6daf82dcd84e87c({
353
+ ref,
354
+ selectionManager: manager,
355
+ keyboardDelegate: delegate,
356
+ selectOnFocus: keyboardActivation === "automatic",
357
+ disallowEmptySelection: true,
358
+ scrollRef: ref,
359
+ linkBehavior: "selection"
360
+ });
361
+ let tabsId = utils.$390e54f620492c70$export$f680877a34711e37();
362
+ $a251981b23baaa12$export$c5f62239608282b6.set(state, tabsId);
363
+ let tabListLabelProps = useLabels.$e8ac3c3f5d4bae7f$export$d6875122194c7b44({
364
+ ...props,
365
+ id: tabsId
366
+ });
367
+ return {
368
+ tabListProps: {
369
+ ...utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(collectionProps, tabListLabelProps),
370
+ role: "tablist",
371
+ "aria-orientation": orientation,
372
+ tabIndex: void 0
373
+ }
374
+ };
375
+ }
376
+ function $0fdb127d377ffd84$export$e7f05e985daf4b5f(props) {
377
+ let [selectedKey, setSelectedKey] = useControlledState.$3e6197669829fe11$export$40bfa8c7b0832715(props.selectedKey, props.defaultSelectedKey ?? null, props.onSelectionChange);
378
+ let selectedKeys = React.useMemo(() => selectedKey != null ? [
379
+ selectedKey
380
+ ] : [], [
381
+ selectedKey
382
+ ]);
383
+ let { collection, disabledKeys, selectionManager } = $b14b6f590b50af39$export$2f645645f7bca764({
384
+ ...props,
385
+ selectionMode: "single",
386
+ disallowEmptySelection: true,
387
+ allowDuplicateSelectionEvents: true,
388
+ selectedKeys,
389
+ onSelectionChange: (keys) => {
390
+ if (keys === "all") return;
391
+ let key = keys.values().next().value ?? null;
392
+ if (key === selectedKey && props.onSelectionChange) props.onSelectionChange(key);
393
+ setSelectedKey(key);
394
+ }
395
+ });
396
+ let selectedItem = selectedKey != null ? collection.getItem(selectedKey) : null;
397
+ return {
398
+ collection,
399
+ disabledKeys,
400
+ selectionManager,
401
+ selectedKey,
402
+ setSelectedKey,
403
+ selectedItem
404
+ };
405
+ }
406
+ function $caeb030f09a278a1$export$4ba071daf4e486(props) {
407
+ let state = $0fdb127d377ffd84$export$e7f05e985daf4b5f({
408
+ ...props,
409
+ onSelectionChange: props.onSelectionChange ? (key) => {
410
+ if (key != null) props.onSelectionChange?.(key);
411
+ } : void 0,
412
+ suppressTextValueWarning: true,
413
+ defaultSelectedKey: props.defaultSelectedKey ?? $caeb030f09a278a1$var$findDefaultSelectedKey(props.collection, props.disabledKeys ? new Set(props.disabledKeys) : /* @__PURE__ */ new Set()) ?? void 0
414
+ });
415
+ let { selectionManager, collection, selectedKey: currentSelectedKey } = state;
416
+ let lastSelectedKey = React.useRef(currentSelectedKey);
417
+ React.useEffect(() => {
418
+ let selectedKey = currentSelectedKey;
419
+ if (props.selectedKey == null && (selectionManager.isEmpty || selectedKey == null || !collection.getItem(selectedKey))) {
420
+ selectedKey = $caeb030f09a278a1$var$findDefaultSelectedKey(collection, state.disabledKeys);
421
+ if (selectedKey != null)
422
+ selectionManager.setSelectedKeys([
423
+ selectedKey
424
+ ]);
425
+ }
426
+ if (selectedKey != null && selectionManager.focusedKey == null || !selectionManager.isFocused && selectedKey !== lastSelectedKey.current) selectionManager.setFocusedKey(selectedKey);
427
+ lastSelectedKey.current = selectedKey;
428
+ });
429
+ return {
430
+ ...state,
431
+ isDisabled: props.isDisabled || false
432
+ };
433
+ }
434
+ function $caeb030f09a278a1$var$findDefaultSelectedKey(collection, disabledKeys) {
435
+ let selectedKey = null;
436
+ if (collection) {
437
+ selectedKey = collection.getFirstKey();
438
+ while (selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey !== collection.getLastKey()) selectedKey = collection.getKeyAfter(selectedKey);
439
+ if (selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey === collection.getLastKey()) selectedKey = collection.getFirstKey();
440
+ }
441
+ return selectedKey;
442
+ }
443
+ const $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f = /* @__PURE__ */ React.createContext(null);
444
+ const $b4f18e3395fe64d7$export$364712098d2aa57c = /* @__PURE__ */ React.createContext(null);
445
+ const $b4f18e3395fe64d7$export$b2539bed5023c21c = /* @__PURE__ */ React.forwardRef(function Tabs(props, ref) {
446
+ [props, ref] = utils.$7230ffa83bc0c2cf$export$29f1550f4b0d4415(props, ref, $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f);
447
+ let { children, orientation = "horizontal" } = props;
448
+ children = React.useMemo(() => typeof children === "function" ? children({
449
+ orientation,
450
+ defaultChildren: null
451
+ }) : children, [
452
+ children,
453
+ orientation
454
+ ]);
455
+ return /* @__PURE__ */ React.createElement(useHasTabbableChild.$42ceafc619f9c3ba$export$bf788dd355e3a401, {
456
+ content: children
457
+ }, (collection) => /* @__PURE__ */ React.createElement($b4f18e3395fe64d7$var$TabsInner, {
458
+ props,
459
+ collection,
460
+ tabsRef: ref
461
+ }));
462
+ });
463
+ function $b4f18e3395fe64d7$var$TabsInner({ props, tabsRef: ref, collection }) {
464
+ let { orientation = "horizontal" } = props;
465
+ let state = $caeb030f09a278a1$export$4ba071daf4e486({
466
+ ...props,
467
+ collection,
468
+ children: void 0
469
+ });
470
+ let { focusProps, isFocused, isFocusVisible } = useHover.$0c4a58759813079a$export$4e328f61c538687f({
471
+ within: true
472
+ });
473
+ let values = React.useMemo(() => ({
474
+ orientation,
475
+ isFocusWithin: isFocused,
476
+ isFocusVisible
477
+ }), [
478
+ orientation,
479
+ isFocused,
480
+ isFocusVisible
481
+ ]);
482
+ let renderProps = utils.$7230ffa83bc0c2cf$export$4d86445c2cf5e3({
483
+ ...props,
484
+ defaultClassName: "react-aria-Tabs",
485
+ values
486
+ });
487
+ let DOMProps = filterDOMProps.$8e9d2fae0ecb9001$export$457c3d6518dd4c6f(props, {
488
+ global: true
489
+ });
490
+ return /* @__PURE__ */ React.createElement(utils.$7230ffa83bc0c2cf$export$df3a06d6289f983e.div, {
491
+ ...utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, renderProps, focusProps),
492
+ ref,
493
+ slot: props.slot || void 0,
494
+ "data-focused": isFocused || void 0,
495
+ "data-orientation": orientation,
496
+ "data-focus-visible": isFocusVisible || void 0,
497
+ "data-disabled": state.isDisabled || void 0
498
+ }, /* @__PURE__ */ React.createElement(utils.$7230ffa83bc0c2cf$export$2881499e37b75b9a, {
499
+ values: [
500
+ [
501
+ $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f,
502
+ props
503
+ ],
504
+ [
505
+ $b4f18e3395fe64d7$export$364712098d2aa57c,
506
+ state
507
+ ]
508
+ ]
509
+ }, renderProps.children));
510
+ }
511
+ const $b4f18e3395fe64d7$export$e51a686c67fdaa2d = /* @__PURE__ */ React.forwardRef(function TabList(props, ref) {
512
+ let state = React.useContext($b4f18e3395fe64d7$export$364712098d2aa57c);
513
+ return state ? /* @__PURE__ */ React.createElement($b4f18e3395fe64d7$var$TabListInner, {
514
+ props,
515
+ forwardedRef: ref
516
+ }) : /* @__PURE__ */ React.createElement(useHasTabbableChild.$42ceafc619f9c3ba$export$fb8073518f34e6ec, props);
517
+ });
518
+ function $b4f18e3395fe64d7$var$TabListInner({ props, forwardedRef: ref }) {
519
+ let state = React.useContext($b4f18e3395fe64d7$export$364712098d2aa57c);
520
+ let { CollectionRoot } = React.useContext(useHasTabbableChild.$263ab7fc0f95ccdb$export$4feb769f8ddf26c5);
521
+ let { orientation = "horizontal", keyboardActivation = "automatic" } = utils.$7230ffa83bc0c2cf$export$fabf2dc03a41866e($b4f18e3395fe64d7$export$cfa7aa87c26e7d1f);
522
+ let objectRef = utils.$03e8ab2d84d7657a$export$4338b53315abf666(ref);
523
+ let { tabListProps } = $83428e53deb13caf$export$773e389e644c5874({
524
+ ...props,
525
+ orientation,
526
+ keyboardActivation
527
+ }, state, objectRef);
528
+ let renderProps = utils.$7230ffa83bc0c2cf$export$4d86445c2cf5e3({
529
+ ...props,
530
+ children: null,
531
+ defaultClassName: "react-aria-TabList",
532
+ values: {
533
+ orientation,
534
+ state
535
+ }
536
+ });
537
+ let DOMProps = filterDOMProps.$8e9d2fae0ecb9001$export$457c3d6518dd4c6f(props, {
538
+ global: true
539
+ });
540
+ delete DOMProps.id;
541
+ return /* @__PURE__ */ React.createElement(utils.$7230ffa83bc0c2cf$export$df3a06d6289f983e.div, {
542
+ ...utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, renderProps, tabListProps),
543
+ ref: objectRef,
544
+ "data-orientation": orientation || void 0
545
+ }, /* @__PURE__ */ React.createElement(SharedElementTransition.$792f28e438b9ad5f$export$758399f318e6385a, null, /* @__PURE__ */ React.createElement(CollectionRoot, {
546
+ collection: state.collection,
547
+ persistedKeys: useHasTabbableChild.$263ab7fc0f95ccdb$export$90e00781bc59d8f9(state.selectionManager.focusedKey)
548
+ })));
549
+ }
550
+ const _$b4f18e3395fe64d7$var$TabItemNode = class _$b4f18e3395fe64d7$var$TabItemNode extends BaseCollection.$6f0c29017aeec335$export$d68d59712b04d9d1 {
551
+ };
552
+ _$b4f18e3395fe64d7$var$TabItemNode.type = "item";
553
+ let $b4f18e3395fe64d7$var$TabItemNode = _$b4f18e3395fe64d7$var$TabItemNode;
554
+ const $b4f18e3395fe64d7$export$3e41faf802a29e71 = /* @__PURE__ */ useHasTabbableChild.$42ceafc619f9c3ba$export$18af5c7a9e9b3664($b4f18e3395fe64d7$var$TabItemNode, (props, forwardedRef, item) => {
555
+ let state = React.useContext($b4f18e3395fe64d7$export$364712098d2aa57c);
556
+ let ref = utils.$03e8ab2d84d7657a$export$4338b53315abf666(forwardedRef);
557
+ let { tabProps, isSelected, isDisabled, isPressed } = $1b6fa05bad3d7740$export$fdf4756d5b8ef90a({
558
+ key: item.key,
559
+ ...props
560
+ }, state, ref);
561
+ let { focusProps, isFocused, isFocusVisible } = useHover.$0c4a58759813079a$export$4e328f61c538687f();
562
+ let { hoverProps, isHovered } = useHover.$e969f22b6713ca4a$export$ae780daf29e6d456({
563
+ isDisabled,
564
+ onHoverStart: props.onHoverStart,
565
+ onHoverEnd: props.onHoverEnd,
566
+ onHoverChange: props.onHoverChange
567
+ });
568
+ let renderProps = utils.$7230ffa83bc0c2cf$export$4d86445c2cf5e3({
569
+ ...props,
570
+ id: void 0,
571
+ children: item.rendered,
572
+ defaultClassName: "react-aria-Tab",
573
+ values: {
574
+ isSelected,
575
+ isDisabled,
576
+ isFocused,
577
+ isFocusVisible,
578
+ isPressed,
579
+ isHovered
580
+ }
581
+ });
582
+ let ElementType = item.props.href ? utils.$7230ffa83bc0c2cf$export$df3a06d6289f983e.a : utils.$7230ffa83bc0c2cf$export$df3a06d6289f983e.div;
583
+ let DOMProps = filterDOMProps.$8e9d2fae0ecb9001$export$457c3d6518dd4c6f(props, {
584
+ global: true
585
+ });
586
+ delete DOMProps.id;
587
+ delete DOMProps.onClick;
588
+ return /* @__PURE__ */ React.createElement(ElementType, {
589
+ ...utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, renderProps, tabProps, focusProps, hoverProps),
590
+ ref,
591
+ "data-selected": isSelected || void 0,
592
+ "data-disabled": isDisabled || void 0,
593
+ "data-focused": isFocused || void 0,
594
+ "data-focus-visible": isFocusVisible || void 0,
595
+ "data-pressed": isPressed || void 0,
596
+ "data-hovered": isHovered || void 0
597
+ }, /* @__PURE__ */ React.createElement(useHasTabbableChild.$91fe5e721c7f36c1$export$c9549807523555e0.Provider, {
598
+ value: {
599
+ isSelected
600
+ }
601
+ }, renderProps.children));
602
+ });
603
+ const $b4f18e3395fe64d7$export$3d96ec278d3efce4 = /* @__PURE__ */ Hidden.$d7f64c32b702fe2c$export$86427a43e3e48ebb(function TabPanel(props, forwardedRef) {
604
+ const state = React.useContext($b4f18e3395fe64d7$export$364712098d2aa57c);
605
+ let ref = utils.$03e8ab2d84d7657a$export$4338b53315abf666(forwardedRef);
606
+ let isSelected = state.selectedKey === props.id;
607
+ let [isInitiallySelected, setInitiallySelected] = React.useState(state.selectedKey != null ? isSelected : null);
608
+ if (isInitiallySelected == null && state.selectedKey != null) setInitiallySelected(isSelected);
609
+ else if (!isSelected && isInitiallySelected) setInitiallySelected(false);
610
+ let isExiting = $fcc7165e876206c6$export$45fda7c47f93fd48(ref, isSelected);
611
+ if (!isSelected && !props.shouldForceMount && !isExiting) return null;
612
+ return /* @__PURE__ */ React.createElement($b4f18e3395fe64d7$var$TabPanelInner, {
613
+ ...props,
614
+ tabPanelRef: ref,
615
+ isInitiallySelected: isInitiallySelected || false,
616
+ isExiting
617
+ });
618
+ });
619
+ function $b4f18e3395fe64d7$var$TabPanelInner(props) {
620
+ let state = React.useContext($b4f18e3395fe64d7$export$364712098d2aa57c);
621
+ let { id, tabPanelRef: ref, isInitiallySelected, isExiting, ...otherProps } = props;
622
+ let { tabPanelProps } = $7d951241dadd72e4$export$fae0121b5afe572d(props, state, ref);
623
+ let { focusProps, isFocused, isFocusVisible } = useHover.$0c4a58759813079a$export$4e328f61c538687f();
624
+ let isSelected = state.selectedKey === props.id;
625
+ let isEntering = $fcc7165e876206c6$export$6d3443f2c48bfc20(ref) && !isInitiallySelected;
626
+ let renderProps = utils.$7230ffa83bc0c2cf$export$4d86445c2cf5e3({
627
+ ...props,
628
+ defaultClassName: "react-aria-TabPanel",
629
+ values: {
630
+ isFocused,
631
+ isFocusVisible,
632
+ // @ts-ignore - compatibility with React < 19
633
+ isInert: useHasTabbableChild.$b24d1bc31a0f941d$export$a9d04c5684123369(!isSelected),
634
+ isEntering,
635
+ isExiting,
636
+ state
637
+ }
638
+ });
639
+ let DOMProps = filterDOMProps.$8e9d2fae0ecb9001$export$457c3d6518dd4c6f(otherProps, {
640
+ global: true
641
+ });
642
+ delete DOMProps.id;
643
+ let domProps = isSelected ? utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, tabPanelProps, focusProps, renderProps) : utils.$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, renderProps);
644
+ return /* @__PURE__ */ React.createElement(utils.$7230ffa83bc0c2cf$export$df3a06d6289f983e.div, {
645
+ ...domProps,
646
+ ref,
647
+ "data-focused": isFocused || void 0,
648
+ "data-focus-visible": isFocusVisible || void 0,
649
+ // @ts-ignore
650
+ inert: useHasTabbableChild.$b24d1bc31a0f941d$export$a9d04c5684123369(!isSelected || props.inert),
651
+ "data-inert": !isSelected ? "true" : void 0,
652
+ "data-entering": isEntering || void 0,
653
+ "data-exiting": isExiting || void 0
654
+ }, /* @__PURE__ */ React.createElement(utils.$7230ffa83bc0c2cf$export$2881499e37b75b9a, {
655
+ values: [
656
+ [
657
+ $b4f18e3395fe64d7$export$cfa7aa87c26e7d1f,
658
+ null
659
+ ],
660
+ [
661
+ $b4f18e3395fe64d7$export$364712098d2aa57c,
662
+ null
663
+ ]
664
+ ]
665
+ }, /* @__PURE__ */ React.createElement(useHasTabbableChild.$263ab7fc0f95ccdb$export$4feb769f8ddf26c5.Provider, {
666
+ value: useHasTabbableChild.$263ab7fc0f95ccdb$export$a164736487e3f0ae
667
+ }, renderProps.children)));
668
+ }
669
+ const tabsVariants = tailwindVariants.tv({
670
+ defaultVariants: {
671
+ align: "center",
672
+ variant: "primary"
673
+ },
674
+ slots: {
675
+ base: "tabs",
676
+ scrollNext: "tabs__list-container__scroll-next",
677
+ scrollPrev: "tabs__list-container__scroll-prev",
678
+ scroller: "tabs__list-container__scroller",
679
+ separator: "tabs__separator",
680
+ tab: "tabs__tab",
681
+ tabIndicator: "tabs__indicator",
682
+ tabList: "tabs__list",
683
+ tabListContainer: "tabs__list-container",
684
+ tabPanel: "tabs__panel"
685
+ },
686
+ variants: {
687
+ align: {
688
+ center: {},
689
+ // No class as the base already centers tab content
690
+ end: {
691
+ base: "tabs--align-end"
692
+ },
693
+ start: {
694
+ base: "tabs--align-start"
695
+ }
696
+ },
697
+ variant: {
698
+ primary: {},
699
+ secondary: {
700
+ base: "tabs--secondary"
701
+ }
702
+ }
703
+ }
704
+ });
705
+ const colors = {
706
+ blue: "\x1B[34m",
707
+ green: "\x1B[32m",
708
+ magenta: "\x1B[35m",
709
+ red: "\x1B[31m",
710
+ reset: "\x1B[0m",
711
+ yellow: "\x1B[33m"
712
+ };
713
+ const levelColors = {
714
+ debug: colors.magenta,
715
+ error: colors.red,
716
+ info: colors.blue,
717
+ success: colors.green,
718
+ warn: colors.yellow
719
+ };
720
+ const levelEmojis = {
721
+ debug: "🔍",
722
+ error: "❌",
723
+ info: "ℹ️",
724
+ success: "✅",
725
+ warn: "⚠️"
726
+ };
727
+ class Logger {
728
+ enabled;
729
+ prefix;
730
+ constructor(options = {}) {
731
+ this.enabled = options.enabled ?? true;
732
+ this.prefix = options.prefix ?? "HeroUI";
733
+ }
734
+ formatMessage(level, message) {
735
+ const color = levelColors[level];
736
+ const emoji = levelEmojis[level];
737
+ return `${color}[${this.prefix}]${colors.reset} ${emoji} ${message}`;
738
+ }
739
+ log(level, message, ...args) {
740
+ if (!this.enabled) return;
741
+ this.formatMessage(level, message);
742
+ }
743
+ info(message, ...args) {
744
+ this.log("info", message, ...args);
745
+ }
746
+ success(message, ...args) {
747
+ this.log("success", message, ...args);
748
+ }
749
+ warn(message, ...args) {
750
+ this.log("warn", message, ...args);
751
+ }
752
+ error(message, ...args) {
753
+ this.log("error", message, ...args);
754
+ }
755
+ debug(message, ...args) {
756
+ this.log("debug", message, ...args);
757
+ }
758
+ divider(char = "=", length = 80) {
759
+ if (!this.enabled) return;
760
+ }
761
+ newline() {
762
+ if (!this.enabled) return;
763
+ }
764
+ }
765
+ const logger = new Logger({
766
+ prefix: "LizaUI"
767
+ });
768
+ let registry;
769
+ const __DEV__ = typeof process !== "undefined" && process.env?.["NODE_ENV"] !== "production";
770
+ const createCollectionSlot = (name) => {
771
+ if (__DEV__) {
772
+ registry ??= /* @__PURE__ */ new Set();
773
+ if (registry.has(name)) {
774
+ logger.warn(`Duplicate collection slot "${name}". Use a unique, namespaced name (e.g. "tabs.listContainer", "menu.popover").`);
775
+ }
776
+ registry.add(name);
777
+ }
778
+ const key = `$$heroui.collection.${name}`;
779
+ const SlotContext = React.createContext(void 0);
780
+ const inject = (children, value) => {
781
+ return React.Children.map(children, (child) => {
782
+ if (!React.isValidElement(child)) {
783
+ return child;
784
+ }
785
+ return React.cloneElement(child, {
786
+ [key]: value
787
+ });
788
+ });
789
+ };
790
+ const consume = (props) => {
791
+ const {
792
+ [key]: injected,
793
+ ...rest
794
+ } = props;
795
+ return [injected, rest];
796
+ };
797
+ const useSlot = (props) => {
798
+ const $ = compilerRuntime.c(5);
799
+ let t0;
800
+ if ($[0] !== props) {
801
+ t0 = consume(props);
802
+ $[0] = props;
803
+ $[1] = t0;
804
+ } else {
805
+ t0 = $[1];
806
+ }
807
+ const [fromProps, rest] = t0;
808
+ const fromContext = React.useContext(SlotContext);
809
+ const t1 = fromProps ?? fromContext;
810
+ let t2;
811
+ if ($[2] !== rest || $[3] !== t1) {
812
+ t2 = [t1, rest];
813
+ $[2] = rest;
814
+ $[3] = t1;
815
+ $[4] = t2;
816
+ } else {
817
+ t2 = $[4];
818
+ }
819
+ return t2;
820
+ };
821
+ const Injector = (t0) => {
822
+ const $ = compilerRuntime.c(8);
823
+ let T0;
824
+ let t1;
825
+ let t2;
826
+ if ($[0] !== t0) {
827
+ const {
828
+ children,
829
+ ...value
830
+ } = t0;
831
+ T0 = SlotContext.Provider;
832
+ t1 = value;
833
+ t2 = inject(children, value);
834
+ $[0] = t0;
835
+ $[1] = T0;
836
+ $[2] = t1;
837
+ $[3] = t2;
838
+ } else {
839
+ T0 = $[1];
840
+ t1 = $[2];
841
+ t2 = $[3];
842
+ }
843
+ let t3;
844
+ if ($[4] !== T0 || $[5] !== t1 || $[6] !== t2) {
845
+ t3 = /* @__PURE__ */ jsxRuntime.jsx(T0, { value: t1, children: t2 });
846
+ $[4] = T0;
847
+ $[5] = t1;
848
+ $[6] = t2;
849
+ $[7] = t3;
850
+ } else {
851
+ t3 = $[7];
852
+ }
853
+ return t3;
854
+ };
855
+ Injector.displayName = `HeroUI.CollectionSlot(${name})`;
856
+ const withSlot = (Primitive, defaultRender) => {
857
+ const Wrapped = React.forwardRef(function CollectionSlotTarget(props, forwardedRef) {
858
+ const [injected, rest] = useSlot(props);
859
+ const {
860
+ children,
861
+ ...restProps
862
+ } = rest;
863
+ if (!injected) {
864
+ return /* @__PURE__ */ jsxRuntime.jsx(Primitive, { ...restProps, ref: forwardedRef, children });
865
+ }
866
+ if (defaultRender) {
867
+ return defaultRender({
868
+ ...restProps,
869
+ children
870
+ }, injected, forwardedRef);
871
+ }
872
+ const {
873
+ className: containerClassName,
874
+ render: customRender,
875
+ ...containerRest
876
+ } = injected;
877
+ return /* @__PURE__ */ jsxRuntime.jsx(Primitive, { ...restProps, ref: forwardedRef, children: customRender ? customRender({
878
+ children,
879
+ className: containerClassName,
880
+ ...containerRest
881
+ }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClassName, "data-slot": `${name}-container`, ...containerRest, children }) });
882
+ });
883
+ Wrapped.displayName = `HeroUI.withCollectionSlot(${Primitive.displayName || Primitive.name || name})`;
884
+ return Wrapped;
885
+ };
886
+ return {
887
+ key,
888
+ inject,
889
+ consume,
890
+ useSlot,
891
+ Injector,
892
+ withSlot,
893
+ Context: SlotContext
894
+ };
895
+ };
896
+ function composeTwRenderProps(className, tailwind) {
897
+ return utils.$7230ffa83bc0c2cf$export$c245e6201fed2f75(className, (className2, renderProps) => {
898
+ const tw = typeof tailwind === "function" ? tailwind(renderProps) ?? "" : tailwind ?? "";
899
+ const cls = className2 ?? "";
900
+ return tailwindVariants.cx(tw, cls) ?? "";
901
+ });
902
+ }
903
+ const composeSlotClassName = (slotFn, className, variants) => {
904
+ return typeof slotFn === "function" ? slotFn({
905
+ ...{},
906
+ className
907
+ }) : className;
908
+ };
909
+ function DOMElement(ElementType, props) {
910
+ const {
911
+ ref: forwardedRef,
912
+ render,
913
+ ...otherProps
914
+ } = props;
915
+ const elementRef = React.useRef(null);
916
+ const ref = React.useMemo(() => mergeRefs.$4064df0d6f9620e1$export$c9058316764c140e(forwardedRef, elementRef), [forwardedRef, elementRef]);
917
+ utils.$c4867b2f328c2698$export$e5c5a5f917a5871c(() => {
918
+ if (typeof process !== "undefined" && process.env?.["NODE_ENV"] !== "production" && render) {
919
+ if (!elementRef.current) ;
920
+ }
921
+ }, [ElementType, render]);
922
+ const domProps = {
923
+ ...otherProps,
924
+ ref
925
+ };
926
+ if (render) {
927
+ return render(domProps, void 0);
928
+ }
929
+ return /* @__PURE__ */ jsxRuntime.jsx(ElementType, { ...domProps });
930
+ }
931
+ const domComponentCache = {};
932
+ const dom = new Proxy({}, {
933
+ get(_target, elementType) {
934
+ if (typeof elementType !== "string") {
935
+ return void 0;
936
+ }
937
+ let res = domComponentCache[elementType];
938
+ if (!res) {
939
+ res = DOMElement.bind(null, elementType);
940
+ domComponentCache[elementType] = res;
941
+ }
942
+ return res;
943
+ }
944
+ });
945
+ const IconChevronDown = (props) => {
946
+ const $ = compilerRuntime.c(3);
947
+ let t0;
948
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
949
+ t0 = /* @__PURE__ */ jsxRuntime.jsx("path", { clipRule: "evenodd", d: "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", fill: "currentColor", fillRule: "evenodd" });
950
+ $[0] = t0;
951
+ } else {
952
+ t0 = $[0];
953
+ }
954
+ let t1;
955
+ if ($[1] !== props) {
956
+ t1 = /* @__PURE__ */ jsxRuntime.jsx("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, children: t0 });
957
+ $[1] = props;
958
+ $[2] = t1;
959
+ } else {
960
+ t1 = $[2];
961
+ }
962
+ return t1;
963
+ };
964
+ const IconChevronUp = (props) => {
965
+ const $ = compilerRuntime.c(3);
966
+ let t0;
967
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
968
+ t0 = /* @__PURE__ */ jsxRuntime.jsx("path", { clipRule: "evenodd", d: "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", fill: "currentColor", fillRule: "evenodd" });
969
+ $[0] = t0;
970
+ } else {
971
+ t0 = $[0];
972
+ }
973
+ let t1;
974
+ if ($[1] !== props) {
975
+ t1 = /* @__PURE__ */ jsxRuntime.jsx("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, children: t0 });
976
+ $[1] = props;
977
+ $[2] = t1;
978
+ } else {
979
+ t1 = $[2];
980
+ }
981
+ return t1;
982
+ };
983
+ const IconChevronLeft = (props) => {
984
+ const $ = compilerRuntime.c(3);
985
+ let t0;
986
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
987
+ t0 = /* @__PURE__ */ jsxRuntime.jsx("path", { clipRule: "evenodd", d: "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", fill: "currentColor", fillRule: "evenodd" });
988
+ $[0] = t0;
989
+ } else {
990
+ t0 = $[0];
991
+ }
992
+ let t1;
993
+ if ($[1] !== props) {
994
+ t1 = /* @__PURE__ */ jsxRuntime.jsx("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, children: t0 });
995
+ $[1] = props;
996
+ $[2] = t1;
997
+ } else {
998
+ t1 = $[2];
999
+ }
1000
+ return t1;
1001
+ };
1002
+ const IconChevronRight = (props) => {
1003
+ const $ = compilerRuntime.c(3);
1004
+ let t0;
1005
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
1006
+ t0 = /* @__PURE__ */ jsxRuntime.jsx("path", { clipRule: "evenodd", d: "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", fill: "currentColor", fillRule: "evenodd" });
1007
+ $[0] = t0;
1008
+ } else {
1009
+ t0 = $[0];
1010
+ }
1011
+ let t1;
1012
+ if ($[1] !== props) {
1013
+ t1 = /* @__PURE__ */ jsxRuntime.jsx("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, children: t0 });
1014
+ $[1] = props;
1015
+ $[2] = t1;
1016
+ } else {
1017
+ t1 = $[2];
1018
+ }
1019
+ return t1;
1020
+ };
1021
+ const TabsContext = React.createContext({});
1022
+ const listContainerSlot = createCollectionSlot("tabs.listContainer");
1023
+ const TabsRoot = (t0) => {
1024
+ const $ = compilerRuntime.c(24);
1025
+ let align;
1026
+ let children;
1027
+ let className;
1028
+ let props;
1029
+ let t1;
1030
+ let variant;
1031
+ if ($[0] !== t0) {
1032
+ ({
1033
+ align,
1034
+ children,
1035
+ className,
1036
+ orientation: t1,
1037
+ variant,
1038
+ ...props
1039
+ } = t0);
1040
+ $[0] = t0;
1041
+ $[1] = align;
1042
+ $[2] = children;
1043
+ $[3] = className;
1044
+ $[4] = props;
1045
+ $[5] = t1;
1046
+ $[6] = variant;
1047
+ } else {
1048
+ align = $[1];
1049
+ children = $[2];
1050
+ className = $[3];
1051
+ props = $[4];
1052
+ t1 = $[5];
1053
+ variant = $[6];
1054
+ }
1055
+ const orientation = t1 === void 0 ? "horizontal" : t1;
1056
+ let t2;
1057
+ if ($[7] !== align || $[8] !== variant) {
1058
+ t2 = tabsVariants({
1059
+ align,
1060
+ variant
1061
+ });
1062
+ $[7] = align;
1063
+ $[8] = variant;
1064
+ $[9] = t2;
1065
+ } else {
1066
+ t2 = $[9];
1067
+ }
1068
+ const slots = t2;
1069
+ let t3;
1070
+ if ($[10] !== orientation || $[11] !== slots) {
1071
+ t3 = {
1072
+ orientation,
1073
+ slots
1074
+ };
1075
+ $[10] = orientation;
1076
+ $[11] = slots;
1077
+ $[12] = t3;
1078
+ } else {
1079
+ t3 = $[12];
1080
+ }
1081
+ const contextValue = t3;
1082
+ let t4;
1083
+ if ($[13] !== className || $[14] !== slots) {
1084
+ t4 = composeTwRenderProps(className, slots.base());
1085
+ $[13] = className;
1086
+ $[14] = slots;
1087
+ $[15] = t4;
1088
+ } else {
1089
+ t4 = $[15];
1090
+ }
1091
+ let t5;
1092
+ if ($[16] !== children || $[17] !== orientation || $[18] !== props || $[19] !== t4) {
1093
+ t5 = /* @__PURE__ */ jsxRuntime.jsx($b4f18e3395fe64d7$export$b2539bed5023c21c, { ...props, className: t4, "data-slot": "tabs", orientation, children });
1094
+ $[16] = children;
1095
+ $[17] = orientation;
1096
+ $[18] = props;
1097
+ $[19] = t4;
1098
+ $[20] = t5;
1099
+ } else {
1100
+ t5 = $[20];
1101
+ }
1102
+ let t6;
1103
+ if ($[21] !== contextValue || $[22] !== t5) {
1104
+ t6 = /* @__PURE__ */ jsxRuntime.jsx(TabsContext, { value: contextValue, children: t5 });
1105
+ $[21] = contextValue;
1106
+ $[22] = t5;
1107
+ $[23] = t6;
1108
+ } else {
1109
+ t6 = $[23];
1110
+ }
1111
+ return t6;
1112
+ };
1113
+ const TabListContainer = (t0) => {
1114
+ const $ = compilerRuntime.c(12);
1115
+ let children;
1116
+ let className;
1117
+ let containerProps;
1118
+ let render;
1119
+ if ($[0] !== t0) {
1120
+ ({
1121
+ children,
1122
+ className,
1123
+ render,
1124
+ ...containerProps
1125
+ } = t0);
1126
+ $[0] = t0;
1127
+ $[1] = children;
1128
+ $[2] = className;
1129
+ $[3] = containerProps;
1130
+ $[4] = render;
1131
+ } else {
1132
+ children = $[1];
1133
+ className = $[2];
1134
+ containerProps = $[3];
1135
+ render = $[4];
1136
+ }
1137
+ let t1;
1138
+ if ($[5] !== className || $[6] !== containerProps || $[7] !== render) {
1139
+ t1 = {
1140
+ ...containerProps,
1141
+ className,
1142
+ render
1143
+ };
1144
+ $[5] = className;
1145
+ $[6] = containerProps;
1146
+ $[7] = render;
1147
+ $[8] = t1;
1148
+ } else {
1149
+ t1 = $[8];
1150
+ }
1151
+ const t2 = t1;
1152
+ let t3;
1153
+ if ($[9] !== children || $[10] !== t2) {
1154
+ t3 = /* @__PURE__ */ jsxRuntime.jsx(listContainerSlot.Injector, { ...t2, children });
1155
+ $[9] = children;
1156
+ $[10] = t2;
1157
+ $[11] = t3;
1158
+ } else {
1159
+ t3 = $[11];
1160
+ }
1161
+ return t3;
1162
+ };
1163
+ const TabList2 = ({
1164
+ children,
1165
+ className,
1166
+ ...props
1167
+ }) => {
1168
+ const {
1169
+ orientation = "horizontal",
1170
+ slots
1171
+ } = React.use(TabsContext);
1172
+ const scrollerRef = React.useRef(null);
1173
+ const isVertical = orientation === "vertical";
1174
+ const [listContainerProps, restProps] = listContainerSlot.useSlot(props);
1175
+ const scrollBy = React.useCallback((direction) => {
1176
+ const el = scrollerRef.current;
1177
+ if (!el) return;
1178
+ const size = isVertical ? el.clientHeight : el.clientWidth;
1179
+ const scrollSize = isVertical ? el.scrollHeight : el.scrollWidth;
1180
+ const maxScroll = Math.max(0, scrollSize - size);
1181
+ const isRTL = !isVertical && getComputedStyle(el).direction === "rtl";
1182
+ const delta = direction * size * 0.8 * (isRTL ? -1 : 1);
1183
+ const current = isVertical ? el.scrollTop : el.scrollLeft;
1184
+ const next = Math.min(isRTL ? 0 : maxScroll, Math.max(isRTL ? -maxScroll : 0, current + delta));
1185
+ if (next === current) return;
1186
+ el.scrollTo({
1187
+ behavior: "smooth",
1188
+ [isVertical ? "top" : "left"]: next
1189
+ });
1190
+ }, [isVertical]);
1191
+ if (!listContainerProps) {
1192
+ return /* @__PURE__ */ jsxRuntime.jsx($b4f18e3395fe64d7$export$e51a686c67fdaa2d, { ...restProps, className: composeTwRenderProps(className, slots?.tabList()), "data-slot": "tabs-list", children });
1193
+ }
1194
+ const {
1195
+ className: containerClassName,
1196
+ render: containerRender,
1197
+ ...containerRest
1198
+ } = listContainerProps;
1199
+ return /* @__PURE__ */ jsxRuntime.jsx($b4f18e3395fe64d7$export$e51a686c67fdaa2d, { ...restProps, className: composeTwRenderProps(className, slots?.tabList()), "data-slot": "tabs-list", render: (renderProps) => {
1200
+ const {
1201
+ children: listChildren,
1202
+ className: listClassName,
1203
+ ref: listRef,
1204
+ ...listRest
1205
+ } = renderProps;
1206
+ return /* @__PURE__ */ jsxRuntime.jsxs(dom.div, { className: composeSlotClassName(slots?.tabListContainer, containerClassName), "data-slot": "tabs-list-container", render: containerRender, ...containerRest, children: [
1207
+ /* @__PURE__ */ jsxRuntime.jsx(scrollShadow.ScrollShadow, { ref: scrollerRef, hideScrollBar: true, className: composeSlotClassName(slots?.scroller), orientation, size: 64, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...listRest, ref: listRef, className: listClassName, children: listChildren }) }),
1208
+ /* @__PURE__ */ jsxRuntime.jsx("button", { "aria-label": isVertical ? "Scroll tabs up" : "Scroll tabs left", className: composeSlotClassName(slots?.scrollPrev), tabIndex: -1, type: "button", onClick: () => scrollBy(-1), children: isVertical ? /* @__PURE__ */ jsxRuntime.jsx(IconChevronUp, {}) : /* @__PURE__ */ jsxRuntime.jsx(IconChevronLeft, {}) }),
1209
+ /* @__PURE__ */ jsxRuntime.jsx("button", { "aria-label": isVertical ? "Scroll tabs down" : "Scroll tabs right", className: composeSlotClassName(slots?.scrollNext), tabIndex: -1, type: "button", onClick: () => scrollBy(1), children: isVertical ? /* @__PURE__ */ jsxRuntime.jsx(IconChevronDown, {}) : /* @__PURE__ */ jsxRuntime.jsx(IconChevronRight, {}) })
1210
+ ] });
1211
+ }, children });
1212
+ };
1213
+ const Tab = (t0) => {
1214
+ const $ = compilerRuntime.c(11);
1215
+ let children;
1216
+ let className;
1217
+ let props;
1218
+ if ($[0] !== t0) {
1219
+ ({
1220
+ children,
1221
+ className,
1222
+ ...props
1223
+ } = t0);
1224
+ $[0] = t0;
1225
+ $[1] = children;
1226
+ $[2] = className;
1227
+ $[3] = props;
1228
+ } else {
1229
+ children = $[1];
1230
+ className = $[2];
1231
+ props = $[3];
1232
+ }
1233
+ const {
1234
+ slots
1235
+ } = React.use(TabsContext);
1236
+ let t1;
1237
+ if ($[4] !== className || $[5] !== slots) {
1238
+ t1 = composeTwRenderProps(className, slots?.tab());
1239
+ $[4] = className;
1240
+ $[5] = slots;
1241
+ $[6] = t1;
1242
+ } else {
1243
+ t1 = $[6];
1244
+ }
1245
+ let t2;
1246
+ if ($[7] !== children || $[8] !== props || $[9] !== t1) {
1247
+ t2 = /* @__PURE__ */ jsxRuntime.jsx($b4f18e3395fe64d7$export$3e41faf802a29e71, { ...props, className: t1, "data-slot": "tabs-tab", children });
1248
+ $[7] = children;
1249
+ $[8] = props;
1250
+ $[9] = t1;
1251
+ $[10] = t2;
1252
+ } else {
1253
+ t2 = $[10];
1254
+ }
1255
+ return t2;
1256
+ };
1257
+ const TabIndicator = (t0) => {
1258
+ const $ = compilerRuntime.c(9);
1259
+ let className;
1260
+ let props;
1261
+ if ($[0] !== t0) {
1262
+ ({
1263
+ className,
1264
+ ...props
1265
+ } = t0);
1266
+ $[0] = t0;
1267
+ $[1] = className;
1268
+ $[2] = props;
1269
+ } else {
1270
+ className = $[1];
1271
+ props = $[2];
1272
+ }
1273
+ const {
1274
+ slots
1275
+ } = React.use(TabsContext);
1276
+ const t1 = slots?.tabIndicator;
1277
+ let t2;
1278
+ if ($[3] !== className || $[4] !== t1) {
1279
+ t2 = composeSlotClassName(t1, className);
1280
+ $[3] = className;
1281
+ $[4] = t1;
1282
+ $[5] = t2;
1283
+ } else {
1284
+ t2 = $[5];
1285
+ }
1286
+ let t3;
1287
+ if ($[6] !== props || $[7] !== t2) {
1288
+ t3 = /* @__PURE__ */ jsxRuntime.jsx(useHasTabbableChild.$91fe5e721c7f36c1$export$17f80983afe4e444, { className: t2, "data-slot": "tabs-indicator", ...props });
1289
+ $[6] = props;
1290
+ $[7] = t2;
1291
+ $[8] = t3;
1292
+ } else {
1293
+ t3 = $[8];
1294
+ }
1295
+ return t3;
1296
+ };
1297
+ const TabPanel2 = (t0) => {
1298
+ const $ = compilerRuntime.c(11);
1299
+ let children;
1300
+ let className;
1301
+ let props;
1302
+ if ($[0] !== t0) {
1303
+ ({
1304
+ children,
1305
+ className,
1306
+ ...props
1307
+ } = t0);
1308
+ $[0] = t0;
1309
+ $[1] = children;
1310
+ $[2] = className;
1311
+ $[3] = props;
1312
+ } else {
1313
+ children = $[1];
1314
+ className = $[2];
1315
+ props = $[3];
1316
+ }
1317
+ const {
1318
+ slots
1319
+ } = React.use(TabsContext);
1320
+ let t1;
1321
+ if ($[4] !== className || $[5] !== slots) {
1322
+ t1 = composeTwRenderProps(className, slots?.tabPanel());
1323
+ $[4] = className;
1324
+ $[5] = slots;
1325
+ $[6] = t1;
1326
+ } else {
1327
+ t1 = $[6];
1328
+ }
1329
+ let t2;
1330
+ if ($[7] !== children || $[8] !== props || $[9] !== t1) {
1331
+ t2 = /* @__PURE__ */ jsxRuntime.jsx($b4f18e3395fe64d7$export$3d96ec278d3efce4, { ...props, className: t1, "data-slot": "tabs-panel", children });
1332
+ $[7] = children;
1333
+ $[8] = props;
1334
+ $[9] = t1;
1335
+ $[10] = t2;
1336
+ } else {
1337
+ t2 = $[10];
1338
+ }
1339
+ return t2;
1340
+ };
1341
+ const TabSeparator = (t0) => {
1342
+ const $ = compilerRuntime.c(9);
1343
+ let className;
1344
+ let props;
1345
+ if ($[0] !== t0) {
1346
+ ({
1347
+ className,
1348
+ ...props
1349
+ } = t0);
1350
+ $[0] = t0;
1351
+ $[1] = className;
1352
+ $[2] = props;
1353
+ } else {
1354
+ className = $[1];
1355
+ props = $[2];
1356
+ }
1357
+ const {
1358
+ slots
1359
+ } = React.use(TabsContext);
1360
+ const t1 = slots?.separator;
1361
+ let t2;
1362
+ if ($[3] !== className || $[4] !== t1) {
1363
+ t2 = composeSlotClassName(t1, className);
1364
+ $[3] = className;
1365
+ $[4] = t1;
1366
+ $[5] = t2;
1367
+ } else {
1368
+ t2 = $[5];
1369
+ }
1370
+ const t3 = props;
1371
+ let t4;
1372
+ if ($[6] !== t2 || $[7] !== t3) {
1373
+ t4 = /* @__PURE__ */ jsxRuntime.jsx(dom.span, { "aria-hidden": "true", className: t2, "data-slot": "tabs-separator", ...t3 });
1374
+ $[6] = t2;
1375
+ $[7] = t3;
1376
+ $[8] = t4;
1377
+ } else {
1378
+ t4 = $[8];
1379
+ }
1380
+ return t4;
1381
+ };
1382
+ const Tabs2 = Object.assign(TabsRoot, {
1383
+ Root: TabsRoot,
1384
+ ListContainer: TabListContainer,
1385
+ List: TabList2,
1386
+ Tab,
1387
+ Indicator: TabIndicator,
1388
+ Separator: TabSeparator,
1389
+ Panel: TabPanel2
1390
+ });
1391
+ exports.Tab = Tab;
1392
+ exports.TabIndicator = TabIndicator;
1393
+ exports.TabList = TabList2;
1394
+ exports.TabListContainer = TabListContainer;
1395
+ exports.TabPanel = TabPanel2;
1396
+ exports.TabSeparator = TabSeparator;
1397
+ exports.Tabs = Tabs2;
1398
+ exports.TabsRoot = TabsRoot;
1399
+ exports.tabsVariants = tabsVariants;
1400
+ //# sourceMappingURL=index.cjs.js.map