@datatechsolutions/ui 3.6.1 → 3.7.0

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 (135) hide show
  1. package/dist/astrlabe/graph-node.js +8 -5
  2. package/dist/astrlabe/graph-node.mjs +4 -1
  3. package/dist/astrlabe/index.js +115 -114
  4. package/dist/astrlabe/index.mjs +7 -6
  5. package/dist/astrlabe/workflow-canvas.js +7 -6
  6. package/dist/astrlabe/workflow-canvas.mjs +6 -5
  7. package/dist/{chunk-3Z66NXEB.mjs → chunk-2OPBUVTQ.mjs} +3 -3
  8. package/dist/{chunk-3Z66NXEB.mjs.map → chunk-2OPBUVTQ.mjs.map} +1 -1
  9. package/dist/{chunk-4JDJRGAB.mjs → chunk-34XRH2FX.mjs} +5 -4
  10. package/dist/chunk-34XRH2FX.mjs.map +1 -0
  11. package/dist/{chunk-KEWRLEYV.js → chunk-3JZGRXSG.js} +4 -4
  12. package/dist/{chunk-KEWRLEYV.js.map → chunk-3JZGRXSG.js.map} +1 -1
  13. package/dist/{chunk-JQYDJ75Q.mjs → chunk-3VYD7QL2.mjs} +3 -3
  14. package/dist/{chunk-JQYDJ75Q.mjs.map → chunk-3VYD7QL2.mjs.map} +1 -1
  15. package/dist/{chunk-MRRFDIUQ.mjs → chunk-4JRMXHPU.mjs} +5 -4
  16. package/dist/chunk-4JRMXHPU.mjs.map +1 -0
  17. package/dist/{chunk-4OFG6POC.mjs → chunk-5LCWQKGQ.mjs} +207 -1128
  18. package/dist/chunk-5LCWQKGQ.mjs.map +1 -0
  19. package/dist/{chunk-W5YCZOXO.js → chunk-7YK4WXHO.js} +79 -78
  20. package/dist/chunk-7YK4WXHO.js.map +1 -0
  21. package/dist/{chunk-YOJIPZ72.js → chunk-BBLBSDPN.js} +9 -9
  22. package/dist/{chunk-YOJIPZ72.js.map → chunk-BBLBSDPN.js.map} +1 -1
  23. package/dist/chunk-BHOT22QL.js +998 -0
  24. package/dist/chunk-BHOT22QL.js.map +1 -0
  25. package/dist/{chunk-MQNXKBFP.mjs → chunk-C4AJWDFB.mjs} +7 -6
  26. package/dist/chunk-C4AJWDFB.mjs.map +1 -0
  27. package/dist/{chunk-UOABOFKO.mjs → chunk-CBFK4W4C.mjs} +3 -3
  28. package/dist/{chunk-UOABOFKO.mjs.map → chunk-CBFK4W4C.mjs.map} +1 -1
  29. package/dist/{chunk-P5F257N3.js → chunk-CVZXZK2X.js} +35 -34
  30. package/dist/chunk-CVZXZK2X.js.map +1 -0
  31. package/dist/{chunk-IHHGT3LP.mjs → chunk-CYAAL3BY.mjs} +6 -5
  32. package/dist/chunk-CYAAL3BY.mjs.map +1 -0
  33. package/dist/{chunk-LVK7VXW7.js → chunk-DMPBNWJB.js} +37 -36
  34. package/dist/chunk-DMPBNWJB.js.map +1 -0
  35. package/dist/{chunk-ESLKQJQS.mjs → chunk-DXLATMGD.mjs} +6 -5
  36. package/dist/chunk-DXLATMGD.mjs.map +1 -0
  37. package/dist/{chunk-P4YYEM4B.js → chunk-EZQ2D47U.js} +7 -10
  38. package/dist/chunk-EZQ2D47U.js.map +1 -0
  39. package/dist/{chunk-6ZMTJSQF.js → chunk-FUHNEP3Y.js} +164 -163
  40. package/dist/chunk-FUHNEP3Y.js.map +1 -0
  41. package/dist/{chunk-YTE6WCBX.js → chunk-JHN2OUWG.js} +64 -63
  42. package/dist/chunk-JHN2OUWG.js.map +1 -0
  43. package/dist/{chunk-AMYQSPQC.js → chunk-JLECJI7S.js} +18 -17
  44. package/dist/chunk-JLECJI7S.js.map +1 -0
  45. package/dist/{chunk-DRORQGN2.js → chunk-KMNWPC64.js} +40 -39
  46. package/dist/chunk-KMNWPC64.js.map +1 -0
  47. package/dist/{chunk-VUAGVZJM.mjs → chunk-NJ6HH4QP.mjs} +6 -5
  48. package/dist/chunk-NJ6HH4QP.mjs.map +1 -0
  49. package/dist/{chunk-OZNTQROP.mjs → chunk-PLTLRL2V.mjs} +7 -10
  50. package/dist/chunk-PLTLRL2V.mjs.map +1 -0
  51. package/dist/{chunk-5ZAZ2C7A.mjs → chunk-PMMP76MV.mjs} +7 -6
  52. package/dist/chunk-PMMP76MV.mjs.map +1 -0
  53. package/dist/{chunk-NJZIE4EH.js → chunk-QF6WL7XU.js} +6 -5
  54. package/dist/chunk-QF6WL7XU.js.map +1 -0
  55. package/dist/{chunk-QRNFTG6A.js → chunk-QGLGQXJE.js} +4 -4
  56. package/dist/{chunk-QRNFTG6A.js.map → chunk-QGLGQXJE.js.map} +1 -1
  57. package/dist/{chunk-GCYYGSHU.js → chunk-R4EKPXX3.js} +564 -1525
  58. package/dist/chunk-R4EKPXX3.js.map +1 -0
  59. package/dist/{chunk-SQZGQOKU.js → chunk-RWYG7QHP.js} +119 -132
  60. package/dist/chunk-RWYG7QHP.js.map +1 -0
  61. package/dist/{chunk-WBEZATIB.js → chunk-RZ3NDH5S.js} +13 -13
  62. package/dist/{chunk-WBEZATIB.js.map → chunk-RZ3NDH5S.js.map} +1 -1
  63. package/dist/{chunk-HGWVJ3VB.mjs → chunk-SJVKID3E.mjs} +4 -3
  64. package/dist/chunk-SJVKID3E.mjs.map +1 -0
  65. package/dist/{chunk-7LILNZMR.mjs → chunk-TJEZL72T.mjs} +4 -3
  66. package/dist/chunk-TJEZL72T.mjs.map +1 -0
  67. package/dist/{chunk-MUOTTGCX.js → chunk-UDYEUTJC.js} +31 -30
  68. package/dist/chunk-UDYEUTJC.js.map +1 -0
  69. package/dist/{chunk-UGJZ3M4Q.js → chunk-VDLMWOQM.js} +55 -54
  70. package/dist/chunk-VDLMWOQM.js.map +1 -0
  71. package/dist/{chunk-KDFBN2L2.mjs → chunk-VZIUQE7B.mjs} +24 -37
  72. package/dist/chunk-VZIUQE7B.mjs.map +1 -0
  73. package/dist/chunk-WR55H7DH.mjs +934 -0
  74. package/dist/chunk-WR55H7DH.mjs.map +1 -0
  75. package/dist/{chunk-ZYVDDSAC.mjs → chunk-YRXDETBK.mjs} +6 -6
  76. package/dist/{chunk-ZYVDDSAC.mjs.map → chunk-YRXDETBK.mjs.map} +1 -1
  77. package/dist/{chunk-VDLAZR7S.mjs → chunk-ZYRL3WER.mjs} +5 -4
  78. package/dist/chunk-ZYRL3WER.mjs.map +1 -0
  79. package/dist/index.js +826 -825
  80. package/dist/index.mjs +4 -3
  81. package/dist/platform/admin/index.js +13 -12
  82. package/dist/platform/admin/index.mjs +7 -6
  83. package/dist/platform/agents-workspace.js +10 -9
  84. package/dist/platform/agents-workspace.mjs +9 -8
  85. package/dist/platform/app-shell.js +6 -5
  86. package/dist/platform/app-shell.mjs +5 -4
  87. package/dist/platform/auth/index.js +30 -29
  88. package/dist/platform/auth/index.mjs +7 -6
  89. package/dist/platform/billing/index.js +6 -5
  90. package/dist/platform/billing/index.mjs +5 -4
  91. package/dist/platform/impersonation/index.js +6 -5
  92. package/dist/platform/impersonation/index.mjs +5 -4
  93. package/dist/platform/index.d.mts +1 -1
  94. package/dist/platform/index.d.ts +1 -1
  95. package/dist/platform/index.js +87 -93
  96. package/dist/platform/index.js.map +1 -1
  97. package/dist/platform/index.mjs +23 -29
  98. package/dist/platform/index.mjs.map +1 -1
  99. package/dist/platform/pages/index.d.mts +86 -1
  100. package/dist/platform/pages/index.d.ts +86 -1
  101. package/dist/platform/pages/index.js +868 -209
  102. package/dist/platform/pages/index.js.map +1 -1
  103. package/dist/platform/pages/index.mjs +670 -12
  104. package/dist/platform/pages/index.mjs.map +1 -1
  105. package/dist/platform/settings/index.js +10 -9
  106. package/dist/platform/settings/index.mjs +9 -8
  107. package/dist/platform/workflow-canvas-shell.js +8 -7
  108. package/dist/platform/workflow-canvas-shell.mjs +7 -6
  109. package/package.json +1 -1
  110. package/dist/chunk-4JDJRGAB.mjs.map +0 -1
  111. package/dist/chunk-4OFG6POC.mjs.map +0 -1
  112. package/dist/chunk-5ZAZ2C7A.mjs.map +0 -1
  113. package/dist/chunk-6ZMTJSQF.js.map +0 -1
  114. package/dist/chunk-7LILNZMR.mjs.map +0 -1
  115. package/dist/chunk-AMYQSPQC.js.map +0 -1
  116. package/dist/chunk-DRORQGN2.js.map +0 -1
  117. package/dist/chunk-ESLKQJQS.mjs.map +0 -1
  118. package/dist/chunk-GCYYGSHU.js.map +0 -1
  119. package/dist/chunk-HGWVJ3VB.mjs.map +0 -1
  120. package/dist/chunk-IHHGT3LP.mjs.map +0 -1
  121. package/dist/chunk-KDFBN2L2.mjs.map +0 -1
  122. package/dist/chunk-LVK7VXW7.js.map +0 -1
  123. package/dist/chunk-MQNXKBFP.mjs.map +0 -1
  124. package/dist/chunk-MRRFDIUQ.mjs.map +0 -1
  125. package/dist/chunk-MUOTTGCX.js.map +0 -1
  126. package/dist/chunk-NJZIE4EH.js.map +0 -1
  127. package/dist/chunk-OZNTQROP.mjs.map +0 -1
  128. package/dist/chunk-P4YYEM4B.js.map +0 -1
  129. package/dist/chunk-P5F257N3.js.map +0 -1
  130. package/dist/chunk-SQZGQOKU.js.map +0 -1
  131. package/dist/chunk-UGJZ3M4Q.js.map +0 -1
  132. package/dist/chunk-VDLAZR7S.mjs.map +0 -1
  133. package/dist/chunk-VUAGVZJM.mjs.map +0 -1
  134. package/dist/chunk-W5YCZOXO.js.map +0 -1
  135. package/dist/chunk-YTE6WCBX.js.map +0 -1
@@ -1,19 +1,20 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
5
4
  var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
6
- var chunkS7KHTUHA_js = require('./chunk-S7KHTUHA.js');
7
5
  var chunkSY4MUT5V_js = require('./chunk-SY4MUT5V.js');
8
- var Headless5 = require('@headlessui/react');
9
- var clsx = require('clsx');
10
- var React12 = require('react');
6
+ var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
7
+ var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
8
+ var chunkS7KHTUHA_js = require('./chunk-S7KHTUHA.js');
9
+ var React9 = require('react');
11
10
  var framerMotion = require('framer-motion');
12
- var jsxRuntime = require('react/jsx-runtime');
13
11
  var HeroIcons = require('@heroicons/react/24/outline');
12
+ var jsxRuntime = require('react/jsx-runtime');
14
13
  var solid = require('@heroicons/react/20/solid');
14
+ var Headless3 = require('@headlessui/react');
15
15
  var solid$1 = require('@heroicons/react/24/solid');
16
16
  var Popover = require('@radix-ui/react-popover');
17
+ var clsx4 = require('clsx');
17
18
  var reactDom = require('react-dom');
18
19
  var dateFns = require('date-fns');
19
20
  var locale = require('date-fns/locale');
@@ -45,803 +46,14 @@ function _interopNamespace(e) {
45
46
  return Object.freeze(n);
46
47
  }
47
48
 
48
- var Headless5__namespace = /*#__PURE__*/_interopNamespace(Headless5);
49
- var clsx__default = /*#__PURE__*/_interopDefault(clsx);
50
- var React12__namespace = /*#__PURE__*/_interopNamespace(React12);
49
+ var React9__namespace = /*#__PURE__*/_interopNamespace(React9);
51
50
  var HeroIcons__namespace = /*#__PURE__*/_interopNamespace(HeroIcons);
51
+ var Headless3__namespace = /*#__PURE__*/_interopNamespace(Headless3);
52
52
  var Popover__namespace = /*#__PURE__*/_interopNamespace(Popover);
53
+ var clsx4__default = /*#__PURE__*/_interopDefault(clsx4);
53
54
  var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
54
55
  var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
55
56
 
56
- var Link = React12.forwardRef(function Link2(props, ref) {
57
- const RouterLink = chunkS7KHTUHA_js.useLink();
58
- return /* @__PURE__ */ jsxRuntime.jsx(Headless5__namespace.DataInteractive, { children: /* @__PURE__ */ jsxRuntime.jsx(RouterLink, { ...props, ref }) });
59
- });
60
-
61
- // src/lib/motion-tokens.ts
62
- var duration = {
63
- /** 90ms — micro feedback: toggle thumb, hover tint, focus ring */
64
- xs: 90,
65
- /** 150ms — button press, popover open, chip toggle */
66
- sm: 150,
67
- /** 240ms — card hover, drawer slide, tab switch */
68
- md: 240,
69
- /** 360ms — page transitions, modal enter/exit */
70
- lg: 360
71
- };
72
- var durationSeconds = {
73
- xs: duration.xs / 1e3,
74
- sm: duration.sm / 1e3,
75
- md: duration.md / 1e3,
76
- lg: duration.lg / 1e3
77
- };
78
- var ease = {
79
- /** Default product curve — symmetric, balanced */
80
- standard: [0.4, 0, 0.2, 1],
81
- /** Entering elements — slow start, fast finish */
82
- emphasized: [0.2, 0, 0, 1],
83
- /** Arrivals — fast in, slow settle */
84
- decelerate: [0, 0, 0.2, 1],
85
- /** Departures — fast out, sharp end */
86
- accelerate: [0.4, 0, 1, 1],
87
- /** iOS HIG-canonical curve — slightly slower decay than `standard` */
88
- ios: [0.25, 0.46, 0.45, 0.94]
89
- };
90
- var easeCss = {
91
- standard: `cubic-bezier(${ease.standard.join(", ")})`,
92
- emphasized: `cubic-bezier(${ease.emphasized.join(", ")})`,
93
- decelerate: `cubic-bezier(${ease.decelerate.join(", ")})`,
94
- accelerate: `cubic-bezier(${ease.accelerate.join(", ")})`,
95
- ios: `cubic-bezier(${ease.ios.join(", ")})`
96
- };
97
- var spring = {
98
- /** Snap — fast, no overshoot. Buttons, micro-interactions. */
99
- snap: { type: "spring", stiffness: 500, damping: 38 },
100
- /** Smooth — balanced, no overshoot. Default for cards/transitions. */
101
- smooth: { type: "spring", stiffness: 300, damping: 30 },
102
- /** Bounce — playful overshoot. Icons, success confirmations. */
103
- bounce: { type: "spring", stiffness: 400, damping: 22 },
104
- /** Gentle — soft and slow. Modals, large surface entry. */
105
- gentle: { type: "spring", stiffness: 200, damping: 22 },
106
- /** Sheet — iOS sheet presentation (with mass). Drawers. */
107
- sheet: { type: "spring", stiffness: 350, damping: 30, mass: 0.8 }
108
- };
109
- var motionTokens = {
110
- duration,
111
- durationSeconds,
112
- ease,
113
- easeCss,
114
- spring
115
- };
116
-
117
- // src/lib/animations.ts
118
- function prefersReducedMotion() {
119
- if (typeof window === "undefined") return false;
120
- return window.matchMedia("(prefers-reduced-motion: reduce)").matches;
121
- }
122
- function getTransition(transition) {
123
- if (prefersReducedMotion()) {
124
- return { duration: 0 };
125
- }
126
- return transition;
127
- }
128
- function getVariants(variants) {
129
- if (prefersReducedMotion()) {
130
- const reducedVariants = {};
131
- for (const key in variants) {
132
- reducedVariants[key] = {
133
- ...variants[key],
134
- transition: { duration: 0 }
135
- };
136
- }
137
- return reducedVariants;
138
- }
139
- return variants;
140
- }
141
- var springPresets = {
142
- default: spring.smooth,
143
- bouncy: spring.bounce,
144
- stiff: spring.snap,
145
- gentle: spring.gentle,
146
- sheet: spring.sheet,
147
- /** Quick spring - very fast, good for micro-interactions */
148
- quick: { type: "spring", stiffness: 600, damping: 40 }
149
- };
150
- var springPresetsReduced = {
151
- default: prefersReducedMotion() ? { duration: 0 } : springPresets.default,
152
- bouncy: prefersReducedMotion() ? { duration: 0 } : springPresets.bouncy,
153
- stiff: prefersReducedMotion() ? { duration: 0 } : springPresets.stiff,
154
- gentle: prefersReducedMotion() ? { duration: 0 } : springPresets.gentle,
155
- sheet: prefersReducedMotion() ? { duration: 0 } : springPresets.sheet,
156
- quick: prefersReducedMotion() ? { duration: 0 } : springPresets.quick
157
- };
158
- var buttonPress = {
159
- idle: { scale: 1 },
160
- pressed: { scale: 0.97 },
161
- hover: { scale: 1.02 }
162
- };
163
- var buttonTap = {
164
- scale: 0.97,
165
- transition: springPresets.stiff
166
- };
167
- var buttonPressReduced = {
168
- idle: { opacity: 1 },
169
- pressed: { opacity: 0.7 },
170
- hover: { opacity: 0.9 }
171
- };
172
- var cardHover = {
173
- idle: {
174
- y: 0,
175
- boxShadow: "0 4px 6px -1px rgb(0 0 0 / 0.1)"
176
- },
177
- hover: {
178
- y: -4,
179
- boxShadow: "0 20px 25px -5px rgb(0 0 0 / 0.1)"
180
- }
181
- };
182
- var cardPress = {
183
- idle: { scale: 1 },
184
- pressed: { scale: 0.98 }
185
- };
186
- var cardHoverReduced = {
187
- idle: { opacity: 1 },
188
- hover: { opacity: 0.95 }
189
- };
190
- var slideUp = {
191
- hidden: { y: "100%", opacity: 0 },
192
- visible: { y: 0, opacity: 1 },
193
- exit: { y: "100%", opacity: 0 }
194
- };
195
- var slideRight = {
196
- hidden: { x: "100%", opacity: 0 },
197
- visible: { x: 0, opacity: 1 },
198
- exit: { x: "100%", opacity: 0 }
199
- };
200
- var slideDown = {
201
- hidden: { y: "-100%", opacity: 0 },
202
- visible: { y: 0, opacity: 1 },
203
- exit: { y: "-100%", opacity: 0 }
204
- };
205
- var fadeScale = {
206
- hidden: { opacity: 0, scale: 0.95 },
207
- visible: { opacity: 1, scale: 1 },
208
- exit: { opacity: 0, scale: 0.95 }
209
- };
210
- var fadeOnly = {
211
- hidden: { opacity: 0 },
212
- visible: { opacity: 1 },
213
- exit: { opacity: 0 }
214
- };
215
- var notificationBanner = {
216
- hidden: { y: -100, opacity: 0, scale: 0.9 },
217
- visible: {
218
- y: 0,
219
- opacity: 1,
220
- scale: 1,
221
- transition: springPresets.bouncy
222
- },
223
- exit: {
224
- y: -100,
225
- opacity: 0,
226
- scale: 0.9,
227
- transition: { duration: 0.2 }
228
- }
229
- };
230
- var notificationBannerReduced = {
231
- hidden: { opacity: 0 },
232
- visible: { opacity: 1, transition: { duration: 0.15 } },
233
- exit: { opacity: 0, transition: { duration: 0.1 } }
234
- };
235
- var listItem = {
236
- hidden: { opacity: 0, x: -20 },
237
- visible: (i) => ({
238
- opacity: 1,
239
- x: 0,
240
- transition: {
241
- delay: i * 0.05,
242
- ...springPresets.default
243
- }
244
- })
245
- };
246
- var staggerContainer = {
247
- hidden: { opacity: 0 },
248
- visible: {
249
- opacity: 1,
250
- transition: {
251
- staggerChildren: 0.05
252
- }
253
- }
254
- };
255
- var listItemReduced = {
256
- hidden: { opacity: 0 },
257
- visible: { opacity: 1, transition: { duration: 0.15 } }
258
- };
259
- var swipeActionThreshold = 80;
260
- var swipeConstraints = {
261
- left: -120,
262
- right: 0
263
- };
264
- var pageControlDot = {
265
- inactive: { width: 8, backgroundColor: "rgb(156 163 175)" },
266
- active: { width: 24, backgroundColor: "rgb(59 130 246)" }
267
- };
268
- var iosColors = {
269
- // Primary colors
270
- blue: "#007AFF",
271
- green: "#34C759",
272
- red: "#FF3B30",
273
- orange: "#FF9500",
274
- yellow: "#FFCC00",
275
- purple: "#AF52DE",
276
- pink: "#FF2D55",
277
- teal: "#5AC8FA",
278
- indigo: "#5856D6",
279
- mint: "#00C7BE",
280
- cyan: "#32ADE6",
281
- brown: "#A2845E",
282
- // Grays
283
- gray: "#8E8E93",
284
- gray2: "#AEAEB2",
285
- gray3: "#C7C7CC",
286
- gray4: "#D1D1D6",
287
- gray5: "#E5E5EA",
288
- gray6: "#F2F2F7",
289
- // Dark mode variants
290
- dark: {
291
- blue: "#0A84FF",
292
- green: "#30D158",
293
- red: "#FF453A",
294
- orange: "#FF9F0A",
295
- yellow: "#FFD60A",
296
- purple: "#BF5AF2",
297
- pink: "#FF375F",
298
- teal: "#64D2FF",
299
- indigo: "#5E5CE6",
300
- mint: "#66D4CF",
301
- cyan: "#5AC8FA",
302
- brown: "#AC8E68"
303
- }
304
- };
305
- var durations = {
306
- instant: 0,
307
- fast: duration.sm / 1e3,
308
- normal: duration.md / 1e3,
309
- slow: duration.lg / 1e3,
310
- verySlow: 0.5
311
- };
312
- var durationsReduced = {
313
- instant: 0,
314
- fast: prefersReducedMotion() ? 0 : 0.15,
315
- normal: prefersReducedMotion() ? 0 : 0.25,
316
- slow: prefersReducedMotion() ? 0 : 0.35,
317
- verySlow: prefersReducedMotion() ? 0 : 0.5
318
- };
319
- var easings = {
320
- default: [0.25, 0.1, 0.25, 1],
321
- out: ease.decelerate,
322
- in: ease.accelerate,
323
- inOut: ease.standard,
324
- ios: ease.ios
325
- };
326
- function createMotionProps(animatedProps, reducedProps = {}) {
327
- if (prefersReducedMotion()) {
328
- return { ...animatedProps, ...reducedProps, transition: { duration: 0 } };
329
- }
330
- return animatedProps;
331
- }
332
-
333
- // src/components/button-styles.ts
334
- var iosColors2 = {
335
- // Glassy iOS blue — neutral glass at rest, fills blue on hover
336
- "ios-glass-blue": [
337
- "liquid-button-primary text-slate-900 [--btn-bg:transparent] [--btn-border:transparent] [--btn-hover-overlay:transparent]",
338
- "dark:text-white dark:[--btn-bg:transparent] dark:[--btn-border:transparent]",
339
- "[--btn-icon:var(--color-slate-600)] dark:[--btn-icon:var(--color-white)]/70"
340
- ],
341
- // Glassy iOS red — neutral glass at rest, fills red on hover
342
- "ios-glass-red": [
343
- "liquid-button liquid-button-red text-slate-900 [--btn-bg:transparent] [--btn-border:transparent] [--btn-hover-overlay:transparent]",
344
- "dark:text-white dark:[--btn-bg:transparent] dark:[--btn-border:transparent]",
345
- "[--btn-icon:var(--color-slate-600)] dark:[--btn-icon:var(--color-white)]/70"
346
- ],
347
- // Glassy iOS green — neutral glass at rest, fills green on hover
348
- "ios-glass-green": [
349
- "liquid-button liquid-button-green text-slate-900 [--btn-bg:transparent] [--btn-border:transparent] [--btn-hover-overlay:transparent]",
350
- "dark:text-white dark:[--btn-bg:transparent] dark:[--btn-border:transparent]",
351
- "[--btn-icon:var(--color-slate-600)] dark:[--btn-icon:var(--color-white)]/70"
352
- ],
353
- // Primary iOS blue
354
- "ios-blue": [
355
- "text-white [--btn-bg:#007AFF] [--btn-border:#0066DD] [--btn-hover-overlay:var(--color-white)]/10",
356
- "dark:[--btn-bg:#0A84FF] dark:[--btn-border:#007AFF]",
357
- "[--btn-icon:var(--color-white)]/80"
358
- ],
359
- // Destructive iOS red
360
- "ios-red": [
361
- "text-white [--btn-bg:#FF3B30] [--btn-border:#E6352B] [--btn-hover-overlay:var(--color-white)]/10",
362
- "dark:[--btn-bg:#FF453A] dark:[--btn-border:#FF3B30]",
363
- "[--btn-icon:var(--color-white)]/80"
364
- ],
365
- // iOS green (success/confirm)
366
- "ios-green": [
367
- "text-white [--btn-bg:#34C759] [--btn-border:#2DB350] [--btn-hover-overlay:var(--color-white)]/10",
368
- "dark:[--btn-bg:#30D158] dark:[--btn-border:#34C759]",
369
- "[--btn-icon:var(--color-white)]/80"
370
- ],
371
- // iOS orange (warning)
372
- "ios-orange": [
373
- "text-white [--btn-bg:#FF9500] [--btn-border:#E68600] [--btn-hover-overlay:var(--color-white)]/10",
374
- "dark:[--btn-bg:#FF9F0A] dark:[--btn-border:#FF9500]",
375
- "[--btn-icon:var(--color-white)]/80"
376
- ],
377
- // iOS purple
378
- "ios-purple": [
379
- "text-white [--btn-bg:#AF52DE] [--btn-border:#9B48C7] [--btn-hover-overlay:var(--color-white)]/10",
380
- "dark:[--btn-bg:#BF5AF2] dark:[--btn-border:#AF52DE]",
381
- "[--btn-icon:var(--color-white)]/80"
382
- ],
383
- // iOS teal
384
- "ios-teal": [
385
- "text-white [--btn-bg:#5AC8FA] [--btn-border:#4AB8E8] [--btn-hover-overlay:var(--color-white)]/10",
386
- "dark:[--btn-bg:#64D2FF] dark:[--btn-border:#5AC8FA]",
387
- "[--btn-icon:var(--color-white)]/80"
388
- ]
389
- };
390
- var sizeStyles = {
391
- xs: "px-2 py-1 text-xs rounded-md",
392
- sm: "px-3 py-1.5 text-sm rounded-lg",
393
- md: "",
394
- // Default size from base styles
395
- lg: "px-5 py-3 text-base rounded-xl",
396
- xl: "px-6 py-4 text-lg rounded-xl"
397
- };
398
- var pillStyles = "rounded-full";
399
- var styles = {
400
- base: [
401
- // Base
402
- "relative isolate inline-flex items-center justify-center gap-x-2 rounded-lg border text-base/6 font-semibold",
403
- // Sizing
404
- "px-[calc(--spacing(3.5)-1px)] py-[calc(--spacing(2.5)-1px)] sm:px-[calc(--spacing(3)-1px)] sm:py-[calc(--spacing(1.5)-1px)] sm:text-sm/6",
405
- // Focus
406
- "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-blue-500",
407
- // Disabled
408
- "data-disabled:opacity-50",
409
- // Icon
410
- "*:data-[slot=icon]:-mx-0.5 *:data-[slot=icon]:my-0.5 *:data-[slot=icon]:size-5 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:self-center *:data-[slot=icon]:text-(--btn-icon) sm:*:data-[slot=icon]:my-1 sm:*:data-[slot=icon]:size-4 forced-colors:[--btn-icon:ButtonText] forced-colors:data-hover:[--btn-icon:ButtonText]"
411
- ],
412
- solid: [
413
- // Optical border, implemented as the button background to avoid corner artifacts
414
- "border-transparent bg-(--btn-border)",
415
- // Dark mode: border is rendered on `after` so background is set to button background
416
- "dark:bg-(--btn-bg)",
417
- // Button background, implemented as foreground layer to stack on top of pseudo-border layer
418
- "before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-lg)-1px)] before:bg-(--btn-bg)",
419
- // Drop shadow, applied to the inset `before` layer so it blends with the border
420
- "before:shadow-xs",
421
- // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
422
- "dark:before:hidden",
423
- // Dark mode: Subtle white outline is applied using a border
424
- "dark:border-white/5",
425
- // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow
426
- "after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-lg)-1px)]",
427
- // Inner highlight shadow
428
- "after:shadow-[inset_0_1px_--theme(--color-white/15%)]",
429
- // White overlay on hover
430
- "data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)",
431
- // Dark mode: `after` layer expands to cover entire button
432
- "dark:after:-inset-px dark:after:rounded-lg",
433
- // Disabled
434
- "data-disabled:before:shadow-none data-disabled:after:shadow-none"
435
- ],
436
- outline: [
437
- // Liquid glass secondary button
438
- "liquid-button text-slate-900 !border-white/55",
439
- // Dark mode
440
- "dark:text-white dark:!border-white/18",
441
- // Icon
442
- "[--btn-icon:var(--color-zinc-500)] data-active:[--btn-icon:var(--color-zinc-700)] data-hover:[--btn-icon:var(--color-zinc-700)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]"
443
- ],
444
- plain: [
445
- // Base
446
- "border-transparent text-zinc-950 data-active:bg-zinc-950/5 data-hover:bg-zinc-950/5",
447
- // Dark mode
448
- "dark:text-white dark:data-active:bg-white/10 dark:data-hover:bg-white/10",
449
- // Icon
450
- "[--btn-icon:var(--color-zinc-500)] data-active:[--btn-icon:var(--color-zinc-700)] data-hover:[--btn-icon:var(--color-zinc-700)] dark:[--btn-icon:var(--color-zinc-500)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]"
451
- ],
452
- gradient: [
453
- // Same crystal-illuminated mechanic as ios-glass-blue/red/green:
454
- // neutral glass at rest, fills with translucent indigo→purple
455
- // gradient on hover. The actual rest/hover styling — including
456
- // the text-color flip from slate-900 → white — lives in the
457
- // `.liquid-button-gradient` CSS class in liquid-glass.css so the
458
- // whole transition is keyed off `:hover` (works without JS).
459
- "liquid-button-gradient border-transparent",
460
- // Disabled
461
- "data-disabled:opacity-50 data-disabled:saturate-50",
462
- // Icon tint flips with text via inherit (currentColor)
463
- "[--btn-icon:currentColor]"
464
- ],
465
- colors: {
466
- "dark/zinc": [
467
- "text-white [--btn-bg:var(--color-zinc-900)] [--btn-border:var(--color-zinc-950)]/90 [--btn-hover-overlay:var(--color-white)]/10",
468
- "dark:text-white dark:[--btn-bg:var(--color-zinc-600)] dark:[--btn-hover-overlay:var(--color-white)]/5",
469
- "[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)]"
470
- ],
471
- light: [
472
- "text-zinc-950 [--btn-bg:white] [--btn-border:var(--color-zinc-950)]/10 [--btn-hover-overlay:var(--color-zinc-950)]/2.5 data-active:[--btn-border:var(--color-zinc-950)]/15 data-hover:[--btn-border:var(--color-zinc-950)]/15",
473
- "dark:text-white dark:[--btn-hover-overlay:var(--color-white)]/5 dark:[--btn-bg:var(--color-zinc-800)]",
474
- "[--btn-icon:var(--color-zinc-500)] data-active:[--btn-icon:var(--color-zinc-700)] data-hover:[--btn-icon:var(--color-zinc-700)] dark:[--btn-icon:var(--color-zinc-500)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]"
475
- ],
476
- "dark/white": [
477
- "text-white [--btn-bg:var(--color-zinc-900)] [--btn-border:var(--color-zinc-950)]/90 [--btn-hover-overlay:var(--color-white)]/10",
478
- "dark:text-zinc-950 dark:[--btn-bg:white] dark:[--btn-hover-overlay:var(--color-zinc-950)]/5",
479
- "[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)] dark:[--btn-icon:var(--color-zinc-500)] dark:data-active:[--btn-icon:var(--color-zinc-400)] dark:data-hover:[--btn-icon:var(--color-zinc-400)]"
480
- ],
481
- dark: [
482
- "text-white [--btn-bg:var(--color-zinc-900)] [--btn-border:var(--color-zinc-950)]/90 [--btn-hover-overlay:var(--color-white)]/10",
483
- "dark:[--btn-hover-overlay:var(--color-white)]/5 dark:[--btn-bg:var(--color-zinc-800)]",
484
- "[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)]"
485
- ],
486
- white: [
487
- "text-zinc-950 [--btn-bg:white] [--btn-border:var(--color-zinc-950)]/10 [--btn-hover-overlay:var(--color-zinc-950)]/2.5 data-active:[--btn-border:var(--color-zinc-950)]/15 data-hover:[--btn-border:var(--color-zinc-950)]/15",
488
- "dark:[--btn-hover-overlay:var(--color-zinc-950)]/5",
489
- "[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-500)] data-hover:[--btn-icon:var(--color-zinc-500)]"
490
- ],
491
- zinc: [
492
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-zinc-600)] [--btn-border:var(--color-zinc-700)]/90",
493
- "dark:[--btn-hover-overlay:var(--color-white)]/5",
494
- "[--btn-icon:var(--color-zinc-400)] data-active:[--btn-icon:var(--color-zinc-300)] data-hover:[--btn-icon:var(--color-zinc-300)]"
495
- ],
496
- indigo: [
497
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-indigo-500)] [--btn-border:var(--color-indigo-600)]/90",
498
- "[--btn-icon:var(--color-indigo-300)] data-active:[--btn-icon:var(--color-indigo-200)] data-hover:[--btn-icon:var(--color-indigo-200)]"
499
- ],
500
- cyan: [
501
- "text-cyan-950 [--btn-bg:var(--color-cyan-300)] [--btn-border:var(--color-cyan-400)]/80 [--btn-hover-overlay:var(--color-white)]/25",
502
- "[--btn-icon:var(--color-cyan-500)]"
503
- ],
504
- red: [
505
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-red-600)] [--btn-border:var(--color-red-700)]/90",
506
- "[--btn-icon:var(--color-red-300)] data-active:[--btn-icon:var(--color-red-200)] data-hover:[--btn-icon:var(--color-red-200)]"
507
- ],
508
- orange: [
509
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-orange-500)] [--btn-border:var(--color-orange-600)]/90",
510
- "[--btn-icon:var(--color-orange-300)] data-active:[--btn-icon:var(--color-orange-200)] data-hover:[--btn-icon:var(--color-orange-200)]"
511
- ],
512
- amber: [
513
- "text-amber-950 [--btn-hover-overlay:var(--color-white)]/25 [--btn-bg:var(--color-amber-400)] [--btn-border:var(--color-amber-500)]/80",
514
- "[--btn-icon:var(--color-amber-600)]"
515
- ],
516
- yellow: [
517
- "text-yellow-950 [--btn-hover-overlay:var(--color-white)]/25 [--btn-bg:var(--color-yellow-300)] [--btn-border:var(--color-yellow-400)]/80",
518
- "[--btn-icon:var(--color-yellow-600)] data-active:[--btn-icon:var(--color-yellow-700)] data-hover:[--btn-icon:var(--color-yellow-700)]"
519
- ],
520
- lime: [
521
- "text-lime-950 [--btn-hover-overlay:var(--color-white)]/25 [--btn-bg:var(--color-lime-300)] [--btn-border:var(--color-lime-400)]/80",
522
- "[--btn-icon:var(--color-lime-600)] data-active:[--btn-icon:var(--color-lime-700)] data-hover:[--btn-icon:var(--color-lime-700)]"
523
- ],
524
- green: [
525
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-green-600)] [--btn-border:var(--color-green-700)]/90",
526
- "[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80"
527
- ],
528
- emerald: [
529
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-emerald-600)] [--btn-border:var(--color-emerald-700)]/90",
530
- "[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80"
531
- ],
532
- teal: [
533
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-teal-600)] [--btn-border:var(--color-teal-700)]/90",
534
- "[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80"
535
- ],
536
- sky: [
537
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-sky-500)] [--btn-border:var(--color-sky-600)]/80",
538
- "[--btn-icon:var(--color-white)]/60 data-active:[--btn-icon:var(--color-white)]/80 data-hover:[--btn-icon:var(--color-white)]/80"
539
- ],
540
- blue: [
541
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-blue-600)] [--btn-border:var(--color-blue-700)]/90",
542
- "[--btn-icon:var(--color-blue-400)] data-active:[--btn-icon:var(--color-blue-300)] data-hover:[--btn-icon:var(--color-blue-300)]"
543
- ],
544
- violet: [
545
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-violet-500)] [--btn-border:var(--color-violet-600)]/90",
546
- "[--btn-icon:var(--color-violet-300)] data-active:[--btn-icon:var(--color-violet-200)] data-hover:[--btn-icon:var(--color-violet-200)]"
547
- ],
548
- purple: [
549
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-purple-500)] [--btn-border:var(--color-purple-600)]/90",
550
- "[--btn-icon:var(--color-purple-300)] data-active:[--btn-icon:var(--color-purple-200)] data-hover:[--btn-icon:var(--color-purple-200)]"
551
- ],
552
- fuchsia: [
553
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-fuchsia-500)] [--btn-border:var(--color-fuchsia-600)]/90",
554
- "[--btn-icon:var(--color-fuchsia-300)] data-active:[--btn-icon:var(--color-fuchsia-200)] data-hover:[--btn-icon:var(--color-fuchsia-200)]"
555
- ],
556
- pink: [
557
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-pink-500)] [--btn-border:var(--color-pink-600)]/90",
558
- "[--btn-icon:var(--color-pink-300)] data-active:[--btn-icon:var(--color-pink-200)] data-hover:[--btn-icon:var(--color-pink-200)]"
559
- ],
560
- rose: [
561
- "text-white [--btn-hover-overlay:var(--color-white)]/10 [--btn-bg:var(--color-rose-500)] [--btn-border:var(--color-rose-600)]/90",
562
- "[--btn-icon:var(--color-rose-300)] data-active:[--btn-icon:var(--color-rose-200)] data-hover:[--btn-icon:var(--color-rose-200)]"
563
- ]
564
- }
565
- };
566
- var fabSizes = {
567
- sm: "h-12 w-12",
568
- md: "h-14 w-14",
569
- lg: "h-16 w-16"
570
- };
571
- var fabIconSizes = {
572
- sm: "h-5 w-5",
573
- md: "h-6 w-6",
574
- lg: "h-7 w-7"
575
- };
576
- var fabPositions = {
577
- "bottom-right": "fixed bottom-6 right-6",
578
- "bottom-left": "fixed bottom-6 left-6",
579
- "bottom-center": "fixed bottom-6 left-1/2 -translate-x-1/2"
580
- };
581
- var fabColors = {
582
- "ios-blue": "text-white bg-[#007AFF]/85 dark:bg-[#0A84FF]/80 backdrop-blur-xl border border-white/30 dark:border-white/15 shadow-[inset_0_1px_2px_rgba(255,255,255,0.5),0_12px_32px_-8px_rgba(0,122,255,0.5)] hover:bg-[#007AFF] dark:hover:bg-[#0A84FF] hover:shadow-[inset_0_1px_2px_rgba(255,255,255,0.55),0_16px_40px_-8px_rgba(0,122,255,0.65),0_0_24px_-4px_rgba(0,122,255,0.4)]",
583
- "ios-green": "text-white bg-[#34C759]/85 dark:bg-[#30D158]/80 backdrop-blur-xl border border-white/30 dark:border-white/15 shadow-[inset_0_1px_2px_rgba(255,255,255,0.5),0_12px_32px_-8px_rgba(52,199,89,0.5)] hover:bg-[#34C759] dark:hover:bg-[#30D158] hover:shadow-[inset_0_1px_2px_rgba(255,255,255,0.55),0_16px_40px_-8px_rgba(52,199,89,0.65),0_0_24px_-4px_rgba(52,199,89,0.4)]",
584
- "ios-red": "text-white bg-[#FF3B30]/85 dark:bg-[#FF453A]/80 backdrop-blur-xl border border-white/30 dark:border-white/15 shadow-[inset_0_1px_2px_rgba(255,255,255,0.5),0_12px_32px_-8px_rgba(255,59,48,0.5)] hover:bg-[#FF3B30] dark:hover:bg-[#FF453A] hover:shadow-[inset_0_1px_2px_rgba(255,255,255,0.55),0_16px_40px_-8px_rgba(255,59,48,0.65),0_0_24px_-4px_rgba(255,59,48,0.4)]",
585
- "ios-purple": "text-white bg-[#AF52DE]/85 dark:bg-[#BF5AF2]/80 backdrop-blur-xl border border-white/30 dark:border-white/15 shadow-[inset_0_1px_2px_rgba(255,255,255,0.5),0_12px_32px_-8px_rgba(175,82,222,0.5)] hover:bg-[#AF52DE] dark:hover:bg-[#BF5AF2] hover:shadow-[inset_0_1px_2px_rgba(255,255,255,0.55),0_16px_40px_-8px_rgba(175,82,222,0.65),0_0_24px_-4px_rgba(175,82,222,0.4)]",
586
- "ios-orange": "text-white bg-[#FF9500]/85 dark:bg-[#FF9F0A]/80 backdrop-blur-xl border border-white/30 dark:border-white/15 shadow-[inset_0_1px_2px_rgba(255,255,255,0.5),0_12px_32px_-8px_rgba(255,149,0,0.5)] hover:bg-[#FF9500] dark:hover:bg-[#FF9F0A] hover:shadow-[inset_0_1px_2px_rgba(255,255,255,0.55),0_16px_40px_-8px_rgba(255,149,0,0.65),0_0_24px_-4px_rgba(255,149,0,0.4)]"
587
- };
588
- var iconButtonSizes = {
589
- sm: "h-8 w-8",
590
- md: "h-10 w-10",
591
- lg: "h-12 w-12"
592
- };
593
- var iconSizes = {
594
- sm: "h-4 w-4",
595
- md: "h-5 w-5",
596
- lg: "h-6 w-6"
597
- };
598
- var Button = React12.forwardRef(function Button2({
599
- color,
600
- outline,
601
- plain,
602
- gradient,
603
- className,
604
- children,
605
- pill,
606
- size = "md",
607
- loading,
608
- loadingText,
609
- fullWidth,
610
- destructive,
611
- disabled,
612
- ...props
613
- }, ref) {
614
- const finalColor = destructive ? "ios-red" : color;
615
- const isIosColor = finalColor && finalColor in iosColors2;
616
- const colorStyles2 = isIosColor ? iosColors2[finalColor] : styles.colors[finalColor] ?? styles.colors["dark/zinc"];
617
- let classes = clsx__default.default(
618
- className,
619
- styles.base,
620
- gradient ? styles.gradient : outline ? styles.outline : plain ? styles.plain : clsx__default.default(styles.solid, colorStyles2),
621
- pill && pillStyles,
622
- size !== "md" && sizeStyles[size],
623
- fullWidth && "w-full",
624
- loading && "pointer-events-none"
625
- );
626
- const handleTapStart = () => {
627
- if (!loading && !disabled) {
628
- chunkUZ3CMNUJ_js.triggerHaptic(destructive ? "medium" : "light");
629
- }
630
- };
631
- const isDisabled = disabled || loading;
632
- const buttonContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
633
- /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: loading && /* @__PURE__ */ jsxRuntime.jsx(
634
- framerMotion.motion.span,
635
- {
636
- initial: { opacity: 0, width: 0 },
637
- animate: { opacity: 1, width: "auto" },
638
- exit: { opacity: 0, width: 0 },
639
- transition: getTransition(springPresets.stiff),
640
- className: "inline-flex items-center",
641
- children: /* @__PURE__ */ jsxRuntime.jsx(LoadingSpinner, { className: "mr-2" })
642
- }
643
- ) }),
644
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx__default.default("inline-flex items-center gap-x-2", loading && "opacity-70"), children: loading && loadingText ? loadingText : children })
645
- ] });
646
- const linkProps = props;
647
- const buttonProps = props;
648
- const isLink = typeof props.href === "string";
649
- return isLink ? /* @__PURE__ */ jsxRuntime.jsx(
650
- framerMotion.motion.div,
651
- {
652
- whileTap: !isDisabled ? { scale: 0.97 } : void 0,
653
- transition: getTransition(springPresets.stiff),
654
- onTapStart: handleTapStart,
655
- className: clsx__default.default("inline-flex", fullWidth && "w-full"),
656
- children: /* @__PURE__ */ jsxRuntime.jsx(
657
- Link,
658
- {
659
- ...linkProps,
660
- className: classes,
661
- ref,
662
- children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: buttonContent })
663
- }
664
- )
665
- }
666
- ) : /* @__PURE__ */ jsxRuntime.jsx(
667
- framerMotion.motion.div,
668
- {
669
- whileTap: !isDisabled ? { scale: 0.97 } : void 0,
670
- transition: getTransition(springPresets.stiff),
671
- onTapStart: handleTapStart,
672
- className: clsx__default.default("inline-flex", fullWidth && "w-full"),
673
- children: /* @__PURE__ */ jsxRuntime.jsx(
674
- Headless5.Button,
675
- {
676
- ...buttonProps,
677
- disabled: isDisabled,
678
- className: clsx__default.default(classes, "cursor-default"),
679
- ref,
680
- children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: buttonContent })
681
- }
682
- )
683
- }
684
- );
685
- });
686
- function TouchTarget({ children }) {
687
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
688
- /* @__PURE__ */ jsxRuntime.jsx(
689
- "span",
690
- {
691
- className: "absolute top-1/2 left-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 pointer-fine:hidden",
692
- "aria-hidden": "true"
693
- }
694
- ),
695
- children
696
- ] });
697
- }
698
- function LoadingSpinner({ className }) {
699
- return /* @__PURE__ */ jsxRuntime.jsxs(
700
- "svg",
701
- {
702
- className: clsx__default.default("h-4 w-4 animate-spin motion-reduce:animate-none", className),
703
- xmlns: "http://www.w3.org/2000/svg",
704
- fill: "none",
705
- viewBox: "0 0 24 24",
706
- children: [
707
- /* @__PURE__ */ jsxRuntime.jsx(
708
- "circle",
709
- {
710
- className: "opacity-25",
711
- cx: "12",
712
- cy: "12",
713
- r: "10",
714
- stroke: "currentColor",
715
- strokeWidth: "4"
716
- }
717
- ),
718
- /* @__PURE__ */ jsxRuntime.jsx(
719
- "path",
720
- {
721
- className: "opacity-75",
722
- fill: "currentColor",
723
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
724
- }
725
- )
726
- ]
727
- }
728
- );
729
- }
730
- function FloatingActionButton({
731
- icon,
732
- label,
733
- color = "ios-blue",
734
- size = "md",
735
- position = "bottom-right",
736
- onClick,
737
- loading,
738
- className,
739
- extended
740
- }) {
741
- const handleClick = () => {
742
- if (!loading) {
743
- chunkUZ3CMNUJ_js.triggerHaptic("medium");
744
- onClick?.();
745
- }
746
- };
747
- return /* @__PURE__ */ jsxRuntime.jsxs(
748
- framerMotion.motion.button,
749
- {
750
- onClick: handleClick,
751
- disabled: loading,
752
- initial: { scale: 0, opacity: 0 },
753
- animate: { scale: 1, opacity: 1 },
754
- exit: { scale: 0, opacity: 0 },
755
- whileHover: { scale: 1.05 },
756
- whileTap: { scale: 0.95 },
757
- transition: getTransition(springPresets.bouncy),
758
- className: clsx__default.default(
759
- fabPositions[position],
760
- extended ? "px-5 h-14 rounded-full" : clsx__default.default(fabSizes[size], "rounded-full"),
761
- fabColors[color],
762
- "flex items-center justify-center gap-2",
763
- "shadow-lg hover:shadow-xl",
764
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-indigo-500/70",
765
- "z-50",
766
- loading && "opacity-70 cursor-not-allowed",
767
- className
768
- ),
769
- "aria-label": label,
770
- children: [
771
- loading ? /* @__PURE__ */ jsxRuntime.jsx(LoadingSpinner, { className: fabIconSizes[size] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: fabIconSizes[size], children: icon }),
772
- extended && label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-base", children: label })
773
- ]
774
- }
775
- );
776
- }
777
- function IconButton({
778
- icon,
779
- label,
780
- color = "ios-blue",
781
- size = "md",
782
- variant = "ghost",
783
- onClick,
784
- disabled,
785
- loading,
786
- className,
787
- destructive
788
- }) {
789
- const finalColor = destructive ? "ios-red" : color;
790
- const isIosColor = finalColor in iosColors2;
791
- const handleClick = () => {
792
- if (!disabled && !loading) {
793
- chunkUZ3CMNUJ_js.triggerHaptic(destructive ? "medium" : "light");
794
- onClick?.();
795
- }
796
- };
797
- const variantStyles2 = {
798
- solid: clsx__default.default(
799
- "text-white",
800
- isIosColor && finalColor === "ios-blue" && "bg-[#007AFF] dark:bg-[#0A84FF]",
801
- isIosColor && finalColor === "ios-red" && "bg-[#FF3B30] dark:bg-[#FF453A]",
802
- isIosColor && finalColor === "ios-green" && "bg-[#34C759] dark:bg-[#30D158]",
803
- isIosColor && finalColor === "ios-orange" && "bg-[#FF9500] dark:bg-[#FF9F0A]",
804
- isIosColor && finalColor === "ios-purple" && "bg-[#AF52DE] dark:bg-[#BF5AF2]"
805
- ),
806
- ghost: clsx__default.default(
807
- "bg-transparent hover:bg-white/40 dark:hover:bg-white/[0.08]",
808
- isIosColor && finalColor === "ios-blue" && "text-[#007AFF] dark:text-[#0A84FF]",
809
- isIosColor && finalColor === "ios-red" && "text-[#FF3B30] dark:text-[#FF453A]",
810
- isIosColor && finalColor === "ios-green" && "text-[#34C759] dark:text-[#30D158]",
811
- isIosColor && finalColor === "ios-orange" && "text-[#FF9500] dark:text-[#FF9F0A]",
812
- isIosColor && finalColor === "ios-purple" && "text-[#AF52DE] dark:text-[#BF5AF2]",
813
- !isIosColor && "text-slate-700 dark:text-slate-300"
814
- ),
815
- outline: clsx__default.default(
816
- "bg-transparent border",
817
- isIosColor && finalColor === "ios-blue" && "border-[#007AFF] text-[#007AFF] dark:border-[#0A84FF] dark:text-[#0A84FF]",
818
- isIosColor && finalColor === "ios-red" && "border-[#FF3B30] text-[#FF3B30] dark:border-[#FF453A] dark:text-[#FF453A]",
819
- isIosColor && finalColor === "ios-green" && "border-[#34C759] text-[#34C759] dark:border-[#30D158] dark:text-[#30D158]",
820
- isIosColor && finalColor === "ios-orange" && "border-[#FF9500] text-[#FF9500] dark:border-[#FF9F0A] dark:text-[#FF9F0A]",
821
- isIosColor && finalColor === "ios-purple" && "border-[#AF52DE] text-[#AF52DE] dark:border-[#BF5AF2] dark:text-[#BF5AF2]"
822
- )
823
- };
824
- return /* @__PURE__ */ jsxRuntime.jsx(
825
- framerMotion.motion.button,
826
- {
827
- onClick: handleClick,
828
- disabled: disabled || loading,
829
- whileTap: { scale: 0.9 },
830
- transition: getTransition(springPresets.stiff),
831
- className: clsx__default.default(
832
- iconButtonSizes[size],
833
- "rounded-full flex items-center justify-center",
834
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-indigo-500/70",
835
- "transition-colors",
836
- variantStyles2[variant],
837
- (disabled || loading) && "opacity-50 cursor-not-allowed",
838
- className
839
- ),
840
- "aria-label": label,
841
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(LoadingSpinner, { className: iconSizes[size] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: iconSizes[size], children: icon })
842
- }
843
- );
844
- }
845
57
  var ICON_SIZE_CLASSES = {
846
58
  sm: "h-9 w-9",
847
59
  md: "h-10 w-10",
@@ -1020,13 +232,13 @@ function SectionCard({
1020
232
  eyebrowExtra
1021
233
  }) {
1022
234
  const { icon, eyebrow, title, subtitle, gradient = "from-indigo-500 to-purple-600", rightContent } = header;
1023
- const [internalOpen, setInternalOpen] = React12.useState(defaultOpen);
235
+ const [internalOpen, setInternalOpen] = React9.useState(defaultOpen);
1024
236
  const isOpen = controlledOpen ?? internalOpen;
1025
237
  const setOpen = (next) => {
1026
238
  if (controlledOpen === void 0) setInternalOpen(next);
1027
239
  onOpenChange?.(next);
1028
240
  };
1029
- const reactId = React12.useId();
241
+ const reactId = React9.useId();
1030
242
  const headingId = `${reactId}-heading`;
1031
243
  const bodyId = `${reactId}-body`;
1032
244
  const chevron = collapsible ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -1137,7 +349,7 @@ function ListCardItem({
1137
349
  }
1138
350
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex items-center gap-3 px-4 py-3 ${className}`, ...props, children: content });
1139
351
  }
1140
- var Input = React12.forwardRef(
352
+ var Input = React9.forwardRef(
1141
353
  ({
1142
354
  className = "",
1143
355
  label,
@@ -1160,18 +372,18 @@ var Input = React12.forwardRef(
1160
372
  ...props
1161
373
  }, ref) => {
1162
374
  const t = chunkYXN2K77G_js.useTranslations("auth");
1163
- const autoId = React12.useId();
375
+ const autoId = React9.useId();
1164
376
  const inputId = props.id || autoId;
1165
377
  const errorId = `${inputId}-error`;
1166
378
  const helperId = `${inputId}-helper`;
1167
- const [isFocused, setIsFocused] = React12.useState(false);
1168
- const [showPassword, setShowPassword] = React12.useState(false);
379
+ const [isFocused, setIsFocused] = React9.useState(false);
380
+ const [showPassword, setShowPassword] = React9.useState(false);
1169
381
  const prefersReducedMotion2 = framerMotion.useReducedMotion();
1170
382
  const hasValue = value !== void 0 && value !== "";
1171
383
  const characterCount = typeof value === "string" ? value.length : 0;
1172
384
  const isOverLimit = maxCharacters ? characterCount > maxCharacters : false;
1173
385
  const isFilled = variant === "filled";
1174
- const handleFocus = React12.useCallback(
386
+ const handleFocus = React9.useCallback(
1175
387
  (e) => {
1176
388
  setIsFocused(true);
1177
389
  chunkUZ3CMNUJ_js.triggerHaptic("light");
@@ -1179,18 +391,18 @@ var Input = React12.forwardRef(
1179
391
  },
1180
392
  [onFocus]
1181
393
  );
1182
- const handleBlur = React12.useCallback(
394
+ const handleBlur = React9.useCallback(
1183
395
  (e) => {
1184
396
  setIsFocused(false);
1185
397
  onBlur?.(e);
1186
398
  },
1187
399
  [onBlur]
1188
400
  );
1189
- const handleClear = React12.useCallback(() => {
401
+ const handleClear = React9.useCallback(() => {
1190
402
  chunkUZ3CMNUJ_js.triggerHaptic("light");
1191
403
  onClear?.();
1192
404
  }, [onClear]);
1193
- const togglePassword = React12.useCallback(() => {
405
+ const togglePassword = React9.useCallback(() => {
1194
406
  chunkUZ3CMNUJ_js.triggerHaptic("light");
1195
407
  setShowPassword(!showPassword);
1196
408
  }, [showPassword]);
@@ -1223,7 +435,7 @@ var Input = React12.forwardRef(
1223
435
  initial: { opacity: 0, scale: 0.8 },
1224
436
  animate: { opacity: 1, scale: 1 },
1225
437
  exit: { opacity: 0, scale: 0.8 },
1226
- transition: getTransition(springPresets.bouncy),
438
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.bouncy),
1227
439
  children: /* @__PURE__ */ jsxRuntime.jsx(solid.CheckCircleIcon, { className: "h-5 w-5 text-ios-green dark:text-ios-green-dark" })
1228
440
  }
1229
441
  ) }),
@@ -1398,7 +610,7 @@ var Input = React12.forwardRef(
1398
610
  }
1399
611
  );
1400
612
  Input.displayName = "Input";
1401
- var PasswordInput = React12.forwardRef(
613
+ var PasswordInput = React9.forwardRef(
1402
614
  ({ variant = "default", icon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1403
615
  Input,
1404
616
  {
@@ -1412,7 +624,7 @@ var PasswordInput = React12.forwardRef(
1412
624
  )
1413
625
  );
1414
626
  PasswordInput.displayName = "PasswordInput";
1415
- var SearchInput = React12.forwardRef(
627
+ var SearchInput = React9.forwardRef(
1416
628
  ({ icon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1417
629
  Input,
1418
630
  {
@@ -1437,9 +649,9 @@ function Sheet({
1437
649
  }) {
1438
650
  const isRight = side === "right";
1439
651
  const motionValue = framerMotion.useMotionValue(0);
1440
- const sheetRef = React12.useRef(null);
652
+ const sheetRef = React9.useRef(null);
1441
653
  const backdropOpacity = framerMotion.useTransform(motionValue, [0, 300], [1, 0]);
1442
- const handleDragEnd = React12.useCallback(
654
+ const handleDragEnd = React9.useCallback(
1443
655
  (_, info) => {
1444
656
  const shouldClose = isRight ? info.velocity.x > 500 || info.offset.x > 150 : info.velocity.y > 500 || info.offset.y > 150;
1445
657
  if (shouldClose) {
@@ -1451,18 +663,18 @@ function Sheet({
1451
663
  },
1452
664
  [onClose, motionValue, isRight]
1453
665
  );
1454
- React12.useEffect(() => {
666
+ React9.useEffect(() => {
1455
667
  if (open) {
1456
668
  motionValue.set(0);
1457
669
  }
1458
670
  }, [open, motionValue]);
1459
671
  const maxHeight = snapPoints[snapPoints.length - 1];
1460
672
  const rightSizeClass = size === "xl" ? "max-w-xl" : size === "lg" ? "max-w-lg" : "max-w-md";
1461
- return /* @__PURE__ */ jsxRuntime.jsx(Headless5.Transition, { show: open, as: React12.Fragment, children: /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { as: "div", className: "relative z-50", onClose, children: [
673
+ return /* @__PURE__ */ jsxRuntime.jsx(Headless3.Transition, { show: open, as: React9.Fragment, children: /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { as: "div", className: "relative z-50", onClose, children: [
1462
674
  /* @__PURE__ */ jsxRuntime.jsx(
1463
- Headless5.TransitionChild,
675
+ Headless3.TransitionChild,
1464
676
  {
1465
- as: React12.Fragment,
677
+ as: React9.Fragment,
1466
678
  enter: "ease-out duration-300",
1467
679
  enterFrom: "opacity-0",
1468
680
  enterTo: "opacity-100",
@@ -1483,9 +695,9 @@ function Sheet({
1483
695
  {
1484
696
  className: isRight ? "pointer-events-none fixed inset-y-0 right-0 flex w-screen max-w-full justify-end" : "pointer-events-none fixed inset-x-0 bottom-0 flex justify-center",
1485
697
  children: /* @__PURE__ */ jsxRuntime.jsx(
1486
- Headless5.TransitionChild,
698
+ Headless3.TransitionChild,
1487
699
  {
1488
- as: React12.Fragment,
700
+ as: React9.Fragment,
1489
701
  enter: "transform transition ease-out duration-300",
1490
702
  enterFrom: isRight ? "translate-x-full" : "translate-y-full",
1491
703
  enterTo: isRight ? "translate-x-0" : "translate-y-0",
@@ -1493,7 +705,7 @@ function Sheet({
1493
705
  leaveFrom: isRight ? "translate-x-0" : "translate-y-0",
1494
706
  leaveTo: isRight ? "translate-x-full" : "translate-y-full",
1495
707
  children: /* @__PURE__ */ jsxRuntime.jsxs(
1496
- Headless5.DialogPanel,
708
+ Headless3.DialogPanel,
1497
709
  {
1498
710
  as: framerMotion.motion.div,
1499
711
  ref: sheetRef,
@@ -1506,7 +718,7 @@ function Sheet({
1506
718
  ...!isRight ? { initial: { height: maxHeight } } : {},
1507
719
  children: [
1508
720
  showHandle && !isRight && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center pt-3 pb-2 cursor-grab active:cursor-grabbing", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1 w-10 rounded-full bg-slate-400/50 dark:bg-slate-500/50" }) }),
1509
- title && /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogTitle, { className: "px-6 py-3 text-lg font-semibold text-slate-900 dark:text-white border-b border-white/30 dark:border-white/10", children: title }),
721
+ title && /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogTitle, { className: "px-6 py-3 text-lg font-semibold text-slate-900 dark:text-white border-b border-white/30 dark:border-white/10", children: title }),
1510
722
  /* @__PURE__ */ jsxRuntime.jsx(
1511
723
  "div",
1512
724
  {
@@ -1573,21 +785,21 @@ function WheelPicker({
1573
785
  visibleItems = 5,
1574
786
  itemHeight = ITEM_HEIGHT
1575
787
  }) {
1576
- const containerRef = React12.useRef(null);
788
+ const containerRef = React9.useRef(null);
1577
789
  const y = framerMotion.useMotionValue(0);
1578
- const [isDragging, setIsDragging] = React12.useState(false);
790
+ const [isDragging, setIsDragging] = React9.useState(false);
1579
791
  const normalizedOptions = options.map(
1580
792
  (opt) => typeof opt === "string" ? { value: opt, label: opt } : opt
1581
793
  );
1582
794
  const selectedIndex = normalizedOptions.findIndex((opt) => opt.value === value);
1583
795
  const containerHeight = visibleItems * itemHeight;
1584
- React12.useEffect(() => {
796
+ React9.useEffect(() => {
1585
797
  if (selectedIndex >= 0 && !isDragging) {
1586
798
  const targetY = -selectedIndex * itemHeight;
1587
799
  framerMotion.animate(y, targetY, { type: "spring", stiffness: 300, damping: 30 });
1588
800
  }
1589
801
  }, [selectedIndex, itemHeight, y, isDragging]);
1590
- const handleDragEnd = React12.useCallback(() => {
802
+ const handleDragEnd = React9.useCallback(() => {
1591
803
  setIsDragging(false);
1592
804
  const currentY = y.get();
1593
805
  const nearestIndex = Math.round(-currentY / itemHeight);
@@ -1606,7 +818,7 @@ function WheelPicker({
1606
818
  }
1607
819
  });
1608
820
  }, [y, itemHeight, normalizedOptions, value, onChange]);
1609
- const handleDrag = React12.useCallback(() => {
821
+ const handleDrag = React9.useCallback(() => {
1610
822
  if (!isDragging) setIsDragging(true);
1611
823
  const currentY = y.get();
1612
824
  const currentIndex = Math.round(-currentY / itemHeight);
@@ -1690,7 +902,7 @@ function MultiColumnPicker({ columns }) {
1690
902
  index
1691
903
  )) });
1692
904
  }
1693
- var Select = React12.forwardRef(
905
+ var Select = React9.forwardRef(
1694
906
  ({
1695
907
  className = "",
1696
908
  label,
@@ -1706,13 +918,13 @@ var Select = React12.forwardRef(
1706
918
  onBlur,
1707
919
  ...props
1708
920
  }, ref) => {
1709
- const [isOpen, setIsOpen] = React12.useState(false);
1710
- const [isFocused, setIsFocused] = React12.useState(false);
921
+ const [isOpen, setIsOpen] = React9.useState(false);
922
+ const [isFocused, setIsFocused] = React9.useState(false);
1711
923
  const normalizedOptions = options.map(
1712
924
  (opt) => typeof opt === "string" ? { value: opt, label: opt } : opt
1713
925
  );
1714
926
  const selectedOption = normalizedOptions.find((opt) => opt.value === String(value));
1715
- const handleFocus = React12.useCallback(
927
+ const handleFocus = React9.useCallback(
1716
928
  (e) => {
1717
929
  setIsFocused(true);
1718
930
  chunkUZ3CMNUJ_js.triggerHaptic("light");
@@ -1720,14 +932,14 @@ var Select = React12.forwardRef(
1720
932
  },
1721
933
  [onFocus]
1722
934
  );
1723
- const handleBlur = React12.useCallback(
935
+ const handleBlur = React9.useCallback(
1724
936
  (e) => {
1725
937
  setIsFocused(false);
1726
938
  onBlur?.(e);
1727
939
  },
1728
940
  [onBlur]
1729
941
  );
1730
- const handlePickerChange = React12.useCallback(
942
+ const handlePickerChange = React9.useCallback(
1731
943
  (newValue) => {
1732
944
  chunkUZ3CMNUJ_js.triggerHaptic("selection");
1733
945
  const syntheticEvent = {
@@ -1739,7 +951,7 @@ var Select = React12.forwardRef(
1739
951
  },
1740
952
  [onChange]
1741
953
  );
1742
- const handleOpenPicker = React12.useCallback(() => {
954
+ const handleOpenPicker = React9.useCallback(() => {
1743
955
  if (disabled) return;
1744
956
  chunkUZ3CMNUJ_js.triggerHaptic("light");
1745
957
  setIsOpen(true);
@@ -1862,7 +1074,7 @@ function DropdownSelect({
1862
1074
  disabled,
1863
1075
  error
1864
1076
  }) {
1865
- const [isOpen, setIsOpen] = React12.useState(false);
1077
+ const [isOpen, setIsOpen] = React9.useState(false);
1866
1078
  const selectedOption = options.find((opt) => opt.value === value);
1867
1079
  const handleSelect = (optionValue) => {
1868
1080
  chunkUZ3CMNUJ_js.triggerHaptic("selection");
@@ -2005,7 +1217,7 @@ function ToggleSwitch({
2005
1217
  children: /* @__PURE__ */ jsxRuntime.jsx(
2006
1218
  framerMotion.motion.span,
2007
1219
  {
2008
- transition: springPresets.bouncy,
1220
+ transition: chunkBHOT22QL_js.springPresets.bouncy,
2009
1221
  className: `
2010
1222
  pointer-events-none inline-block rounded-full
2011
1223
  bg-white shadow-lg shadow-black/10
@@ -2485,7 +1697,7 @@ function EntityCard({
2485
1697
  }) {
2486
1698
  const isInteractive = Boolean(onClick);
2487
1699
  const plainTextTitle = isPlainTextTitle(title) ? String(title) : void 0;
2488
- const handleKeyDown = React12.useCallback(
1700
+ const handleKeyDown = React9.useCallback(
2489
1701
  (event) => {
2490
1702
  if (onClick && (event.key === "Enter" || event.key === " ")) {
2491
1703
  event.preventDefault();
@@ -2551,7 +1763,7 @@ var SIZE_STYLES = {
2551
1763
  sm: "px-2 py-0.5 text-xs",
2552
1764
  md: "px-2.5 py-1 text-xs"
2553
1765
  };
2554
- var StatusBadge = React12.forwardRef(function StatusBadge2({ status, label, size = "md", className = "", ...props }, ref) {
1766
+ var StatusBadge = React9.forwardRef(function StatusBadge2({ status, label, size = "md", className = "", ...props }, ref) {
2555
1767
  let tone;
2556
1768
  let resolvedLabel;
2557
1769
  let IconComponent;
@@ -3053,12 +2265,12 @@ function InputRequestForm({
3053
2265
  data,
3054
2266
  onResolved
3055
2267
  }) {
3056
- const [values, setValues] = React12.useState(
2268
+ const [values, setValues] = React9.useState(
3057
2269
  () => initialValues(data.fields)
3058
2270
  );
3059
- const [submitting, setSubmitting] = React12.useState(false);
3060
- const [resolved, setResolved] = React12.useState(null);
3061
- const [error, setError] = React12.useState(null);
2271
+ const [submitting, setSubmitting] = React9.useState(false);
2272
+ const [resolved, setResolved] = React9.useState(null);
2273
+ const [error, setError] = React9.useState(null);
3062
2274
  async function submit(decision) {
3063
2275
  if (submitting || resolved) return;
3064
2276
  setSubmitting(true);
@@ -3301,16 +2513,16 @@ function StreamingDashboard({
3301
2513
  initialStatus,
3302
2514
  className
3303
2515
  }) {
3304
- const [spec, setSpec] = React12.useState(
2516
+ const [spec, setSpec] = React9.useState(
3305
2517
  initialSpec ?? null
3306
2518
  );
3307
- const [timeline, setTimeline] = React12.useState([]);
3308
- const [phase, setPhase] = React12.useState(
2519
+ const [timeline, setTimeline] = React9.useState([]);
2520
+ const [phase, setPhase] = React9.useState(
3309
2521
  () => derivePhase(initialStatus)
3310
2522
  );
3311
- const [error, setError] = React12.useState(null);
3312
- const specRef = React12.useRef(initialSpec ?? null);
3313
- React12.useEffect(() => {
2523
+ const [error, setError] = React9.useState(null);
2524
+ const specRef = React9.useRef(initialSpec ?? null);
2525
+ React9.useEffect(() => {
3314
2526
  if (phase === "completed" || phase === "failed" || phase === "cancelled") {
3315
2527
  return;
3316
2528
  }
@@ -3813,23 +3025,23 @@ function SearchBar({
3813
3025
  filterChipStyleConfig
3814
3026
  }) {
3815
3027
  const t = chunkYXN2K77G_js.useTranslations("common");
3816
- const [isFocused, setIsFocused] = React12.useState(false);
3817
- const inputRef = React12.useRef(null);
3028
+ const [isFocused, setIsFocused] = React9.useState(false);
3029
+ const inputRef = React9.useRef(null);
3818
3030
  const hasFilters = activeFilters.length > 0 || searchTerm.length > 0;
3819
3031
  const defaultPlaceholder = placeholder || t("searchPlaceholder");
3820
- const handleFocus = React12.useCallback(() => {
3032
+ const handleFocus = React9.useCallback(() => {
3821
3033
  setIsFocused(true);
3822
3034
  chunkUZ3CMNUJ_js.triggerHaptic("light");
3823
3035
  }, []);
3824
- const handleBlur = React12.useCallback(() => {
3036
+ const handleBlur = React9.useCallback(() => {
3825
3037
  setTimeout(() => setIsFocused(false), 150);
3826
3038
  }, []);
3827
- const handleClear = React12.useCallback(() => {
3039
+ const handleClear = React9.useCallback(() => {
3828
3040
  chunkUZ3CMNUJ_js.triggerHaptic("light");
3829
3041
  onSearchChange("");
3830
3042
  inputRef.current?.focus();
3831
3043
  }, [onSearchChange]);
3832
- const handleCancel = React12.useCallback(() => {
3044
+ const handleCancel = React9.useCallback(() => {
3833
3045
  chunkUZ3CMNUJ_js.triggerHaptic("light");
3834
3046
  onSearchChange("");
3835
3047
  setIsFocused(false);
@@ -3921,7 +3133,7 @@ function SearchBar({
3921
3133
  ] });
3922
3134
  }
3923
3135
  function InfoPopover({ title, content, triggerLabel = "Info" }) {
3924
- const id = React12.useId();
3136
+ const id = React9.useId();
3925
3137
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Root, { children: [
3926
3138
  /* @__PURE__ */ jsxRuntime.jsx(Popover__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", "aria-label": triggerLabel, className: "text-gray-400 hover:text-gray-700 dark:hover:text-gray-200", children: /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.InformationCircleIcon, { className: "h-4 w-4" }) }) }),
3927
3139
  /* @__PURE__ */ jsxRuntime.jsx(Popover__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(Popover__namespace.Content, { id, sideOffset: 8, className: "liquid-surface-strong z-[120] w-80 rounded-xl p-3", children: [
@@ -4354,16 +3566,16 @@ var colorClasses2 = {
4354
3566
  };
4355
3567
  function CircleSpinner({ size, color, className, ariaLabel }) {
4356
3568
  const config = sizeConfig[size];
4357
- const colors3 = colorClasses2[color];
3569
+ const colors2 = colorClasses2[color];
4358
3570
  return /* @__PURE__ */ jsxRuntime.jsx(
4359
3571
  "div",
4360
3572
  {
4361
- className: clsx.clsx(
3573
+ className: clsx4.clsx(
4362
3574
  "rounded-full animate-spin motion-reduce:animate-none",
4363
3575
  config.size,
4364
3576
  config.border,
4365
- colors3.track,
4366
- colors3.indicator,
3577
+ colors2.track,
3578
+ colors2.indicator,
4367
3579
  className
4368
3580
  ),
4369
3581
  role: "status",
@@ -4373,16 +3585,16 @@ function CircleSpinner({ size, color, className, ariaLabel }) {
4373
3585
  }
4374
3586
  function DotsSpinner({ size, color, className, ariaLabel }) {
4375
3587
  const config = sizeConfig[size];
4376
- const colors3 = colorClasses2[color];
3588
+ const colors2 = colorClasses2[color];
4377
3589
  const prefersReducedMotion2 = framerMotion.useReducedMotion();
4378
3590
  const dotVariants = {
4379
3591
  initial: { scale: 0.8, opacity: 0.4 },
4380
3592
  animate: prefersReducedMotion2 ? { scale: 1, opacity: 1 } : { scale: 1, opacity: 1 }
4381
3593
  };
4382
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx("flex items-center gap-1", className), role: "status", "aria-label": ariaLabel, children: [0, 1, 2].map((index) => /* @__PURE__ */ jsxRuntime.jsx(
3594
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx4.clsx("flex items-center gap-1", className), role: "status", "aria-label": ariaLabel, children: [0, 1, 2].map((index) => /* @__PURE__ */ jsxRuntime.jsx(
4383
3595
  framerMotion.motion.div,
4384
3596
  {
4385
- className: clsx.clsx("rounded-full", colors3.dot),
3597
+ className: clsx4.clsx("rounded-full", colors2.dot),
4386
3598
  style: {
4387
3599
  width: config.dotSize,
4388
3600
  height: config.dotSize
@@ -4402,13 +3614,13 @@ function DotsSpinner({ size, color, className, ariaLabel }) {
4402
3614
  }
4403
3615
  function PulseSpinner({ size, color, className, ariaLabel }) {
4404
3616
  const config = sizeConfig[size];
4405
- const colors3 = colorClasses2[color];
3617
+ const colors2 = colorClasses2[color];
4406
3618
  const prefersReducedMotion2 = framerMotion.useReducedMotion();
4407
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx.clsx("relative", config.size, className), role: "status", "aria-label": ariaLabel, children: [
3619
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4.clsx("relative", config.size, className), role: "status", "aria-label": ariaLabel, children: [
4408
3620
  /* @__PURE__ */ jsxRuntime.jsx(
4409
3621
  framerMotion.motion.div,
4410
3622
  {
4411
- className: clsx.clsx("absolute inset-0 rounded-full", colors3.dot),
3623
+ className: clsx4.clsx("absolute inset-0 rounded-full", colors2.dot),
4412
3624
  animate: prefersReducedMotion2 ? {} : {
4413
3625
  scale: [1, 1.5, 1],
4414
3626
  opacity: [0.7, 0, 0.7]
@@ -4420,7 +3632,7 @@ function PulseSpinner({ size, color, className, ariaLabel }) {
4420
3632
  }
4421
3633
  }
4422
3634
  ),
4423
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx("absolute inset-0 rounded-full", colors3.dot) })
3635
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx4.clsx("absolute inset-0 rounded-full", colors2.dot) })
4424
3636
  ] });
4425
3637
  }
4426
3638
  function Spinner({
@@ -4461,7 +3673,7 @@ function LoadingOverlay({ show, message, blur = true }) {
4461
3673
  initial: { opacity: 0 },
4462
3674
  animate: { opacity: 1 },
4463
3675
  exit: { opacity: 0 },
4464
- className: clsx.clsx(
3676
+ className: clsx4.clsx(
4465
3677
  "fixed inset-0 z-50 flex flex-col items-center justify-center",
4466
3678
  "bg-white/80 dark:bg-slate-900/80",
4467
3679
  blur && "backdrop-blur-sm"
@@ -4507,12 +3719,12 @@ function GrowthIndicator({
4507
3719
  if (isNeutral && !showValue) {
4508
3720
  return null;
4509
3721
  }
4510
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx.clsx("inline-flex items-center gap-0.5", colorClasses3, className), children: [
3722
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: clsx4.clsx("inline-flex items-center gap-0.5", colorClasses3, className), children: [
4511
3723
  !isNeutral && /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: iconClass }),
4512
3724
  showValue && /* @__PURE__ */ jsxRuntime.jsx("span", { className: textClass, children: formattedValue })
4513
3725
  ] });
4514
3726
  }
4515
- var sizeStyles2 = {
3727
+ var sizeStyles = {
4516
3728
  sm: {
4517
3729
  container: "h-8 p-0.5 text-xs",
4518
3730
  segment: "px-3 py-1"
@@ -4534,14 +3746,14 @@ function SegmentedControl({
4534
3746
  fullWidth = false,
4535
3747
  disabled = false
4536
3748
  }) {
4537
- const containerRef = React12.useRef(null);
4538
- const [indicatorStyle, setIndicatorStyle] = React12.useState({ left: 0, width: 0 });
3749
+ const containerRef = React9.useRef(null);
3750
+ const [indicatorStyle, setIndicatorStyle] = React9.useState({ left: 0, width: 0 });
4539
3751
  const normalizedSegments = segments.map(
4540
3752
  (seg) => typeof seg === "string" ? { value: seg, label: seg } : seg
4541
3753
  );
4542
3754
  const selectedIndex = normalizedSegments.findIndex((seg) => seg.value === value);
4543
- const styles2 = sizeStyles2[size];
4544
- React12.useEffect(() => {
3755
+ const styles = sizeStyles[size];
3756
+ React9.useEffect(() => {
4545
3757
  if (containerRef.current && selectedIndex >= 0) {
4546
3758
  const container = containerRef.current;
4547
3759
  const buttons = container.querySelectorAll("button");
@@ -4561,7 +3773,7 @@ function SegmentedControl({
4561
3773
  chunkUZ3CMNUJ_js.triggerHaptic("light");
4562
3774
  onChange(segmentValue);
4563
3775
  };
4564
- const handleKeyDown = React12.useCallback(
3776
+ const handleKeyDown = React9.useCallback(
4565
3777
  (event) => {
4566
3778
  if (disabled) return;
4567
3779
  const currentIndex = normalizedSegments.findIndex((seg) => seg.value === value);
@@ -4600,7 +3812,7 @@ function SegmentedControl({
4600
3812
  className: `
4601
3813
  liquid-surface relative inline-flex items-center rounded-xl
4602
3814
  focus-within:ring-2 focus-within:ring-indigo-500/70 focus-within:ring-offset-1
4603
- ${styles2.container}
3815
+ ${styles.container}
4604
3816
  ${fullWidth ? "w-full" : ""}
4605
3817
  ${disabled ? "opacity-50 pointer-events-none" : ""}
4606
3818
  `,
@@ -4620,7 +3832,7 @@ function SegmentedControl({
4620
3832
  left: indicatorStyle.left,
4621
3833
  width: indicatorStyle.width
4622
3834
  },
4623
- transition: springPresets.default
3835
+ transition: chunkBHOT22QL_js.springPresets.default
4624
3836
  }
4625
3837
  ),
4626
3838
  normalizedSegments.map((segment) => {
@@ -4639,7 +3851,7 @@ function SegmentedControl({
4639
3851
  relative z-10 flex items-center justify-center gap-1.5
4640
3852
  font-semibold rounded-lg transition-colors duration-150
4641
3853
  focus:outline-none
4642
- ${styles2.segment}
3854
+ ${styles.segment}
4643
3855
  ${fullWidth ? "flex-1" : ""}
4644
3856
  ${isSelected ? "text-slate-950 dark:text-white" : "text-slate-700 dark:text-slate-300 hover:text-slate-900 dark:hover:text-white"}
4645
3857
  `,
@@ -4698,7 +3910,7 @@ function PageIndicator({
4698
3910
  }) {
4699
3911
  const t = chunkYXN2K77G_js.useTranslations("common");
4700
3912
  const { dot, gap } = sizeConfig2[size];
4701
- const colors3 = variantConfig[variant];
3913
+ const colors2 = variantConfig[variant];
4702
3914
  const handleClick = (index) => {
4703
3915
  if (onChange && index !== active) {
4704
3916
  chunkUZ3CMNUJ_js.triggerHaptic("light");
@@ -4725,7 +3937,7 @@ function PageIndicator({
4725
3937
  className: `
4726
3938
  rounded-full transition-colors duration-200
4727
3939
  ${onChange ? "cursor-pointer" : "cursor-default"}
4728
- ${isActive ? colors3.active : colors3.inactive}
3940
+ ${isActive ? colors2.active : colors2.inactive}
4729
3941
  `,
4730
3942
  style: {
4731
3943
  width: dot,
@@ -4756,7 +3968,7 @@ function ExpandingPageIndicator({
4756
3968
  activeWidth = 24
4757
3969
  }) {
4758
3970
  const t = chunkYXN2K77G_js.useTranslations("common");
4759
- const colors3 = variantConfig[variant];
3971
+ const colors2 = variantConfig[variant];
4760
3972
  const handleClick = (index) => {
4761
3973
  if (onChange && index !== active) {
4762
3974
  chunkUZ3CMNUJ_js.triggerHaptic("light");
@@ -4782,7 +3994,7 @@ function ExpandingPageIndicator({
4782
3994
  className: `
4783
3995
  h-2 rounded-full transition-colors duration-200
4784
3996
  ${onChange ? "cursor-pointer" : "cursor-default"}
4785
- ${isActive ? colors3.active : colors3.inactive}
3997
+ ${isActive ? colors2.active : colors2.inactive}
4786
3998
  `,
4787
3999
  animate: {
4788
4000
  width: isActive ? activeWidth : 8,
@@ -4886,7 +4098,7 @@ function SafeArea({
4886
4098
  return /* @__PURE__ */ jsxRuntime.jsx(
4887
4099
  "div",
4888
4100
  {
4889
- className: clsx.clsx(flex && "flex flex-col", className),
4101
+ className: clsx4.clsx(flex && "flex flex-col", className),
4890
4102
  style: paddingStyles,
4891
4103
  children
4892
4104
  }
@@ -4899,7 +4111,7 @@ function SafeAreaView({
4899
4111
  return /* @__PURE__ */ jsxRuntime.jsx(
4900
4112
  "div",
4901
4113
  {
4902
- className: clsx.clsx("min-h-screen flex flex-col", className),
4114
+ className: clsx4.clsx("min-h-screen flex flex-col", className),
4903
4115
  style: {
4904
4116
  paddingTop: "env(safe-area-inset-top, 0px)",
4905
4117
  paddingBottom: "env(safe-area-inset-bottom, 0px)",
@@ -4932,7 +4144,7 @@ function BottomSafeArea({
4932
4144
  return /* @__PURE__ */ jsxRuntime.jsx(
4933
4145
  "div",
4934
4146
  {
4935
- className: clsx.clsx(
4147
+ className: clsx4.clsx(
4936
4148
  "fixed bottom-0 inset-x-0 z-40",
4937
4149
  blur && "bg-white/80 dark:bg-gray-900/80 backdrop-blur-xl border-t border-gray-200/50 dark:border-gray-700/50",
4938
4150
  className
@@ -4954,20 +4166,20 @@ function SwipeableRow({
4954
4166
  className = ""
4955
4167
  }) {
4956
4168
  const x = framerMotion.useMotionValue(0);
4957
- const containerRef = React12.useRef(null);
4958
- const [isDragging, setIsDragging] = React12.useState(false);
4959
- const hasTriggeredHaptic = React12.useRef(false);
4169
+ const containerRef = React9.useRef(null);
4170
+ const [isDragging, setIsDragging] = React9.useState(false);
4171
+ const hasTriggeredHaptic = React9.useRef(false);
4960
4172
  const leftActionsWidth = leftActions.length * actionWidth;
4961
4173
  const rightActionsWidth = rightActions.length * actionWidth;
4962
4174
  const leftConstraint = rightActions.length > 0 ? -rightActionsWidth : 0;
4963
4175
  const rightConstraint = leftActions.length > 0 ? leftActionsWidth : 0;
4964
4176
  const leftBgOpacity = framerMotion.useTransform(x, [0, leftActionsWidth], [0, 1]);
4965
4177
  const rightBgOpacity = framerMotion.useTransform(x, [-rightActionsWidth, 0], [1, 0]);
4966
- const handleDragStart = React12.useCallback(() => {
4178
+ const handleDragStart = React9.useCallback(() => {
4967
4179
  setIsDragging(true);
4968
4180
  hasTriggeredHaptic.current = false;
4969
4181
  }, []);
4970
- const handleDrag = React12.useCallback((_, info) => {
4182
+ const handleDrag = React9.useCallback((_, info) => {
4971
4183
  const currentX = x.get();
4972
4184
  if (enableFullSwipe) {
4973
4185
  const containerWidth = containerRef.current?.offsetWidth || 300;
@@ -4980,7 +4192,7 @@ function SwipeableRow({
4980
4192
  }
4981
4193
  }
4982
4194
  }, [x, enableFullSwipe, fullSwipeThreshold]);
4983
- const handleDragEnd = React12.useCallback((_, info) => {
4195
+ const handleDragEnd = React9.useCallback((_, info) => {
4984
4196
  setIsDragging(false);
4985
4197
  const currentX = x.get();
4986
4198
  const velocity = info.velocity.x;
@@ -5019,7 +4231,7 @@ function SwipeableRow({
5019
4231
  action.onAction();
5020
4232
  framerMotion.animate(x, 0, { type: "spring", stiffness: 400, damping: 30 });
5021
4233
  };
5022
- React12.useCallback(() => {
4234
+ React9.useCallback(() => {
5023
4235
  framerMotion.animate(x, 0, { type: "spring", stiffness: 400, damping: 30 });
5024
4236
  }, [x]);
5025
4237
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: `relative overflow-hidden ${className}`, children: [
@@ -5132,22 +4344,22 @@ function usePullToRefresh(options) {
5132
4344
  maxPull = 120,
5133
4345
  enabled = true
5134
4346
  } = options;
5135
- const [state, setState] = React12.useState({
4347
+ const [state, setState] = React9.useState({
5136
4348
  pullDistance: 0,
5137
4349
  isRefreshing: false,
5138
4350
  canRefresh: false
5139
4351
  });
5140
- const startY = React12.useRef(null);
5141
- const containerRef = React12.useRef(null);
5142
- const hasTriggeredHaptic = React12.useRef(false);
5143
- const handleTouchStart = React12.useCallback((e) => {
4352
+ const startY = React9.useRef(null);
4353
+ const containerRef = React9.useRef(null);
4354
+ const hasTriggeredHaptic = React9.useRef(false);
4355
+ const handleTouchStart = React9.useCallback((e) => {
5144
4356
  if (!enabled || state.isRefreshing) return;
5145
4357
  const container = containerRef.current;
5146
4358
  if (container && container.scrollTop > 0) return;
5147
4359
  startY.current = e.touches[0].clientY;
5148
4360
  hasTriggeredHaptic.current = false;
5149
4361
  }, [enabled, state.isRefreshing]);
5150
- const handleTouchMove = React12.useCallback((e) => {
4362
+ const handleTouchMove = React9.useCallback((e) => {
5151
4363
  if (!enabled || startY.current === null || state.isRefreshing) return;
5152
4364
  const currentY = e.touches[0].clientY;
5153
4365
  const deltaY = currentY - startY.current;
@@ -5166,7 +4378,7 @@ function usePullToRefresh(options) {
5166
4378
  }
5167
4379
  setState((prev) => ({ ...prev, pullDistance, canRefresh }));
5168
4380
  }, [enabled, state.isRefreshing, threshold, maxPull]);
5169
- const handleTouchEnd = React12.useCallback(async () => {
4381
+ const handleTouchEnd = React9.useCallback(async () => {
5170
4382
  if (!enabled || startY.current === null) return;
5171
4383
  startY.current = null;
5172
4384
  if (state.canRefresh && !state.isRefreshing) {
@@ -5181,7 +4393,7 @@ function usePullToRefresh(options) {
5181
4393
  setState((prev) => ({ ...prev, pullDistance: 0, canRefresh: false }));
5182
4394
  }
5183
4395
  }, [enabled, state.canRefresh, state.isRefreshing, threshold, onRefresh]);
5184
- React12.useEffect(() => {
4396
+ React9.useEffect(() => {
5185
4397
  const container = containerRef.current;
5186
4398
  if (!container || !enabled) return;
5187
4399
  container.addEventListener("touchstart", handleTouchStart, { passive: true });
@@ -5400,11 +4612,11 @@ function EdgeSwipeIndicator({
5400
4612
  edgeWidth = 20,
5401
4613
  showThreshold = 30
5402
4614
  }) {
5403
- const [swipeProgress, setSwipeProgress] = React12.useState(0);
5404
- const [isVisible, setIsVisible] = React12.useState(false);
5405
- const startX = React12.useRef(null);
5406
- const isEdgeSwipe = React12.useRef(false);
5407
- React12.useEffect(() => {
4615
+ const [swipeProgress, setSwipeProgress] = React9.useState(0);
4616
+ const [isVisible, setIsVisible] = React9.useState(false);
4617
+ const startX = React9.useRef(null);
4618
+ const isEdgeSwipe = React9.useRef(false);
4619
+ React9.useEffect(() => {
5408
4620
  if (!enabled) return;
5409
4621
  const handleTouchStart = (e) => {
5410
4622
  const touch = e.touches[0];
@@ -5500,10 +4712,10 @@ function useEdgeSwipeEffect({
5500
4712
  enabled = true,
5501
4713
  onBack
5502
4714
  }) {
5503
- const startX = React12.useRef(null);
5504
- const startY = React12.useRef(null);
5505
- const isEdgeSwipe = React12.useRef(false);
5506
- React12.useEffect(() => {
4715
+ const startX = React9.useRef(null);
4716
+ const startY = React9.useRef(null);
4717
+ const isEdgeSwipe = React9.useRef(false);
4718
+ React9.useEffect(() => {
5507
4719
  if (!enabled) return;
5508
4720
  const edgeWidth = 20;
5509
4721
  const threshold = 100;
@@ -5553,7 +4765,7 @@ function useEdgeSwipeEffect({
5553
4765
  };
5554
4766
  }, [enabled, onBack]);
5555
4767
  }
5556
- var TableContext = React12.createContext({
4768
+ var TableContext = React9.createContext({
5557
4769
  bleed: false,
5558
4770
  dense: false,
5559
4771
  grid: false,
@@ -5572,15 +4784,15 @@ function Table({
5572
4784
  children,
5573
4785
  ...props
5574
4786
  }) {
5575
- return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: { bleed, dense, grid, striped, loading, emptyState }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flow-root", children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: clsx__default.default(className, "-mx-(--gutter) overflow-x-auto whitespace-nowrap"), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx__default.default("inline-block min-w-full align-middle", !bleed && "sm:px-(--gutter)"), children: /* @__PURE__ */ jsxRuntime.jsx("table", { className: "min-w-full text-left text-sm/6 text-slate-950 dark:text-white", children }) }) }) }) });
4787
+ return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: { bleed, dense, grid, striped, loading, emptyState }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flow-root", children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: clsx4__default.default(className, "-mx-(--gutter) overflow-x-auto whitespace-nowrap"), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx4__default.default("inline-block min-w-full align-middle", !bleed && "sm:px-(--gutter)"), children: /* @__PURE__ */ jsxRuntime.jsx("table", { className: "min-w-full text-left text-sm/6 text-slate-950 dark:text-white", children }) }) }) }) });
5576
4788
  }
5577
4789
  function TableHead({ className, ...props }) {
5578
- return /* @__PURE__ */ jsxRuntime.jsx("thead", { ...props, className: clsx__default.default(className, "text-slate-600 dark:text-slate-300") });
4790
+ return /* @__PURE__ */ jsxRuntime.jsx("thead", { ...props, className: clsx4__default.default(className, "text-slate-600 dark:text-slate-300") });
5579
4791
  }
5580
4792
  function TableBody(props) {
5581
4793
  return /* @__PURE__ */ jsxRuntime.jsx("tbody", { ...props });
5582
4794
  }
5583
- var TableRowContext = React12.createContext({
4795
+ var TableRowContext = React9.createContext({
5584
4796
  href: void 0,
5585
4797
  target: void 0,
5586
4798
  title: void 0
@@ -5592,12 +4804,12 @@ function TableRow({
5592
4804
  className,
5593
4805
  ...props
5594
4806
  }) {
5595
- let { striped } = React12.useContext(TableContext);
4807
+ let { striped } = React9.useContext(TableContext);
5596
4808
  return /* @__PURE__ */ jsxRuntime.jsx(TableRowContext.Provider, { value: { href, target, title }, children: /* @__PURE__ */ jsxRuntime.jsx(
5597
4809
  "tr",
5598
4810
  {
5599
4811
  ...props,
5600
- className: clsx__default.default(
4812
+ className: clsx4__default.default(
5601
4813
  className,
5602
4814
  href && "has-[[data-row-link][data-focus]]:outline-2 has-[[data-row-link][data-focus]]:-outline-offset-2 has-[[data-row-link][data-focus]]:outline-indigo-500/70 dark:focus-within:bg-white/2.5",
5603
4815
  striped && "even:bg-slate-950/2.5 dark:even:bg-white/2.5",
@@ -5608,13 +4820,13 @@ function TableRow({
5608
4820
  ) });
5609
4821
  }
5610
4822
  function TableHeader({ className, scope, ...props }) {
5611
- let { bleed, grid } = React12.useContext(TableContext);
4823
+ let { bleed, grid } = React9.useContext(TableContext);
5612
4824
  return /* @__PURE__ */ jsxRuntime.jsx(
5613
4825
  "th",
5614
4826
  {
5615
4827
  scope: scope ?? "col",
5616
4828
  ...props,
5617
- className: clsx__default.default(
4829
+ className: clsx4__default.default(
5618
4830
  className,
5619
4831
  "border-b border-b-white/20 dark:border-b-white/10 px-4 py-2 font-medium first:pl-(--gutter,--spacing(2)) last:pr-(--gutter,--spacing(2))",
5620
4832
  grid && "border-l border-l-white/20 first:border-l-0 dark:border-l-white/10",
@@ -5624,15 +4836,15 @@ function TableHeader({ className, scope, ...props }) {
5624
4836
  );
5625
4837
  }
5626
4838
  function TableCell({ className, children, ...props }) {
5627
- let { bleed, dense, grid, striped } = React12.useContext(TableContext);
5628
- let { href, target, title } = React12.useContext(TableRowContext);
5629
- let [cellRef, setCellRef] = React12.useState(null);
4839
+ let { bleed, dense, grid, striped } = React9.useContext(TableContext);
4840
+ let { href, target, title } = React9.useContext(TableRowContext);
4841
+ let [cellRef, setCellRef] = React9.useState(null);
5630
4842
  return /* @__PURE__ */ jsxRuntime.jsxs(
5631
4843
  "td",
5632
4844
  {
5633
4845
  ref: href ? setCellRef : void 0,
5634
4846
  ...props,
5635
- className: clsx__default.default(
4847
+ className: clsx4__default.default(
5636
4848
  className,
5637
4849
  "relative px-4 first:pl-(--gutter,--spacing(2)) last:pr-(--gutter,--spacing(2))",
5638
4850
  !striped && "border-b border-white/20 dark:border-white/[0.08]",
@@ -5642,7 +4854,7 @@ function TableCell({ className, children, ...props }) {
5642
4854
  ),
5643
4855
  children: [
5644
4856
  href && /* @__PURE__ */ jsxRuntime.jsx(
5645
- Link,
4857
+ chunkBHOT22QL_js.Link,
5646
4858
  {
5647
4859
  "data-row-link": true,
5648
4860
  href,
@@ -5666,7 +4878,7 @@ function SortableTableHeader({
5666
4878
  onSort,
5667
4879
  ...props
5668
4880
  }) {
5669
- let { bleed, grid } = React12.useContext(TableContext);
4881
+ let { bleed, grid } = React9.useContext(TableContext);
5670
4882
  const isActive = currentSort === sortKey;
5671
4883
  const direction = isActive ? currentDirection : null;
5672
4884
  const handleSort = () => {
@@ -5684,7 +4896,7 @@ function SortableTableHeader({
5684
4896
  {
5685
4897
  ...props,
5686
4898
  onClick: handleSort,
5687
- className: clsx__default.default(
4899
+ className: clsx4__default.default(
5688
4900
  className,
5689
4901
  "border-b border-b-white/20 dark:border-b-white/10 px-4 py-2 font-medium first:pl-(--gutter,--spacing(2)) last:pr-(--gutter,--spacing(2))",
5690
4902
  grid && "border-l border-l-white/20 first:border-l-0 dark:border-l-white/10",
@@ -5699,7 +4911,7 @@ function SortableTableHeader({
5699
4911
  {
5700
4912
  initial: false,
5701
4913
  animate: { opacity: 1 },
5702
- transition: getTransition(springPresets.stiff),
4914
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.stiff),
5703
4915
  className: "flex-shrink-0",
5704
4916
  children: direction === "asc" ? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronUpIcon, { className: "h-4 w-4" }) : direction === "desc" ? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronDownIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronUpDownIcon, { className: "h-4 w-4 opacity-40" })
5705
4917
  }
@@ -5712,11 +4924,11 @@ function TableSkeletonRow({
5712
4924
  columns = 4,
5713
4925
  className
5714
4926
  }) {
5715
- const { dense } = React12.useContext(TableContext);
4927
+ const { dense } = React9.useContext(TableContext);
5716
4928
  return /* @__PURE__ */ jsxRuntime.jsx("tr", { className, children: Array.from({ length: columns }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
5717
4929
  "td",
5718
4930
  {
5719
- className: clsx__default.default(
4931
+ className: clsx4__default.default(
5720
4932
  "px-4 first:pl-(--gutter,--spacing(2)) last:pr-(--gutter,--spacing(2))",
5721
4933
  "border-b border-white/20 dark:border-white/[0.08]",
5722
4934
  dense ? "py-2.5" : "py-4"
@@ -5724,7 +4936,7 @@ function TableSkeletonRow({
5724
4936
  children: /* @__PURE__ */ jsxRuntime.jsx(
5725
4937
  "div",
5726
4938
  {
5727
- className: clsx__default.default(
4939
+ className: clsx4__default.default(
5728
4940
  "h-4 rounded bg-slate-200 dark:bg-slate-700 animate-pulse motion-reduce:animate-none",
5729
4941
  i === 0 ? "w-32" : i === columns - 1 ? "w-16" : "w-24"
5730
4942
  )
@@ -5752,7 +4964,7 @@ function TableEmptyState({
5752
4964
  {
5753
4965
  initial: { opacity: 0, y: 10 },
5754
4966
  animate: { opacity: 1, y: 0 },
5755
- transition: getTransition(springPresets.gentle),
4967
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.gentle),
5756
4968
  className: "flex flex-col items-center gap-3",
5757
4969
  children: [
5758
4970
  icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-12 rounded-full bg-white/40 dark:bg-white/[0.04] flex items-center justify-center text-slate-400 dark:text-slate-500", children: icon }),
@@ -5773,7 +4985,7 @@ function AnimatedTableRow({
5773
4985
  index = 0,
5774
4986
  ...props
5775
4987
  }) {
5776
- let { striped } = React12.useContext(TableContext);
4988
+ let { striped } = React9.useContext(TableContext);
5777
4989
  const { onDrag, onDragStart, onDragEnd, onAnimationStart, onAnimationEnd, onAnimationIteration, ...restProps } = props;
5778
4990
  return /* @__PURE__ */ jsxRuntime.jsx(TableRowContext.Provider, { value: { href, target, title }, children: /* @__PURE__ */ jsxRuntime.jsx(
5779
4991
  framerMotion.motion.tr,
@@ -5782,11 +4994,11 @@ function AnimatedTableRow({
5782
4994
  animate: { opacity: 1, y: 0 },
5783
4995
  exit: { opacity: 0, x: -20 },
5784
4996
  transition: {
5785
- ...getTransition(springPresets.gentle),
4997
+ ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.gentle),
5786
4998
  delay: index * 0.03
5787
4999
  },
5788
5000
  ...restProps,
5789
- className: clsx__default.default(
5001
+ className: clsx4__default.default(
5790
5002
  className,
5791
5003
  href && "has-[[data-row-link][data-focus]]:outline-2 has-[[data-row-link][data-focus]]:-outline-offset-2 has-[[data-row-link][data-focus]]:outline-indigo-500/70 dark:focus-within:bg-white/2.5",
5792
5004
  striped && "even:bg-slate-950/2.5 dark:even:bg-white/2.5",
@@ -5806,7 +5018,7 @@ function SelectableTableRow({
5806
5018
  children,
5807
5019
  ...props
5808
5020
  }) {
5809
- let { striped, dense } = React12.useContext(TableContext);
5021
+ let { striped, dense } = React9.useContext(TableContext);
5810
5022
  const handleSelect = () => {
5811
5023
  chunkUZ3CMNUJ_js.triggerHaptic("light");
5812
5024
  onSelect?.(!selected);
@@ -5815,7 +5027,7 @@ function SelectableTableRow({
5815
5027
  "tr",
5816
5028
  {
5817
5029
  ...props,
5818
- className: clsx__default.default(
5030
+ className: clsx4__default.default(
5819
5031
  className,
5820
5032
  href && "has-[[data-row-link][data-focus]]:outline-2 has-[[data-row-link][data-focus]]:-outline-offset-2 has-[[data-row-link][data-focus]]:outline-indigo-500/70 dark:focus-within:bg-white/2.5",
5821
5033
  striped && "even:bg-slate-950/2.5 dark:even:bg-white/2.5",
@@ -5827,7 +5039,7 @@ function SelectableTableRow({
5827
5039
  /* @__PURE__ */ jsxRuntime.jsx(
5828
5040
  "td",
5829
5041
  {
5830
- className: clsx__default.default(
5042
+ className: clsx4__default.default(
5831
5043
  "px-4 first:pl-(--gutter,--spacing(2))",
5832
5044
  "border-b border-white/20 dark:border-white/[0.08]",
5833
5045
  dense ? "py-2.5" : "py-4"
@@ -5841,8 +5053,8 @@ function SelectableTableRow({
5841
5053
  "aria-label": "Select row",
5842
5054
  onClick: handleSelect,
5843
5055
  whileTap: { scale: 0.9 },
5844
- transition: getTransition(springPresets.stiff),
5845
- className: clsx__default.default(
5056
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.stiff),
5057
+ className: clsx4__default.default(
5846
5058
  "h-5 w-5 rounded-full border-2 flex items-center justify-center transition-colors",
5847
5059
  selected ? "bg-[#007AFF] dark:bg-[#0A84FF] border-[#007AFF] dark:border-[#0A84FF]" : "border-slate-300 dark:border-slate-600"
5848
5060
  ),
@@ -5852,7 +5064,7 @@ function SelectableTableRow({
5852
5064
  initial: { scale: 0 },
5853
5065
  animate: { scale: 1 },
5854
5066
  exit: { scale: 0 },
5855
- transition: getTransition(springPresets.bouncy),
5067
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.bouncy),
5856
5068
  className: "h-3 w-3 text-white",
5857
5069
  fill: "none",
5858
5070
  viewBox: "0 0 24 24",
@@ -5896,7 +5108,7 @@ function EmptyState({
5896
5108
  {
5897
5109
  initial: { scale: 0.8, opacity: 0 },
5898
5110
  animate: { scale: 1, opacity: 1 },
5899
- transition: springPresets.bouncy,
5111
+ transition: chunkBHOT22QL_js.springPresets.bouncy,
5900
5112
  className: "mx-auto mb-4",
5901
5113
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-16 w-16 items-center justify-center rounded-full border border-white/60 bg-white/75 shadow-sm backdrop-blur-xl dark:border-white/12 dark:bg-white/8", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-8 w-8 text-slate-600 dark:text-slate-300" }) })
5902
5114
  }
@@ -5906,7 +5118,7 @@ function EmptyState({
5906
5118
  {
5907
5119
  initial: { y: 10, opacity: 0 },
5908
5120
  animate: { y: 0, opacity: 1 },
5909
- transition: { ...springPresets.default, delay: 0.1 },
5121
+ transition: { ...chunkBHOT22QL_js.springPresets.default, delay: 0.1 },
5910
5122
  children: [
5911
5123
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-slate-900 dark:text-white", children: message }),
5912
5124
  description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400 max-w-sm mx-auto", children: description })
@@ -5918,9 +5130,9 @@ function EmptyState({
5918
5130
  {
5919
5131
  initial: { y: 10, opacity: 0 },
5920
5132
  animate: { y: 0, opacity: 1 },
5921
- transition: { ...springPresets.default, delay: 0.2 },
5133
+ transition: { ...chunkBHOT22QL_js.springPresets.default, delay: 0.2 },
5922
5134
  className: "mt-6",
5923
- children: /* @__PURE__ */ jsxRuntime.jsx(Button, { color: "ios-glass-blue", onClick: handleActionClick, children: action.label })
5135
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { color: "ios-glass-blue", onClick: handleActionClick, children: action.label })
5924
5136
  }
5925
5137
  )
5926
5138
  ]
@@ -5977,12 +5189,12 @@ function ErrorState({
5977
5189
  variant = "default"
5978
5190
  }) {
5979
5191
  const t = chunkYXN2K77G_js.useTranslations("common.errorState");
5980
- const [isRetrying, setIsRetrying] = React12.useState(false);
5981
- const [showErrorDetails, setShowErrorDetails] = React12.useState(false);
5192
+ const [isRetrying, setIsRetrying] = React9.useState(false);
5193
+ const [showErrorDetails, setShowErrorDetails] = React9.useState(false);
5982
5194
  const config = errorTypeConfig[type];
5983
5195
  const Icon = config.icon;
5984
5196
  const resolvedRetryLabel = retryLabel || t("tryAgain");
5985
- const handleRetry = React12.useCallback(async () => {
5197
+ const handleRetry = React9.useCallback(async () => {
5986
5198
  if (!onRetry || isRetrying) return;
5987
5199
  setIsRetrying(true);
5988
5200
  chunkUZ3CMNUJ_js.triggerHaptic("medium");
@@ -6008,7 +5220,7 @@ function ErrorState({
6008
5220
  {
6009
5221
  initial: { scale: 0.8, opacity: 0 },
6010
5222
  animate: { scale: 1, opacity: 1 },
6011
- transition: getTransition(springPresets.bouncy),
5223
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.bouncy),
6012
5224
  className: "mx-auto mb-4",
6013
5225
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `inline-flex h-16 w-16 items-center justify-center rounded-full ${config.iconBg}`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: `h-8 w-8 ${config.iconColor}` }) })
6014
5226
  }
@@ -6018,7 +5230,7 @@ function ErrorState({
6018
5230
  {
6019
5231
  initial: { y: 10, opacity: 0 },
6020
5232
  animate: { y: 0, opacity: 1 },
6021
- transition: { ...getTransition(springPresets.default), delay: 0.1 },
5233
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.1 },
6022
5234
  children: [
6023
5235
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-slate-900 dark:text-white", children: title || t(config.titleKey) }),
6024
5236
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400 max-w-sm mx-auto", children: message || t(config.messageKey) }),
@@ -6031,11 +5243,11 @@ function ErrorState({
6031
5243
  {
6032
5244
  initial: { y: 10, opacity: 0 },
6033
5245
  animate: { y: 0, opacity: 1 },
6034
- transition: { ...getTransition(springPresets.default), delay: 0.2 },
5246
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.2 },
6035
5247
  className: "mt-6 flex flex-col sm:flex-row items-center justify-center gap-3",
6036
5248
  children: [
6037
5249
  onRetry && /* @__PURE__ */ jsxRuntime.jsxs(
6038
- Button,
5250
+ chunkBHOT22QL_js.Button,
6039
5251
  {
6040
5252
  color: "ios-glass-blue",
6041
5253
  onClick: handleRetry,
@@ -6049,7 +5261,7 @@ function ErrorState({
6049
5261
  }
6050
5262
  ),
6051
5263
  secondaryAction && /* @__PURE__ */ jsxRuntime.jsx(
6052
- Button,
5264
+ chunkBHOT22QL_js.Button,
6053
5265
  {
6054
5266
  plain: true,
6055
5267
  onClick: () => {
@@ -6067,7 +5279,7 @@ function ErrorState({
6067
5279
  {
6068
5280
  initial: { y: 10, opacity: 0 },
6069
5281
  animate: { y: 0, opacity: 1 },
6070
- transition: { ...getTransition(springPresets.default), delay: 0.3 },
5282
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.3 },
6071
5283
  className: "mt-6",
6072
5284
  children: [
6073
5285
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -6084,7 +5296,7 @@ function ErrorState({
6084
5296
  initial: { height: 0, opacity: 0 },
6085
5297
  animate: { height: "auto", opacity: 1 },
6086
5298
  exit: { height: 0, opacity: 0 },
6087
- transition: getTransition(springPresets.gentle),
5299
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.gentle),
6088
5300
  className: "overflow-hidden",
6089
5301
  children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-3 p-3 bg-white/40 dark:bg-white/[0.04] rounded-lg text-xs text-left text-slate-600 dark:text-slate-400 font-mono overflow-x-auto max-h-32", children: details })
6090
5302
  }
@@ -6136,7 +5348,7 @@ function NoResultsState({
6136
5348
  {
6137
5349
  initial: { scale: 0.8, opacity: 0 },
6138
5350
  animate: { scale: 1, opacity: 1 },
6139
- transition: getTransition(springPresets.bouncy),
5351
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.bouncy),
6140
5352
  className: "mx-auto mb-4",
6141
5353
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-16 w-16 items-center justify-center rounded-full border border-white/60 bg-white/75 shadow-sm backdrop-blur-xl dark:border-white/12 dark:bg-white/8", children: /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.DocumentMagnifyingGlassIcon, { className: "h-8 w-8 text-slate-600 dark:text-slate-300" }) })
6142
5354
  }
@@ -6146,7 +5358,7 @@ function NoResultsState({
6146
5358
  {
6147
5359
  initial: { y: 10, opacity: 0 },
6148
5360
  animate: { y: 0, opacity: 1 },
6149
- transition: { ...getTransition(springPresets.default), delay: 0.1 },
5361
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.1 },
6150
5362
  children: [
6151
5363
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-slate-900 dark:text-white", children: t("noResultsFound") }),
6152
5364
  searchTerm && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400", children: t("noResultsFor", { searchTerm }) }),
@@ -6166,10 +5378,10 @@ function NoResultsState({
6166
5378
  {
6167
5379
  initial: { y: 10, opacity: 0 },
6168
5380
  animate: { y: 0, opacity: 1 },
6169
- transition: { ...getTransition(springPresets.default), delay: 0.2 },
5381
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.2 },
6170
5382
  className: "mt-6",
6171
5383
  children: /* @__PURE__ */ jsxRuntime.jsx(
6172
- Button,
5384
+ chunkBHOT22QL_js.Button,
6173
5385
  {
6174
5386
  color: "ios-glass-blue",
6175
5387
  onClick: () => {
@@ -6204,7 +5416,7 @@ function NoDataState({
6204
5416
  {
6205
5417
  initial: { scale: 0.8, opacity: 0 },
6206
5418
  animate: { scale: 1, opacity: 1 },
6207
- transition: getTransition(springPresets.bouncy),
5419
+ transition: chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.bouncy),
6208
5420
  className: "mx-auto mb-4",
6209
5421
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-16 w-16 items-center justify-center rounded-full border border-white/60 bg-white/75 shadow-sm backdrop-blur-xl dark:border-white/12 dark:bg-white/8", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-8 w-8 text-slate-600 dark:text-slate-300" }) })
6210
5422
  }
@@ -6214,7 +5426,7 @@ function NoDataState({
6214
5426
  {
6215
5427
  initial: { y: 10, opacity: 0 },
6216
5428
  animate: { y: 0, opacity: 1 },
6217
- transition: { ...getTransition(springPresets.default), delay: 0.1 },
5429
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.1 },
6218
5430
  children: [
6219
5431
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-slate-900 dark:text-white", children: resolvedTitle }),
6220
5432
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400 max-w-sm mx-auto", children: resolvedMessage })
@@ -6226,10 +5438,10 @@ function NoDataState({
6226
5438
  {
6227
5439
  initial: { y: 10, opacity: 0 },
6228
5440
  animate: { y: 0, opacity: 1 },
6229
- transition: { ...getTransition(springPresets.default), delay: 0.2 },
5441
+ transition: { ...chunkBHOT22QL_js.getTransition(chunkBHOT22QL_js.springPresets.default), delay: 0.2 },
6230
5442
  className: "mt-6",
6231
5443
  children: /* @__PURE__ */ jsxRuntime.jsx(
6232
- Button,
5444
+ chunkBHOT22QL_js.Button,
6233
5445
  {
6234
5446
  color: "ios-glass-blue",
6235
5447
  onClick: () => {
@@ -6274,11 +5486,11 @@ function DynamicIsland({
6274
5486
  onStateChange,
6275
5487
  position = "center"
6276
5488
  }) {
6277
- const [internalState, setInternalState] = React12.useState(state);
6278
- React12.useEffect(() => {
5489
+ const [internalState, setInternalState] = React9.useState(state);
5490
+ React9.useEffect(() => {
6279
5491
  setInternalState(state);
6280
5492
  }, [state]);
6281
- React12.useEffect(() => {
5493
+ React9.useEffect(() => {
6282
5494
  if (autoCollapseDelay && internalState !== "idle") {
6283
5495
  const timer = setTimeout(() => {
6284
5496
  setInternalState("idle");
@@ -6302,7 +5514,7 @@ function DynamicIsland({
6302
5514
  layout: true,
6303
5515
  initial: false,
6304
5516
  animate: sizeVariants[internalState],
6305
- transition: springPresets.bouncy,
5517
+ transition: chunkBHOT22QL_js.springPresets.bouncy,
6306
5518
  onClick: handleTap,
6307
5519
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full w-full overflow-hidden bg-black rounded-[inherit]", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
6308
5520
  framerMotion.motion.div,
@@ -6352,9 +5564,9 @@ function DynamicIslandNotification({
6352
5564
  onDismiss,
6353
5565
  position = "right"
6354
5566
  }) {
6355
- const [state, setState] = React12.useState("idle");
6356
- const styles2 = variantStyles[variant];
6357
- React12.useEffect(() => {
5567
+ const [state, setState] = React9.useState("idle");
5568
+ const styles = variantStyles[variant];
5569
+ React9.useEffect(() => {
6358
5570
  if (show) {
6359
5571
  setState("expanded");
6360
5572
  chunkUZ3CMNUJ_js.triggerHaptic("light");
@@ -6378,12 +5590,12 @@ function DynamicIslandNotification({
6378
5590
  position,
6379
5591
  idleContent: (
6380
5592
  // Idle: Colored icon pill
6381
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-6 w-6 rounded-full ${styles2.iconBg} flex items-center justify-center`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 text-white", children: icon }) }) })
5593
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-6 w-6 rounded-full ${styles.iconBg} flex items-center justify-center`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 text-white", children: icon }) }) })
6382
5594
  ),
6383
5595
  compactContent: (
6384
5596
  // Compact: Colored icon + title + message preview
6385
5597
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 px-4 w-full", children: [
6386
- icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-8 w-8 rounded-full ${styles2.iconBg} flex items-center justify-center shrink-0`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-5 w-5 text-white", children: icon }) }),
5598
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-8 w-8 rounded-full ${styles.iconBg} flex items-center justify-center shrink-0`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-5 w-5 text-white", children: icon }) }),
6387
5599
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
6388
5600
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold truncate", children: title }),
6389
5601
  message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 truncate", children: message })
@@ -6393,9 +5605,9 @@ function DynamicIslandNotification({
6393
5605
  expandedContent: (
6394
5606
  // Expanded: Full notification with colored icon background
6395
5607
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex items-center gap-4 px-5 w-full h-full`, children: [
6396
- icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-14 w-14 rounded-2xl ${styles2.iconBg} flex items-center justify-center shrink-0 ${styles2.glow}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-8 w-8 text-white", children: icon }) }),
5608
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-14 w-14 rounded-2xl ${styles.iconBg} flex items-center justify-center shrink-0 ${styles.glow}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-8 w-8 text-white", children: icon }) }),
6397
5609
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
6398
- appName && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-[11px] uppercase tracking-wide font-medium ${styles2.accentColor}`, children: appName }),
5610
+ appName && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-[11px] uppercase tracking-wide font-medium ${styles.accentColor}`, children: appName }),
6399
5611
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[15px] font-semibold leading-tight", children: title }),
6400
5612
  message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[13px] text-gray-500 mt-0.5 truncate", children: message })
6401
5613
  ] })
@@ -6408,43 +5620,43 @@ function DynamicIslandNotification({
6408
5620
  }
6409
5621
  return content;
6410
5622
  }
6411
- var NotificationContext = React12.createContext(void 0);
5623
+ var NotificationContext = React9.createContext(void 0);
6412
5624
  function useNotifications() {
6413
- const notificationContext = React12.useContext(NotificationContext);
5625
+ const notificationContext = React9.useContext(NotificationContext);
6414
5626
  if (!notificationContext) {
6415
5627
  throw new Error("useNotifications must be used within NotificationProvider");
6416
5628
  }
6417
5629
  return notificationContext;
6418
5630
  }
6419
5631
  function NotificationProvider({ children, appName = "Datatech" }) {
6420
- const [history, setHistory] = React12.useState([]);
6421
- const [pendingApprovals] = React12.useState([]);
6422
- const [historyOpen, setHistoryOpen] = React12.useState(false);
6423
- const [dynamicIslandNotification, setDynamicIslandNotification] = React12.useState(null);
6424
- const addNotification = React12.useCallback((notification) => {
5632
+ const [history, setHistory] = React9.useState([]);
5633
+ const [pendingApprovals] = React9.useState([]);
5634
+ const [historyOpen, setHistoryOpen] = React9.useState(false);
5635
+ const [dynamicIslandNotification, setDynamicIslandNotification] = React9.useState(null);
5636
+ const addNotification = React9.useCallback((notification) => {
6425
5637
  const notificationId = Math.random().toString(36).substring(2, 9);
6426
5638
  const newNotification = { ...notification, id: notificationId, timestamp: /* @__PURE__ */ new Date() };
6427
5639
  setDynamicIslandNotification(newNotification);
6428
5640
  setHistory((previousHistory) => [newNotification, ...previousHistory].slice(0, 50));
6429
5641
  }, []);
6430
- const clearHistory = React12.useCallback(() => {
5642
+ const clearHistory = React9.useCallback(() => {
6431
5643
  setHistory([]);
6432
5644
  }, []);
6433
- const removeFromHistory = React12.useCallback((notificationId) => {
5645
+ const removeFromHistory = React9.useCallback((notificationId) => {
6434
5646
  setHistory((previousHistory) => previousHistory.filter((historyItem) => historyItem.id !== notificationId));
6435
5647
  }, []);
6436
- const openHistory = React12.useCallback(() => setHistoryOpen(true), []);
6437
- const closeHistory = React12.useCallback(() => setHistoryOpen(false), []);
6438
- const success = React12.useCallback((title, message) => {
5648
+ const openHistory = React9.useCallback(() => setHistoryOpen(true), []);
5649
+ const closeHistory = React9.useCallback(() => setHistoryOpen(false), []);
5650
+ const success = React9.useCallback((title, message) => {
6439
5651
  addNotification({ type: "success", title, message });
6440
5652
  }, [addNotification]);
6441
- const error = React12.useCallback((title, message) => {
5653
+ const error = React9.useCallback((title, message) => {
6442
5654
  addNotification({ type: "error", title, message });
6443
5655
  }, [addNotification]);
6444
- const warning = React12.useCallback((title, message) => {
5656
+ const warning = React9.useCallback((title, message) => {
6445
5657
  addNotification({ type: "warning", title, message });
6446
5658
  }, [addNotification]);
6447
- const info = React12.useCallback((title, message) => {
5659
+ const info = React9.useCallback((title, message) => {
6448
5660
  addNotification({ type: "info", title, message });
6449
5661
  }, [addNotification]);
6450
5662
  const getDynamicIslandIcon = (type) => {
@@ -6642,13 +5854,13 @@ var CONTAINER_STYLES = {
6642
5854
  glass: "bg-white/70 dark:bg-gray-800/70 backdrop-blur-xl border border-white/20 dark:border-gray-700/50 shadow-lg shadow-black/5",
6643
5855
  minimal: "rounded-lg"
6644
5856
  };
6645
- var Container = React12__namespace.default.forwardRef(
5857
+ var Container = React9__namespace.default.forwardRef(
6646
5858
  ({ variant = "card", className, children, ...props }, ref) => {
6647
5859
  return /* @__PURE__ */ jsxRuntime.jsx(
6648
5860
  "div",
6649
5861
  {
6650
5862
  ref,
6651
- className: clsx__default.default(CONTAINER_STYLES[variant], className),
5863
+ className: clsx4__default.default(CONTAINER_STYLES[variant], className),
6652
5864
  ...props,
6653
5865
  children
6654
5866
  }
@@ -6656,9 +5868,9 @@ var Container = React12__namespace.default.forwardRef(
6656
5868
  }
6657
5869
  );
6658
5870
  Container.displayName = "Container";
6659
- var FormField = React12__namespace.default.forwardRef(
5871
+ var FormField = React9__namespace.default.forwardRef(
6660
5872
  ({ label, error, required, helperText, children, htmlFor, className, ...props }, ref) => {
6661
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx__default.default("space-y-1.5", className), ...props, children: [
5873
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx4__default.default("space-y-1.5", className), ...props, children: [
6662
5874
  label && /* @__PURE__ */ jsxRuntime.jsxs(
6663
5875
  "label",
6664
5876
  {
@@ -6677,9 +5889,9 @@ var FormField = React12__namespace.default.forwardRef(
6677
5889
  }
6678
5890
  );
6679
5891
  FormField.displayName = "FormField";
6680
- var FormSection = React12__namespace.default.forwardRef(
5892
+ var FormSection = React9__namespace.default.forwardRef(
6681
5893
  ({ title, description, children, className, ...props }, ref) => {
6682
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx__default.default("space-y-4", className), ...props, children: [
5894
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: clsx4__default.default("space-y-4", className), ...props, children: [
6683
5895
  (title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
6684
5896
  title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-gray-900 dark:text-white", children: title }),
6685
5897
  description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-600 dark:text-gray-400", children: description })
@@ -6701,7 +5913,7 @@ var SPACING_STYLES = {
6701
5913
  card: "p-4",
6702
5914
  highlighted: "p-4"
6703
5915
  };
6704
- var ListItem = React12__namespace.default.forwardRef(
5916
+ var ListItem = React9__namespace.default.forwardRef(
6705
5917
  ({
6706
5918
  icon,
6707
5919
  title,
@@ -6716,7 +5928,7 @@ var ListItem = React12__namespace.default.forwardRef(
6716
5928
  "div",
6717
5929
  {
6718
5930
  ref,
6719
- className: clsx__default.default(
5931
+ className: clsx4__default.default(
6720
5932
  "flex items-start justify-between gap-4 rounded-lg transition-all duration-200",
6721
5933
  CONTAINER_STYLES2[variant],
6722
5934
  SPACING_STYLES[variant],
@@ -6738,7 +5950,7 @@ var ListItem = React12__namespace.default.forwardRef(
6738
5950
  {
6739
5951
  onClick: action.onClick,
6740
5952
  disabled: action.disabled,
6741
- className: clsx__default.default(
5953
+ className: clsx4__default.default(
6742
5954
  "px-3 py-1.5 rounded-lg text-xs font-medium transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-indigo-500/70 dark:ring-offset-gray-900",
6743
5955
  action.variant === "danger" ? "text-red-700 dark:text-red-300 hover:bg-red-500/15 dark:hover:bg-red-500/20 disabled:opacity-50" : "text-indigo-700 dark:text-indigo-300 hover:bg-indigo-500/15 dark:hover:bg-indigo-500/20 disabled:opacity-50"
6744
5956
  ),
@@ -6772,7 +5984,7 @@ function ProfileIdentityCard({
6772
5984
  ] })
6773
5985
  ] }) });
6774
5986
  }
6775
- var SidebarContext = React12.createContext(null);
5987
+ var SidebarContext = React9.createContext(null);
6776
5988
  var SIDEBAR_TYPE = /* @__PURE__ */ Symbol("GlassModal.Sidebar");
6777
5989
  var SECTION_TYPE = /* @__PURE__ */ Symbol("GlassModal.Section");
6778
5990
  var GROUP_TYPE = /* @__PURE__ */ Symbol("GlassModal.Group");
@@ -6807,12 +6019,12 @@ function isSlotType(child, type) {
6807
6019
  return child.type?.__type === type;
6808
6020
  }
6809
6021
  function findSlot(children, type) {
6810
- const arr = React12.Children.toArray(children);
6811
- return arr.find((c) => React12.isValidElement(c) && isSlotType(c, type));
6022
+ const arr = React9.Children.toArray(children);
6023
+ return arr.find((c) => React9.isValidElement(c) && isSlotType(c, type));
6812
6024
  }
6813
6025
  function filterNonSlots(children) {
6814
- return React12.Children.toArray(children).filter(
6815
- (c) => !(React12.isValidElement(c) && c.type?.__type)
6026
+ return React9.Children.toArray(children).filter(
6027
+ (c) => !(React9.isValidElement(c) && c.type?.__type)
6816
6028
  );
6817
6029
  }
6818
6030
  var SIZE_CLASSES = {
@@ -6861,8 +6073,8 @@ function SidebarLayout({
6861
6073
  const sidebarFooterEl = findSlot(sidebarChildren, SIDEBAR_FOOTER_TYPE);
6862
6074
  const sections = [];
6863
6075
  function collectSections(node, group) {
6864
- React12.Children.forEach(node, (child) => {
6865
- if (!React12.isValidElement(child)) return;
6076
+ React9.Children.forEach(node, (child) => {
6077
+ if (!React9.isValidElement(child)) return;
6866
6078
  if (isSlotType(child, GROUP_TYPE)) {
6867
6079
  const groupProps = child.props;
6868
6080
  collectSections(groupProps.children, groupProps.label);
@@ -6880,7 +6092,7 @@ function SidebarLayout({
6880
6092
  });
6881
6093
  }
6882
6094
  collectSections(sidebarChildren);
6883
- const [activeSectionId, setActiveSectionId] = React12.useState(defaultSection ?? sections[0]?.id ?? "");
6095
+ const [activeSectionId, setActiveSectionId] = React9.useState(defaultSection ?? sections[0]?.id ?? "");
6884
6096
  const groups = [];
6885
6097
  for (const section of sections) {
6886
6098
  const lastGroup = groups.at(-1);
@@ -7055,29 +6267,29 @@ function GlassModal({
7055
6267
  panelTestId
7056
6268
  }) {
7057
6269
  const hasTitle = !!title;
7058
- const sidebarElement = React12.Children.toArray(children).find(
7059
- (c) => React12.isValidElement(c) && isSlotType(c, SIDEBAR_TYPE)
6270
+ const sidebarElement = React9.Children.toArray(children).find(
6271
+ (c) => React9.isValidElement(c) && isSlotType(c, SIDEBAR_TYPE)
7060
6272
  );
7061
6273
  const footerElement = findSlot(children, FOOTER_TYPE);
7062
6274
  const nonSlotChildren = filterNonSlots(children);
7063
6275
  const resolvedFooter = footer ?? (footerElement ? footerElement.props.children : void 0) ?? (showFormFooter ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row justify-end gap-2 sm:gap-3", children: [
7064
- /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", onClick: onClose, disabled: isLoading, outline: true, className: "w-full sm:w-auto", "data-testid": "form-modal-cancel", children: cancelLabel ?? "Cancel" }),
7065
- /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "submit", disabled: submitDisabled, loading: isLoading, loadingText: submitLabel, color: "ios-glass-blue", className: "w-full sm:w-auto", "data-testid": "form-modal-submit", children: submitLabel ?? "Save" })
6276
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", onClick: onClose, disabled: isLoading, outline: true, className: "w-full sm:w-auto", "data-testid": "form-modal-cancel", children: cancelLabel ?? "Cancel" }),
6277
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "submit", disabled: submitDisabled, loading: isLoading, loadingText: submitLabel, color: "ios-glass-blue", className: "w-full sm:w-auto", "data-testid": "form-modal-submit", children: submitLabel ?? "Save" })
7066
6278
  ] }) : void 0);
7067
- const handleSubmit = React12.useCallback((event) => {
6279
+ const handleSubmit = React9.useCallback((event) => {
7068
6280
  event.preventDefault();
7069
6281
  onSubmit?.(event);
7070
6282
  }, [onSubmit]);
7071
6283
  if (!hasTitle) {
7072
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { open, onClose, className: `relative ${zIndex}`, children: [
7073
- /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
7074
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName ?? "fixed inset-0 flex items-center justify-center overflow-y-auto p-3 sm:p-5 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogPanel, { className: panelClassName ?? "rounded-2xl", "data-testid": panelTestId, children }) })
6284
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, children: [
6285
+ /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6286
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName ?? "fixed inset-0 flex items-center justify-center overflow-y-auto p-3 sm:p-5 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: panelClassName ?? "rounded-2xl", "data-testid": panelTestId, children }) })
7075
6287
  ] });
7076
6288
  }
7077
6289
  if (sidebar && !sidebarElement) {
7078
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
7079
- /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
7080
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-center justify-center overflow-y-auto p-2 sm:p-4 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogPanel, { className: `w-full max-w-[90vw] xl:max-w-[1400px] overflow-hidden rounded-2xl liquid-surface-strong shadow-[0_40px_100px_-30px_rgba(0,0,0,0.55)] ${className}`, "data-testid": panelTestId, children: /* @__PURE__ */ jsxRuntime.jsx(
6290
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6291
+ /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6292
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-center justify-center overflow-y-auto p-2 sm:p-4 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `w-full max-w-[90vw] xl:max-w-[1400px] overflow-hidden rounded-2xl liquid-surface-strong shadow-[0_40px_100px_-30px_rgba(0,0,0,0.55)] ${className}`, "data-testid": panelTestId, children: /* @__PURE__ */ jsxRuntime.jsx(
7081
6293
  PropBasedSidebarLayout,
7082
6294
  {
7083
6295
  sidebar,
@@ -7095,9 +6307,9 @@ function GlassModal({
7095
6307
  ] });
7096
6308
  }
7097
6309
  if (sidebarElement) {
7098
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
7099
- /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
7100
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-center justify-center overflow-y-auto p-2 sm:p-4 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogPanel, { className: `w-full max-w-[90vw] xl:max-w-[1400px] overflow-hidden rounded-2xl liquid-surface-strong shadow-[0_40px_100px_-30px_rgba(0,0,0,0.55)] ${className}`, "data-testid": panelTestId, children: /* @__PURE__ */ jsxRuntime.jsx(
6310
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6311
+ /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6312
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-center justify-center overflow-y-auto p-2 sm:p-4 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `w-full max-w-[90vw] xl:max-w-[1400px] overflow-hidden rounded-2xl liquid-surface-strong shadow-[0_40px_100px_-30px_rgba(0,0,0,0.55)] ${className}`, "data-testid": panelTestId, children: /* @__PURE__ */ jsxRuntime.jsx(
7101
6313
  SidebarLayout,
7102
6314
  {
7103
6315
  sidebarElement,
@@ -7133,9 +6345,9 @@ function GlassModal({
7133
6345
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-[72vh] overflow-y-auto px-5 pb-5 sm:px-8 sm:pb-8", children: nonSlotChildren }),
7134
6346
  resolvedFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "modal-footer", className: "border-t border-white/20 px-5 py-4 dark:border-white/10 sm:px-8", children: resolvedFooter })
7135
6347
  ] });
7136
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
7137
- /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
7138
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 overflow-y-auto p-3 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogPanel, { className: `liquid-surface-strong w-full overflow-hidden rounded-2xl mx-auto mt-[4vh] sm:mt-[8vh] ${SIZE_CLASSES[maxWidth]} ${className}`, "data-testid": panelTestId, children: onSubmit ? /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit, children: inner }) : inner }) })
6348
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6349
+ /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6350
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 overflow-y-auto p-3 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `liquid-surface-strong w-full overflow-hidden rounded-2xl mx-auto mt-[4vh] sm:mt-[8vh] ${SIZE_CLASSES[maxWidth]} ${className}`, "data-testid": panelTestId, children: onSubmit ? /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit, children: inner }) : inner }) })
7139
6351
  ] });
7140
6352
  }
7141
6353
  GlassModal.Sidebar = Sidebar;
@@ -7150,16 +6362,16 @@ function Text({ className, ...props }) {
7150
6362
  {
7151
6363
  "data-slot": "text",
7152
6364
  ...props,
7153
- className: clsx__default.default(className, "text-base/6 text-zinc-500 sm:text-sm/6 dark:text-zinc-400")
6365
+ className: clsx4__default.default(className, "text-base/6 text-zinc-500 sm:text-sm/6 dark:text-zinc-400")
7154
6366
  }
7155
6367
  );
7156
6368
  }
7157
6369
  function TextLink({ className, ...props }) {
7158
6370
  return /* @__PURE__ */ jsxRuntime.jsx(
7159
- Link,
6371
+ chunkBHOT22QL_js.Link,
7160
6372
  {
7161
6373
  ...props,
7162
- className: clsx__default.default(
6374
+ className: clsx4__default.default(
7163
6375
  className,
7164
6376
  "text-zinc-950 underline decoration-zinc-950/50 data-hover:decoration-zinc-950 dark:text-white dark:decoration-white/50 dark:data-hover:decoration-white"
7165
6377
  )
@@ -7167,14 +6379,14 @@ function TextLink({ className, ...props }) {
7167
6379
  );
7168
6380
  }
7169
6381
  function Strong({ className, ...props }) {
7170
- return /* @__PURE__ */ jsxRuntime.jsx("strong", { ...props, className: clsx__default.default(className, "font-medium text-zinc-950 dark:text-white") });
6382
+ return /* @__PURE__ */ jsxRuntime.jsx("strong", { ...props, className: clsx4__default.default(className, "font-medium text-zinc-950 dark:text-white") });
7171
6383
  }
7172
6384
  function Code({ className, ...props }) {
7173
6385
  return /* @__PURE__ */ jsxRuntime.jsx(
7174
6386
  "code",
7175
6387
  {
7176
6388
  ...props,
7177
- className: clsx__default.default(
6389
+ className: clsx4__default.default(
7178
6390
  className,
7179
6391
  "rounded-xs border border-zinc-950/10 bg-zinc-950/2.5 px-0.5 text-sm font-medium text-zinc-950 sm:text-[0.8125rem] dark:border-white/20 dark:bg-white/5 dark:text-white"
7180
6392
  )
@@ -7198,19 +6410,19 @@ function Dialog4({
7198
6410
  children,
7199
6411
  ...props
7200
6412
  }) {
7201
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5__namespace.Dialog, { ...props, children: [
6413
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3__namespace.Dialog, { ...props, children: [
7202
6414
  /* @__PURE__ */ jsxRuntime.jsx(
7203
- Headless5__namespace.DialogBackdrop,
6415
+ Headless3__namespace.DialogBackdrop,
7204
6416
  {
7205
6417
  transition: true,
7206
6418
  className: "fixed inset-0 flex w-screen justify-center overflow-y-auto bg-slate-950/25 backdrop-blur-sm px-2 py-2 transition duration-100 focus:outline-0 data-closed:opacity-0 data-enter:ease-out data-leave:ease-in sm:px-6 sm:py-8 lg:px-8 lg:py-16 dark:bg-slate-950/50"
7207
6419
  }
7208
6420
  ),
7209
6421
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 w-screen overflow-y-auto pt-6 sm:pt-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid min-h-full grid-rows-[1fr_auto] justify-items-center sm:grid-rows-[1fr_auto_3fr] sm:p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
7210
- Headless5__namespace.DialogPanel,
6422
+ Headless3__namespace.DialogPanel,
7211
6423
  {
7212
6424
  transition: true,
7213
- className: clsx__default.default(
6425
+ className: clsx4__default.default(
7214
6426
  className,
7215
6427
  sizes2[size],
7216
6428
  "row-start-2 w-full min-w-0 rounded-t-3xl bg-white/80 backdrop-blur-2xl p-(--gutter) shadow-lg ring-1 ring-white/30 [--gutter:--spacing(8)] sm:mb-auto sm:rounded-2xl dark:bg-slate-900/80 dark:ring-white/10 forced-colors:outline",
@@ -7226,10 +6438,10 @@ function DialogTitle3({
7226
6438
  ...props
7227
6439
  }) {
7228
6440
  return /* @__PURE__ */ jsxRuntime.jsx(
7229
- Headless5__namespace.DialogTitle,
6441
+ Headless3__namespace.DialogTitle,
7230
6442
  {
7231
6443
  ...props,
7232
- className: clsx__default.default(
6444
+ className: clsx4__default.default(
7233
6445
  className,
7234
6446
  "text-lg/6 font-semibold text-balance text-slate-950 sm:text-base/6 dark:text-white"
7235
6447
  )
@@ -7241,11 +6453,11 @@ function DialogDescription({
7241
6453
  ...props
7242
6454
  }) {
7243
6455
  return /* @__PURE__ */ jsxRuntime.jsx(
7244
- Headless5__namespace.Description,
6456
+ Headless3__namespace.Description,
7245
6457
  {
7246
6458
  as: Text,
7247
6459
  ...props,
7248
- className: clsx__default.default(className, "mt-2 text-pretty")
6460
+ className: clsx4__default.default(className, "mt-2 text-pretty")
7249
6461
  }
7250
6462
  );
7251
6463
  }
@@ -7253,7 +6465,7 @@ function DialogBody({
7253
6465
  className,
7254
6466
  ...props
7255
6467
  }) {
7256
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: clsx__default.default(className, "mt-6") });
6468
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: clsx4__default.default(className, "mt-6") });
7257
6469
  }
7258
6470
  function DialogActions({
7259
6471
  className,
@@ -7263,7 +6475,7 @@ function DialogActions({
7263
6475
  "div",
7264
6476
  {
7265
6477
  ...props,
7266
- className: clsx__default.default(
6478
+ className: clsx4__default.default(
7267
6479
  className,
7268
6480
  "mt-8 flex flex-col-reverse items-center justify-end gap-3 *:w-full sm:flex-row sm:*:w-auto"
7269
6481
  )
@@ -7357,7 +6569,7 @@ function ChipPicker({
7357
6569
  var DEFAULT_COPYABLE_CLASSNAME = "liquid-surface-strong text-gray-500 dark:text-gray-400";
7358
6570
  function CopyableId({ id, copyValue, label, className }) {
7359
6571
  const t = chunkYXN2K77G_js.useTranslations();
7360
- const [copied, setCopied] = React12.useState(false);
6572
+ const [copied, setCopied] = React9.useState(false);
7361
6573
  const valueToCopy = copyValue ?? id;
7362
6574
  const handleCopy = async (e) => {
7363
6575
  e.stopPropagation();
@@ -7402,8 +6614,8 @@ function ContextMenu({
7402
6614
  minWidthClass = "min-w-[180px]",
7403
6615
  testId
7404
6616
  }) {
7405
- const menuRef = React12.useRef(null);
7406
- React12.useEffect(() => {
6617
+ const menuRef = React9.useRef(null);
6618
+ React9.useEffect(() => {
7407
6619
  function handleClickOutside(event) {
7408
6620
  if (menuRef.current && !menuRef.current.contains(event.target)) {
7409
6621
  onClose();
@@ -7485,13 +6697,13 @@ function DatePicker({
7485
6697
  const appLocale = chunkYXN2K77G_js.useLocale();
7486
6698
  const t = chunkYXN2K77G_js.useTranslations("datePicker");
7487
6699
  const dateFnsLocale = dateFnsLocales[appLocale] ?? locale.ptBR;
7488
- const [open, setOpen] = React12.useState(false);
7489
- const [viewMode, setViewMode] = React12.useState("days");
7490
- const [viewDate, setViewDate] = React12.useState(() => value ?? /* @__PURE__ */ new Date());
7491
- const today = React12.useMemo(() => dateFns.startOfDay(/* @__PURE__ */ new Date()), []);
7492
- const dayNames = React12.useMemo(() => getLocalizedDayNames(dateFnsLocale), [dateFnsLocale]);
7493
- const monthNames = React12.useMemo(() => getLocalizedMonthNames(dateFnsLocale), [dateFnsLocale]);
7494
- const calendarDays = React12.useMemo(() => {
6700
+ const [open, setOpen] = React9.useState(false);
6701
+ const [viewMode, setViewMode] = React9.useState("days");
6702
+ const [viewDate, setViewDate] = React9.useState(() => value ?? /* @__PURE__ */ new Date());
6703
+ const today = React9.useMemo(() => dateFns.startOfDay(/* @__PURE__ */ new Date()), []);
6704
+ const dayNames = React9.useMemo(() => getLocalizedDayNames(dateFnsLocale), [dateFnsLocale]);
6705
+ const monthNames = React9.useMemo(() => getLocalizedMonthNames(dateFnsLocale), [dateFnsLocale]);
6706
+ const calendarDays = React9.useMemo(() => {
7495
6707
  const monthStart = dateFns.startOfMonth(viewDate);
7496
6708
  const monthEnd = dateFns.endOfMonth(viewDate);
7497
6709
  const days = dateFns.eachDayOfInterval({ start: monthStart, end: monthEnd });
@@ -7499,20 +6711,20 @@ function DatePicker({
7499
6711
  const blanks = Array.from({ length: startDow }).fill(null);
7500
6712
  return [...blanks, ...days];
7501
6713
  }, [viewDate]);
7502
- const handlePrevMonth = React12.useCallback(() => {
6714
+ const handlePrevMonth = React9.useCallback(() => {
7503
6715
  setViewDate((d) => dateFns.subMonths(d, 1));
7504
6716
  }, []);
7505
- const handleNextMonth = React12.useCallback(() => {
6717
+ const handleNextMonth = React9.useCallback(() => {
7506
6718
  setViewDate((d) => dateFns.addMonths(d, 1));
7507
6719
  }, []);
7508
- const handleSelectDay = React12.useCallback(
6720
+ const handleSelectDay = React9.useCallback(
7509
6721
  (day) => {
7510
6722
  onChange(day);
7511
6723
  setOpen(false);
7512
6724
  },
7513
6725
  [onChange]
7514
6726
  );
7515
- const handleSelectMonth = React12.useCallback((monthIndex) => {
6727
+ const handleSelectMonth = React9.useCallback((monthIndex) => {
7516
6728
  setViewDate((d) => {
7517
6729
  const next = new Date(d);
7518
6730
  next.setMonth(monthIndex);
@@ -7520,35 +6732,35 @@ function DatePicker({
7520
6732
  });
7521
6733
  setViewMode("days");
7522
6734
  }, []);
7523
- const handleSelectYear = React12.useCallback((year) => {
6735
+ const handleSelectYear = React9.useCallback((year) => {
7524
6736
  setViewDate((d) => {
7525
6737
  const next = new Date(d);
7526
6738
  next.setFullYear(year);
7527
6739
  return next;
7528
6740
  });
7529
6741
  }, []);
7530
- const isDayDisabled = React12.useCallback(
6742
+ const isDayDisabled = React9.useCallback(
7531
6743
  (day) => {
7532
6744
  if (!disableFuture) return false;
7533
6745
  return dateFns.isAfter(dateFns.startOfDay(day), today);
7534
6746
  },
7535
6747
  [disableFuture, today]
7536
6748
  );
7537
- const yearRange = React12.useMemo(() => {
6749
+ const yearRange = React9.useMemo(() => {
7538
6750
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
7539
6751
  const start = currentYear - 10;
7540
6752
  const end = disableFuture ? currentYear : currentYear + 5;
7541
6753
  return Array.from({ length: end - start + 1 }, (_, i) => start + i);
7542
6754
  }, [disableFuture]);
7543
- const displayText = React12.useMemo(() => {
6755
+ const displayText = React9.useMemo(() => {
7544
6756
  if (!value) return placeholder ?? t("selectDate");
7545
6757
  return dateFns.format(value, "PPP", { locale: dateFnsLocale });
7546
6758
  }, [value, placeholder, t, dateFnsLocale]);
7547
- const monthYearLabel = React12.useMemo(
6759
+ const monthYearLabel = React9.useMemo(
7548
6760
  () => dateFns.format(viewDate, "MMMM yyyy", { locale: dateFnsLocale }),
7549
6761
  [viewDate, dateFnsLocale]
7550
6762
  );
7551
- const handleOpenChange = React12.useCallback(
6763
+ const handleOpenChange = React9.useCallback(
7552
6764
  (nextOpen) => {
7553
6765
  if (nextOpen) {
7554
6766
  setViewDate(value ?? /* @__PURE__ */ new Date());
@@ -7750,23 +6962,23 @@ function TimePicker({
7750
6962
  className = ""
7751
6963
  }) {
7752
6964
  const t = chunkYXN2K77G_js.useTranslations("timePicker");
7753
- const [open, setOpen] = React12.useState(false);
7754
- const [draftHours, setDraftHours] = React12.useState(value ? value.hours : 0);
7755
- const [draftMinutes, setDraftMinutes] = React12.useState(value ? value.minutes : 0);
7756
- const hoursRef = React12.useRef(null);
7757
- const isToday = React12.useMemo(() => {
6965
+ const [open, setOpen] = React9.useState(false);
6966
+ const [draftHours, setDraftHours] = React9.useState(value ? value.hours : 0);
6967
+ const [draftMinutes, setDraftMinutes] = React9.useState(value ? value.minutes : 0);
6968
+ const hoursRef = React9.useRef(null);
6969
+ const isToday = React9.useMemo(() => {
7758
6970
  if (!selectedDate) return false;
7759
6971
  return dateFns.isSameDay(dateFns.startOfDay(selectedDate), dateFns.startOfDay(/* @__PURE__ */ new Date()));
7760
6972
  }, [selectedDate]);
7761
- const isFuture = React12.useMemo(() => {
6973
+ const isFuture = React9.useMemo(() => {
7762
6974
  if (!isToday) return false;
7763
6975
  return isFutureTime(draftHours, draftMinutes);
7764
6976
  }, [isToday, draftHours, draftMinutes]);
7765
- const displayText = React12.useMemo(() => {
6977
+ const displayText = React9.useMemo(() => {
7766
6978
  if (!value) return placeholder ?? t("selectTime");
7767
6979
  return `${padTwo(value.hours)}:${padTwo(value.minutes)}`;
7768
6980
  }, [value, placeholder, t]);
7769
- const handleOpenChange = React12.useCallback(
6981
+ const handleOpenChange = React9.useCallback(
7770
6982
  (nextOpen) => {
7771
6983
  if (nextOpen) {
7772
6984
  setDraftHours(value ? value.hours : 0);
@@ -7777,12 +6989,12 @@ function TimePicker({
7777
6989
  },
7778
6990
  [value]
7779
6991
  );
7780
- React12.useEffect(() => {
6992
+ React9.useEffect(() => {
7781
6993
  if (open) {
7782
6994
  setTimeout(() => hoursRef.current?.select(), 80);
7783
6995
  }
7784
6996
  }, [open]);
7785
- const handleHoursChange = React12.useCallback((e) => {
6997
+ const handleHoursChange = React9.useCallback((e) => {
7786
6998
  const raw = e.target.value.replace(/\D/g, "");
7787
6999
  if (raw === "") {
7788
7000
  setDraftHours(0);
@@ -7790,7 +7002,7 @@ function TimePicker({
7790
7002
  }
7791
7003
  setDraftHours(clamp(parseInt(raw, 10), 0, 23));
7792
7004
  }, []);
7793
- const handleMinutesChange = React12.useCallback((e) => {
7005
+ const handleMinutesChange = React9.useCallback((e) => {
7794
7006
  const raw = e.target.value.replace(/\D/g, "");
7795
7007
  if (raw === "") {
7796
7008
  setDraftMinutes(0);
@@ -7798,12 +7010,12 @@ function TimePicker({
7798
7010
  }
7799
7011
  setDraftMinutes(clamp(parseInt(raw, 10), 0, 59));
7800
7012
  }, []);
7801
- const handleConfirm = React12.useCallback(() => {
7013
+ const handleConfirm = React9.useCallback(() => {
7802
7014
  if (isFuture) return;
7803
7015
  onChange({ hours: draftHours, minutes: draftMinutes });
7804
7016
  setOpen(false);
7805
7017
  }, [draftHours, draftMinutes, isFuture, onChange]);
7806
- const handleKeyDown = React12.useCallback(
7018
+ const handleKeyDown = React9.useCallback(
7807
7019
  (e) => {
7808
7020
  if (e.key === "Enter") {
7809
7021
  handleConfirm();
@@ -7921,7 +7133,7 @@ function PageHeading({
7921
7133
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
7922
7134
  breadcrumbs?.length ? /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": t("breadcrumb"), className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400", children: breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center gap-2", children: [
7923
7135
  index > 0 ? /* @__PURE__ */ jsxRuntime.jsx(solid.ChevronRightIcon, { className: "h-4 w-4", "aria-hidden": "true" }) : null,
7924
- /* @__PURE__ */ jsxRuntime.jsx(Link, { href: crumb.href, className: "hover:text-gray-800 dark:hover:text-white", children: crumb.name })
7136
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Link, { href: crumb.href, className: "hover:text-gray-800 dark:hover:text-white", children: crumb.name })
7925
7137
  ] }, `${crumb.href}-${crumb.name}`)) }) }) : null,
7926
7138
  /* @__PURE__ */ jsxRuntime.jsx(
7927
7139
  HeroBlock,
@@ -7981,7 +7193,7 @@ function FormInput({
7981
7193
  onValueChange,
7982
7194
  ...props
7983
7195
  }) {
7984
- const autoId = React12.useId();
7196
+ const autoId = React9.useId();
7985
7197
  const inputId = props.id ?? autoId;
7986
7198
  const errorId = `${inputId}-error`;
7987
7199
  const hintId = `${inputId}-hint`;
@@ -8019,7 +7231,7 @@ function FormTextarea({
8019
7231
  onValueChange,
8020
7232
  ...props
8021
7233
  }) {
8022
- const autoId = React12.useId();
7234
+ const autoId = React9.useId();
8023
7235
  const inputId = props.id ?? autoId;
8024
7236
  const errorId = `${inputId}-error`;
8025
7237
  const hintId = `${inputId}-hint`;
@@ -8073,12 +7285,12 @@ function FormPriceInput({
8073
7285
  max,
8074
7286
  className = ""
8075
7287
  }) {
8076
- const autoId = React12.useId();
7288
+ const autoId = React9.useId();
8077
7289
  const inputId = autoId;
8078
7290
  const errorId = `${inputId}-error`;
8079
7291
  const hintId = `${inputId}-hint`;
8080
7292
  const describedBy = error ? errorId : hint ? hintId : void 0;
8081
- const sizes4 = priceSizeConfig[priceSize ?? defaultPriceSize(inputSize)];
7293
+ const sizes3 = priceSizeConfig[priceSize ?? defaultPriceSize(inputSize)];
8082
7294
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": label ? `field-${label.toLowerCase().replace(/\s+/g, "-")}` : "form-field", children: [
8083
7295
  label ? /* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor: inputId, className: `mb-1.5 block font-medium text-slate-700 dark:text-slate-300 ${labelClasses[inputSize]}`, children: [
8084
7296
  label,
@@ -8088,7 +7300,7 @@ function FormPriceInput({
8088
7300
  /* @__PURE__ */ jsxRuntime.jsx(
8089
7301
  "span",
8090
7302
  {
8091
- className: `absolute top-1/2 -translate-y-1/2 text-gray-400 dark:text-gray-500 pointer-events-none select-none ${sizes4.symbol}`,
7303
+ className: `absolute top-1/2 -translate-y-1/2 text-gray-400 dark:text-gray-500 pointer-events-none select-none ${sizes3.symbol}`,
8092
7304
  "aria-hidden": "true",
8093
7305
  children: currencySymbol
8094
7306
  }
@@ -8109,7 +7321,7 @@ function FormPriceInput({
8109
7321
  "aria-invalid": error ? true : false,
8110
7322
  "aria-describedby": describedBy,
8111
7323
  "aria-label": label ? `${label} in ${currencySymbol}` : void 0,
8112
- className: `w-full bg-transparent tabular-nums ${sizes4.input} ${sizes4.padding} text-gray-900 placeholder:text-slate-500 focus:outline-none dark:text-white dark:placeholder:text-gray-500 ${colorClass ?? ""} ${className}`
7324
+ className: `w-full bg-transparent tabular-nums ${sizes3.input} ${sizes3.padding} text-gray-900 placeholder:text-slate-500 focus:outline-none dark:text-white dark:placeholder:text-gray-500 ${colorClass ?? ""} ${className}`
8113
7325
  }
8114
7326
  )
8115
7327
  ] }) }),
@@ -8127,7 +7339,7 @@ function FormSelect({
8127
7339
  options,
8128
7340
  ...props
8129
7341
  }) {
8130
- const autoId = React12.useId();
7342
+ const autoId = React9.useId();
8131
7343
  const inputId = props.id ?? autoId;
8132
7344
  const errorId = `${inputId}-error`;
8133
7345
  const hintId = `${inputId}-hint`;
@@ -8153,27 +7365,27 @@ function FormSelect({
8153
7365
  /* @__PURE__ */ jsxRuntime.jsx(FieldMeta, { hint, error, errorId, hintId })
8154
7366
  ] });
8155
7367
  }
8156
- var Form = React12__namespace.default.forwardRef(
7368
+ var Form = React9__namespace.default.forwardRef(
8157
7369
  ({ children, className, ...props }, ref) => {
8158
- return /* @__PURE__ */ jsxRuntime.jsx("form", { ref, className: clsx__default.default(className), ...props, children });
7370
+ return /* @__PURE__ */ jsxRuntime.jsx("form", { ref, className: clsx4__default.default(className), ...props, children });
8159
7371
  }
8160
7372
  );
8161
7373
  Form.displayName = "Form";
8162
- var FormGrid = React12__namespace.default.forwardRef(
7374
+ var FormGrid = React9__namespace.default.forwardRef(
8163
7375
  ({ children, className, ...props }, ref) => {
8164
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: clsx__default.default("platform-form-grid", className), ...props, children });
7376
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: clsx4__default.default("platform-form-grid", className), ...props, children });
8165
7377
  }
8166
7378
  );
8167
7379
  FormGrid.displayName = "FormGrid";
8168
- var InlineForm = React12__namespace.default.forwardRef(
7380
+ var InlineForm = React9__namespace.default.forwardRef(
8169
7381
  ({ children, className, ...props }, ref) => {
8170
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: clsx__default.default("platform-inline-form", className), ...props, children });
7382
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: clsx4__default.default("platform-inline-form", className), ...props, children });
8171
7383
  }
8172
7384
  );
8173
7385
  InlineForm.displayName = "InlineForm";
8174
- var FormActionsRow = React12__namespace.default.forwardRef(
7386
+ var FormActionsRow = React9__namespace.default.forwardRef(
8175
7387
  ({ children, className, ...props }, ref) => {
8176
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: clsx__default.default("platform-form-actions", className), ...props, children });
7388
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: clsx4__default.default("platform-form-actions", className), ...props, children });
8177
7389
  }
8178
7390
  );
8179
7391
  FormActionsRow.displayName = "FormActionsRow";
@@ -8185,9 +7397,9 @@ function FormActions({
8185
7397
  saveDisabled = false,
8186
7398
  className
8187
7399
  }) {
8188
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", className), children: [
8189
- /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
8190
- /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
7400
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4__default.default("flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", className), children: [
7401
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
7402
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
8191
7403
  ] });
8192
7404
  }
8193
7405
  function FormToggle({
@@ -8329,7 +7541,7 @@ function BaseForm({
8329
7541
  children,
8330
7542
  showFooter && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2 pt-4", children: [
8331
7543
  /* @__PURE__ */ jsxRuntime.jsxs(
8332
- Button,
7544
+ chunkBHOT22QL_js.Button,
8333
7545
  {
8334
7546
  type: "submit",
8335
7547
  color: "ios-glass-blue",
@@ -8341,7 +7553,7 @@ function BaseForm({
8341
7553
  }
8342
7554
  ),
8343
7555
  onCancel && /* @__PURE__ */ jsxRuntime.jsx(
8344
- Button,
7556
+ chunkBHOT22QL_js.Button,
8345
7557
  {
8346
7558
  type: "button",
8347
7559
  outline: true,
@@ -8361,7 +7573,7 @@ function ExpandableHistoryList({
8361
7573
  isLoading = false,
8362
7574
  className = "space-y-3"
8363
7575
  }) {
8364
- const [expandedItemId, setExpandedItemId] = React12.useState(null);
7576
+ const [expandedItemId, setExpandedItemId] = React9.useState(null);
8365
7577
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-6 text-center text-sm text-gray-500 dark:text-gray-400", children: loadingLabel }) : items.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-6 text-center text-sm text-gray-500 dark:text-gray-400", children: emptyLabel }) : items.map((item) => {
8366
7578
  const isExpanded = expandedItemId === item.id;
8367
7579
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-gray-200/80 dark:border-gray-700/80", children: [
@@ -8600,7 +7812,7 @@ function StepFormPage({
8600
7812
  ) }),
8601
7813
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 flex items-center justify-between border-t border-white/30 pt-5 dark:border-white/10", children: [
8602
7814
  /* @__PURE__ */ jsxRuntime.jsx(
8603
- Button,
7815
+ chunkBHOT22QL_js.Button,
8604
7816
  {
8605
7817
  type: "button",
8606
7818
  onClick: handleBack,
@@ -8609,7 +7821,7 @@ function StepFormPage({
8609
7821
  }
8610
7822
  ),
8611
7823
  /* @__PURE__ */ jsxRuntime.jsx(
8612
- Button,
7824
+ chunkBHOT22QL_js.Button,
8613
7825
  {
8614
7826
  type: "button",
8615
7827
  onClick: handleNext,
@@ -8705,7 +7917,7 @@ function SearchFilterToolbar({
8705
7917
  )
8706
7918
  ] }),
8707
7919
  !!children && onOpenFilters && /* @__PURE__ */ jsxRuntime.jsxs(
8708
- Button,
7920
+ chunkBHOT22QL_js.Button,
8709
7921
  {
8710
7922
  type: "button",
8711
7923
  onClick: onOpenFilters,
@@ -8720,31 +7932,31 @@ function SearchFilterToolbar({
8720
7932
  ),
8721
7933
  actions
8722
7934
  ] }),
8723
- !!children && onCloseFilters && /* @__PURE__ */ jsxRuntime.jsx(Headless5.Transition, { show: filtersOpen, as: React12.Fragment, children: /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { as: "div", className: "relative z-50", onClose: onCloseFilters, children: [
7935
+ !!children && onCloseFilters && /* @__PURE__ */ jsxRuntime.jsx(Headless3.Transition, { show: filtersOpen, as: React9.Fragment, children: /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { as: "div", className: "relative z-50", onClose: onCloseFilters, children: [
8724
7936
  /* @__PURE__ */ jsxRuntime.jsx(
8725
- Headless5.TransitionChild,
7937
+ Headless3.TransitionChild,
8726
7938
  {
8727
- as: React12.Fragment,
7939
+ as: React9.Fragment,
8728
7940
  enter: "ease-out duration-200",
8729
7941
  enterFrom: "opacity-0",
8730
7942
  enterTo: "opacity-100",
8731
7943
  leave: "ease-in duration-150",
8732
7944
  leaveFrom: "opacity-100",
8733
7945
  leaveTo: "opacity-0",
8734
- children: /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/35 backdrop-blur-md" })
7946
+ children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/35 backdrop-blur-md" })
8735
7947
  }
8736
7948
  ),
8737
7949
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 overflow-y-auto p-3 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto flex min-h-full max-w-2xl items-start justify-center pt-[8vh]", children: /* @__PURE__ */ jsxRuntime.jsx(
8738
- Headless5.TransitionChild,
7950
+ Headless3.TransitionChild,
8739
7951
  {
8740
- as: React12.Fragment,
7952
+ as: React9.Fragment,
8741
7953
  enter: "ease-out duration-250",
8742
7954
  enterFrom: "opacity-0 scale-95",
8743
7955
  enterTo: "opacity-100 scale-100",
8744
7956
  leave: "ease-in duration-180",
8745
7957
  leaveFrom: "opacity-100 scale-100",
8746
7958
  leaveTo: "opacity-0 scale-95",
8747
- children: /* @__PURE__ */ jsxRuntime.jsxs(Headless5.DialogPanel, { className: "liquid-surface-strong w-full overflow-hidden rounded-2xl", children: [
7959
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Headless3.DialogPanel, { className: "liquid-surface-strong w-full overflow-hidden rounded-2xl", children: [
8748
7960
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-white/30 px-5 py-4 dark:border-white/10", children: [
8749
7961
  resolvedFiltersContext ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center gap-2 text-slate-600 dark:text-white/70", children: [
8750
7962
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: resolvedFiltersContext.icon }),
@@ -8759,7 +7971,7 @@ function SearchFilterToolbar({
8759
7971
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-[72vh] overflow-y-auto p-4 sm:p-5", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children }) }),
8760
7972
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-2 border-t border-white/30 p-4 dark:border-white/10", children: [
8761
7973
  onClearFilters && activeFiltersCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
8762
- Button,
7974
+ chunkBHOT22QL_js.Button,
8763
7975
  {
8764
7976
  type: "button",
8765
7977
  onClick: onClearFilters,
@@ -8769,7 +7981,7 @@ function SearchFilterToolbar({
8769
7981
  }
8770
7982
  ),
8771
7983
  /* @__PURE__ */ jsxRuntime.jsx(
8772
- Button,
7984
+ chunkBHOT22QL_js.Button,
8773
7985
  {
8774
7986
  type: "button",
8775
7987
  onClick: onCloseFilters,
@@ -9023,18 +8235,18 @@ function ForceTouchMenu({
9023
8235
  className = ""
9024
8236
  }) {
9025
8237
  const router = chunkS7KHTUHA_js.useRouter();
9026
- const [isOpen, setIsOpen] = React12.useState(false);
9027
- const [isPressed, setIsPressed] = React12.useState(false);
9028
- const longPressTimer = React12.useRef(null);
9029
- const containerRef = React12.useRef(null);
8238
+ const [isOpen, setIsOpen] = React9.useState(false);
8239
+ const [isPressed, setIsPressed] = React9.useState(false);
8240
+ const longPressTimer = React9.useRef(null);
8241
+ const containerRef = React9.useRef(null);
9030
8242
  const LONG_PRESS_DURATION = 500;
9031
- const clearTimer = React12.useCallback(() => {
8243
+ const clearTimer = React9.useCallback(() => {
9032
8244
  if (longPressTimer.current) {
9033
8245
  clearTimeout(longPressTimer.current);
9034
8246
  longPressTimer.current = null;
9035
8247
  }
9036
8248
  }, []);
9037
- const handlePressStart = React12.useCallback(() => {
8249
+ const handlePressStart = React9.useCallback(() => {
9038
8250
  setIsPressed(true);
9039
8251
  longPressTimer.current = setTimeout(() => {
9040
8252
  setIsOpen(true);
@@ -9044,7 +8256,7 @@ function ForceTouchMenu({
9044
8256
  }
9045
8257
  }, LONG_PRESS_DURATION);
9046
8258
  }, []);
9047
- const handlePressEnd = React12.useCallback((e) => {
8259
+ const handlePressEnd = React9.useCallback((e) => {
9048
8260
  clearTimer();
9049
8261
  if (!isOpen && isPressed) {
9050
8262
  setIsPressed(false);
@@ -9063,11 +8275,11 @@ function ForceTouchMenu({
9063
8275
  }
9064
8276
  setIsPressed(false);
9065
8277
  }, [clearTimer, isOpen, isPressed, openOnClick, onTap, router, href]);
9066
- const handlePressCancel = React12.useCallback(() => {
8278
+ const handlePressCancel = React9.useCallback(() => {
9067
8279
  clearTimer();
9068
8280
  setIsPressed(false);
9069
8281
  }, [clearTimer]);
9070
- const handleContainerClick = React12.useCallback((e) => {
8282
+ const handleContainerClick = React9.useCallback((e) => {
9071
8283
  if (!openOnClick) return;
9072
8284
  e.preventDefault();
9073
8285
  e.stopPropagation();
@@ -9081,7 +8293,7 @@ function ForceTouchMenu({
9081
8293
  router.push(item.href);
9082
8294
  }
9083
8295
  };
9084
- React12.useEffect(() => {
8296
+ React9.useEffect(() => {
9085
8297
  if (!isOpen) return;
9086
8298
  const handlePointerDown = (event) => {
9087
8299
  if (!containerRef.current) return;
@@ -9167,11 +8379,11 @@ function LaunchpadGrid({
9167
8379
  onItemClick,
9168
8380
  className
9169
8381
  }) {
9170
- const orderIndex = React12.useMemo(
8382
+ const orderIndex = React9.useMemo(
9171
8383
  () => new Map(pageOrder.map((id, index) => [id, index])),
9172
8384
  [pageOrder]
9173
8385
  );
9174
- const orderedItems = React12.useMemo(() => {
8386
+ const orderedItems = React9.useMemo(() => {
9175
8387
  const sortedPages = [...pageItems].sort(
9176
8388
  (a, b) => (orderIndex.get(a.id) ?? 999) - (orderIndex.get(b.id) ?? 999)
9177
8389
  );
@@ -9182,7 +8394,7 @@ function LaunchpadGrid({
9182
8394
  const allGroupedItems = [...groupedPageItems, ...groupedActionItems];
9183
8395
  groupedActionItems.length > 0 ? groupedPageItems.length : -1;
9184
8396
  const tileClass = "group relative flex flex-col items-center text-center transition-transform duration-200 hover:-translate-y-0.5";
9185
- const getForceTouchItems = React12.useCallback((item) => {
8397
+ const getForceTouchItems = React9.useCallback((item) => {
9186
8398
  if (item.menuItems.length > 0) return item.menuItems;
9187
8399
  return [
9188
8400
  {
@@ -9192,7 +8404,7 @@ function LaunchpadGrid({
9192
8404
  }
9193
8405
  ];
9194
8406
  }, []);
9195
- const renderTile = React12.useCallback((item) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center", children: !actionItemIds.has(item.id) && item.href.startsWith("/") && !item.onClick ? /* @__PURE__ */ jsxRuntime.jsx(
8407
+ const renderTile = React9.useCallback((item) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center", children: !actionItemIds.has(item.id) && item.href.startsWith("/") && !item.onClick ? /* @__PURE__ */ jsxRuntime.jsx(
9196
8408
  ForceTouchMenu,
9197
8409
  {
9198
8410
  href: item.href,
@@ -9239,7 +8451,7 @@ function LaunchpadGrid({
9239
8451
  ] })
9240
8452
  ) });
9241
8453
  }
9242
- var LaunchpadIcon = React12.memo(function LaunchpadIcon2({
8454
+ var LaunchpadIcon = React9.memo(function LaunchpadIcon2({
9243
8455
  item,
9244
8456
  userProfile,
9245
8457
  isHydrated
@@ -9388,8 +8600,8 @@ function CookieConsent({
9388
8600
  onReject
9389
8601
  } = {}) {
9390
8602
  const t = chunkYXN2K77G_js.useTranslations("common.cookieConsent");
9391
- const [visible, setVisible] = React12.useState(false);
9392
- React12.useEffect(() => {
8603
+ const [visible, setVisible] = React9.useState(false);
8604
+ React9.useEffect(() => {
9393
8605
  const consent = localStorage.getItem(storageKey);
9394
8606
  if (!consent) {
9395
8607
  setVisible(true);
@@ -9428,8 +8640,8 @@ function CookieConsent({
9428
8640
  children: t("learnMore")
9429
8641
  }
9430
8642
  ),
9431
- /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleReject, outline: true, children: t("reject") }),
9432
- /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleAccept, color: "ios-glass-blue", children: t("accept") })
8643
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { onClick: handleReject, outline: true, children: t("reject") }),
8644
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { onClick: handleAccept, color: "ios-glass-blue", children: t("accept") })
9433
8645
  ] })
9434
8646
  ] }) })
9435
8647
  }
@@ -9493,18 +8705,18 @@ function Dock({
9493
8705
  }) {
9494
8706
  const router = chunkS7KHTUHA_js.useRouter();
9495
8707
  const pathname = chunkS7KHTUHA_js.usePathname();
9496
- const [isAutoHidden, setIsAutoHidden] = React12.useState(false);
9497
- const autoHideTimerRef = React12.useRef(null);
9498
- const [hoveredIndex, setHoveredIndex] = React12.useState(null);
9499
- const [focusedIndex, setFocusedIndex] = React12.useState(null);
9500
- const [openClickMenuId, setOpenClickMenuId] = React12.useState(null);
9501
- const [isTabletViewport, setIsTabletViewport] = React12.useState(false);
9502
- const dockRef = React12.useRef(null);
9503
- const actions = React12.useMemo(
8708
+ const [isAutoHidden, setIsAutoHidden] = React9.useState(false);
8709
+ const autoHideTimerRef = React9.useRef(null);
8710
+ const [hoveredIndex, setHoveredIndex] = React9.useState(null);
8711
+ const [focusedIndex, setFocusedIndex] = React9.useState(null);
8712
+ const [openClickMenuId, setOpenClickMenuId] = React9.useState(null);
8713
+ const [isTabletViewport, setIsTabletViewport] = React9.useState(false);
8714
+ const dockRef = React9.useRef(null);
8715
+ const actions = React9.useMemo(
9504
8716
  () => [...navigationActions, ...contextualActions],
9505
8717
  [navigationActions, contextualActions]
9506
8718
  );
9507
- const resetAutoHideTimer = React12.useCallback(() => {
8719
+ const resetAutoHideTimer = React9.useCallback(() => {
9508
8720
  if (!autoHide) return;
9509
8721
  if (autoHideTimerRef.current) {
9510
8722
  clearTimeout(autoHideTimerRef.current);
@@ -9514,7 +8726,7 @@ function Dock({
9514
8726
  setIsAutoHidden(true);
9515
8727
  }, AUTO_HIDE_DELAY);
9516
8728
  }, [autoHide]);
9517
- React12.useEffect(() => {
8729
+ React9.useEffect(() => {
9518
8730
  if (!autoHide) {
9519
8731
  setIsAutoHidden(false);
9520
8732
  return;
@@ -9526,7 +8738,7 @@ function Dock({
9526
8738
  }
9527
8739
  };
9528
8740
  }, [autoHide, resetAutoHideTimer]);
9529
- React12.useEffect(() => {
8741
+ React9.useEffect(() => {
9530
8742
  if (typeof window === "undefined") return;
9531
8743
  const media = window.matchMedia("(min-width: 768px) and (max-width: 1024px)");
9532
8744
  const syncViewport = () => setIsTabletViewport(media.matches);
@@ -9534,7 +8746,7 @@ function Dock({
9534
8746
  media.addEventListener("change", syncViewport);
9535
8747
  return () => media.removeEventListener("change", syncViewport);
9536
8748
  }, []);
9537
- React12.useEffect(() => {
8749
+ React9.useEffect(() => {
9538
8750
  const handlePointerDown = (event) => {
9539
8751
  if (!dockRef.current) return;
9540
8752
  const target = event.target;
@@ -9546,7 +8758,7 @@ function Dock({
9546
8758
  document.addEventListener("mousedown", handlePointerDown);
9547
8759
  return () => document.removeEventListener("mousedown", handlePointerDown);
9548
8760
  }, []);
9549
- React12.useEffect(() => {
8761
+ React9.useEffect(() => {
9550
8762
  setFocusedIndex(null);
9551
8763
  setHoveredIndex(null);
9552
8764
  setOpenClickMenuId(null);
@@ -9738,7 +8950,7 @@ function Dock({
9738
8950
  }
9739
8951
  );
9740
8952
  }
9741
- var DockItem = React12.memo(function DockItem2({
8953
+ var DockItem = React9.memo(function DockItem2({
9742
8954
  action,
9743
8955
  index,
9744
8956
  hoveredIndex,
@@ -9799,15 +9011,15 @@ function DockContainer({
9799
9011
  tabletBreakpoint = 1024,
9800
9012
  className = "hidden md:flex"
9801
9013
  }) {
9802
- const [isTabletViewport, setIsTabletViewport] = React12.useState(false);
9803
- const [isReady, setIsReady] = React12.useState(false);
9014
+ const [isTabletViewport, setIsTabletViewport] = React9.useState(false);
9015
+ const [isReady, setIsReady] = React9.useState(false);
9804
9016
  const hasActions = navigationActions.length > 0 || contextualActions.length > 0;
9805
- React12.useEffect(() => {
9017
+ React9.useEffect(() => {
9806
9018
  if (hasActions) {
9807
9019
  setIsReady(true);
9808
9020
  }
9809
9021
  }, [hasActions]);
9810
- React12.useEffect(() => {
9022
+ React9.useEffect(() => {
9811
9023
  if (typeof window === "undefined") return;
9812
9024
  const media = window.matchMedia(`(max-width: ${tabletBreakpoint}px)`);
9813
9025
  const syncViewport = () => setIsTabletViewport(media.matches);
@@ -9839,14 +9051,14 @@ function PageLoadingState({ label, compact = false }) {
9839
9051
  return /* @__PURE__ */ jsxRuntime.jsx(
9840
9052
  "div",
9841
9053
  {
9842
- className: clsx__default.default(
9054
+ className: clsx4__default.default(
9843
9055
  "flex w-full items-center justify-center",
9844
9056
  compact ? "py-6" : "min-h-[calc(100dvh-9rem)] py-0"
9845
9057
  ),
9846
9058
  children: /* @__PURE__ */ jsxRuntime.jsxs(
9847
9059
  "div",
9848
9060
  {
9849
- className: clsx__default.default(
9061
+ className: clsx4__default.default(
9850
9062
  "liquid-surface relative overflow-hidden rounded-2xl",
9851
9063
  compact ? "px-6 py-5" : "px-10 py-8"
9852
9064
  ),
@@ -9877,7 +9089,7 @@ function AppShell({
9877
9089
  initializers,
9878
9090
  /* @__PURE__ */ jsxRuntime.jsx(NavigationProgress, {}),
9879
9091
  navigation,
9880
- /* @__PURE__ */ jsxRuntime.jsx(React12.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(PageLoadingState, { label: loadingLabel }), children }),
9092
+ /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(PageLoadingState, { label: loadingLabel }), children }),
9881
9093
  dock,
9882
9094
  profileDrawer
9883
9095
  ] });
@@ -9912,7 +9124,7 @@ function Avatar({
9912
9124
  "data-slot": "avatar",
9913
9125
  ...props,
9914
9126
  style: toneCfg ? { "--avatar-glow": toneCfg.glow } : void 0,
9915
- className: clsx__default.default(
9127
+ className: clsx4__default.default(
9916
9128
  className,
9917
9129
  "liquid-avatar transition-colors duration-200",
9918
9130
  // Tone tint at rest + intensified fill on hover ("cristal
@@ -9944,7 +9156,7 @@ function Avatar({
9944
9156
  }
9945
9157
  );
9946
9158
  }
9947
- var AvatarButton = React12.forwardRef(function AvatarButton2({
9159
+ var AvatarButton = React9.forwardRef(function AvatarButton2({
9948
9160
  src,
9949
9161
  square = false,
9950
9162
  initials,
@@ -9953,16 +9165,16 @@ var AvatarButton = React12.forwardRef(function AvatarButton2({
9953
9165
  className,
9954
9166
  ...props
9955
9167
  }, ref) {
9956
- let classes = clsx__default.default(
9168
+ let classes = clsx4__default.default(
9957
9169
  className,
9958
9170
  "liquid-avatar-interactive relative inline-grid",
9959
9171
  square ? "rounded-[20%]" : "rounded-full",
9960
9172
  "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-indigo-500/70"
9961
9173
  );
9962
9174
  if (typeof props.href === "string") {
9963
- return /* @__PURE__ */ jsxRuntime.jsx(Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9175
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9964
9176
  }
9965
- return /* @__PURE__ */ jsxRuntime.jsx(Headless5__namespace.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9177
+ return /* @__PURE__ */ jsxRuntime.jsx(Headless3__namespace.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9966
9178
  });
9967
9179
  function ImageUpload({
9968
9180
  src,
@@ -9979,12 +9191,12 @@ function ImageUpload({
9979
9191
  tooLargeMessage = "File too large",
9980
9192
  disabled = false
9981
9193
  }) {
9982
- const [preview, setPreview] = React12.useState(null);
9983
- const [isUploading, setIsUploading] = React12.useState(false);
9984
- const [error, setError] = React12.useState(null);
9985
- const fileInputRef = React12.useRef(null);
9194
+ const [preview, setPreview] = React9.useState(null);
9195
+ const [isUploading, setIsUploading] = React9.useState(false);
9196
+ const [error, setError] = React9.useState(null);
9197
+ const fileInputRef = React9.useRef(null);
9986
9198
  const acceptSet = new Set(accept.split(",").map((t) => t.trim()));
9987
- const handleChange = React12.useCallback(async (event) => {
9199
+ const handleChange = React9.useCallback(async (event) => {
9988
9200
  const file = event.target.files?.[0];
9989
9201
  if (!file) return;
9990
9202
  setError(null);
@@ -10056,137 +9268,6 @@ function ImageUpload({
10056
9268
  hint && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: hint })
10057
9269
  ] });
10058
9270
  }
10059
- var colors = {
10060
- red: "bg-red-500/15 text-red-700 group-data-hover:bg-red-500/25 dark:bg-red-500/10 dark:text-red-300 dark:group-data-hover:bg-red-500/20",
10061
- orange: "bg-orange-500/15 text-orange-700 group-data-hover:bg-orange-500/25 dark:bg-orange-500/10 dark:text-orange-300 dark:group-data-hover:bg-orange-500/20",
10062
- amber: "bg-amber-400/20 text-amber-800 group-data-hover:bg-amber-400/30 dark:bg-amber-400/10 dark:text-amber-300 dark:group-data-hover:bg-amber-400/15",
10063
- yellow: "bg-yellow-400/20 text-yellow-800 group-data-hover:bg-yellow-400/30 dark:bg-yellow-400/10 dark:text-yellow-200 dark:group-data-hover:bg-yellow-400/15",
10064
- lime: "bg-lime-400/20 text-lime-800 group-data-hover:bg-lime-400/30 dark:bg-lime-400/10 dark:text-lime-200 dark:group-data-hover:bg-lime-400/15",
10065
- green: "bg-green-500/15 text-green-700 group-data-hover:bg-green-500/25 dark:bg-green-500/10 dark:text-green-300 dark:group-data-hover:bg-green-500/20",
10066
- emerald: "bg-emerald-500/15 text-emerald-700 group-data-hover:bg-emerald-500/25 dark:bg-emerald-500/10 dark:text-emerald-300 dark:group-data-hover:bg-emerald-500/20",
10067
- teal: "bg-teal-500/15 text-teal-700 group-data-hover:bg-teal-500/25 dark:bg-teal-500/10 dark:text-teal-300 dark:group-data-hover:bg-teal-500/20",
10068
- cyan: "bg-cyan-400/20 text-cyan-800 group-data-hover:bg-cyan-400/30 dark:bg-cyan-400/10 dark:text-cyan-200 dark:group-data-hover:bg-cyan-400/15",
10069
- sky: "bg-sky-500/15 text-sky-700 group-data-hover:bg-sky-500/25 dark:bg-sky-500/10 dark:text-sky-300 dark:group-data-hover:bg-sky-500/20",
10070
- blue: "bg-blue-500/15 text-blue-700 group-data-hover:bg-blue-500/25 dark:text-blue-300 dark:group-data-hover:bg-blue-500/25",
10071
- indigo: "bg-indigo-500/15 text-indigo-700 group-data-hover:bg-indigo-500/25 dark:text-indigo-300 dark:group-data-hover:bg-indigo-500/20",
10072
- violet: "bg-violet-500/15 text-violet-700 group-data-hover:bg-violet-500/25 dark:text-violet-300 dark:group-data-hover:bg-violet-500/20",
10073
- purple: "bg-purple-500/15 text-purple-700 group-data-hover:bg-purple-500/25 dark:text-purple-300 dark:group-data-hover:bg-purple-500/20",
10074
- fuchsia: "bg-fuchsia-400/20 text-fuchsia-700 group-data-hover:bg-fuchsia-400/30 dark:bg-fuchsia-400/10 dark:text-fuchsia-300 dark:group-data-hover:bg-fuchsia-400/20",
10075
- pink: "bg-pink-400/20 text-pink-700 group-data-hover:bg-pink-400/30 dark:bg-pink-400/10 dark:text-pink-300 dark:group-data-hover:bg-pink-400/20",
10076
- rose: "bg-rose-400/20 text-rose-700 group-data-hover:bg-rose-400/30 dark:bg-rose-400/10 dark:text-rose-300 dark:group-data-hover:bg-rose-400/20",
10077
- zinc: "bg-slate-500/15 text-slate-700 group-data-hover:bg-slate-500/25 dark:bg-white/5 dark:text-slate-200 dark:group-data-hover:bg-white/10"
10078
- };
10079
- var sizes3 = {
10080
- xs: { container: "px-2 py-0.5 text-[11px] gap-1", icon: "h-3 w-3", remove: "h-3 w-3 -mr-0.5" },
10081
- sm: { container: "px-2.5 py-0.5 text-xs gap-1.5", icon: "h-3.5 w-3.5", remove: "h-3.5 w-3.5 -mr-1" },
10082
- md: { container: "px-3 py-1 text-sm gap-1.5", icon: "h-4 w-4", remove: "h-4 w-4 -mr-1" },
10083
- lg: { container: "px-3.5 py-1.5 text-sm gap-2", icon: "h-4 w-4", remove: "h-4 w-4 -mr-1" }
10084
- };
10085
- var CRYSTAL_STYLE2 = {
10086
- backdropFilter: "blur(12px) saturate(1.5)",
10087
- WebkitBackdropFilter: "blur(12px) saturate(1.5)",
10088
- boxShadow: "inset 0 1px 1.5px rgba(255,255,255,0.45), 0 1px 3px -1px rgba(15,23,42,0.12)"
10089
- };
10090
- function Badge({
10091
- color = "zinc",
10092
- size = "sm",
10093
- icon,
10094
- removable = false,
10095
- onRemove,
10096
- removeLabel = "Remove",
10097
- onClick,
10098
- live = false,
10099
- className,
10100
- children,
10101
- ...props
10102
- }) {
10103
- const sz = sizes3[size];
10104
- const base = clsx__default.default(
10105
- "inline-flex items-center rounded-full border font-semibold forced-colors:outline",
10106
- "border-current/20",
10107
- // hair-line border in the badge's own hue
10108
- sz.container,
10109
- colors[color],
10110
- className
10111
- );
10112
- const liveProps = live ? { role: "status", "aria-live": "polite" } : {};
10113
- if (onClick) {
10114
- return /* @__PURE__ */ jsxRuntime.jsxs(
10115
- "button",
10116
- {
10117
- type: "button",
10118
- "data-testid": "badge",
10119
- onClick,
10120
- style: CRYSTAL_STYLE2,
10121
- ...liveProps,
10122
- className: clsx__default.default(
10123
- base,
10124
- "cursor-pointer transition-colors",
10125
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
10126
- ),
10127
- children: [
10128
- icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx__default.default("shrink-0", sz.icon), "aria-hidden": true, children: icon }),
10129
- children
10130
- ]
10131
- }
10132
- );
10133
- }
10134
- if (removable) {
10135
- return /* @__PURE__ */ jsxRuntime.jsxs(
10136
- "span",
10137
- {
10138
- "data-testid": "badge",
10139
- ...props,
10140
- ...liveProps,
10141
- style: CRYSTAL_STYLE2,
10142
- className: clsx__default.default(base, "pr-1"),
10143
- children: [
10144
- icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx__default.default("shrink-0", sz.icon), "aria-hidden": true, children: icon }),
10145
- children,
10146
- /* @__PURE__ */ jsxRuntime.jsx(
10147
- "button",
10148
- {
10149
- type: "button",
10150
- "aria-label": removeLabel,
10151
- onClick: (event) => {
10152
- event.stopPropagation();
10153
- onRemove?.();
10154
- },
10155
- className: clsx__default.default(
10156
- "ml-0.5 inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full",
10157
- "opacity-70 hover:opacity-100 transition-opacity",
10158
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70"
10159
- ),
10160
- children: /* @__PURE__ */ jsxRuntime.jsx(solid.XMarkIcon, { className: sz.remove })
10161
- }
10162
- )
10163
- ]
10164
- }
10165
- );
10166
- }
10167
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { "data-testid": "badge", ...props, ...liveProps, style: CRYSTAL_STYLE2, className: base, children: [
10168
- icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx__default.default("shrink-0", sz.icon), "aria-hidden": true, children: icon }),
10169
- children
10170
- ] });
10171
- }
10172
- React12.forwardRef(function BadgeButton2({
10173
- color = "zinc",
10174
- size = "sm",
10175
- icon,
10176
- className,
10177
- children,
10178
- ...props
10179
- }, ref) {
10180
- let classes = clsx__default.default(
10181
- className,
10182
- "group relative inline-flex rounded-full",
10183
- "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-indigo-500/70"
10184
- );
10185
- if (typeof props.href === "string") {
10186
- return /* @__PURE__ */ jsxRuntime.jsx(Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { color, size, icon, children }) }) });
10187
- }
10188
- return /* @__PURE__ */ jsxRuntime.jsx(Headless5__namespace.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { color, size, icon, children }) }) });
10189
- });
10190
9271
  function Breadcrumb({ pages, actions, centerContent, dashboardPath = "/dashboard" }) {
10191
9272
  const t = chunkYXN2K77G_js.useTranslations("common");
10192
9273
  const currentPage = pages.find((page) => page.current) || pages[pages.length - 1];
@@ -10198,7 +9279,7 @@ function Breadcrumb({ pages, actions, centerContent, dashboardPath = "/dashboard
10198
9279
  className: "liquid-surface-strong sticky top-2 z-30 mx-4 rounded-2xl sm:mx-6 lg:mx-8",
10199
9280
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-[1fr_auto_1fr] items-center gap-3 px-4 py-2.5 sm:px-6 lg:px-8", children: [
10200
9281
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: parentPage ? /* @__PURE__ */ jsxRuntime.jsxs(
10201
- Link,
9282
+ chunkBHOT22QL_js.Link,
10202
9283
  {
10203
9284
  href: parentPage.href,
10204
9285
  className: "inline-flex max-w-full items-center gap-1 rounded-full px-2 py-1 text-sm font-medium text-slate-600 hover:bg-white/60 dark:text-slate-300 dark:hover:bg-white/10",
@@ -10208,7 +9289,7 @@ function Breadcrumb({ pages, actions, centerContent, dashboardPath = "/dashboard
10208
9289
  ]
10209
9290
  }
10210
9291
  ) : /* @__PURE__ */ jsxRuntime.jsxs(
10211
- Link,
9292
+ chunkBHOT22QL_js.Link,
10212
9293
  {
10213
9294
  href: dashboardPath,
10214
9295
  className: "inline-flex items-center gap-1 rounded-full px-2 py-1 text-sm font-medium text-slate-600 hover:bg-white/60 dark:text-slate-300 dark:hover:bg-white/10",
@@ -10231,7 +9312,7 @@ function CreateActionButton({
10231
9312
  mode = "responsive"
10232
9313
  }) {
10233
9314
  const buttonContent = /* @__PURE__ */ jsxRuntime.jsxs(
10234
- Button,
9315
+ chunkBHOT22QL_js.Button,
10235
9316
  {
10236
9317
  type: "button",
10237
9318
  onClick,
@@ -10269,8 +9350,8 @@ function DevModeBanner({
10269
9350
  devModeLabel = "DEV",
10270
9351
  devModeMessage = "Local development mode"
10271
9352
  }) {
10272
- const [glassTest, setGlassTest] = React12.useState(false);
10273
- const toggleGlassTest = React12.useCallback(() => {
9353
+ const [glassTest, setGlassTest] = React9.useState(false);
9354
+ const toggleGlassTest = React9.useCallback(() => {
10274
9355
  const html = document.documentElement;
10275
9356
  const next = !glassTest;
10276
9357
  html.classList.toggle("glass-test", next);
@@ -10350,7 +9431,7 @@ function Divider({
10350
9431
  {
10351
9432
  role: "presentation",
10352
9433
  ...props,
10353
- className: clsx__default.default(
9434
+ className: clsx4__default.default(
10354
9435
  className,
10355
9436
  "w-full border-t",
10356
9437
  soft && "border-zinc-950/5 dark:border-white/5",
@@ -10372,14 +9453,14 @@ function DynamicIslandConfirm({
10372
9453
  }) {
10373
9454
  const resolvedConfirmLabel = confirmLabel ?? "Confirm";
10374
9455
  const resolvedCancelLabel = cancelLabel ?? "Cancel";
10375
- React12.useEffect(() => {
9456
+ React9.useEffect(() => {
10376
9457
  if (open) {
10377
9458
  chunkUZ3CMNUJ_js.triggerHaptic("warning");
10378
9459
  }
10379
9460
  }, [open]);
10380
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { open, onClose, className: "relative z-[120]", "aria-labelledby": "dynamic-island-title", children: [
9461
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: "relative z-[120]", "aria-labelledby": "dynamic-island-title", children: [
10381
9462
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 bg-black/10 backdrop-blur-[2px]" }),
10382
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-start justify-center pt-3 px-4", children: /* @__PURE__ */ jsxRuntime.jsxs(Headless5.DialogPanel, { className: "w-full max-w-sm rounded-[28px] bg-black/95 p-3 text-white shadow-2xl", children: [
9463
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-start justify-center pt-3 px-4", children: /* @__PURE__ */ jsxRuntime.jsxs(Headless3.DialogPanel, { className: "w-full max-w-sm rounded-[28px] bg-black/95 p-3 text-white shadow-2xl", children: [
10383
9464
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 px-2 py-1", children: [
10384
9465
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `h-9 w-9 shrink-0 rounded-xl ${iconBackground} flex items-center justify-center`, children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.TrashIcon, { className: "h-5 w-5 text-white" }) }),
10385
9466
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
@@ -10419,9 +9500,9 @@ function FlyoutMenu({
10419
9500
  maxWidthClassName = "max-w-4xl",
10420
9501
  panelClassName
10421
9502
  }) {
10422
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { open, onClose, className: "relative z-50", children: [
10423
- /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/35 backdrop-blur-sm dark:bg-black/45" }),
10424
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-start justify-center p-2 pt-[max(2.75rem,env(safe-area-inset-top))] sm:p-4 sm:pt-20", children: /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogPanel, { className: `w-screen ${maxWidthClassName} ${panelClassName ?? defaultPanelClassName}`, children: title ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
9503
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: "relative z-50", children: [
9504
+ /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/35 backdrop-blur-sm dark:bg-black/45" }),
9505
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-start justify-center p-2 pt-[max(2.75rem,env(safe-area-inset-top))] sm:p-4 sm:pt-20", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `w-screen ${maxWidthClassName} ${panelClassName ?? defaultPanelClassName}`, children: title ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
10425
9506
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 flex items-center justify-center", children: title }),
10426
9507
  children
10427
9508
  ] }) : children }) })
@@ -10522,10 +9603,10 @@ function FlyoutNavGrid({
10522
9603
  searchFocusRingClass = "focus-ring-indigo"
10523
9604
  }) {
10524
9605
  const t = chunkYXN2K77G_js.useTranslations("common");
10525
- const [query, setQuery] = React12.useState("");
9606
+ const [query, setQuery] = React9.useState("");
10526
9607
  const isCurrentPath = (href) => href === "/dashboard" ? currentPath === "/dashboard" : currentPath.startsWith(href);
10527
9608
  const normalizedQuery = query.trim().toLowerCase();
10528
- const filteredItems = React12.useMemo(
9609
+ const filteredItems = React9.useMemo(
10529
9610
  () => normalizedQuery ? items.filter(
10530
9611
  (item) => `${item.label} ${item.subtitle ?? ""}`.toLowerCase().includes(normalizedQuery)
10531
9612
  ) : items,
@@ -10589,7 +9670,7 @@ function Heading({ className, level = 1, ...props }) {
10589
9670
  Element,
10590
9671
  {
10591
9672
  ...props,
10592
- className: clsx__default.default(className, "text-2xl/8 font-semibold text-zinc-950 sm:text-xl/8 dark:text-white")
9673
+ className: clsx4__default.default(className, "text-2xl/8 font-semibold text-zinc-950 sm:text-xl/8 dark:text-white")
10593
9674
  }
10594
9675
  );
10595
9676
  }
@@ -10599,7 +9680,7 @@ function Subheading({ className, level = 2, ...props }) {
10599
9680
  Element,
10600
9681
  {
10601
9682
  ...props,
10602
- className: clsx__default.default(className, "text-base/7 font-semibold text-zinc-950 sm:text-sm/6 dark:text-white")
9683
+ className: clsx4__default.default(className, "text-base/7 font-semibold text-zinc-950 sm:text-sm/6 dark:text-white")
10603
9684
  }
10604
9685
  );
10605
9686
  }
@@ -10609,7 +9690,7 @@ function LanguageSwitcher({
10609
9690
  onLocaleChange,
10610
9691
  changeLanguageLabel = "Change language"
10611
9692
  }) {
10612
- const [open, setOpen] = React12.useState(false);
9693
+ const [open, setOpen] = React9.useState(false);
10613
9694
  const handleLanguageChange = (code) => {
10614
9695
  onLocaleChange(code);
10615
9696
  setOpen(false);
@@ -10628,9 +9709,9 @@ function LanguageSwitcher({
10628
9709
  ]
10629
9710
  }
10630
9711
  ),
10631
- /* @__PURE__ */ jsxRuntime.jsxs(Headless5.Dialog, { className: "relative z-50", open, onClose: setOpen, children: [
10632
- /* @__PURE__ */ jsxRuntime.jsx(Headless5.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/35 backdrop-blur-sm" }),
10633
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 z-50 grid place-items-center p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(Headless5.DialogPanel, { className: "w-full max-w-md liquid-surface rounded-2xl border border-white/45 p-4 dark:border-white/12", children: [
9712
+ /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { className: "relative z-50", open, onClose: setOpen, children: [
9713
+ /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/35 backdrop-blur-sm" }),
9714
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 z-50 grid place-items-center p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(Headless3.DialogPanel, { className: "w-full max-w-md liquid-surface rounded-2xl border border-white/45 p-4 dark:border-white/12", children: [
10634
9715
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-sm font-semibold uppercase tracking-wide text-slate-600 dark:text-slate-300", children: changeLanguageLabel }),
10635
9716
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-2", children: languages.map((language) => {
10636
9717
  const selected = currentLocale === language.code;
@@ -10730,23 +9811,23 @@ function MonthPicker({
10730
9811
  const locale$1 = chunkYXN2K77G_js.useLocale();
10731
9812
  const t = chunkYXN2K77G_js.useTranslations("common");
10732
9813
  const dateFnsLocale = dateFnsLocales2[locale$1] || locale.ptBR;
10733
- const months = React12__namespace.useMemo(() => getLocalizedMonths(dateFnsLocale), [dateFnsLocale]);
9814
+ const months = React9__namespace.useMemo(() => getLocalizedMonths(dateFnsLocale), [dateFnsLocale]);
10734
9815
  const defaultPlaceholder = t("selectMonth");
10735
- const [open, setOpen] = React12__namespace.useState(false);
10736
- const availableYears = React12__namespace.useMemo(() => {
9816
+ const [open, setOpen] = React9__namespace.useState(false);
9817
+ const availableYears = React9__namespace.useMemo(() => {
10737
9818
  const years = new Set(availableMonths.map((m) => parseInt(m.split("-")[0])));
10738
9819
  return Array.from(years).sort((a, b) => b - a);
10739
9820
  }, [availableMonths]);
10740
- const [viewYear, setViewYear] = React12__namespace.useState(() => {
9821
+ const [viewYear, setViewYear] = React9__namespace.useState(() => {
10741
9822
  if (value) return parseInt(value.split("-")[0]);
10742
9823
  if (availableYears.length > 0) return availableYears[0];
10743
9824
  return (/* @__PURE__ */ new Date()).getFullYear();
10744
9825
  });
10745
- const isMonthAvailable = React12__namespace.useCallback((year, monthIndex) => {
9826
+ const isMonthAvailable = React9__namespace.useCallback((year, monthIndex) => {
10746
9827
  const monthStr = `${year}-${String(monthIndex + 1).padStart(2, "0")}`;
10747
9828
  return availableMonths.includes(monthStr);
10748
9829
  }, [availableMonths]);
10749
- const displayValue = React12__namespace.useMemo(() => {
9830
+ const displayValue = React9__namespace.useMemo(() => {
10750
9831
  if (!value) return placeholder || defaultPlaceholder;
10751
9832
  try {
10752
9833
  const date = dateFns.parse(value, "yyyy-MM", /* @__PURE__ */ new Date());
@@ -10974,7 +10055,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10974
10055
  {
10975
10056
  initial: prefersReducedMotion2 ? false : { opacity: 0, scale: 0.95 },
10976
10057
  animate: prefersReducedMotion2 ? noMotion : { opacity: 1, scale: 1 },
10977
- transition: prefersReducedMotion2 ? noTransition : springPresets.gentle,
10058
+ transition: prefersReducedMotion2 ? noTransition : chunkBHOT22QL_js.springPresets.gentle,
10978
10059
  className: "liquid-surface w-full max-w-lg rounded-2xl px-8 py-14 text-center",
10979
10060
  children: [
10980
10061
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -10982,7 +10063,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10982
10063
  {
10983
10064
  initial: prefersReducedMotion2 ? false : { scale: 0.6, opacity: 0 },
10984
10065
  animate: prefersReducedMotion2 ? noMotion : { scale: 1, opacity: 1 },
10985
- transition: prefersReducedMotion2 ? noTransition : springPresets.bouncy,
10066
+ transition: prefersReducedMotion2 ? noTransition : chunkBHOT22QL_js.springPresets.bouncy,
10986
10067
  className: "mx-auto mb-6",
10987
10068
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `inline-flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md border ${accent.container}`, children: customIcon ?? /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: `h-10 w-10 ${accent.icon}` }) })
10988
10069
  }
@@ -10993,7 +10074,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10993
10074
  "data-testid": "empty-state-title",
10994
10075
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10995
10076
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10996
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.default, delay: 0.1 },
10077
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.default, delay: 0.1 },
10997
10078
  className: "text-xl font-semibold text-gray-900 dark:text-white",
10998
10079
  children: title
10999
10080
  }
@@ -11004,7 +10085,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
11004
10085
  "data-testid": "empty-state-message",
11005
10086
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
11006
10087
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
11007
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.default, delay: 0.15 },
10088
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.default, delay: 0.15 },
11008
10089
  className: "mt-3 text-sm text-gray-500 dark:text-gray-400 max-w-sm mx-auto leading-relaxed",
11009
10090
  children: message
11010
10091
  }
@@ -11021,7 +10102,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
11021
10102
  {
11022
10103
  initial: prefersReducedMotion2 ? false : { scale: 0 },
11023
10104
  animate: prefersReducedMotion2 ? noMotion : { scale: 1 },
11024
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.bouncy, delay: 0.35 + i * 0.08 },
10105
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.bouncy, delay: 0.35 + i * 0.08 },
11025
10106
  className: "h-1.5 w-1.5 rounded-full bg-gray-300 dark:bg-gray-600"
11026
10107
  },
11027
10108
  i
@@ -11057,7 +10138,7 @@ function PageErrorState({
11057
10138
  {
11058
10139
  initial: prefersReducedMotion2 ? false : { opacity: 0, scale: 0.95 },
11059
10140
  animate: prefersReducedMotion2 ? noMotion : { opacity: 1, scale: 1 },
11060
- transition: prefersReducedMotion2 ? noTransition : springPresets.gentle,
10141
+ transition: prefersReducedMotion2 ? noTransition : chunkBHOT22QL_js.springPresets.gentle,
11061
10142
  className: "liquid-surface w-full max-w-2xl rounded-2xl px-12 py-14 text-center",
11062
10143
  children: [
11063
10144
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -11065,7 +10146,7 @@ function PageErrorState({
11065
10146
  {
11066
10147
  initial: prefersReducedMotion2 ? false : { scale: 0.6, opacity: 0 },
11067
10148
  animate: prefersReducedMotion2 ? noMotion : { scale: 1, opacity: 1 },
11068
- transition: prefersReducedMotion2 ? noTransition : springPresets.bouncy,
10149
+ transition: prefersReducedMotion2 ? noTransition : chunkBHOT22QL_js.springPresets.bouncy,
11069
10150
  className: "mx-auto mb-6",
11070
10151
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md border bg-red-50/80 dark:bg-red-900/30 border-red-100/50 dark:border-red-800/30", children: customIcon ?? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ExclamationTriangleIcon, { className: "h-10 w-10 text-red-500 dark:text-red-400" }) })
11071
10152
  }
@@ -11075,7 +10156,7 @@ function PageErrorState({
11075
10156
  {
11076
10157
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
11077
10158
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
11078
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.default, delay: 0.05 },
10159
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.default, delay: 0.05 },
11079
10160
  className: "mb-1 text-sm font-semibold tracking-widest text-red-500 dark:text-red-400",
11080
10161
  children: statusCode
11081
10162
  }
@@ -11086,7 +10167,7 @@ function PageErrorState({
11086
10167
  "data-testid": "error-state-title",
11087
10168
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
11088
10169
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
11089
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.default, delay: 0.1 },
10170
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.default, delay: 0.1 },
11090
10171
  className: "text-xl font-semibold text-gray-900 dark:text-white",
11091
10172
  children: title
11092
10173
  }
@@ -11097,7 +10178,7 @@ function PageErrorState({
11097
10178
  "data-testid": "error-state-message",
11098
10179
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
11099
10180
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
11100
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.default, delay: 0.15 },
10181
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.default, delay: 0.15 },
11101
10182
  className: "mt-3 text-sm text-gray-500 dark:text-gray-400 max-w-sm mx-auto leading-relaxed",
11102
10183
  children: message
11103
10184
  }
@@ -11107,7 +10188,7 @@ function PageErrorState({
11107
10188
  {
11108
10189
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
11109
10190
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
11110
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.default, delay: 0.25 },
10191
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.default, delay: 0.25 },
11111
10192
  className: "mt-8",
11112
10193
  children: /* @__PURE__ */ jsxRuntime.jsx(
11113
10194
  "button",
@@ -11133,7 +10214,7 @@ function PageErrorState({
11133
10214
  {
11134
10215
  initial: prefersReducedMotion2 ? false : { scale: 0 },
11135
10216
  animate: prefersReducedMotion2 ? noMotion : { scale: 1 },
11136
- transition: prefersReducedMotion2 ? noTransition : { ...springPresets.bouncy, delay: 0.35 + i * 0.08 },
10217
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkBHOT22QL_js.springPresets.bouncy, delay: 0.35 + i * 0.08 },
11137
10218
  className: "h-1.5 w-1.5 rounded-full bg-red-300 dark:bg-red-700"
11138
10219
  },
11139
10220
  i
@@ -11162,7 +10243,7 @@ function BrandedLoader({
11162
10243
  return /* @__PURE__ */ jsxRuntime.jsx(
11163
10244
  "div",
11164
10245
  {
11165
- className: clsx__default.default(
10246
+ className: clsx4__default.default(
11166
10247
  "flex items-center justify-center",
11167
10248
  compact ? "w-full py-8" : "fixed inset-0 z-[9999] h-dvh w-dvw bg-gray-50 dark:bg-[#0b1120]",
11168
10249
  className
@@ -11172,7 +10253,7 @@ function BrandedLoader({
11172
10253
  /* @__PURE__ */ jsxRuntime.jsx(
11173
10254
  "div",
11174
10255
  {
11175
- className: clsx__default.default(
10256
+ className: clsx4__default.default(
11176
10257
  "absolute -inset-3 animate-ping motion-reduce:animate-none rounded-3xl opacity-20",
11177
10258
  `bg-gradient-to-br ${gradient}`
11178
10259
  ),
@@ -11182,7 +10263,7 @@ function BrandedLoader({
11182
10263
  /* @__PURE__ */ jsxRuntime.jsx(
11183
10264
  "div",
11184
10265
  {
11185
- className: clsx__default.default(
10266
+ className: clsx4__default.default(
11186
10267
  "absolute -inset-1.5 rounded-[22px] ring-2",
11187
10268
  accentRing,
11188
10269
  "animate-pulse motion-reduce:animate-none"
@@ -11198,7 +10279,7 @@ function BrandedLoader({
11198
10279
  /* @__PURE__ */ jsxRuntime.jsxs(
11199
10280
  "div",
11200
10281
  {
11201
- className: clsx__default.default(
10282
+ className: clsx4__default.default(
11202
10283
  "relative flex h-24 w-24 items-center justify-center rounded-[20px]",
11203
10284
  `bg-gradient-to-br ${gradient}`,
11204
10285
  "shadow-lg shadow-black/20"
@@ -11214,7 +10295,7 @@ function BrandedLoader({
11214
10295
  /* @__PURE__ */ jsxRuntime.jsx(
11215
10296
  "h2",
11216
10297
  {
11217
- className: clsx__default.default(
10298
+ className: clsx4__default.default(
11218
10299
  "bg-clip-text text-xl font-bold tracking-tight text-transparent",
11219
10300
  `bg-gradient-to-r ${gradient}`
11220
10301
  ),
@@ -11225,7 +10306,7 @@ function BrandedLoader({
11225
10306
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1", children: [0, 1, 2].map((i) => /* @__PURE__ */ jsxRuntime.jsx(
11226
10307
  "div",
11227
10308
  {
11228
- className: clsx__default.default(
10309
+ className: clsx4__default.default(
11229
10310
  "h-1.5 w-1.5 rounded-full",
11230
10311
  `bg-gradient-to-br ${gradient}`,
11231
10312
  "animate-bounce motion-reduce:animate-none"
@@ -11240,7 +10321,7 @@ function BrandedLoader({
11240
10321
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1.5", children: [0, 1, 2].map((i) => /* @__PURE__ */ jsxRuntime.jsx(
11241
10322
  "div",
11242
10323
  {
11243
- className: clsx__default.default(
10324
+ className: clsx4__default.default(
11244
10325
  "h-2 w-2 rounded-full",
11245
10326
  `bg-gradient-to-br ${gradient}`,
11246
10327
  "animate-bounce motion-reduce:animate-none"
@@ -11268,11 +10349,11 @@ function AppLogo({
11268
10349
  wordmark
11269
10350
  }) {
11270
10351
  const s = SIZES[size];
11271
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("inline-flex items-center", s.gap, className), children: [
10352
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4__default.default("inline-flex items-center", s.gap, className), children: [
11272
10353
  /* @__PURE__ */ jsxRuntime.jsxs(
11273
10354
  "div",
11274
10355
  {
11275
- className: clsx__default.default(
10356
+ className: clsx4__default.default(
11276
10357
  "relative flex flex-none items-center justify-center",
11277
10358
  s.container,
11278
10359
  `bg-gradient-to-br ${gradient}`,
@@ -11280,14 +10361,14 @@ function AppLogo({
11280
10361
  ),
11281
10362
  children: [
11282
10363
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 rounded-[inherit] bg-[linear-gradient(145deg,rgba(255,255,255,0.35)_0%,rgba(255,255,255,0.08)_45%,rgba(255,255,255,0)_100%)]" }),
11283
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: clsx__default.default("relative text-white", s.icon) })
10364
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: clsx4__default.default("relative text-white", s.icon) })
11284
10365
  ]
11285
10366
  }
11286
10367
  ),
11287
10368
  wordmark ?? /* @__PURE__ */ jsxRuntime.jsx(
11288
10369
  "span",
11289
10370
  {
11290
- className: clsx__default.default(
10371
+ className: clsx4__default.default(
11291
10372
  "font-bold tracking-tight bg-clip-text text-transparent whitespace-nowrap",
11292
10373
  `bg-gradient-to-r ${gradient}`,
11293
10374
  s.text
@@ -11421,10 +10502,10 @@ function Fieldset2({
11421
10502
  ...props
11422
10503
  }) {
11423
10504
  return /* @__PURE__ */ jsxRuntime.jsx(
11424
- Headless5__namespace.Fieldset,
10505
+ Headless3__namespace.Fieldset,
11425
10506
  {
11426
10507
  ...props,
11427
- className: clsx__default.default(
10508
+ className: clsx4__default.default(
11428
10509
  className,
11429
10510
  "*:data-[slot=text]:mt-1 [&>*+[data-slot=control]]:mt-6"
11430
10511
  )
@@ -11436,11 +10517,11 @@ function Legend2({
11436
10517
  ...props
11437
10518
  }) {
11438
10519
  return /* @__PURE__ */ jsxRuntime.jsx(
11439
- Headless5__namespace.Legend,
10520
+ Headless3__namespace.Legend,
11440
10521
  {
11441
10522
  "data-slot": "legend",
11442
10523
  ...props,
11443
- className: clsx__default.default(
10524
+ className: clsx4__default.default(
11444
10525
  className,
11445
10526
  "text-base/6 font-semibold text-zinc-950 data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
11446
10527
  )
@@ -11456,7 +10537,7 @@ function FieldGroup({
11456
10537
  {
11457
10538
  "data-slot": "control",
11458
10539
  ...props,
11459
- className: clsx__default.default(className, "space-y-8")
10540
+ className: clsx4__default.default(className, "space-y-8")
11460
10541
  }
11461
10542
  );
11462
10543
  }
@@ -11465,10 +10546,10 @@ function Field2({
11465
10546
  ...props
11466
10547
  }) {
11467
10548
  return /* @__PURE__ */ jsxRuntime.jsx(
11468
- Headless5__namespace.Field,
10549
+ Headless3__namespace.Field,
11469
10550
  {
11470
10551
  ...props,
11471
- className: clsx__default.default(
10552
+ className: clsx4__default.default(
11472
10553
  className,
11473
10554
  "[&>[data-slot=label]+[data-slot=control]]:mt-3",
11474
10555
  "[&>[data-slot=label]+[data-slot=description]]:mt-1",
@@ -11485,11 +10566,11 @@ function Label2({
11485
10566
  ...props
11486
10567
  }) {
11487
10568
  return /* @__PURE__ */ jsxRuntime.jsx(
11488
- Headless5__namespace.Label,
10569
+ Headless3__namespace.Label,
11489
10570
  {
11490
10571
  "data-slot": "label",
11491
10572
  ...props,
11492
- className: clsx__default.default(
10573
+ className: clsx4__default.default(
11493
10574
  className,
11494
10575
  "text-base/6 text-zinc-950 select-none data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
11495
10576
  )
@@ -11501,11 +10582,11 @@ function Description3({
11501
10582
  ...props
11502
10583
  }) {
11503
10584
  return /* @__PURE__ */ jsxRuntime.jsx(
11504
- Headless5__namespace.Description,
10585
+ Headless3__namespace.Description,
11505
10586
  {
11506
10587
  "data-slot": "description",
11507
10588
  ...props,
11508
- className: clsx__default.default(
10589
+ className: clsx4__default.default(
11509
10590
  className,
11510
10591
  "text-base/6 text-zinc-500 data-disabled:opacity-50 sm:text-sm/6 dark:text-zinc-400"
11511
10592
  )
@@ -11517,22 +10598,22 @@ function ErrorMessage({
11517
10598
  ...props
11518
10599
  }) {
11519
10600
  return /* @__PURE__ */ jsxRuntime.jsx(
11520
- Headless5__namespace.Description,
10601
+ Headless3__namespace.Description,
11521
10602
  {
11522
10603
  "data-slot": "error",
11523
10604
  ...props,
11524
- className: clsx__default.default(
10605
+ className: clsx4__default.default(
11525
10606
  className,
11526
10607
  "text-base/6 text-red-600 data-disabled:opacity-50 sm:text-sm/6 dark:text-red-500"
11527
10608
  )
11528
10609
  }
11529
10610
  );
11530
10611
  }
11531
- var Textarea = React12__namespace.forwardRef(({ className, ...props }, ref) => {
10612
+ var Textarea = React9__namespace.forwardRef(({ className, ...props }, ref) => {
11532
10613
  return /* @__PURE__ */ jsxRuntime.jsx(
11533
10614
  "textarea",
11534
10615
  {
11535
- className: clsx__default.default(
10616
+ className: clsx4__default.default(
11536
10617
  "liquid-surface flex min-h-[80px] w-full rounded-xl px-3 py-2.5 text-sm",
11537
10618
  "text-slate-900 dark:text-white outline-none",
11538
10619
  "placeholder:text-slate-500 dark:placeholder:text-slate-400",
@@ -11698,9 +10779,9 @@ function WorkspaceContent({ config }) {
11698
10779
  ] });
11699
10780
  }
11700
10781
  function ProfileContent({ config }) {
11701
- const [currentPassword, setCurrentPassword] = React12.useState("");
11702
- const [newPassword, setNewPassword] = React12.useState("");
11703
- const [confirmPassword, setConfirmPassword] = React12.useState("");
10782
+ const [currentPassword, setCurrentPassword] = React9.useState("");
10783
+ const [newPassword, setNewPassword] = React9.useState("");
10784
+ const [confirmPassword, setConfirmPassword] = React9.useState("");
11704
10785
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
11705
10786
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeading, { title: config.title }),
11706
10787
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
@@ -11717,7 +10798,7 @@ function ProfileContent({ config }) {
11717
10798
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-bold text-white", children: config.initials })
11718
10799
  }
11719
10800
  ),
11720
- /* @__PURE__ */ jsxRuntime.jsxs(Button, { color: "zinc", onClick: config.onChangeAvatar, className: "flex items-center gap-2", children: [
10801
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { color: "zinc", onClick: config.onChangeAvatar, className: "flex items-center gap-2", children: [
11721
10802
  /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.UserIcon, { className: "h-4 w-4" }),
11722
10803
  config.changeAvatarLabel
11723
10804
  ] })
@@ -11766,7 +10847,7 @@ function ProfileContent({ config }) {
11766
10847
  )
11767
10848
  ] }),
11768
10849
  /* @__PURE__ */ jsxRuntime.jsx(
11769
- Button,
10850
+ chunkBHOT22QL_js.Button,
11770
10851
  {
11771
10852
  color: "blue",
11772
10853
  className: "mt-2",
@@ -11929,15 +11010,15 @@ function SettingsModal({
11929
11010
  accessDenied,
11930
11011
  signOut
11931
11012
  }) {
11932
- const [activeSectionId, setActiveSectionId] = React12.useState(
11013
+ const [activeSectionId, setActiveSectionId] = React9.useState(
11933
11014
  () => initialSection ?? sections[0]?.id ?? ""
11934
11015
  );
11935
- React12.useEffect(() => {
11016
+ React9.useEffect(() => {
11936
11017
  if (open) {
11937
11018
  setActiveSectionId(initialSection ?? sections[0]?.id ?? "");
11938
11019
  }
11939
11020
  }, [open, initialSection, sections]);
11940
- const handleSectionChange = React12.useCallback((sectionId) => {
11021
+ const handleSectionChange = React9.useCallback((sectionId) => {
11941
11022
  setActiveSectionId(sectionId);
11942
11023
  }, []);
11943
11024
  const dialogSections = sections.map((section) => ({
@@ -11967,7 +11048,7 @@ function SettingsModal({
11967
11048
  }
11968
11049
  return /* @__PURE__ */ jsxRuntime.jsx(PlaceholderContent, { message: placeholderMessage });
11969
11050
  };
11970
- const footer = signOut ? /* @__PURE__ */ jsxRuntime.jsxs(Button, { type: "button", onClick: signOut.onClick, color: "ios-glass-red", fullWidth: true, children: [
11051
+ const footer = signOut ? /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { type: "button", onClick: signOut.onClick, color: "ios-glass-red", fullWidth: true, children: [
11971
11052
  signOut.icon,
11972
11053
  signOut.label
11973
11054
  ] }) : sidebarFooter;
@@ -12049,14 +11130,14 @@ function OtpInput({
12049
11130
  inputMode = "numeric"
12050
11131
  }) {
12051
11132
  const t = chunkYXN2K77G_js.useTranslations("auth");
12052
- const groupId = React12.useId();
12053
- const inputsRef = React12.useRef([]);
11133
+ const groupId = React9.useId();
11134
+ const inputsRef = React9.useRef([]);
12054
11135
  const digits = value.split("").concat(Array(length).fill("")).slice(0, length);
12055
- const focusInput = React12.useCallback((index) => {
11136
+ const focusInput = React9.useCallback((index) => {
12056
11137
  const clamped = Math.max(0, Math.min(index, length - 1));
12057
11138
  inputsRef.current[clamped]?.focus();
12058
11139
  }, [length]);
12059
- const handleChange = React12.useCallback(
11140
+ const handleChange = React9.useCallback(
12060
11141
  (index, digit) => {
12061
11142
  if (disabled) return;
12062
11143
  const char = digit.slice(-1);
@@ -12076,7 +11157,7 @@ function OtpInput({
12076
11157
  },
12077
11158
  [disabled, inputMode, value, length, onChange, focusInput, onComplete]
12078
11159
  );
12079
- const handleKeyDown = React12.useCallback(
11160
+ const handleKeyDown = React9.useCallback(
12080
11161
  (index, event) => {
12081
11162
  if (event.key === "Backspace") {
12082
11163
  event.preventDefault();
@@ -12100,7 +11181,7 @@ function OtpInput({
12100
11181
  },
12101
11182
  [value, length, onChange, focusInput]
12102
11183
  );
12103
- const handlePaste = React12.useCallback(
11184
+ const handlePaste = React9.useCallback(
12104
11185
  (event) => {
12105
11186
  event.preventDefault();
12106
11187
  const pasted = event.clipboardData.getData("text").trim();
@@ -12224,11 +11305,11 @@ function PasswordStrengthMeter({
12224
11305
  showRequirements = false
12225
11306
  }) {
12226
11307
  const t = chunkYXN2K77G_js.useTranslations("auth");
12227
- const requirements = React12.useMemo(
11308
+ const requirements = React9.useMemo(
12228
11309
  () => evaluateRequirements(password, policy),
12229
11310
  [password, policy]
12230
11311
  );
12231
- const strength = React12.useMemo(
11312
+ const strength = React9.useMemo(
12232
11313
  () => computeStrength(password, requirements),
12233
11314
  [password, requirements]
12234
11315
  );
@@ -12247,7 +11328,7 @@ function PasswordStrengthMeter({
12247
11328
  className: `h-1.5 flex-1 rounded-full ${index < strength ? STRENGTH_COLORS[strength - 1] : "bg-gray-200 dark:bg-gray-700"}`,
12248
11329
  initial: { scaleX: 0 },
12249
11330
  animate: { scaleX: index < strength ? 1 : 0.5 },
12250
- transition: springPresets.stiff,
11331
+ transition: chunkBHOT22QL_js.springPresets.stiff,
12251
11332
  style: { transformOrigin: "left" }
12252
11333
  },
12253
11334
  index
@@ -12277,13 +11358,13 @@ function BackupCodeGrid({
12277
11358
  onReveal
12278
11359
  }) {
12279
11360
  const t = chunkYXN2K77G_js.useTranslations("auth");
12280
- const handleCopyAll = React12.useCallback(async () => {
11361
+ const handleCopyAll = React9.useCallback(async () => {
12281
11362
  const text = codes.join("\n");
12282
11363
  await navigator.clipboard.writeText(text);
12283
11364
  chunkUZ3CMNUJ_js.triggerHaptic("success");
12284
11365
  onCopyAll?.();
12285
11366
  }, [codes, onCopyAll]);
12286
- const handleDownload = React12.useCallback(() => {
11367
+ const handleDownload = React9.useCallback(() => {
12287
11368
  const text = [
12288
11369
  t("backupCodesFileTitle"),
12289
11370
  "=====================",
@@ -12305,7 +11386,7 @@ function BackupCodeGrid({
12305
11386
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
12306
11387
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface-strong rounded-xl p-4", children: !revealed ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center py-8 gap-3", children: [
12307
11388
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("backupCodesHidden") }),
12308
- onReveal && /* @__PURE__ */ jsxRuntime.jsx(Button, { outline: true, onClick: onReveal, children: t("backupCodesReveal") })
11389
+ onReveal && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { outline: true, onClick: onReveal, children: t("backupCodesReveal") })
12309
11390
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: codes.map((code, index) => /* @__PURE__ */ jsxRuntime.jsxs(
12310
11391
  "div",
12311
11392
  {
@@ -12321,11 +11402,11 @@ function BackupCodeGrid({
12321
11402
  index
12322
11403
  )) }) }),
12323
11404
  revealed && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
12324
- /* @__PURE__ */ jsxRuntime.jsxs(Button, { outline: true, size: "sm", onClick: handleCopyAll, children: [
11405
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { outline: true, size: "sm", onClick: handleCopyAll, children: [
12325
11406
  /* @__PURE__ */ jsxRuntime.jsx(solid.ClipboardDocumentIcon, { className: "h-4 w-4" }),
12326
11407
  t("backupCodesCopyAll")
12327
11408
  ] }),
12328
- showDownload && /* @__PURE__ */ jsxRuntime.jsxs(Button, { outline: true, size: "sm", onClick: handleDownload, children: [
11409
+ showDownload && /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { outline: true, size: "sm", onClick: handleDownload, children: [
12329
11410
  /* @__PURE__ */ jsxRuntime.jsx(solid.ArrowDownTrayIcon, { className: "h-4 w-4" }),
12330
11411
  t("backupCodesDownload")
12331
11412
  ] })
@@ -12364,7 +11445,7 @@ function SocialLoginButtons({
12364
11445
  const t = chunkYXN2K77G_js.useTranslations("auth");
12365
11446
  const isColumn = layout === "column";
12366
11447
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex ${isColumn ? "flex-col" : "flex-row"} gap-2`, children: providers.map((provider) => /* @__PURE__ */ jsxRuntime.jsxs(
12367
- Button,
11448
+ chunkBHOT22QL_js.Button,
12368
11449
  {
12369
11450
  outline: true,
12370
11451
  fullWidth: isColumn,
@@ -12673,7 +11754,7 @@ function RadiantHeading({
12673
11754
  Element,
12674
11755
  {
12675
11756
  ...props,
12676
- className: clsx.clsx(
11757
+ className: clsx4.clsx(
12677
11758
  className,
12678
11759
  "text-4xl font-bold tracking-tight text-gray-900 dark:text-white sm:text-5xl lg:text-6xl"
12679
11760
  )
@@ -12690,7 +11771,7 @@ function RadiantSubheading({
12690
11771
  Element,
12691
11772
  {
12692
11773
  ...props,
12693
- className: clsx.clsx(
11774
+ className: clsx4.clsx(
12694
11775
  className,
12695
11776
  "font-semibold text-blue-600 dark:text-blue-400 uppercase tracking-wider text-sm mb-4"
12696
11777
  )
@@ -12704,7 +11785,7 @@ function Lead({
12704
11785
  return /* @__PURE__ */ jsxRuntime.jsx(
12705
11786
  "p",
12706
11787
  {
12707
- className: clsx.clsx(className, "text-xl text-gray-600 dark:text-gray-400 leading-relaxed"),
11788
+ className: clsx4.clsx(className, "text-xl text-gray-600 dark:text-gray-400 leading-relaxed"),
12708
11789
  ...props
12709
11790
  }
12710
11791
  );
@@ -12715,12 +11796,12 @@ function AnimatedNumber({
12715
11796
  decimals = 0,
12716
11797
  suffix = ""
12717
11798
  }) {
12718
- const ref = React12.useRef(null);
11799
+ const ref = React9.useRef(null);
12719
11800
  const isInView = framerMotion.useInView(ref, { once: true, amount: 0.5 });
12720
11801
  const value = framerMotion.useMotionValue(start);
12721
11802
  const spring2 = framerMotion.useSpring(value, { damping: 30, stiffness: 100 });
12722
11803
  const display = framerMotion.useTransform(spring2, (num) => `${num.toFixed(decimals)}${suffix}`);
12723
- React12.useEffect(() => {
11804
+ React9.useEffect(() => {
12724
11805
  value.set(isInView ? end : start);
12725
11806
  }, [start, end, isInView, value]);
12726
11807
  return /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.span, { ref, children: display });
@@ -12733,7 +11814,7 @@ function Gradient({
12733
11814
  "div",
12734
11815
  {
12735
11816
  ...props,
12736
- className: clsx.clsx(
11817
+ className: clsx4.clsx(
12737
11818
  className,
12738
11819
  "bg-gradient-to-r from-blue-400 via-purple-400 to-pink-400 dark:from-blue-600 dark:via-purple-600 dark:to-pink-600"
12739
11820
  )
@@ -12745,7 +11826,7 @@ function GradientBackground() {
12745
11826
  /* @__PURE__ */ jsxRuntime.jsx(
12746
11827
  "div",
12747
11828
  {
12748
- className: clsx.clsx(
11829
+ className: clsx4.clsx(
12749
11830
  "absolute -top-40 -right-40 h-80 w-80",
12750
11831
  "bg-gradient-to-br from-blue-400 to-transparent",
12751
11832
  "rounded-full blur-3xl opacity-20 dark:opacity-10"
@@ -12755,7 +11836,7 @@ function GradientBackground() {
12755
11836
  /* @__PURE__ */ jsxRuntime.jsx(
12756
11837
  "div",
12757
11838
  {
12758
- className: clsx.clsx(
11839
+ className: clsx4.clsx(
12759
11840
  "absolute -bottom-40 -left-40 h-80 w-80",
12760
11841
  "bg-gradient-to-tr from-purple-400 to-transparent",
12761
11842
  "rounded-full blur-3xl opacity-20 dark:opacity-10"
@@ -12779,7 +11860,7 @@ function BentoCard({
12779
11860
  initial: "idle",
12780
11861
  whileHover: "active",
12781
11862
  variants: { idle: {}, active: {} },
12782
- className: clsx.clsx(
11863
+ className: clsx4.clsx(
12783
11864
  className,
12784
11865
  "group relative flex flex-col overflow-hidden rounded-2xl",
12785
11866
  "bg-white dark:bg-gray-800 shadow-lg hover:shadow-xl transition-shadow",
@@ -12804,7 +11885,7 @@ function PlusGrid({
12804
11885
  className = "",
12805
11886
  children
12806
11887
  }) {
12807
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(className, "space-y-px"), children });
11888
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx4.clsx(className, "space-y-px"), children });
12808
11889
  }
12809
11890
  function PlusGridRow({
12810
11891
  className = "",
@@ -12813,7 +11894,7 @@ function PlusGridRow({
12813
11894
  return /* @__PURE__ */ jsxRuntime.jsx(
12814
11895
  "div",
12815
11896
  {
12816
- className: clsx.clsx(
11897
+ className: clsx4.clsx(
12817
11898
  className,
12818
11899
  "group/row relative isolate grid gap-px"
12819
11900
  ),
@@ -12825,7 +11906,7 @@ function PlusGridItem({
12825
11906
  className = "",
12826
11907
  children
12827
11908
  }) {
12828
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(className, "group/item relative"), children });
11909
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx4.clsx(className, "group/item relative"), children });
12829
11910
  }
12830
11911
  function RadiantStatCard({
12831
11912
  value,
@@ -12838,7 +11919,7 @@ function RadiantStatCard({
12838
11919
  initial: { opacity: 0, y: 20 },
12839
11920
  whileInView: { opacity: 1, y: 0 },
12840
11921
  transition: { duration: 0.5 },
12841
- className: clsx.clsx(
11922
+ className: clsx4.clsx(
12842
11923
  "group relative rounded-2xl overflow-hidden p-8 sm:p-12",
12843
11924
  `bg-gradient-to-br ${gradient}`,
12844
11925
  "shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105"
@@ -12867,7 +11948,7 @@ function FeatureCard({
12867
11948
  transition: { duration: 0.5 },
12868
11949
  className: "group relative rounded-2xl overflow-hidden bg-white dark:bg-gray-800 p-8 shadow-md hover:shadow-xl transition-all duration-300 border border-gray-200 dark:border-gray-700",
12869
11950
  children: [
12870
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(
11951
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx4.clsx(
12871
11952
  "inline-flex rounded-xl p-3 mb-6",
12872
11953
  `bg-gradient-to-br ${gradient}`
12873
11954
  ), children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-6 w-6 text-white" }) }),
@@ -12982,7 +12063,7 @@ function CollapsibleGroupedList({
12982
12063
  className,
12983
12064
  groupClassName
12984
12065
  }) {
12985
- const [collapsedGroups, setCollapsedGroups] = React12.useState(/* @__PURE__ */ new Set());
12066
+ const [collapsedGroups, setCollapsedGroups] = React9.useState(/* @__PURE__ */ new Set());
12986
12067
  const toggleCollapse = (groupKey) => {
12987
12068
  setCollapsedGroups((previousCollapsedGroups) => {
12988
12069
  const nextCollapsedGroups = new Set(previousCollapsedGroups);
@@ -13041,28 +12122,28 @@ function useGeoMapState({
13041
12122
  regionCoordinates,
13042
12123
  defaultCenter = [0, 0]
13043
12124
  }) {
13044
- const [zoom, setZoom] = React12.useState(1);
13045
- const [center, setCenter] = React12.useState(defaultCenter);
13046
- const [hoveredRegion, setHoveredRegion] = React12.useState(null);
13047
- const [animatedRegions, setAnimatedRegions] = React12.useState(/* @__PURE__ */ new Set());
13048
- const [panOffset, setPanOffset] = React12.useState([0, 0]);
13049
- const handleZoomIn = React12.useCallback(() => {
12125
+ const [zoom, setZoom] = React9.useState(1);
12126
+ const [center, setCenter] = React9.useState(defaultCenter);
12127
+ const [hoveredRegion, setHoveredRegion] = React9.useState(null);
12128
+ const [animatedRegions, setAnimatedRegions] = React9.useState(/* @__PURE__ */ new Set());
12129
+ const [panOffset, setPanOffset] = React9.useState([0, 0]);
12130
+ const handleZoomIn = React9.useCallback(() => {
13050
12131
  setZoom((previous) => Math.min(previous + ZOOM_STEP, MAX_ZOOM));
13051
12132
  }, []);
13052
- const handleZoomOut = React12.useCallback(() => {
12133
+ const handleZoomOut = React9.useCallback(() => {
13053
12134
  setZoom((previous) => Math.max(previous - ZOOM_STEP, MIN_ZOOM));
13054
12135
  }, []);
13055
- const handleMoveEnd = React12.useCallback(
12136
+ const handleMoveEnd = React9.useCallback(
13056
12137
  (position) => {
13057
12138
  setCenter(position.coordinates);
13058
12139
  setZoom(position.zoom);
13059
12140
  },
13060
12141
  []
13061
12142
  );
13062
- const handlePan = React12.useCallback((dx, dy) => {
12143
+ const handlePan = React9.useCallback((dx, dy) => {
13063
12144
  setPanOffset((previous) => [previous[0] + dx, previous[1] + dy]);
13064
12145
  }, []);
13065
- const regionGroups = React12.useMemo(() => {
12146
+ const regionGroups = React9.useMemo(() => {
13066
12147
  const grouped = /* @__PURE__ */ new Map();
13067
12148
  items.forEach((item) => {
13068
12149
  const code = getRegionCode(item);
@@ -13077,15 +12158,15 @@ function useGeoMapState({
13077
12158
  coordinates: regionCoordinates[code]
13078
12159
  })).sort((a, b) => b.items.length - a.items.length);
13079
12160
  }, [items, getRegionCode, regionCoordinates]);
13080
- const animationCodes = React12.useMemo(
12161
+ const animationCodes = React9.useMemo(
13081
12162
  () => regionGroups.map((regionData) => regionData.code),
13082
12163
  [regionGroups]
13083
12164
  );
13084
- const animationSignature = React12.useMemo(
12165
+ const animationSignature = React9.useMemo(
13085
12166
  () => animationCodes.join("|"),
13086
12167
  [animationCodes]
13087
12168
  );
13088
- React12.useEffect(() => {
12169
+ React9.useEffect(() => {
13089
12170
  if (animationCodes.length === 0) return;
13090
12171
  setAnimatedRegions(/* @__PURE__ */ new Set());
13091
12172
  const timers = [];
@@ -13097,14 +12178,14 @@ function useGeoMapState({
13097
12178
  });
13098
12179
  return () => timers.forEach(clearTimeout);
13099
12180
  }, [animationSignature]);
13100
- const getMarkerSize = React12.useCallback(
12181
+ const getMarkerSize = React9.useCallback(
13101
12182
  (count) => {
13102
12183
  const baseSize = count >= 10 ? 14 : count >= 5 ? 11 : count >= 2 ? 8 : 6;
13103
12184
  return baseSize / Math.sqrt(zoom);
13104
12185
  },
13105
12186
  [zoom]
13106
12187
  );
13107
- const getFontSize = React12.useCallback(
12188
+ const getFontSize = React9.useCallback(
13108
12189
  (markerSize) => {
13109
12190
  const baseSize = markerSize > 10 ? 10 : 8;
13110
12191
  const scaledSize = baseSize / Math.sqrt(zoom);
@@ -13156,10 +12237,10 @@ function GeoMapCanvasInner({
13156
12237
  projectionType = "mercator",
13157
12238
  ariaLabel = "Interactive map"
13158
12239
  }, ref) {
13159
- const [geoData, setGeoData] = React12.useState(null);
13160
- const svgRef = React12.useRef(null);
13161
- const dragState = React12.useRef(null);
13162
- React12.useEffect(() => {
12240
+ const [geoData, setGeoData] = React9.useState(null);
12241
+ const svgRef = React9.useRef(null);
12242
+ const dragState = React9.useRef(null);
12243
+ React9.useEffect(() => {
13163
12244
  let cancelled = false;
13164
12245
  async function loadGeoData() {
13165
12246
  try {
@@ -13175,7 +12256,7 @@ function GeoMapCanvasInner({
13175
12256
  cancelled = true;
13176
12257
  };
13177
12258
  }, [geoJsonUrl]);
13178
- const handleMouseDown = React12.useCallback(
12259
+ const handleMouseDown = React9.useCallback(
13179
12260
  (event) => {
13180
12261
  if (event.button !== 0) return;
13181
12262
  dragState.current = {
@@ -13189,7 +12270,7 @@ function GeoMapCanvasInner({
13189
12270
  },
13190
12271
  []
13191
12272
  );
13192
- const handleMouseMove = React12.useCallback(
12273
+ const handleMouseMove = React9.useCallback(
13193
12274
  (event) => {
13194
12275
  if (!dragState.current?.active || !svgRef.current) return;
13195
12276
  const totalDx = event.clientX - dragState.current.startX;
@@ -13209,12 +12290,12 @@ function GeoMapCanvasInner({
13209
12290
  },
13210
12291
  [zoom, onPan]
13211
12292
  );
13212
- const handleMouseUp = React12.useCallback(() => {
12293
+ const handleMouseUp = React9.useCallback(() => {
13213
12294
  if (dragState.current) {
13214
12295
  dragState.current.active = false;
13215
12296
  }
13216
12297
  }, []);
13217
- const wasDragAction = React12.useCallback(() => {
12298
+ const wasDragAction = React9.useCallback(() => {
13218
12299
  return dragState.current?.didDrag === true;
13219
12300
  }, []);
13220
12301
  const getLighterColor = (hexColor) => {
@@ -13223,38 +12304,38 @@ function GeoMapCanvasInner({
13223
12304
  const b = parseInt(hexColor.slice(5, 7), 16);
13224
12305
  return `rgba(${r}, ${g}, ${b}, 0.15)`;
13225
12306
  };
13226
- const lighterColors = React12.useMemo(() => {
13227
- const colors3 = /* @__PURE__ */ new Map();
12307
+ const lighterColors = React9.useMemo(() => {
12308
+ const colors2 = /* @__PURE__ */ new Map();
13228
12309
  regionColorMap.forEach((color, code) => {
13229
- colors3.set(code, getLighterColor(color));
12310
+ colors2.set(code, getLighterColor(color));
13230
12311
  });
13231
- return colors3;
12312
+ return colors2;
13232
12313
  }, [regionColorMap]);
13233
- const featureCollection = React12.useMemo(() => {
12314
+ const featureCollection = React9.useMemo(() => {
13234
12315
  if (!geoData) return null;
13235
12316
  return {
13236
12317
  type: "FeatureCollection",
13237
12318
  features: geoData.features
13238
12319
  };
13239
12320
  }, [geoData]);
13240
- const projection = React12.useMemo(() => {
12321
+ const projection = React9.useMemo(() => {
13241
12322
  if (!featureCollection) return null;
13242
12323
  if (projectionType === "albersUsa") {
13243
12324
  return d3Geo.geoAlbersUsa();
13244
12325
  }
13245
12326
  return d3Geo.geoMercator().fitSize([VIEWBOX_WIDTH, VIEWBOX_HEIGHT], featureCollection);
13246
12327
  }, [featureCollection, projectionType]);
13247
- const pathGenerator = React12.useMemo(() => {
12328
+ const pathGenerator = React9.useMemo(() => {
13248
12329
  if (!projection) return null;
13249
12330
  return d3Geo.geoPath(projection);
13250
12331
  }, [projection]);
13251
- const regionsWithItems = React12.useMemo(() => {
12332
+ const regionsWithItems = React9.useMemo(() => {
13252
12333
  return new Set(regionGroups.map((regionData) => regionData.code));
13253
12334
  }, [regionGroups]);
13254
- const hasAnyActiveFilter = React12.useMemo(() => {
12335
+ const hasAnyActiveFilter = React9.useMemo(() => {
13255
12336
  return regionGroups.some((regionData) => isRegionActive?.(regionData.code));
13256
12337
  }, [regionGroups, isRegionActive]);
13257
- const featureBounds = React12.useMemo(() => {
12338
+ const featureBounds = React9.useMemo(() => {
13258
12339
  if (!pathGenerator || !geoData) return null;
13259
12340
  let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
13260
12341
  for (const feature of geoData.features) {
@@ -13273,7 +12354,7 @@ function GeoMapCanvasInner({
13273
12354
  const effectiveHeight = featureBounds?.height ?? (projectionType === "albersUsa" ? ALBERS_HEIGHT : VIEWBOX_HEIGHT);
13274
12355
  const baseX = featureBounds?.x ?? 0;
13275
12356
  const baseY = featureBounds?.y ?? 0;
13276
- const viewBoxParts = React12.useMemo(() => {
12357
+ const viewBoxParts = React9.useMemo(() => {
13277
12358
  const width = effectiveWidth / zoom;
13278
12359
  const height = effectiveHeight / zoom;
13279
12360
  const x = baseX + (effectiveWidth - width) / 2 - panOffset[0];
@@ -13460,8 +12541,8 @@ function GeoMapCanvasInner({
13460
12541
  }
13461
12542
  );
13462
12543
  }
13463
- var GeoMapCanvas = React12__namespace.default.forwardRef(GeoMapCanvasInner);
13464
- var MapZoomControls = React12__namespace.default.forwardRef(
12544
+ var GeoMapCanvas = React9__namespace.default.forwardRef(GeoMapCanvasInner);
12545
+ var MapZoomControls = React9__namespace.default.forwardRef(
13465
12546
  ({ zoom, minZoom, maxZoom, onZoomIn, onZoomOut, labels }, ref) => {
13466
12547
  return /* @__PURE__ */ jsxRuntime.jsxs(
13467
12548
  "div",
@@ -13533,7 +12614,7 @@ function InteractiveGeoMapInner({
13533
12614
  defaultCenter
13534
12615
  };
13535
12616
  const mapState = useGeoMapState(mapStateOptions);
13536
- const regionColorMap = React12.useMemo(() => {
12617
+ const regionColorMap = React9.useMemo(() => {
13537
12618
  const colorMap = /* @__PURE__ */ new Map();
13538
12619
  for (const code of Object.keys(regionCoordinates)) {
13539
12620
  colorMap.set(code, getRegionColor(code));
@@ -13548,13 +12629,13 @@ function InteractiveGeoMapInner({
13548
12629
  const handleRegionClick = (code) => {
13549
12630
  onRegionToggle?.(code);
13550
12631
  };
13551
- const hoveredRegionData = React12.useMemo(() => {
12632
+ const hoveredRegionData = React9.useMemo(() => {
13552
12633
  if (!mapState.hoveredRegion) return null;
13553
12634
  return mapState.regionGroups.find(
13554
12635
  (regionData) => regionData.code === mapState.hoveredRegion
13555
12636
  ) ?? null;
13556
12637
  }, [mapState.hoveredRegion, mapState.regionGroups]);
13557
- const counterText = React12.useMemo(() => {
12638
+ const counterText = React9.useMemo(() => {
13558
12639
  if (!formatCounter) return null;
13559
12640
  const hasActiveFilter = isRegionActive && mapState.regionGroups.some(
13560
12641
  (regionData) => isRegionActive(regionData.code)
@@ -13616,9 +12697,9 @@ function InteractiveGeoMapInner({
13616
12697
  }
13617
12698
  );
13618
12699
  }
13619
- var InteractiveGeoMap = React12__namespace.default.forwardRef(InteractiveGeoMapInner);
12700
+ var InteractiveGeoMap = React9__namespace.default.forwardRef(InteractiveGeoMapInner);
13620
12701
  var DEFAULT_LEGEND_COLOR = "#6366f1";
13621
- var GeoMapLegend = React12__namespace.default.forwardRef(
12702
+ var GeoMapLegend = React9__namespace.default.forwardRef(
13622
12703
  ({ items, colorMap, getFlagUrl, getLabel, labels, maxItems = 5 }, ref) => {
13623
12704
  return /* @__PURE__ */ jsxRuntime.jsxs(
13624
12705
  "div",
@@ -19802,7 +18883,7 @@ function getPageNumbers(currentPage, totalPages) {
19802
18883
  }
19803
18884
  return pages;
19804
18885
  }
19805
- var PageHeader = React12.memo(function PageHeader2({
18886
+ var PageHeader = React9.memo(function PageHeader2({
19806
18887
  title,
19807
18888
  subtitle,
19808
18889
  size = "default",
@@ -19810,13 +18891,13 @@ var PageHeader = React12.memo(function PageHeader2({
19810
18891
  className,
19811
18892
  children
19812
18893
  }) {
19813
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("mb-6 sm:mb-8", className), children: [
18894
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4__default.default("mb-6 sm:mb-8", className), children: [
19814
18895
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4", children: [
19815
18896
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
19816
18897
  /* @__PURE__ */ jsxRuntime.jsx(
19817
18898
  "h1",
19818
18899
  {
19819
- className: clsx__default.default(
18900
+ className: clsx4__default.default(
19820
18901
  "font-bold text-slate-900 dark:text-slate-100 truncate",
19821
18902
  size === "large" ? "text-3xl" : "text-2xl"
19822
18903
  ),
@@ -19830,14 +18911,14 @@ var PageHeader = React12.memo(function PageHeader2({
19830
18911
  children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children })
19831
18912
  ] });
19832
18913
  });
19833
- var PageSectionHeader = React12.memo(function PageSectionHeader2({
18914
+ var PageSectionHeader = React9.memo(function PageSectionHeader2({
19834
18915
  title,
19835
18916
  subtitle,
19836
18917
  actions,
19837
18918
  className,
19838
18919
  children
19839
18920
  }) {
19840
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("mb-4", className), children: [
18921
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4__default.default("mb-4", className), children: [
19841
18922
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3", children: [
19842
18923
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
19843
18924
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg sm:text-xl font-semibold text-slate-900 dark:text-slate-100", children: title }),
@@ -19848,14 +18929,14 @@ var PageSectionHeader = React12.memo(function PageSectionHeader2({
19848
18929
  children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children })
19849
18930
  ] });
19850
18931
  });
19851
- var CardSectionHeader = React12.memo(function CardSectionHeader2({
18932
+ var CardSectionHeader = React9.memo(function CardSectionHeader2({
19852
18933
  title,
19853
18934
  subtitle,
19854
18935
  actions,
19855
18936
  className,
19856
18937
  children
19857
18938
  }) {
19858
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("mb-3", className), children: [
18939
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4__default.default("mb-3", className), children: [
19859
18940
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2", children: [
19860
18941
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
19861
18942
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base sm:text-lg font-medium text-slate-900 dark:text-slate-100", children: title }),
@@ -19867,11 +18948,11 @@ var CardSectionHeader = React12.memo(function CardSectionHeader2({
19867
18948
  ] });
19868
18949
  });
19869
18950
  var Tabs = TabsPrimitive__namespace.Root;
19870
- var TabsList = React12__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
18951
+ var TabsList = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
19871
18952
  TabsPrimitive__namespace.List,
19872
18953
  {
19873
18954
  ref,
19874
- className: clsx__default.default(
18955
+ className: clsx4__default.default(
19875
18956
  "inline-flex h-9 items-center justify-center rounded-lg bg-muted/50 p-0.5 text-muted-foreground",
19876
18957
  className
19877
18958
  ),
@@ -19879,11 +18960,11 @@ var TabsList = React12__namespace.forwardRef(({ className, ...props }, ref) => /
19879
18960
  }
19880
18961
  ));
19881
18962
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
19882
- var TabsTrigger = React12__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
18963
+ var TabsTrigger = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
19883
18964
  TabsPrimitive__namespace.Trigger,
19884
18965
  {
19885
18966
  ref,
19886
- className: clsx__default.default(
18967
+ className: clsx4__default.default(
19887
18968
  "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
19888
18969
  className
19889
18970
  ),
@@ -19891,11 +18972,11 @@ var TabsTrigger = React12__namespace.forwardRef(({ className, ...props }, ref) =
19891
18972
  }
19892
18973
  ));
19893
18974
  TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
19894
- var TabsContent = React12__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
18975
+ var TabsContent = React9__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
19895
18976
  TabsPrimitive__namespace.Content,
19896
18977
  {
19897
18978
  ref,
19898
- className: clsx__default.default(
18979
+ className: clsx4__default.default(
19899
18980
  "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
19900
18981
  className
19901
18982
  ),
@@ -19903,7 +18984,7 @@ var TabsContent = React12__namespace.forwardRef(({ className, ...props }, ref) =
19903
18984
  }
19904
18985
  ));
19905
18986
  TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
19906
- var ContactCard = React12__namespace.default.memo(function ContactCard2({
18987
+ var ContactCard = React9__namespace.default.memo(function ContactCard2({
19907
18988
  type,
19908
18989
  email,
19909
18990
  phone
@@ -19923,7 +19004,7 @@ var ContactCard = React12__namespace.default.memo(function ContactCard2({
19923
19004
  ] })
19924
19005
  ] });
19925
19006
  });
19926
- var OfficeCard = React12__namespace.default.memo(function OfficeCard2({
19007
+ var OfficeCard = React9__namespace.default.memo(function OfficeCard2({
19927
19008
  city,
19928
19009
  address,
19929
19010
  postalCode
@@ -19936,7 +19017,7 @@ var OfficeCard = React12__namespace.default.memo(function OfficeCard2({
19936
19017
  ] })
19937
19018
  ] });
19938
19019
  });
19939
- var ContactSection = React12__namespace.default.memo(
19020
+ var ContactSection = React9__namespace.default.memo(
19940
19021
  function ContactSection2({ title, subtitle, children }) {
19941
19022
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-10 py-16 lg:grid-cols-3", children: [
19942
19023
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -19947,11 +19028,11 @@ var ContactSection = React12__namespace.default.memo(
19947
19028
  ] });
19948
19029
  }
19949
19030
  );
19950
- var Progress = React12__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
19031
+ var Progress = React9__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
19951
19032
  ProgressPrimitive__namespace.Root,
19952
19033
  {
19953
19034
  ref,
19954
- className: clsx__default.default(
19035
+ className: clsx4__default.default(
19955
19036
  "relative h-4 w-full overflow-hidden rounded-full bg-secondary",
19956
19037
  className
19957
19038
  ),
@@ -19966,7 +19047,7 @@ var Progress = React12__namespace.forwardRef(({ className, value, ...props }, re
19966
19047
  }
19967
19048
  ));
19968
19049
  Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
19969
- var colors2 = {
19050
+ var colors = {
19970
19051
  "dark/zinc": [
19971
19052
  "[--switch-bg-ring:var(--color-slate-950)]/90 [--switch-bg:var(--color-slate-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]/25",
19972
19053
  "[--switch-ring:var(--color-slate-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:var(--color-slate-700)]/90"
@@ -20062,11 +19143,11 @@ function Switch2({
20062
19143
  ...props
20063
19144
  }) {
20064
19145
  return /* @__PURE__ */ jsxRuntime.jsx(
20065
- Headless5__namespace.Switch,
19146
+ Headless3__namespace.Switch,
20066
19147
  {
20067
19148
  "data-slot": "control",
20068
19149
  ...props,
20069
- className: clsx__default.default(
19150
+ className: clsx4__default.default(
20070
19151
  className,
20071
19152
  // Base styles
20072
19153
  "group relative isolate inline-flex h-6 w-10 cursor-default rounded-full p-[3px] sm:h-5 sm:w-8",
@@ -20087,13 +19168,13 @@ function Switch2({
20087
19168
  "data-disabled:bg-slate-200 data-disabled:opacity-50 data-disabled:data-checked:bg-slate-200 data-disabled:data-checked:ring-black/5",
20088
19169
  "dark:data-disabled:bg-white/15 dark:data-disabled:data-checked:bg-white/15 dark:data-disabled:data-checked:ring-white/15",
20089
19170
  // Color specific styles
20090
- colors2[color]
19171
+ colors[color]
20091
19172
  ),
20092
19173
  children: /* @__PURE__ */ jsxRuntime.jsx(
20093
19174
  "span",
20094
19175
  {
20095
19176
  "aria-hidden": "true",
20096
- className: clsx__default.default(
19177
+ className: clsx4__default.default(
20097
19178
  // Basic layout
20098
19179
  "pointer-events-none relative inline-block size-4.5 rounded-full sm:size-3.5",
20099
19180
  // Transition
@@ -20263,7 +19344,7 @@ function AppNavigation({
20263
19344
  signOut: signOutLabel = "Sign Out",
20264
19345
  actions: actionsLabel = "Actions"
20265
19346
  } = labels;
20266
- const dockResult = React12.useMemo(
19347
+ const dockResult = React9.useMemo(
20267
19348
  () => buildDockActions(items, pathname, { navigate: onNavigate, openProfile: onOpenProfile, onSignOut }, {
20268
19349
  showDashboard: !!dashboardIcon,
20269
19350
  dashboardPath,
@@ -20291,30 +19372,30 @@ function AppNavigation({
20291
19372
  signOutLabel
20292
19373
  ]
20293
19374
  );
20294
- const launchpadItems = React12.useMemo(
19375
+ const launchpadItems = React9.useMemo(
20295
19376
  () => buildLaunchpadItems(items, launchpadActionItems),
20296
19377
  [items, launchpadActionItems]
20297
19378
  );
20298
- const actionItemIds = React12.useMemo(
19379
+ const actionItemIds = React9.useMemo(
20299
19380
  () => new Set((launchpadActionItems ?? []).map((item) => item.id)),
20300
19381
  [launchpadActionItems]
20301
19382
  );
20302
- const pageOrder = React12.useMemo(
19383
+ const pageOrder = React9.useMemo(
20303
19384
  () => launchpadPageOrder ?? items.map((item) => item.id),
20304
19385
  [launchpadPageOrder, items]
20305
19386
  );
20306
- const flyoutNavItems = React12.useMemo(() => buildFlyoutNavItems(items), [items]);
20307
- const getAccentRgb = React12.useMemo(() => {
19387
+ const flyoutNavItems = React9.useMemo(() => buildFlyoutNavItems(items), [items]);
19388
+ const getAccentRgb = React9.useMemo(() => {
20308
19389
  const map = new Map(items.map((item) => [item.href, item.accentRgb]));
20309
19390
  return (href) => map.get(href) ?? "99, 102, 241";
20310
19391
  }, [items]);
20311
- const handleLaunchpadItemClick = React12.useMemo(
19392
+ const handleLaunchpadItemClick = React9.useMemo(
20312
19393
  () => externalLaunchpadItemClick ?? ((item) => {
20313
19394
  onNavigate(item.href);
20314
19395
  }),
20315
19396
  [externalLaunchpadItemClick, onNavigate]
20316
19397
  );
20317
- const handleFlyoutNavigate = React12.useMemo(
19398
+ const handleFlyoutNavigate = React9.useMemo(
20318
19399
  () => (href) => {
20319
19400
  onFlyoutClose?.();
20320
19401
  onNavigate(href);
@@ -20485,9 +19566,9 @@ function PlatformShell({
20485
19566
  onLanguage
20486
19567
  }) {
20487
19568
  const store = usePlatformShellStore();
20488
- const callbacksRef = React12.useRef({ onSignOut, onToggleTheme, onNavigate, onNotifications, onLanguage });
19569
+ const callbacksRef = React9.useRef({ onSignOut, onToggleTheme, onNavigate, onNotifications, onLanguage });
20489
19570
  callbacksRef.current = { onSignOut, onToggleTheme, onNavigate, onNotifications, onLanguage };
20490
- React12.useEffect(() => {
19571
+ React9.useEffect(() => {
20491
19572
  store.registerCallbacks({
20492
19573
  onSignOut: () => callbacksRef.current.onSignOut(),
20493
19574
  onToggleTheme: () => callbacksRef.current.onToggleTheme?.(),
@@ -20496,11 +19577,11 @@ function PlatformShell({
20496
19577
  onLanguageChange: callbacksRef.current.onLanguage ? () => callbacksRef.current.onLanguage() : void 0
20497
19578
  });
20498
19579
  }, []);
20499
- React12.useEffect(() => {
19580
+ React9.useEffect(() => {
20500
19581
  store.setUser(user);
20501
19582
  store.setAuthStatus(authStatus);
20502
19583
  }, [user?.email, user?.role, authStatus]);
20503
- React12.useEffect(() => {
19584
+ React9.useEffect(() => {
20504
19585
  store.setPreferences({
20505
19586
  locale: labels.currentLocale ?? "en",
20506
19587
  localeFlag: labels.localeFlag,
@@ -20511,10 +19592,10 @@ function PlatformShell({
20511
19592
  dockEnabled: dockEnabled ?? true
20512
19593
  });
20513
19594
  }, [resolvedTheme, dockPosition, dockAutoHide, dockEnabled, labels.currentLocale]);
20514
- React12.useEffect(() => {
19595
+ React9.useEffect(() => {
20515
19596
  store.setNotificationCount(notificationCount ?? 0);
20516
19597
  }, [notificationCount]);
20517
- React12.useEffect(() => {
19598
+ React9.useEffect(() => {
20518
19599
  store.setLabels(labels);
20519
19600
  store.setBranding(appName, appGradient);
20520
19601
  }, [appName, appGradient]);
@@ -20527,13 +19608,13 @@ function PlatformShell({
20527
19608
  const requestSignOut = store.requestSignOut;
20528
19609
  const cancelSignOut = store.cancelSignOut;
20529
19610
  const confirmSignOut = store.confirmSignOut;
20530
- const filteredItems = React12.useMemo(
19611
+ const filteredItems = React9.useMemo(
20531
19612
  () => filterByPermission(items, user?.permissions ?? []),
20532
19613
  [items, user?.permissions]
20533
19614
  );
20534
19615
  const userName = usePlatformShellStore(selectUserName);
20535
19616
  const userInitial = usePlatformShellStore(selectUserInitial);
20536
- const launchpadUserProfile = React12.useMemo(() => {
19617
+ const launchpadUserProfile = React9.useMemo(() => {
20537
19618
  if (!user) return null;
20538
19619
  return {
20539
19620
  name: user.name ?? void 0,
@@ -20546,7 +19627,7 @@ function PlatformShell({
20546
19627
  const storeNotifications = store.notificationCount;
20547
19628
  const storePrefs = store.preferences;
20548
19629
  const storeUser = store.user;
20549
- const builtInActionItems = React12.useMemo(() => {
19630
+ const builtInActionItems = React9.useMemo(() => {
20550
19631
  const actions = [];
20551
19632
  actions.push({
20552
19633
  id: "__notifications",
@@ -20608,7 +19689,7 @@ function PlatformShell({
20608
19689
  });
20609
19690
  return actions;
20610
19691
  }, [storeLabels, storeNotifications, storePrefs.localeFlag, storePrefs.localeName, storePrefs.resolvedTheme, storeUser?.name, storeUser?.email]);
20611
- const allLaunchpadItems = React12.useMemo(
19692
+ const allLaunchpadItems = React9.useMemo(
20612
19693
  () => [
20613
19694
  ...filteredItems.map((item) => ({ ...item, subtitle: "" })),
20614
19695
  ...launchpadActionItems ?? [],
@@ -20616,7 +19697,7 @@ function PlatformShell({
20616
19697
  ],
20617
19698
  [filteredItems, launchpadActionItems, builtInActionItems]
20618
19699
  );
20619
- const handleLaunchpadItemClick = React12.useCallback((item) => {
19700
+ const handleLaunchpadItemClick = React9.useCallback((item) => {
20620
19701
  switch (item.id) {
20621
19702
  case "__notifications":
20622
19703
  store.openNotifications();
@@ -20637,12 +19718,12 @@ function PlatformShell({
20637
19718
  onNavigate(item.href);
20638
19719
  }
20639
19720
  }, [onNotifications, onLanguage, onToggleTheme, openProfile, requestSignOut, onNavigate]);
20640
- const flyoutNavItems = React12.useMemo(() => buildFlyoutNavItems(filteredItems), [filteredItems]);
20641
- const getAccentRgb = React12.useMemo(() => {
19721
+ const flyoutNavItems = React9.useMemo(() => buildFlyoutNavItems(filteredItems), [filteredItems]);
19722
+ const getAccentRgb = React9.useMemo(() => {
20642
19723
  const map = new Map(filteredItems.map((item) => [item.href, item.accentRgb]));
20643
19724
  return (href) => map.get(href) ?? "99, 102, 241";
20644
19725
  }, [filteredItems]);
20645
- const breadcrumbPages = React12.useMemo(() => {
19726
+ const breadcrumbPages = React9.useMemo(() => {
20646
19727
  const segments = pathname.split("/").filter(Boolean);
20647
19728
  return segments.map((segment, index) => ({
20648
19729
  name: segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, " "),
@@ -20774,13 +19855,11 @@ function PlatformShell({
20774
19855
  ) })
20775
19856
  ] })
20776
19857
  ) : (
20777
- /* Non-dashboard: normal padded content. The inner wrapper is
20778
- centered with a max-width so banner cards (SectionCard
20779
- kind="banner") don't stretch edge-to-edge on ultrawide
20780
- viewports which made the right rounded corner clip and
20781
- the card look broken at >1500px. */
20782
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-6 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-7xl", children: /* @__PURE__ */ jsxRuntime.jsx(
20783
- React12.Suspense,
19858
+ /* Non-dashboard: padded content, full-width. Pages own their
19859
+ own max-width if they need one (the workflow canvas, for
19860
+ example, needs 100vw — so we don't cap here at the shell). */
19861
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-6 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
19862
+ React9.Suspense,
20784
19863
  {
20785
19864
  fallback: /* @__PURE__ */ jsxRuntime.jsx(
20786
19865
  BrandedLoader,
@@ -20878,10 +19957,10 @@ function createStubClient() {
20878
19957
  }
20879
19958
  );
20880
19959
  }
20881
- var UiAuthContext = React12.createContext(null);
19960
+ var UiAuthContext = React9.createContext(null);
20882
19961
  var UiAuthProvider = UiAuthContext.Provider;
20883
19962
  function useAuth() {
20884
- const ctx = React12.useContext(UiAuthContext);
19963
+ const ctx = React9.useContext(UiAuthContext);
20885
19964
  if (ctx) return ctx;
20886
19965
  return {
20887
19966
  user: null,
@@ -20898,10 +19977,10 @@ function useAuth() {
20898
19977
  logoutInFlight: false
20899
19978
  };
20900
19979
  }
20901
- var UiPrefsContext = React12.createContext(null);
19980
+ var UiPrefsContext = React9.createContext(null);
20902
19981
  var UiPrefsProvider = UiPrefsContext.Provider;
20903
19982
  function usePlatformPreferences() {
20904
- const ctx = React12.useContext(UiPrefsContext);
19983
+ const ctx = React9.useContext(UiPrefsContext);
20905
19984
  return ctx ?? {
20906
19985
  theme: "dark",
20907
19986
  resolvedTheme: "dark",
@@ -20928,13 +20007,13 @@ function useImpersonation() {
20928
20007
  }
20929
20008
  };
20930
20009
  }
20931
- var UiSocialProvidersContext = React12.createContext({
20010
+ var UiSocialProvidersContext = React9.createContext({
20932
20011
  providers: [],
20933
20012
  loading: false
20934
20013
  });
20935
20014
  UiSocialProvidersContext.Provider;
20936
20015
  function useSocialProviders() {
20937
- return React12.useContext(UiSocialProvidersContext);
20016
+ return React9.useContext(UiSocialProvidersContext);
20938
20017
  }
20939
20018
 
20940
20019
  exports.ARGENTINA_ACCENT_MAP = ARGENTINA_ACCENT_MAP;
@@ -20969,7 +20048,6 @@ exports.BRAZIL_STATE_PALETTES = BRAZIL_STATE_PALETTES;
20969
20048
  exports.BR_THEME_CONFIG = BR_THEME_CONFIG;
20970
20049
  exports.BackupCodeGrid = BackupCodeGrid;
20971
20050
  exports.BadRequestPage = BadRequestPage;
20972
- exports.Badge = Badge;
20973
20051
  exports.BaseForm = BaseForm;
20974
20052
  exports.BentoCard = BentoCard;
20975
20053
  exports.BooleanFlagsPicker = BooleanFlagsPicker;
@@ -20977,7 +20055,6 @@ exports.BottomSafeArea = BottomSafeArea;
20977
20055
  exports.BrandFilterSkeleton = BrandFilterSkeleton;
20978
20056
  exports.BrandedLoader = BrandedLoader;
20979
20057
  exports.Breadcrumb = Breadcrumb;
20980
- exports.Button = Button;
20981
20058
  exports.CANADA_ACCENT_MAP = CANADA_ACCENT_MAP;
20982
20059
  exports.CANADA_MACRO_REGIONS = CANADA_MACRO_REGIONS;
20983
20060
  exports.CANADA_MAP_CENTER = CANADA_MAP_CENTER;
@@ -21073,7 +20150,6 @@ exports.FieldGroup = FieldGroup;
21073
20150
  exports.Fieldset = Fieldset2;
21074
20151
  exports.FilterSectionHeader = FilterSectionHeader;
21075
20152
  exports.FilterTileButton = FilterTileButton;
21076
- exports.FloatingActionButton = FloatingActionButton;
21077
20153
  exports.FlyoutMenu = FlyoutMenu;
21078
20154
  exports.FlyoutNavGrid = FlyoutNavGrid;
21079
20155
  exports.FlyoutQuickActions = FlyoutQuickActions;
@@ -21124,7 +20200,6 @@ exports.ITALY_MAP_CENTER = ITALY_MAP_CENTER;
21124
20200
  exports.ITALY_REGION_COORDINATES = ITALY_REGION_COORDINATES;
21125
20201
  exports.ITALY_REGION_PALETTES = ITALY_REGION_PALETTES;
21126
20202
  exports.IT_THEME_CONFIG = IT_THEME_CONFIG;
21127
- exports.IconButton = IconButton;
21128
20203
  exports.ImageUpload = ImageUpload;
21129
20204
  exports.InfoPopover = InfoPopover;
21130
20205
  exports.InlineForm = InlineForm;
@@ -21337,7 +20412,6 @@ exports.ThemeToggle = ThemeToggle;
21337
20412
  exports.ThemeToggleCompact = ThemeToggleCompact;
21338
20413
  exports.TimePicker = TimePicker;
21339
20414
  exports.ToggleSwitch = ToggleSwitch;
21340
- exports.TouchTarget = TouchTarget;
21341
20415
  exports.UK_ACCENT_MAP = UK_ACCENT_MAP;
21342
20416
  exports.UK_MACRO_REGIONS = UK_MACRO_REGIONS;
21343
20417
  exports.UK_MAP_CENTER = UK_MAP_CENTER;
@@ -21359,24 +20433,8 @@ exports.ZA_THEME_CONFIG = ZA_THEME_CONFIG;
21359
20433
  exports.buildDockActions = buildDockActions;
21360
20434
  exports.buildFlyoutNavItems = buildFlyoutNavItems;
21361
20435
  exports.buildLaunchpadItems = buildLaunchpadItems;
21362
- exports.buttonPress = buttonPress;
21363
- exports.buttonPressReduced = buttonPressReduced;
21364
- exports.buttonTap = buttonTap;
21365
- exports.cardHover = cardHover;
21366
- exports.cardHoverReduced = cardHoverReduced;
21367
- exports.cardPress = cardPress;
21368
20436
  exports.computeDomain = computeDomain;
21369
20437
  exports.computeSeries = computeSeries;
21370
- exports.createMotionProps = createMotionProps;
21371
- exports.duration = duration;
21372
- exports.durationSeconds = durationSeconds;
21373
- exports.durations = durations;
21374
- exports.durationsReduced = durationsReduced;
21375
- exports.ease = ease;
21376
- exports.easeCss = easeCss;
21377
- exports.easings = easings;
21378
- exports.fadeOnly = fadeOnly;
21379
- exports.fadeScale = fadeScale;
21380
20438
  exports.filterByPermission = filterByPermission;
21381
20439
  exports.formatAddress = formatAddress;
21382
20440
  exports.formatCurrency = formatCurrency;
@@ -21554,7 +20612,6 @@ exports.getThailandFlagUrl = getThailandFlagUrl;
21554
20612
  exports.getThailandGradient = getThailandGradient;
21555
20613
  exports.getThailandHexColor = getThailandHexColor;
21556
20614
  exports.getThailandPalette = getThailandPalette;
21557
- exports.getTransition = getTransition;
21558
20615
  exports.getTurkeyAccent = getTurkeyAccent;
21559
20616
  exports.getTurkeyColors = getTurkeyColors;
21560
20617
  exports.getTurkeyFlagUrl = getTurkeyFlagUrl;
@@ -21573,8 +20630,6 @@ exports.getUsFlagUrl = getUsFlagUrl;
21573
20630
  exports.getUsGradient = getUsGradient;
21574
20631
  exports.getUsHexColor = getUsHexColor;
21575
20632
  exports.getUsPalette = getUsPalette;
21576
- exports.getVariants = getVariants;
21577
- exports.iosColors = iosColors;
21578
20633
  exports.isValidArgentinaProvince = isValidArgentinaProvince;
21579
20634
  exports.isValidAustraliaState = isValidAustraliaState;
21580
20635
  exports.isValidBrazilState = isValidBrazilState;
@@ -21606,13 +20661,6 @@ exports.isValidThailandProvince = isValidThailandProvince;
21606
20661
  exports.isValidTurkeyProvince = isValidTurkeyProvince;
21607
20662
  exports.isValidUKNation = isValidUKNation;
21608
20663
  exports.isValidUsState = isValidUsState;
21609
- exports.listItem = listItem;
21610
- exports.listItemReduced = listItemReduced;
21611
- exports.motionTokens = motionTokens;
21612
- exports.notificationBanner = notificationBanner;
21613
- exports.notificationBannerReduced = notificationBannerReduced;
21614
- exports.pageControlDot = pageControlDot;
21615
- exports.prefersReducedMotion = prefersReducedMotion;
21616
20664
  exports.registerCountry = registerCountry;
21617
20665
  exports.registerSubdivisionTheme = registerSubdivisionTheme;
21618
20666
  exports.resolveGlassAccentRgb = resolveGlassAccentRgb;
@@ -21622,15 +20670,6 @@ exports.selectUserInitial = selectUserInitial;
21622
20670
  exports.selectUserName = selectUserName;
21623
20671
  exports.shimmerClass = shimmerClass;
21624
20672
  exports.shimmerWhiteClass = shimmerWhiteClass;
21625
- exports.slideDown = slideDown;
21626
- exports.slideRight = slideRight;
21627
- exports.slideUp = slideUp;
21628
- exports.spring = spring;
21629
- exports.springPresets = springPresets;
21630
- exports.springPresetsReduced = springPresetsReduced;
21631
- exports.staggerContainer = staggerContainer;
21632
- exports.swipeActionThreshold = swipeActionThreshold;
21633
- exports.swipeConstraints = swipeConstraints;
21634
20673
  exports.useAuth = useAuth;
21635
20674
  exports.useGeoMapState = useGeoMapState;
21636
20675
  exports.useImpersonation = useImpersonation;
@@ -21642,5 +20681,5 @@ exports.useSocialProviders = useSocialProviders;
21642
20681
  exports.validateDashboardSpec = validateDashboardSpec;
21643
20682
  exports.xScale = xScale;
21644
20683
  exports.yScale = yScale;
21645
- //# sourceMappingURL=chunk-GCYYGSHU.js.map
21646
- //# sourceMappingURL=chunk-GCYYGSHU.js.map
20684
+ //# sourceMappingURL=chunk-R4EKPXX3.js.map
20685
+ //# sourceMappingURL=chunk-R4EKPXX3.js.map