@qredence/fleet 0.7.4 → 0.8.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 (165) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +5 -4
  3. package/bin/fleet-prime.mjs +33 -6
  4. package/bin/prime-runtime.mjs +79 -0
  5. package/dist/runtime-manifest.json +32 -0
  6. package/dist/web/client/assets/DialogTitle-RY2UDuCY.js +1 -0
  7. package/dist/web/client/assets/FloatingPortal-XC0MCNnD.js +1 -0
  8. package/dist/web/client/assets/action-swap-BWRUNKQA.js +1 -0
  9. package/dist/web/client/assets/{alert-dialog-DtXvVhsF.js → alert-dialog-DGNvg0B1.js} +1 -1
  10. package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
  11. package/dist/web/client/assets/{artifacts-panel-Bseg97yQ.js → artifacts-panel-BGXpKRJ7.js} +1 -1
  12. package/dist/web/client/assets/{badge-C--lf3bb.js → badge-DM06QVqB.js} +6 -6
  13. package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
  14. package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
  15. package/dist/web/client/assets/{chat-command-palette-D_rm1r9d.js → chat-command-palette-PenyaZBw.js} +1 -1
  16. package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
  17. package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
  18. package/dist/web/client/assets/{command-CmtCIDdH.js → command-imgUMV3r.js} +1 -1
  19. package/dist/web/client/assets/{create-project-dialog-m-9aoobN.js → create-project-dialog-C00d5yCq.js} +1 -1
  20. package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
  21. package/dist/web/client/assets/{dialog-Ddouieuu.js → dialog-zCNOQI63.js} +1 -1
  22. package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
  23. package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
  24. package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-Cgi48NnT.js} +1 -1
  25. package/dist/web/client/assets/globals-BuMuB_ea.css +2 -0
  26. package/dist/web/client/assets/{index-Bz5W4EOn.js → index-BqBdQGWs.js} +3 -3
  27. package/dist/web/client/assets/input-7g8_nw-Z.js +1 -0
  28. package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-Nq03Qums.js} +1 -1
  29. package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
  30. package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
  31. package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
  32. package/dist/web/client/assets/{message-queue-Bg2MiJHM.js → message-queue-sSljtjYz.js} +1 -1
  33. package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-Cp687pdm.js} +1 -1
  34. package/dist/web/client/assets/{notify-DhtmUPfE.js → notify-Cqdu6EV8.js} +1 -1
  35. package/dist/web/client/assets/{openui-renderer-MIB3JKYa.js → openui-renderer-BdYTcn-_.js} +50 -50
  36. package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
  37. package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
  38. package/dist/web/client/assets/provider-label-QrVOwKBO.js +1 -0
  39. package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
  40. package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
  41. package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
  42. package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
  43. package/dist/web/client/assets/right-panel-registry-BaLZiKny.js +2 -0
  44. package/dist/web/client/assets/routes-BkFkhfO3.js +16 -0
  45. package/dist/web/client/assets/select-BhV4ikeN.js +1 -0
  46. package/dist/web/client/assets/session-activity-panel-Bc4-HSfb.js +1 -0
  47. package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
  48. package/dist/web/client/assets/session-tool-renderer-C7mYeUOs.js +166 -0
  49. package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-By9m9tGB.js} +1 -1
  50. package/dist/web/client/assets/settings-dialog-Dpt4Ha_m.js +2 -0
  51. package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
  52. package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
  53. package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
  54. package/dist/web/client/assets/sparkles-BwVa9zQJ.js +1 -0
  55. package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
  56. package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-DsPmLZSf.js} +1 -1
  57. package/dist/web/client/assets/subagent-transcript-CNQ9wGk2.js +1 -0
  58. package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-gQ9BLfV3.js} +1 -1
  59. package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
  60. package/dist/web/client/assets/switch-C7Myu-Dt.js +1 -0
  61. package/dist/web/client/assets/toast-DlbKi6K-.js +1 -0
  62. package/dist/web/client/assets/tool-output-normalizer-CADgEiI4.js +4 -0
  63. package/dist/web/client/assets/tool-part-normalizer-CYK62WZM.js +4 -0
  64. package/dist/web/client/assets/tool-result-bjAGZ2qm.js +5 -0
  65. package/dist/web/client/assets/tool-timeline-eNqH1zj7.js +2 -0
  66. package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
  67. package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
  68. package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
  69. package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
  70. package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
  71. package/dist/web/client/assets/useRender-Bbk_fl72.js +1 -0
  72. package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
  73. package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
  74. package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
  75. package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
  76. package/dist/web/client/bundle-budget.json +6 -6
  77. package/dist/web/server/{_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js → _tanstack-start-manifest_v-BiNPG4xt-BZTMSM2I.js} +33 -28
  78. package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-CqGBNU4q-UHNMC7PK.js} +23 -27
  79. package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-B94-zIEz-ES2ZB4ZF.js} +8 -10
  80. package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-2FHYWKDN.js} +669 -833
  81. package/dist/web/server/{chunk-EBC7QORX.js → chunk-5GUEYYYO.js} +3680 -2098
  82. package/dist/web/server/{chunk-GLH2GWMG.js → chunk-7L5PCCYR.js} +411 -306
  83. package/dist/web/server/{chunk-KHHXJZK7.js → chunk-ABMGW6QH.js} +2784 -1662
  84. package/dist/web/server/{chunk-36CAMOVG.js → chunk-BAHZXA4D.js} +6 -6
  85. package/dist/web/server/{chunk-IN2ATSEG.js → chunk-CZLGB3NE.js} +2 -2
  86. package/dist/web/server/{chunk-WCKKN5BR.js → chunk-E6T36NM5.js} +347 -583
  87. package/dist/web/server/{chunk-ORCOCCER.js → chunk-EAKPTSWR.js} +4 -4
  88. package/dist/web/server/chunk-EL2JCDAM.js +270 -0
  89. package/dist/web/server/{chunk-6GTTTYSE.js → chunk-FB2QLQTN.js} +67 -73
  90. package/dist/web/server/{chunk-LLO4MNGE.js → chunk-K67IDUAI.js} +24 -26
  91. package/dist/web/server/{chunk-YU6RHHK6.js → chunk-LQM6QR7S.js} +10 -12
  92. package/dist/web/server/chunk-LTTBT3J7.js +129 -0
  93. package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-OAYEN3JV.js} +2 -0
  94. package/dist/web/server/{chunk-ZUZPJNLY.js → chunk-OSPDNT7S.js} +829 -642
  95. package/dist/web/server/{chunk-XA7EOCHM.js → chunk-SGAQVAYL.js} +2 -2
  96. package/dist/web/server/chunk-SI5IQSG4.js +206 -0
  97. package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
  98. package/dist/web/server/{chunk-QSM3BRMA.js → chunk-WSK55TKE.js} +169 -156
  99. package/dist/web/server/{chunk-BUKOEXE7.js → chunk-YQO36OP6.js} +2 -2
  100. package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-CFPX6Ihl-EO4XTINS.js} +12 -14
  101. package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
  102. package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
  103. package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-B2RBFzoZ-R6GXPSPL.js} +6 -8
  104. package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-BvCfOB26-VDH4YOQD.js} +9 -6
  105. package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-SYc-BQvp-MR4FXT5C.js} +48 -9
  106. package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-D32rLiJo-HEBRGH5B.js} +6 -8
  107. package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-DKzt_xEN-5ZPU6XDY.js} +8 -10
  108. package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-CeVtOdYl-PY37PCJI.js} +12 -14
  109. package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-CpTK_fHV-Q4ILLZKC.js} +1 -1
  110. package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
  111. package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-DDM5ADGZ.js} +3 -3
  112. package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-S4NHlpz7-NF7WYYSR.js} +7 -9
  113. package/dist/web/server/{router-DZYr-9uT-AEXHEFXF.js → router-DVKxZik_-254GZAJW.js} +5 -6
  114. package/dist/web/server/{routes-vYxWRhis-AAZ73SNP.js → routes-BTxAklRp-UM7ZTLLP.js} +50 -30
  115. package/dist/web/server/server.js +2 -2
  116. package/dist/web/server/session-activity-panel-Bz2GrdMk-PCOXG46X.js +173 -0
  117. package/dist/web/server/session-reasoning-panel-CpiTdyQz-O3B5CDKS.js +62 -0
  118. package/dist/web/server/{session-tool-renderer-Dtt74Mts-7YYNSWRV.js → session-tool-renderer-BZiOxtt1-T3ZGAQKX.js} +10 -13
  119. package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-CzkE0RFB-P4KWA7S2.js} +7 -9
  120. package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-BUgVNpr1-THSYIOZL.js} +18 -21
  121. package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-mw3kEFfK-CDYX7LST.js} +13 -16
  122. package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-2ZJfYrXG-NDJKHJHD.js} +15 -18
  123. package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-xznrPDLt-QCJRZOF3.js} +7 -9
  124. package/package.json +2 -2
  125. package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
  126. package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
  127. package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
  128. package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
  129. package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
  130. package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
  131. package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
  132. package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
  133. package/dist/web/client/assets/globals-C961mr-b.css +0 -2
  134. package/dist/web/client/assets/input-Def1xOZz.js +0 -1
  135. package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
  136. package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
  137. package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
  138. package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
  139. package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
  140. package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
  141. package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
  142. package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
  143. package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
  144. package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
  145. package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
  146. package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
  147. package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
  148. package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
  149. package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
  150. package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
  151. package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
  152. package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
  153. package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
  154. package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
  155. package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
  156. package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
  157. package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
  158. package/dist/web/server/chunk-CHSKEU3V.js +0 -166
  159. package/dist/web/server/chunk-OO7NBFQQ.js +0 -15
  160. package/dist/web/server/chunk-OXEAXEWD.js +0 -13
  161. package/dist/web/server/chunk-SIJVVYQT.js +0 -234
  162. package/dist/web/server/chunk-UQV2NU63.js +0 -163
  163. package/dist/web/server/chunk-VUBITQ5X.js +0 -653
  164. package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
  165. package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
@@ -1,57 +1,22 @@
1
1
  import {
2
- __export
3
- } from "./chunk-CZ7CSFO4.js";
2
+ cva
3
+ } from "./chunk-FB3UHLLN.js";
4
+ import {
5
+ cn
6
+ } from "./chunk-OAYEN3JV.js";
4
7
 
5
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/safeReact.mjs
6
- import * as React from "react";
7
- var SafeReact = {
8
- ...React
8
+ // web/app/dist/server/assets/rolldown-runtime-D7D4PA-g.js
9
+ var __defProp = Object.defineProperty;
10
+ var __exportAll = (all, no_symbols) => {
11
+ let target = {};
12
+ for (var name in all) __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
17
+ return target;
9
18
  };
10
19
 
11
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useRefWithInit.mjs
12
- import * as React2 from "react";
13
- var UNINITIALIZED = {};
14
- function useRefWithInit(init, initArg) {
15
- const ref = React2.useRef(UNINITIALIZED);
16
- if (ref.current === UNINITIALIZED) {
17
- ref.current = init(initArg);
18
- }
19
- return ref;
20
- }
21
-
22
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useStableCallback.mjs
23
- var useInsertionEffect = SafeReact.useInsertionEffect;
24
- var useSafeInsertionEffect = (
25
- // React 17 doesn't have useInsertionEffect.
26
- useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
27
- useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
28
- );
29
- function useStableCallback(callback) {
30
- const stable = useRefWithInit(createStableCallback).current;
31
- stable.next = callback;
32
- useSafeInsertionEffect(stable.effect);
33
- return stable.trampoline;
34
- }
35
- function createStableCallback() {
36
- const stable = {
37
- next: void 0,
38
- callback: assertNotCalled,
39
- trampoline: (...args) => stable.callback?.(...args),
40
- effect: () => {
41
- stable.callback = stable.next;
42
- }
43
- };
44
- return stable;
45
- }
46
- function assertNotCalled() {
47
- if (process.env.NODE_ENV !== "production") {
48
- throw (
49
- /* minify-error-disabled */
50
- new Error("Base UI: Cannot call an event handler while rendering.")
51
- );
52
- }
53
- }
54
-
55
20
  // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/mergeObjects.mjs
56
21
  function mergeObjects(a, b) {
57
22
  if (a && !b) {
@@ -224,375 +189,76 @@ function isSyntheticEvent(event) {
224
189
  return event != null && typeof event === "object" && "nativeEvent" in event;
225
190
  }
226
191
 
227
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/formatErrorMessage.mjs
228
- function createFormatErrorMessage(baseUrl, prefix) {
229
- return function formatErrorMessage2(code, ...args) {
230
- const url = new URL(baseUrl);
231
- url.searchParams.set("code", code.toString());
232
- args.forEach((arg) => url.searchParams.append("args[]", arg));
233
- return `${prefix} error #${code}; visit ${url} for the full message.`;
234
- };
235
- }
236
- var formatErrorMessage = createFormatErrorMessage("https://base-ui.com/production-error", "Base UI");
237
- var formatErrorMessage_default = formatErrorMessage;
192
+ // web/app/dist/server/assets/button-bov-QkCw.js
193
+ import { cloneElement as cloneElement2, forwardRef as forwardRef2, isValidElement as isValidElement3 } from "react";
194
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
238
195
 
239
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useRenderElement.mjs
240
- import * as React5 from "react";
196
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/button/Button.mjs
197
+ import * as React10 from "react";
241
198
 
242
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useMergedRefs.mjs
243
- function useMergedRefs(a, b, c, d) {
244
- const forkRef = useRefWithInit(createForkRef).current;
245
- if (didChange(forkRef, a, b, c, d)) {
246
- update(forkRef, [a, b, c, d]);
247
- }
248
- return forkRef.callback;
199
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/use-button/useButton.mjs
200
+ import * as React6 from "react";
201
+
202
+ // node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
203
+ function hasWindow() {
204
+ return typeof window !== "undefined";
249
205
  }
250
- function useMergedRefsN(refs) {
251
- const forkRef = useRefWithInit(createForkRef).current;
252
- if (didChangeN(forkRef, refs)) {
253
- update(forkRef, refs);
206
+ function getNodeName(node) {
207
+ if (isNode(node)) {
208
+ return (node.nodeName || "").toLowerCase();
254
209
  }
255
- return forkRef.callback;
256
- }
257
- function createForkRef() {
258
- return {
259
- callback: null,
260
- cleanup: null,
261
- refs: []
262
- };
210
+ return "#document";
263
211
  }
264
- function didChange(forkRef, a, b, c, d) {
265
- return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
212
+ function getWindow(node) {
213
+ var _node$ownerDocument;
214
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
266
215
  }
267
- function didChangeN(forkRef, newRefs) {
268
- return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);
216
+ function getDocumentElement(node) {
217
+ var _ref;
218
+ return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
269
219
  }
270
- function update(forkRef, refs) {
271
- forkRef.refs = refs;
272
- if (refs.every((ref) => ref == null)) {
273
- forkRef.callback = null;
274
- return;
220
+ function isNode(value) {
221
+ if (!hasWindow()) {
222
+ return false;
275
223
  }
276
- forkRef.callback = (instance) => {
277
- if (forkRef.cleanup) {
278
- forkRef.cleanup();
279
- forkRef.cleanup = null;
280
- }
281
- if (instance != null) {
282
- const cleanupCallbacks = Array(refs.length).fill(null);
283
- for (let i = 0; i < refs.length; i += 1) {
284
- const ref = refs[i];
285
- if (ref == null) {
286
- continue;
287
- }
288
- switch (typeof ref) {
289
- case "function": {
290
- const refCleanup = ref(instance);
291
- if (typeof refCleanup === "function") {
292
- cleanupCallbacks[i] = refCleanup;
293
- }
294
- break;
295
- }
296
- case "object": {
297
- ref.current = instance;
298
- break;
299
- }
300
- default:
301
- }
302
- }
303
- forkRef.cleanup = () => {
304
- for (let i = 0; i < refs.length; i += 1) {
305
- const ref = refs[i];
306
- if (ref == null) {
307
- continue;
308
- }
309
- switch (typeof ref) {
310
- case "function": {
311
- const cleanupCallback = cleanupCallbacks[i];
312
- if (typeof cleanupCallback === "function") {
313
- cleanupCallback();
314
- } else {
315
- void ref(null);
316
- }
317
- break;
318
- }
319
- case "object": {
320
- ref.current = null;
321
- break;
322
- }
323
- default:
324
- }
325
- }
326
- };
327
- }
328
- };
224
+ return value instanceof Node || value instanceof getWindow(value).Node;
329
225
  }
330
-
331
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/getReactElementRef.mjs
332
- import * as React4 from "react";
333
-
334
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/reactVersion.mjs
335
- import * as React3 from "react";
336
- var majorVersion = parseInt(React3.version, 10);
337
- function isReactVersionAtLeast(reactVersionToCheck) {
338
- return majorVersion >= reactVersionToCheck;
226
+ function isElement(value) {
227
+ if (!hasWindow()) {
228
+ return false;
229
+ }
230
+ return value instanceof Element || value instanceof getWindow(value).Element;
339
231
  }
340
-
341
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/getReactElementRef.mjs
342
- function getReactElementRef(element) {
343
- if (!/* @__PURE__ */ React4.isValidElement(element)) {
344
- return null;
232
+ function isHTMLElement(value) {
233
+ if (!hasWindow()) {
234
+ return false;
345
235
  }
346
- const reactElement = element;
347
- const propsWithRef = reactElement.props;
348
- return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
236
+ return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
349
237
  }
350
-
351
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/createLogOnce.mjs
352
- var loggedMessages;
353
- if (process.env.NODE_ENV !== "production") {
354
- loggedMessages = /* @__PURE__ */ new Set();
238
+ function isShadowRoot(value) {
239
+ if (!hasWindow() || typeof ShadowRoot === "undefined") {
240
+ return false;
241
+ }
242
+ return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
355
243
  }
356
- function createLogOnce(severity, prefix) {
357
- return function logOnce(...messages) {
358
- if (process.env.NODE_ENV !== "production") {
359
- const message = messages.join(" ");
360
- const output = prefix ? `${prefix}: ${message}` : message;
361
- const key = `${severity}:${output}`;
362
- if (!loggedMessages.has(key)) {
363
- loggedMessages.add(key);
364
- if (severity === "warn") {
365
- console.warn(output);
366
- } else {
367
- console.error(output);
368
- }
369
- }
370
- }
371
- };
244
+ function isOverflowElement(element) {
245
+ const {
246
+ overflow,
247
+ overflowX,
248
+ overflowY,
249
+ display
250
+ } = getComputedStyle(element);
251
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
372
252
  }
373
-
374
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/warn.mjs
375
- var warn = createLogOnce("warn", "Base UI");
376
-
377
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/empty.mjs
378
- function NOOP() {
253
+ function isTableElement(element) {
254
+ return /^(table|td|th)$/.test(getNodeName(element));
379
255
  }
380
- var EMPTY_ARRAY = Object.freeze([]);
381
- var EMPTY_OBJECT = Object.freeze({});
382
-
383
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
384
- function getStateAttributesProps(state, customMapping) {
385
- const props = {};
386
- for (const key in state) {
387
- const value = state[key];
388
- if (customMapping?.hasOwnProperty(key)) {
389
- const customProps = customMapping[key](value);
390
- if (customProps != null) {
391
- Object.assign(props, customProps);
392
- }
393
- continue;
394
- }
395
- if (value === true) {
396
- props[`data-${key.toLowerCase()}`] = "";
397
- } else if (value) {
398
- props[`data-${key.toLowerCase()}`] = value.toString();
256
+ function isTopLayer(element) {
257
+ try {
258
+ if (element.matches(":popover-open")) {
259
+ return true;
399
260
  }
400
- }
401
- return props;
402
- }
403
-
404
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/resolveClassName.mjs
405
- function resolveClassName(className, state) {
406
- return typeof className === "function" ? className(state) : className;
407
- }
408
-
409
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/resolveStyle.mjs
410
- function resolveStyle(style, state) {
411
- return typeof style === "function" ? style(state) : style;
412
- }
413
-
414
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useRenderElement.mjs
415
- import { createElement as _createElement } from "react";
416
- function useRenderElement(element, componentProps, params = {}) {
417
- let renderProp = componentProps.render;
418
- if (params.enabled !== false) {
419
- renderProp = unwrapLazyRenderProp(renderProp);
420
- }
421
- const outProps = useRenderElementProps(componentProps, params, renderProp);
422
- if (params.enabled === false) {
423
- return null;
424
- }
425
- const state = params.state ?? EMPTY_OBJECT;
426
- return evaluateRenderProp(element, renderProp, outProps, state);
427
- }
428
- function useRenderElementProps(componentProps, params, renderProp) {
429
- const {
430
- className: classNameProp,
431
- style: styleProp
432
- } = componentProps;
433
- const {
434
- state = EMPTY_OBJECT,
435
- ref,
436
- props,
437
- stateAttributesMapping,
438
- enabled = true
439
- } = params;
440
- const className = enabled ? resolveClassName(classNameProp, state) : void 0;
441
- const style = enabled ? resolveStyle(styleProp, state) : void 0;
442
- const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping) : EMPTY_OBJECT;
443
- const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
444
- const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
445
- if (typeof document !== "undefined") {
446
- if (!enabled) {
447
- void useMergedRefs(null, null);
448
- } else if (Array.isArray(ref)) {
449
- outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
450
- } else {
451
- outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
452
- }
453
- }
454
- if (!enabled) {
455
- return EMPTY_OBJECT;
456
- }
457
- if (className !== void 0) {
458
- outProps.className = mergeClassNames(outProps.className, className);
459
- }
460
- if (style !== void 0) {
461
- outProps.style = mergeObjects(outProps.style, style);
462
- }
463
- return outProps;
464
- }
465
- function resolveRenderFunctionProps(props) {
466
- if (Array.isArray(props)) {
467
- return mergePropsN(props);
468
- }
469
- return mergeProps(void 0, props);
470
- }
471
- var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
472
- var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
473
- var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
474
- function unwrapLazyRenderProp(render) {
475
- if (render?.$$typeof !== REACT_LAZY_TYPE) {
476
- return render;
477
- }
478
- const unwrapped = React5.Children.toArray(render)[0];
479
- return /* @__PURE__ */ React5.isValidElement(unwrapped) ? unwrapped : render;
480
- }
481
- function evaluateRenderProp(element, render, props, state) {
482
- if (render) {
483
- if (typeof render === "function") {
484
- if (process.env.NODE_ENV !== "production") {
485
- warnIfRenderPropLooksLikeComponent(render);
486
- }
487
- return render(props, state);
488
- }
489
- const mergedProps = mergeProps(props, render.props);
490
- mergedProps.ref = props.ref;
491
- if (process.env.NODE_ENV !== "production") {
492
- if (!/* @__PURE__ */ React5.isValidElement(render)) {
493
- throw new Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.", "A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.", "https://base-ui.com/r/invalid-render-prop"].join("\n"));
494
- }
495
- }
496
- return /* @__PURE__ */ React5.cloneElement(render, mergedProps);
497
- }
498
- if (element) {
499
- if (typeof element === "string") {
500
- return renderTag(element, props);
501
- }
502
- }
503
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: Render element or function are not defined." : formatErrorMessage_default(8));
504
- }
505
- function warnIfRenderPropLooksLikeComponent(renderFn) {
506
- const functionName = renderFn.name;
507
- if (functionName.length === 0) {
508
- return;
509
- }
510
- if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
511
- return;
512
- }
513
- if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
514
- return;
515
- }
516
- warn(`The \`render\` prop received a function named \`${functionName}\` that starts with an uppercase letter.`, "This usually means a React component was passed directly as `render={Component}`.", "Base UI calls `render` as a plain function, which can break the Rules of Hooks during reconciliation.", "If this is an intentional render callback, rename it to start with a lowercase letter.", "Use `render={<Component />}` or `render={(props) => <Component {...props} />}` instead.", "https://base-ui.com/r/invalid-render-prop");
517
- }
518
- function renderTag(Tag, props) {
519
- if (Tag === "button") {
520
- return /* @__PURE__ */ _createElement("button", {
521
- type: "button",
522
- ...props,
523
- key: props.key
524
- });
525
- }
526
- if (Tag === "img") {
527
- return /* @__PURE__ */ _createElement("img", {
528
- alt: "",
529
- ...props,
530
- key: props.key
531
- });
532
- }
533
- return /* @__PURE__ */ React5.createElement(Tag, props);
534
- }
535
-
536
- // node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
537
- function hasWindow() {
538
- return typeof window !== "undefined";
539
- }
540
- function getNodeName(node) {
541
- if (isNode(node)) {
542
- return (node.nodeName || "").toLowerCase();
543
- }
544
- return "#document";
545
- }
546
- function getWindow(node) {
547
- var _node$ownerDocument;
548
- return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
549
- }
550
- function getDocumentElement(node) {
551
- var _ref;
552
- return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
553
- }
554
- function isNode(value) {
555
- if (!hasWindow()) {
556
- return false;
557
- }
558
- return value instanceof Node || value instanceof getWindow(value).Node;
559
- }
560
- function isElement(value) {
561
- if (!hasWindow()) {
562
- return false;
563
- }
564
- return value instanceof Element || value instanceof getWindow(value).Element;
565
- }
566
- function isHTMLElement(value) {
567
- if (!hasWindow()) {
568
- return false;
569
- }
570
- return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
571
- }
572
- function isShadowRoot(value) {
573
- if (!hasWindow() || typeof ShadowRoot === "undefined") {
574
- return false;
575
- }
576
- return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
577
- }
578
- function isOverflowElement(element) {
579
- const {
580
- overflow,
581
- overflowX,
582
- overflowY,
583
- display
584
- } = getComputedStyle(element);
585
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
586
- }
587
- function isTableElement(element) {
588
- return /^(table|td|th)$/.test(getNodeName(element));
589
- }
590
- function isTopLayer(element) {
591
- try {
592
- if (element.matches(":popover-open")) {
593
- return true;
594
- }
595
- } catch (_e) {
261
+ } catch (_e) {
596
262
  }
597
263
  try {
598
264
  return element.matches(":modal");
@@ -689,114 +355,196 @@ function getFrameElement(win) {
689
355
  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
690
356
  }
691
357
 
692
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/error.mjs
693
- var error = createLogOnce("error", "Base UI");
694
-
695
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
696
- import * as React6 from "react";
697
- var noop = () => {
358
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/safeReact.mjs
359
+ import * as React from "react";
360
+ var SafeReact = {
361
+ ...React
698
362
  };
699
- var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
700
363
 
701
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
702
- import * as React7 from "react";
703
- var CompositeRootContext = /* @__PURE__ */ React7.createContext(void 0);
704
- if (process.env.NODE_ENV !== "production") CompositeRootContext.displayName = "CompositeRootContext";
705
- function useCompositeRootContext(optional = false) {
706
- const context = React7.useContext(CompositeRootContext);
707
- if (context === void 0 && !optional) {
708
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
364
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useRefWithInit.mjs
365
+ import * as React2 from "react";
366
+ var UNINITIALIZED = {};
367
+ function useRefWithInit(init, initArg) {
368
+ const ref = React2.useRef(UNINITIALIZED);
369
+ if (ref.current === UNINITIALIZED) {
370
+ ref.current = init(initArg);
709
371
  }
710
- return context;
372
+ return ref;
711
373
  }
712
374
 
713
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/owner.mjs
714
- function ownerDocument(node) {
715
- return node?.ownerDocument || document;
375
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useStableCallback.mjs
376
+ var useInsertionEffect = SafeReact.useInsertionEffect;
377
+ var useSafeInsertionEffect = (
378
+ // React 17 doesn't have useInsertionEffect.
379
+ useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
380
+ useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
381
+ );
382
+ function useStableCallback(callback) {
383
+ const stable = useRefWithInit(createStableCallback).current;
384
+ stable.next = callback;
385
+ useSafeInsertionEffect(stable.effect);
386
+ return stable.trampoline;
716
387
  }
717
-
718
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
719
- function dispatchClickWithModifiers(target, sourceEvent, {
720
- detail = 0
721
- } = {}) {
722
- target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
723
- bubbles: true,
724
- cancelable: true,
725
- composed: true,
726
- detail,
727
- shiftKey: sourceEvent.shiftKey,
728
- ctrlKey: sourceEvent.ctrlKey,
729
- altKey: sourceEvent.altKey,
730
- metaKey: sourceEvent.metaKey
731
- }));
388
+ function createStableCallback() {
389
+ const stable = {
390
+ next: void 0,
391
+ callback: assertNotCalled,
392
+ trampoline: (...args) => stable.callback?.(...args),
393
+ effect: () => {
394
+ stable.callback = stable.next;
395
+ }
396
+ };
397
+ return stable;
398
+ }
399
+ function assertNotCalled() {
400
+ if (process.env.NODE_ENV !== "production") {
401
+ throw (
402
+ /* minify-error-disabled */
403
+ new Error("Base UI: Cannot call an event handler while rendering.")
404
+ );
405
+ }
406
+ }
407
+
408
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/createLogOnce.mjs
409
+ var loggedMessages;
410
+ if (process.env.NODE_ENV !== "production") {
411
+ loggedMessages = /* @__PURE__ */ new Set();
412
+ }
413
+ function createLogOnce(severity, prefix) {
414
+ return function logOnce(...messages) {
415
+ if (process.env.NODE_ENV !== "production") {
416
+ const message = messages.join(" ");
417
+ const output = prefix ? `${prefix}: ${message}` : message;
418
+ const key = `${severity}:${output}`;
419
+ if (!loggedMessages.has(key)) {
420
+ loggedMessages.add(key);
421
+ if (severity === "warn") {
422
+ console.warn(output);
423
+ } else {
424
+ console.error(output);
425
+ }
426
+ }
427
+ }
428
+ };
429
+ }
430
+
431
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/error.mjs
432
+ var error = createLogOnce("error", "Base UI");
433
+
434
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
435
+ import * as React3 from "react";
436
+ var noop = () => {
437
+ };
438
+ var useIsoLayoutEffect = typeof document !== "undefined" ? React3.useLayoutEffect : noop;
439
+
440
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/formatErrorMessage.mjs
441
+ function createFormatErrorMessage(baseUrl, prefix) {
442
+ return function formatErrorMessage2(code, ...args) {
443
+ const url = new URL(baseUrl);
444
+ url.searchParams.set("code", code.toString());
445
+ args.forEach((arg) => url.searchParams.append("args[]", arg));
446
+ return `${prefix} error #${code}; visit ${url} for the full message.`;
447
+ };
448
+ }
449
+ var formatErrorMessage = createFormatErrorMessage("https://base-ui.com/production-error", "Base UI");
450
+ var formatErrorMessage_default = formatErrorMessage;
451
+
452
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
453
+ import * as React4 from "react";
454
+ var CompositeRootContext = /* @__PURE__ */ React4.createContext(void 0);
455
+ if (process.env.NODE_ENV !== "production") CompositeRootContext.displayName = "CompositeRootContext";
456
+ function useCompositeRootContext(optional = false) {
457
+ const context = React4.useContext(CompositeRootContext);
458
+ if (context === void 0 && !optional) {
459
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
460
+ }
461
+ return context;
732
462
  }
733
463
 
734
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/use-button/useButton.mjs
735
- import * as React9 from "react";
736
-
737
464
  // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
738
- import * as React8 from "react";
465
+ import * as React5 from "react";
739
466
  function useFocusableWhenDisabled(parameters) {
740
467
  const {
741
468
  focusableWhenDisabled,
742
- disabled: disabled2,
469
+ disabled,
743
470
  composite = false,
744
471
  tabIndex: tabIndexProp = 0,
745
472
  isNativeButton
746
473
  } = parameters;
747
474
  const isFocusableComposite = composite && focusableWhenDisabled !== false;
748
475
  const isNonFocusableComposite = composite && focusableWhenDisabled === false;
749
- const props = React8.useMemo(() => {
476
+ const props = React5.useMemo(() => {
750
477
  const additionalProps = {
751
478
  // allow Tabbing away from focusableWhenDisabled elements
752
479
  onKeyDown(event) {
753
- if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
480
+ if (disabled && focusableWhenDisabled && event.key !== "Tab") {
754
481
  event.preventDefault();
755
482
  }
756
483
  }
757
484
  };
758
485
  if (!composite) {
759
486
  additionalProps.tabIndex = tabIndexProp;
760
- if (!isNativeButton && disabled2) {
487
+ if (!isNativeButton && disabled) {
761
488
  additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
762
489
  }
763
490
  }
764
- if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
765
- additionalProps["aria-disabled"] = disabled2;
491
+ if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {
492
+ additionalProps["aria-disabled"] = disabled;
766
493
  }
767
494
  if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
768
- additionalProps.disabled = disabled2;
495
+ additionalProps.disabled = disabled;
769
496
  }
770
497
  return additionalProps;
771
- }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
498
+ }, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
772
499
  return {
773
500
  props
774
501
  };
775
502
  }
776
503
 
504
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/owner.mjs
505
+ function ownerDocument(node) {
506
+ return node?.ownerDocument || document;
507
+ }
508
+
509
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
510
+ function dispatchClickWithModifiers(target, sourceEvent, {
511
+ detail = 0
512
+ } = {}) {
513
+ target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
514
+ bubbles: true,
515
+ cancelable: true,
516
+ composed: true,
517
+ detail,
518
+ shiftKey: sourceEvent.shiftKey,
519
+ ctrlKey: sourceEvent.ctrlKey,
520
+ altKey: sourceEvent.altKey,
521
+ metaKey: sourceEvent.metaKey
522
+ }));
523
+ }
524
+
777
525
  // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/use-button/useButton.mjs
778
526
  function useButton(parameters = {}) {
779
527
  const {
780
- disabled: disabled2 = false,
528
+ disabled = false,
781
529
  focusableWhenDisabled,
782
530
  tabIndex = 0,
783
531
  native: isNativeButton = true,
784
532
  composite: compositeProp
785
533
  } = parameters;
786
- const elementRef = React9.useRef(null);
534
+ const elementRef = React6.useRef(null);
787
535
  const compositeRootContext = useCompositeRootContext(true);
788
536
  const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
789
537
  const {
790
538
  props: focusableWhenDisabledProps
791
539
  } = useFocusableWhenDisabled({
792
540
  focusableWhenDisabled,
793
- disabled: disabled2,
541
+ disabled,
794
542
  composite: isCompositeItem,
795
543
  tabIndex,
796
544
  isNativeButton
797
545
  });
798
546
  if (process.env.NODE_ENV !== "production") {
799
- React9.useEffect(() => {
547
+ React6.useEffect(() => {
800
548
  if (!elementRef.current) {
801
549
  return;
802
550
  }
@@ -814,17 +562,17 @@ function useButton(parameters = {}) {
814
562
  }
815
563
  }, [isNativeButton]);
816
564
  }
817
- const updateDisabled = React9.useCallback(() => {
565
+ const updateDisabled = React6.useCallback(() => {
818
566
  const element = elementRef.current;
819
567
  if (!isButtonElement(element)) {
820
568
  return;
821
569
  }
822
- if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
570
+ if (isCompositeItem && disabled && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
823
571
  element.disabled = false;
824
572
  }
825
- }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
573
+ }, [disabled, focusableWhenDisabledProps.disabled, isCompositeItem]);
826
574
  useIsoLayoutEffect(updateDisabled, [updateDisabled]);
827
- const getButtonProps = React9.useCallback((externalProps = {}) => {
575
+ const getButtonProps = React6.useCallback((externalProps = {}) => {
828
576
  const {
829
577
  onClick: externalOnClick,
830
578
  onMouseDown: externalOnMouseDown,
@@ -835,19 +583,19 @@ function useButton(parameters = {}) {
835
583
  } = externalProps;
836
584
  return mergeProps({
837
585
  onClick(event) {
838
- if (disabled2) {
586
+ if (disabled) {
839
587
  event.preventDefault();
840
588
  return;
841
589
  }
842
590
  externalOnClick?.(event);
843
591
  },
844
592
  onMouseDown(event) {
845
- if (!disabled2) {
593
+ if (!disabled) {
846
594
  externalOnMouseDown?.(event);
847
595
  }
848
596
  },
849
597
  onKeyDown(event) {
850
- if (disabled2) {
598
+ if (disabled) {
851
599
  return;
852
600
  }
853
601
  makeEventPreventable(event);
@@ -891,7 +639,7 @@ function useButton(parameters = {}) {
891
639
  }
892
640
  },
893
641
  onKeyUp(event) {
894
- if (disabled2) {
642
+ if (disabled) {
895
643
  return;
896
644
  }
897
645
  makeEventPreventable(event);
@@ -909,7 +657,7 @@ function useButton(parameters = {}) {
909
657
  }
910
658
  },
911
659
  onPointerDown(event) {
912
- if (disabled2) {
660
+ if (disabled) {
913
661
  event.preventDefault();
914
662
  return;
915
663
  }
@@ -920,7 +668,7 @@ function useButton(parameters = {}) {
920
668
  } : {
921
669
  role: "button"
922
670
  }, focusableWhenDisabledProps, otherExternalProps);
923
- }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
671
+ }, [disabled, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
924
672
  const buttonRef = useStableCallback((element) => {
925
673
  elementRef.current = element;
926
674
  updateDisabled();
@@ -937,400 +685,502 @@ function isValidLinkElement(elem) {
937
685
  return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
938
686
  }
939
687
 
940
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/addEventListener.mjs
941
- function addEventListener(target, type, listener, options) {
942
- target.addEventListener(type, listener, options);
943
- return () => {
944
- target.removeEventListener(type, listener, options);
945
- };
946
- }
688
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useRenderElement.mjs
689
+ import * as React9 from "react";
947
690
 
948
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useOnMount.mjs
949
- import * as React10 from "react";
950
- function useOnMount(fn) {
951
- React10.useEffect(fn, EMPTY_ARRAY);
691
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useMergedRefs.mjs
692
+ function useMergedRefs(a, b, c, d) {
693
+ const forkRef = useRefWithInit(createForkRef).current;
694
+ if (didChange(forkRef, a, b, c, d)) {
695
+ update(forkRef, [a, b, c, d]);
696
+ }
697
+ return forkRef.callback;
952
698
  }
953
-
954
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useAnimationFrame.mjs
955
- var EMPTY = null;
956
- var LAST_RAF = globalThis.requestAnimationFrame;
957
- var Scheduler = class {
958
- /* This implementation uses an array as a backing data-structure for frame callbacks.
959
- * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
960
- * never calls the native `cancelAnimationFrame` if there are no frames left. This can
961
- * be much more efficient if there is a call pattern that alterns as
962
- * "request-cancel-request-cancel-…".
963
- * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
964
- * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
965
- callbacks = [];
966
- callbacksCount = 0;
967
- nextId = 1;
968
- startId = 1;
969
- isScheduled = false;
970
- tick = (timestamp) => {
971
- this.isScheduled = false;
972
- const currentCallbacks = this.callbacks;
973
- const currentCallbacksCount = this.callbacksCount;
974
- this.callbacks = [];
975
- this.callbacksCount = 0;
976
- this.startId = this.nextId;
977
- if (currentCallbacksCount > 0) {
978
- for (let i = 0; i < currentCallbacks.length; i += 1) {
979
- currentCallbacks[i]?.(timestamp);
980
- }
981
- }
699
+ function useMergedRefsN(refs) {
700
+ const forkRef = useRefWithInit(createForkRef).current;
701
+ if (didChangeN(forkRef, refs)) {
702
+ update(forkRef, refs);
703
+ }
704
+ return forkRef.callback;
705
+ }
706
+ function createForkRef() {
707
+ return {
708
+ callback: null,
709
+ cleanup: null,
710
+ refs: []
982
711
  };
983
- request(fn) {
984
- const id = this.nextId;
985
- this.nextId += 1;
986
- this.callbacks.push(fn);
987
- this.callbacksCount += 1;
988
- const didRAFChange = process.env.NODE_ENV !== "production" && LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
989
- if (!this.isScheduled || didRAFChange) {
990
- requestAnimationFrame(this.tick);
991
- this.isScheduled = true;
992
- }
993
- return id;
712
+ }
713
+ function didChange(forkRef, a, b, c, d) {
714
+ return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
715
+ }
716
+ function didChangeN(forkRef, newRefs) {
717
+ return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);
718
+ }
719
+ function update(forkRef, refs) {
720
+ forkRef.refs = refs;
721
+ if (refs.every((ref) => ref == null)) {
722
+ forkRef.callback = null;
723
+ return;
994
724
  }
995
- cancel(id) {
996
- const index = id - this.startId;
997
- if (index < 0 || index >= this.callbacks.length) {
998
- return;
999
- }
1000
- if (this.callbacks[index] === null) {
1001
- return;
725
+ forkRef.callback = (instance) => {
726
+ if (forkRef.cleanup) {
727
+ forkRef.cleanup();
728
+ forkRef.cleanup = null;
1002
729
  }
1003
- this.callbacks[index] = null;
1004
- this.callbacksCount -= 1;
1005
- }
1006
- };
1007
- var scheduler = new Scheduler();
1008
- var AnimationFrame = class _AnimationFrame {
1009
- static create() {
1010
- return new _AnimationFrame();
1011
- }
1012
- static request(fn) {
1013
- return scheduler.request(fn);
1014
- }
1015
- static cancel(id) {
1016
- return scheduler.cancel(id);
1017
- }
1018
- currentId = EMPTY;
1019
- /**
1020
- * Executes `fn` after `delay`, clearing any previously scheduled call.
1021
- */
1022
- request(fn) {
1023
- this.cancel();
1024
- this.currentId = scheduler.request(() => {
1025
- this.currentId = EMPTY;
1026
- fn();
1027
- });
1028
- }
1029
- cancel = () => {
1030
- if (this.currentId !== EMPTY) {
1031
- scheduler.cancel(this.currentId);
1032
- this.currentId = EMPTY;
730
+ if (instance != null) {
731
+ const cleanupCallbacks = Array(refs.length).fill(null);
732
+ for (let i = 0; i < refs.length; i += 1) {
733
+ const ref = refs[i];
734
+ if (ref == null) {
735
+ continue;
736
+ }
737
+ switch (typeof ref) {
738
+ case "function": {
739
+ const refCleanup = ref(instance);
740
+ if (typeof refCleanup === "function") {
741
+ cleanupCallbacks[i] = refCleanup;
742
+ }
743
+ break;
744
+ }
745
+ case "object": {
746
+ ref.current = instance;
747
+ break;
748
+ }
749
+ default:
750
+ }
751
+ }
752
+ forkRef.cleanup = () => {
753
+ for (let i = 0; i < refs.length; i += 1) {
754
+ const ref = refs[i];
755
+ if (ref == null) {
756
+ continue;
757
+ }
758
+ switch (typeof ref) {
759
+ case "function": {
760
+ const cleanupCallback = cleanupCallbacks[i];
761
+ if (typeof cleanupCallback === "function") {
762
+ cleanupCallback();
763
+ } else {
764
+ void ref(null);
765
+ }
766
+ break;
767
+ }
768
+ case "object": {
769
+ ref.current = null;
770
+ break;
771
+ }
772
+ default:
773
+ }
774
+ }
775
+ };
1033
776
  }
1034
777
  };
1035
- disposeEffect = () => {
1036
- return this.cancel;
1037
- };
1038
- };
1039
- function useAnimationFrame() {
1040
- const timeout = useRefWithInit(AnimationFrame.create).current;
1041
- useOnMount(timeout.disposeEffect);
1042
- return timeout;
1043
778
  }
1044
779
 
1045
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
1046
- var TransitionStatusDataAttributes_exports = {};
1047
- __export(TransitionStatusDataAttributes_exports, {
1048
- endingStyle: () => endingStyle,
1049
- startingStyle: () => startingStyle
1050
- });
1051
- var startingStyle = "data-starting-style";
1052
- var endingStyle = "data-ending-style";
780
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/getReactElementRef.mjs
781
+ import * as React8 from "react";
1053
782
 
1054
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1055
- var STARTING_HOOK = {
1056
- [startingStyle]: ""
1057
- };
1058
- var ENDING_HOOK = {
1059
- [endingStyle]: ""
1060
- };
1061
- var transitionStatusMapping = {
1062
- transitionStatus(value) {
1063
- if (value === "starting") {
1064
- return STARTING_HOOK;
1065
- }
1066
- if (value === "ending") {
1067
- return ENDING_HOOK;
1068
- }
783
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/reactVersion.mjs
784
+ import * as React7 from "react";
785
+ var majorVersion = parseInt(React7.version, 10);
786
+ function isReactVersionAtLeast(reactVersionToCheck) {
787
+ return majorVersion >= reactVersionToCheck;
788
+ }
789
+
790
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/getReactElementRef.mjs
791
+ function getReactElementRef(element) {
792
+ if (!/* @__PURE__ */ React8.isValidElement(element)) {
1069
793
  return null;
1070
794
  }
1071
- };
795
+ const reactElement = element;
796
+ const propsWithRef = reactElement.props;
797
+ return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
798
+ }
1072
799
 
1073
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1074
- import * as ReactDOM from "react-dom";
800
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/warn.mjs
801
+ var warn = createLogOnce("warn", "Base UI");
1075
802
 
1076
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/resolveRef.mjs
1077
- function resolveRef(maybeRef) {
1078
- if (maybeRef == null) {
1079
- return maybeRef;
1080
- }
1081
- return "current" in maybeRef ? maybeRef.current : maybeRef;
803
+ // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/empty.mjs
804
+ function NOOP() {
1082
805
  }
806
+ var EMPTY_ARRAY = Object.freeze([]);
807
+ var EMPTY_OBJECT = Object.freeze({});
1083
808
 
1084
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1085
- var pendingCallbacks = null;
1086
- function flushBeforePaint(fn) {
1087
- if (!pendingCallbacks) {
1088
- const callbacks = [];
1089
- pendingCallbacks = callbacks;
1090
- queueMicrotask(() => {
1091
- pendingCallbacks = null;
1092
- ReactDOM.flushSync(() => {
1093
- for (const callback of callbacks) {
1094
- callback();
1095
- }
1096
- });
1097
- });
1098
- }
1099
- pendingCallbacks.push(fn);
1100
- }
1101
- function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
1102
- const frame = useAnimationFrame();
1103
- return useStableCallback((fnToExecute, signal = null) => {
1104
- frame.cancel();
1105
- const element = resolveRef(elementOrRef);
1106
- if (element == null) {
1107
- return;
1108
- }
1109
- const resolvedElement = element;
1110
- const done = () => {
1111
- if (!batch) {
1112
- ReactDOM.flushSync(fnToExecute);
1113
- return;
809
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
810
+ function getStateAttributesProps(state, customMapping) {
811
+ const props = {};
812
+ for (const key in state) {
813
+ const value = state[key];
814
+ if (customMapping?.hasOwnProperty(key)) {
815
+ const customProps = customMapping[key](value);
816
+ if (customProps != null) {
817
+ Object.assign(props, customProps);
1114
818
  }
1115
- flushBeforePaint(() => {
1116
- if (!signal?.aborted) {
1117
- fnToExecute();
1118
- }
1119
- });
1120
- };
1121
- if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
1122
- fnToExecute();
1123
- return;
1124
- }
1125
- function exec() {
1126
- Promise.all(resolvedElement.getAnimations().map((animation) => animation.finished)).then(() => {
1127
- if (!signal?.aborted) {
1128
- done();
1129
- }
1130
- }, () => {
1131
- if (signal?.aborted) {
1132
- return;
1133
- }
1134
- const currentAnimations = resolvedElement.getAnimations();
1135
- if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
1136
- exec();
1137
- return;
1138
- }
1139
- done();
1140
- });
819
+ continue;
1141
820
  }
1142
- if (waitForStartingStyleRemoved) {
1143
- const startingStyleAttribute = startingStyle;
1144
- if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1145
- frame.request(exec);
1146
- return;
1147
- }
1148
- const attributeObserver = new MutationObserver(() => {
1149
- if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1150
- attributeObserver.disconnect();
1151
- exec();
1152
- }
1153
- });
1154
- attributeObserver.observe(resolvedElement, {
1155
- attributes: true,
1156
- attributeFilter: [startingStyleAttribute]
1157
- });
1158
- signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
1159
- once: true
1160
- });
1161
- return;
821
+ if (value === true) {
822
+ props[`data-${key.toLowerCase()}`] = "";
823
+ } else if (value) {
824
+ props[`data-${key.toLowerCase()}`] = value.toString();
1162
825
  }
1163
- frame.request(exec);
1164
- });
826
+ }
827
+ return props;
1165
828
  }
1166
829
 
1167
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1168
- import * as React11 from "react";
1169
- function useOpenChangeComplete(parameters) {
830
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/resolveClassName.mjs
831
+ function resolveClassName(className, state) {
832
+ return typeof className === "function" ? className(state) : className;
833
+ }
834
+
835
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/resolveStyle.mjs
836
+ function resolveStyle(style, state) {
837
+ return typeof style === "function" ? style(state) : style;
838
+ }
839
+
840
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/useRenderElement.mjs
841
+ import { createElement as _createElement } from "react";
842
+ function useRenderElement(element, componentProps, params = {}) {
843
+ let renderProp = componentProps.render;
844
+ if (params.enabled !== false) {
845
+ renderProp = unwrapLazyRenderProp(renderProp);
846
+ }
847
+ const outProps = useRenderElementProps(componentProps, params, renderProp);
848
+ if (params.enabled === false) {
849
+ return null;
850
+ }
851
+ const state = params.state ?? EMPTY_OBJECT;
852
+ return evaluateRenderProp(element, renderProp, outProps, state);
853
+ }
854
+ function useRenderElementProps(componentProps, params, renderProp) {
1170
855
  const {
1171
- enabled = true,
1172
- open,
856
+ className: classNameProp,
857
+ style: styleProp
858
+ } = componentProps;
859
+ const {
860
+ state = EMPTY_OBJECT,
1173
861
  ref,
1174
- batch = false,
1175
- onComplete: onCompleteParam
1176
- } = parameters;
1177
- const onComplete = useStableCallback(onCompleteParam);
1178
- const runOnceAnimationsFinish = useAnimationsFinished(ref, open, batch);
1179
- React11.useEffect(() => {
862
+ props,
863
+ stateAttributesMapping,
864
+ enabled = true
865
+ } = params;
866
+ const className = enabled ? resolveClassName(classNameProp, state) : void 0;
867
+ const style = enabled ? resolveStyle(styleProp, state) : void 0;
868
+ const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping) : EMPTY_OBJECT;
869
+ const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
870
+ const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
871
+ if (typeof document !== "undefined") {
1180
872
  if (!enabled) {
1181
- return void 0;
873
+ void useMergedRefs(null, null);
874
+ } else if (Array.isArray(ref)) {
875
+ outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
876
+ } else {
877
+ outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
1182
878
  }
1183
- const abortController = new AbortController();
1184
- runOnceAnimationsFinish(onComplete, abortController.signal);
1185
- return () => {
1186
- abortController.abort();
1187
- };
1188
- }, [enabled, open, onComplete, runOnceAnimationsFinish]);
879
+ }
880
+ if (!enabled) {
881
+ return EMPTY_OBJECT;
882
+ }
883
+ if (className !== void 0) {
884
+ outProps.className = mergeClassNames(outProps.className, className);
885
+ }
886
+ if (style !== void 0) {
887
+ outProps.style = mergeObjects(outProps.style, style);
888
+ }
889
+ return outProps;
1189
890
  }
1190
-
1191
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useId.mjs
1192
- import * as React12 from "react";
1193
- var globalId = 0;
1194
- function useGlobalId(idOverride, prefix = "mui") {
1195
- const [defaultId, setDefaultId] = React12.useState(idOverride);
1196
- const id = idOverride || defaultId;
1197
- React12.useEffect(() => {
1198
- if (defaultId == null) {
1199
- globalId += 1;
1200
- setDefaultId(`${prefix}-${globalId}`);
891
+ function resolveRenderFunctionProps(props) {
892
+ if (Array.isArray(props)) {
893
+ return mergePropsN(props);
894
+ }
895
+ return mergeProps(void 0, props);
896
+ }
897
+ var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
898
+ var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
899
+ var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
900
+ function unwrapLazyRenderProp(render) {
901
+ if (render?.$$typeof !== REACT_LAZY_TYPE) {
902
+ return render;
903
+ }
904
+ const unwrapped = React9.Children.toArray(render)[0];
905
+ return /* @__PURE__ */ React9.isValidElement(unwrapped) ? unwrapped : render;
906
+ }
907
+ function evaluateRenderProp(element, render, props, state) {
908
+ if (render) {
909
+ if (typeof render === "function") {
910
+ if (process.env.NODE_ENV !== "production") {
911
+ warnIfRenderPropLooksLikeComponent(render);
912
+ }
913
+ return render(props, state);
1201
914
  }
1202
- }, [defaultId, prefix]);
1203
- return id;
1204
- }
1205
- var maybeReactUseId = SafeReact.useId;
1206
- function useId(idOverride, prefix) {
1207
- if (maybeReactUseId !== void 0) {
1208
- const reactId = maybeReactUseId();
1209
- return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);
915
+ const mergedProps = mergeProps(props, render.props);
916
+ mergedProps.ref = props.ref;
917
+ if (process.env.NODE_ENV !== "production") {
918
+ if (!/* @__PURE__ */ React9.isValidElement(render)) {
919
+ throw new Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.", "A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.", "https://base-ui.com/r/invalid-render-prop"].join("\n"));
920
+ }
921
+ }
922
+ return /* @__PURE__ */ React9.cloneElement(render, mergedProps);
923
+ }
924
+ if (element) {
925
+ if (typeof element === "string") {
926
+ return renderTag(element, props);
927
+ }
928
+ }
929
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: Render element or function are not defined." : formatErrorMessage_default(8));
930
+ }
931
+ function warnIfRenderPropLooksLikeComponent(renderFn) {
932
+ const functionName = renderFn.name;
933
+ if (functionName.length === 0) {
934
+ return;
935
+ }
936
+ if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
937
+ return;
938
+ }
939
+ if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
940
+ return;
1210
941
  }
1211
- return useGlobalId(idOverride, prefix);
942
+ warn(`The \`render\` prop received a function named \`${functionName}\` that starts with an uppercase letter.`, "This usually means a React component was passed directly as `render={Component}`.", "Base UI calls `render` as a plain function, which can break the Rules of Hooks during reconciliation.", "If this is an intentional render callback, rename it to start with a lowercase letter.", "Use `render={<Component />}` or `render={(props) => <Component {...props} />}` instead.", "https://base-ui.com/r/invalid-render-prop");
943
+ }
944
+ function renderTag(Tag, props) {
945
+ if (Tag === "button") {
946
+ return /* @__PURE__ */ _createElement("button", {
947
+ type: "button",
948
+ ...props,
949
+ key: props.key
950
+ });
951
+ }
952
+ if (Tag === "img") {
953
+ return /* @__PURE__ */ _createElement("img", {
954
+ alt: "",
955
+ ...props,
956
+ key: props.key
957
+ });
958
+ }
959
+ return /* @__PURE__ */ React9.createElement(Tag, props);
1212
960
  }
1213
961
 
1214
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/reason-parts.mjs
1215
- var reason_parts_exports = {};
1216
- __export(reason_parts_exports, {
1217
- cancelOpen: () => cancelOpen,
1218
- chipRemovePress: () => chipRemovePress,
1219
- clearPress: () => clearPress,
1220
- closePress: () => closePress,
1221
- closeWatcher: () => closeWatcher,
1222
- decrementPress: () => decrementPress,
1223
- disabled: () => disabled,
1224
- drag: () => drag,
1225
- escapeKey: () => escapeKey,
1226
- focusOut: () => focusOut,
1227
- imperativeAction: () => imperativeAction,
1228
- incrementPress: () => incrementPress,
1229
- initial: () => initial,
1230
- inputBlur: () => inputBlur,
1231
- inputChange: () => inputChange,
1232
- inputClear: () => inputClear,
1233
- inputPaste: () => inputPaste,
1234
- inputPress: () => inputPress,
1235
- itemPress: () => itemPress,
1236
- keyboard: () => keyboard,
1237
- linkPress: () => linkPress,
1238
- listNavigation: () => listNavigation,
1239
- missing: () => missing,
1240
- none: () => none,
1241
- outsidePress: () => outsidePress,
1242
- pointer: () => pointer,
1243
- scrub: () => scrub,
1244
- siblingOpen: () => siblingOpen,
1245
- swipe: () => swipe,
1246
- trackPress: () => trackPress,
1247
- triggerFocus: () => triggerFocus,
1248
- triggerHover: () => triggerHover,
1249
- triggerPress: () => triggerPress,
1250
- wheel: () => wheel,
1251
- windowResize: () => windowResize
962
+ // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/button/Button.mjs
963
+ var Button = /* @__PURE__ */ React10.forwardRef(function Button2(componentProps, forwardedRef) {
964
+ const {
965
+ render,
966
+ className,
967
+ disabled = false,
968
+ focusableWhenDisabled = false,
969
+ nativeButton = true,
970
+ style,
971
+ ...elementProps
972
+ } = componentProps;
973
+ const {
974
+ getButtonProps,
975
+ buttonRef
976
+ } = useButton({
977
+ disabled,
978
+ focusableWhenDisabled,
979
+ native: nativeButton
980
+ });
981
+ const state = {
982
+ disabled
983
+ };
984
+ return useRenderElement("button", componentProps, {
985
+ state,
986
+ ref: [forwardedRef, buttonRef],
987
+ props: [elementProps, getButtonProps]
988
+ });
1252
989
  });
1253
- var none = "none";
1254
- var triggerPress = "trigger-press";
1255
- var triggerHover = "trigger-hover";
1256
- var triggerFocus = "trigger-focus";
1257
- var outsidePress = "outside-press";
1258
- var itemPress = "item-press";
1259
- var closePress = "close-press";
1260
- var linkPress = "link-press";
1261
- var clearPress = "clear-press";
1262
- var chipRemovePress = "chip-remove-press";
1263
- var trackPress = "track-press";
1264
- var incrementPress = "increment-press";
1265
- var decrementPress = "decrement-press";
1266
- var inputChange = "input-change";
1267
- var inputClear = "input-clear";
1268
- var inputBlur = "input-blur";
1269
- var inputPaste = "input-paste";
1270
- var inputPress = "input-press";
1271
- var focusOut = "focus-out";
1272
- var escapeKey = "escape-key";
1273
- var closeWatcher = "close-watcher";
1274
- var listNavigation = "list-navigation";
1275
- var keyboard = "keyboard";
1276
- var pointer = "pointer";
1277
- var drag = "drag";
1278
- var wheel = "wheel";
1279
- var scrub = "scrub";
1280
- var cancelOpen = "cancel-open";
1281
- var siblingOpen = "sibling-open";
1282
- var disabled = "disabled";
1283
- var missing = "missing";
1284
- var initial = "initial";
1285
- var imperativeAction = "imperative-action";
1286
- var swipe = "swipe";
1287
- var windowResize = "window-resize";
990
+ if (process.env.NODE_ENV !== "production") Button.displayName = "Button";
1288
991
 
1289
- // node_modules/.pnpm/@base-ui+react@1.8.0_@date-fns+tz@1.5.0_@types+react@19.3.0_date-fns@4.4.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1290
- function createChangeEventDetails(reason, event, trigger, customProperties) {
1291
- let canceled = false;
1292
- let allowPropagation = false;
1293
- const custom = customProperties ?? EMPTY_OBJECT;
1294
- const details = {
1295
- reason,
1296
- event: event ?? new Event("base-ui"),
1297
- cancel() {
1298
- canceled = true;
992
+ // web/app/dist/server/assets/button-bov-QkCw.js
993
+ var buttonVariants = cva([
994
+ "group relative isolate inline-flex items-center justify-center outline-none cursor-pointer",
995
+ "transition-colors duration-80",
996
+ "disabled:opacity-50 disabled:pointer-events-none",
997
+ "focus-visible:ring-1 focus-visible:ring-[color:var(--focus-ring,#6B97FF)]"
998
+ ], {
999
+ variants: {
1000
+ variant: {
1001
+ default: "text-background",
1002
+ primary: "text-background",
1003
+ secondary: "text-foreground",
1004
+ tertiary: "text-foreground",
1005
+ outline: "text-foreground",
1006
+ ghost: "text-muted-foreground hover:text-foreground",
1007
+ destructive: "text-destructive",
1008
+ link: "text-primary underline-offset-4 hover:underline"
1299
1009
  },
1300
- allowPropagation() {
1301
- allowPropagation = true;
1010
+ size: {
1011
+ default: "h-9 px-4 text-[13px] gap-1.5 [&_svg:not([class*='size-'])]:size-4",
1012
+ compact: "h-7 px-3 text-[12px] gap-1 [&_svg:not([class*='size-'])]:size-3.5",
1013
+ icon: "h-9 w-9 p-0 [&_svg]:h-4 [&_svg]:w-4",
1014
+ "icon-compact": "h-7 w-7 p-0 [&_svg]:h-3.5 [&_svg]:w-3.5"
1302
1015
  },
1303
- get isCanceled() {
1304
- return canceled;
1016
+ iconLeft: { true: "" },
1017
+ iconRight: { true: "" }
1018
+ },
1019
+ compoundVariants: [
1020
+ {
1021
+ size: "compact",
1022
+ iconLeft: true,
1023
+ className: "pl-2"
1305
1024
  },
1306
- get isPropagationAllowed() {
1307
- return allowPropagation;
1025
+ {
1026
+ size: "default",
1027
+ iconLeft: true,
1028
+ className: "pl-3"
1308
1029
  },
1309
- trigger,
1310
- ...custom
1311
- };
1312
- return details;
1313
- }
1314
-
1315
- // node_modules/.pnpm/@base-ui+utils@0.4.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useValueAsRef.mjs
1316
- function useValueAsRef(value) {
1317
- const latest = useRefWithInit(createLatestRef, value).current;
1318
- latest.next = value;
1319
- useIsoLayoutEffect(latest.effect);
1320
- return latest;
1321
- }
1322
- function createLatestRef(value) {
1323
- const latest = {
1324
- current: value,
1325
- next: value,
1326
- effect: () => {
1327
- latest.current = latest.next;
1030
+ {
1031
+ size: "compact",
1032
+ iconRight: true,
1033
+ className: "pr-2"
1034
+ },
1035
+ {
1036
+ size: "default",
1037
+ iconRight: true,
1038
+ className: "pr-3"
1328
1039
  }
1329
- };
1330
- return latest;
1331
- }
1040
+ ],
1041
+ defaultVariants: {
1042
+ variant: "primary",
1043
+ size: "default"
1044
+ }
1045
+ });
1046
+ var legacySizeAliases = {
1047
+ xs: "compact",
1048
+ sm: "compact",
1049
+ md: "default",
1050
+ lg: "default",
1051
+ "icon-xs": "icon-compact",
1052
+ "icon-sm": "icon-compact",
1053
+ "icon-lg": "icon"
1054
+ };
1055
+ var bgVariants = {
1056
+ default: "[--btn-bg:var(--foreground)] group-hover:[--btn-bg:color-mix(in_oklab,var(--foreground)_90%,var(--background))] group-active:[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
1057
+ primary: "[--btn-bg:var(--foreground)] group-hover:[--btn-bg:color-mix(in_oklab,var(--foreground)_90%,var(--background))] group-active:[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
1058
+ secondary: "[--btn-bg:var(--accent)] group-hover:[--btn-bg:color-mix(in_oklab,var(--accent)_80%,var(--background))] group-active:[--btn-bg:var(--accent)] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
1059
+ tertiary: "bg-transparent shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-hover:bg-hover group-active:bg-active group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
1060
+ outline: "bg-transparent shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-hover:bg-hover group-active:bg-active group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
1061
+ ghost: "bg-transparent shadow-[0_0_0_1px_transparent] group-hover:bg-hover group-hover:shadow-[0_0_0_1px_var(--hover)] group-active:bg-active group-active:shadow-[0_0_0_0px_var(--active)]",
1062
+ destructive: "[--btn-bg:var(--destructive-light,#450A0A)] group-hover:[--btn-bg:color-mix(in_oklab,var(--destructive-light,#450A0A)_80%,var(--background))] group-active:[--btn-bg:var(--destructive-light,#450A0A)] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--border)]",
1063
+ link: "bg-transparent shadow-none"
1064
+ };
1065
+ var activeBgVariants = {
1066
+ default: "[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
1067
+ primary: "[--btn-bg:color-mix(in_oklab,var(--foreground)_80%,var(--background))] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
1068
+ secondary: "[--btn-bg:var(--accent)] bg-[var(--btn-bg)] shadow-[0_0_0_1px_var(--btn-bg)] group-active:shadow-[0_0_0_0px_var(--btn-bg)]",
1069
+ tertiary: "bg-active shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
1070
+ outline: "bg-active shadow-[0_0_0_1px_var(--border),inset_0_0_0_0px_var(--border)] group-active:shadow-[0_0_0_0px_var(--border),inset_0_0_0_1px_var(--border)]",
1071
+ ghost: "bg-active shadow-[0_0_0_1px_var(--active)] group-active:shadow-[0_0_0_0px_var(--active)]",
1072
+ destructive: "bg-active shadow-[0_0_0_1px_var(--border)]",
1073
+ link: "bg-transparent shadow-none"
1074
+ };
1075
+ var Button$1 = forwardRef2(({ className, variant, size, asChild = false, loading = false, leadingIcon: LeadingIcon, trailingIcon: TrailingIcon, active = false, disabled, children, style, ...props }, ref) => {
1076
+ const asChildElement = asChild && isValidElement3(children) ? children : null;
1077
+ const label = asChildElement ? asChildElement.props.children : children;
1078
+ const resolvedSize = size ? legacySizeAliases[size] ?? size : "default";
1079
+ const isIconOnly = resolvedSize === "icon" || resolvedSize === "icon-compact";
1080
+ const isCompact = resolvedSize === "compact" || resolvedSize === "icon-compact";
1081
+ const iconSize = isCompact ? 14 : 16;
1082
+ const spinnerSizeClass = isCompact ? "h-7 w-7" : "h-9 w-9";
1083
+ const bgClass = active ? activeBgVariants[variant ?? "primary"] : bgVariants[variant ?? "primary"];
1084
+ const internals = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
1085
+ "aria-hidden": true,
1086
+ className: cn("absolute inset-px rounded-[inherit] transition-[box-shadow,background-color] [transition-duration:180ms,80ms] [transition-timing-function:cubic-bezier(0.23,1,0.32,1),ease] group-active:[transition-duration:80ms,80ms]", bgClass)
1087
+ }), /* @__PURE__ */ jsx("span", {
1088
+ className: "relative inline-flex min-w-0 items-center justify-center gap-[inherit]",
1089
+ children: loading ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("span", {
1090
+ className: "flex min-w-0 items-center justify-center gap-[inherit] opacity-0",
1091
+ children: [
1092
+ LeadingIcon && !isIconOnly && /* @__PURE__ */ jsx(LeadingIcon, {
1093
+ size: iconSize,
1094
+ strokeWidth: 2
1095
+ }),
1096
+ label,
1097
+ TrailingIcon && !isIconOnly && /* @__PURE__ */ jsx(TrailingIcon, {
1098
+ size: iconSize,
1099
+ strokeWidth: 2
1100
+ })
1101
+ ]
1102
+ }), /* @__PURE__ */ jsx("span", {
1103
+ className: "absolute inset-0 flex items-center justify-center",
1104
+ children: /* @__PURE__ */ jsx("svg", {
1105
+ className: spinnerSizeClass,
1106
+ viewBox: "0 0 24 24",
1107
+ fill: "none",
1108
+ children: /* @__PURE__ */ jsx("path", {
1109
+ d: "M 12 12 C 14 8.5 19 8.5 19 12 C 19 15.5 14 15.5 12 12 C 10 8.5 5 8.5 5 12 C 5 15.5 10 15.5 12 12 Z",
1110
+ stroke: "currentColor",
1111
+ strokeWidth: "1.125",
1112
+ strokeLinecap: "round",
1113
+ pathLength: "100",
1114
+ style: {
1115
+ strokeDasharray: "15 85",
1116
+ animation: "spinner-move 2s linear infinite, spinner-dash 4s ease-in-out infinite"
1117
+ }
1118
+ })
1119
+ })
1120
+ })] }) : isIconOnly ? /* @__PURE__ */ jsx("span", {
1121
+ className: "[&_svg]:stroke-[1.5] [&_svg]:transition-[stroke-width] [&_svg]:duration-80 group-hover:[&_svg]:stroke-[2]",
1122
+ children: label
1123
+ }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
1124
+ LeadingIcon && /* @__PURE__ */ jsx(LeadingIcon, {
1125
+ size: iconSize,
1126
+ strokeWidth: 1.5,
1127
+ className: "transition-[stroke-width] duration-80 group-hover:stroke-[2]"
1128
+ }),
1129
+ /* @__PURE__ */ jsx("span", {
1130
+ className: "inline-flex items-center gap-[inherit] min-w-0 [text-box:trim-both_cap_alphabetic] [&_svg]:shrink-0",
1131
+ children: label
1132
+ }),
1133
+ TrailingIcon && /* @__PURE__ */ jsx(TrailingIcon, {
1134
+ size: iconSize,
1135
+ strokeWidth: 1.5,
1136
+ className: "transition-[stroke-width] duration-80 group-hover:stroke-[2]"
1137
+ })
1138
+ ] })
1139
+ })] });
1140
+ const rootClassName = cn(buttonVariants({
1141
+ variant,
1142
+ size: resolvedSize,
1143
+ iconLeft: !isIconOnly && !!LeadingIcon,
1144
+ iconRight: !isIconOnly && !!TrailingIcon
1145
+ }), "rounded-lg", className);
1146
+ if (asChildElement) {
1147
+ const childProps = asChildElement.props;
1148
+ const composedProps = { ...props };
1149
+ for (const key of Object.keys(props)) {
1150
+ if (!/^on[A-Z]/.test(key)) continue;
1151
+ const parentHandler = props[key];
1152
+ const childHandler = childProps[key];
1153
+ if (typeof parentHandler !== "function" || typeof childHandler !== "function") continue;
1154
+ composedProps[key] = (event) => {
1155
+ childHandler(event);
1156
+ if (!event.defaultPrevented) parentHandler(event);
1157
+ };
1158
+ }
1159
+ return cloneElement2(asChildElement, {
1160
+ ...composedProps,
1161
+ ref,
1162
+ "data-slot": "button",
1163
+ className: cn(rootClassName, childProps.className),
1164
+ style: {
1165
+ ...style,
1166
+ ...childProps.style
1167
+ }
1168
+ }, internals);
1169
+ }
1170
+ return /* @__PURE__ */ jsx(Button, {
1171
+ ref,
1172
+ "data-slot": "button",
1173
+ className: rootClassName,
1174
+ disabled: disabled || loading,
1175
+ style,
1176
+ ...props,
1177
+ children: internals
1178
+ });
1179
+ });
1180
+ Button$1.displayName = "Button";
1332
1181
 
1333
1182
  export {
1183
+ __exportAll,
1334
1184
  getNodeName,
1335
1185
  getWindow,
1336
1186
  getDocumentElement,
@@ -1370,19 +1220,5 @@ export {
1370
1220
  EMPTY_OBJECT,
1371
1221
  resolveStyle,
1372
1222
  useRenderElement,
1373
- useOnMount,
1374
- addEventListener,
1375
- AnimationFrame,
1376
- useAnimationFrame,
1377
- startingStyle,
1378
- endingStyle,
1379
- TransitionStatusDataAttributes_exports,
1380
- transitionStatusMapping,
1381
- resolveRef,
1382
- useAnimationsFinished,
1383
- useOpenChangeComplete,
1384
- useId,
1385
- reason_parts_exports,
1386
- createChangeEventDetails,
1387
- useValueAsRef
1223
+ Button$1
1388
1224
  };