@qredence/fleet 0.7.4 → 0.9.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 (227) hide show
  1. package/CHANGELOG.md +48 -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-BlVq-tcv.js +1 -0
  7. package/dist/web/client/assets/FloatingPortal-D8-EPDs2.js +1 -0
  8. package/dist/web/client/assets/activity-BPIKUzOU.js +1 -0
  9. package/dist/web/client/assets/agents-CGjUBYX7.js +2 -0
  10. package/dist/web/client/assets/agents-page-CTuFJL9H.js +1 -0
  11. package/dist/web/client/assets/alert-CzWGeumf.js +1 -0
  12. package/dist/web/client/assets/alert-dialog-D-e1Pr4q.js +1 -0
  13. package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
  14. package/dist/web/client/assets/artifacts-panel-6JEdy6jU.js +1 -0
  15. package/dist/web/client/assets/badge-CzQFgmVK.js +1 -0
  16. package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
  17. package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
  18. package/dist/web/client/assets/chat-command-palette-Bxr5EkO6.js +1 -0
  19. package/dist/web/client/assets/chat-hpzV6IA6.js +57 -0
  20. package/dist/web/client/assets/chat-queries-CfZiupub.js +3 -0
  21. package/dist/web/client/assets/clock-3-BwWCSCm_.js +1 -0
  22. package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
  23. package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
  24. package/dist/web/client/assets/{command-CmtCIDdH.js → command-xo-NK4xO.js} +1 -1
  25. package/dist/web/client/assets/connectors-CFxLqG2x.js +2 -0
  26. package/dist/web/client/assets/connectors-page-DQJdoAnl.js +1 -0
  27. package/dist/web/client/assets/create-project-dialog-Db-WhUmP.js +1 -0
  28. package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
  29. package/dist/web/client/assets/dialog-CK8dym6z.js +1 -0
  30. package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
  31. package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
  32. package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-DSaFeUii.js} +1 -1
  33. package/dist/web/client/assets/globals-DJhWyayo.css +2 -0
  34. package/dist/web/client/assets/index-C9FHZDGw.js +13 -0
  35. package/dist/web/client/assets/input-CBoTMPC_.js +1 -0
  36. package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-BFubAtz9.js} +1 -1
  37. package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
  38. package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
  39. package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
  40. package/dist/web/client/assets/mcp-connections-section-DEo6Kemv.js +2 -0
  41. package/dist/web/client/assets/message-queue-Btjt9wK2.js +1 -0
  42. package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-CbDAT0Rw.js} +1 -1
  43. package/dist/web/client/assets/mutation-Da9zdeWr.js +1 -0
  44. package/dist/web/client/assets/notify-BIL0-CGy.js +1 -0
  45. package/dist/web/client/assets/open-panel-action-message-SdA1VU42.js +1 -0
  46. package/dist/web/client/assets/openui-renderer-DG-iML7M.js +291 -0
  47. package/dist/web/client/assets/pencil-Cbgq3ybX.js +1 -0
  48. package/dist/web/client/assets/plus-DUP2JPVG.js +1 -0
  49. package/dist/web/client/assets/product-page-header-Ck6I13CE.js +1 -0
  50. package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
  51. package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
  52. package/dist/web/client/assets/provider-catalog-CLEDlH_v.js +1 -0
  53. package/dist/web/client/assets/provider-label-BItazQ6H.js +1 -0
  54. package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
  55. package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
  56. package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
  57. package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
  58. package/dist/web/client/assets/right-panel-context-CjX-HkDO.js +1 -0
  59. package/dist/web/client/assets/right-panel-registry-BAJ6TuEY.js +2 -0
  60. package/dist/web/client/assets/rotate-ccw-DLkfsmG9.js +1 -0
  61. package/dist/web/client/assets/routes-ja_liP8Z.js +14 -0
  62. package/dist/web/client/assets/select-DYh951qi.js +1 -0
  63. package/dist/web/client/assets/session-activity-panel-DwaXiSrS.js +1 -0
  64. package/dist/web/client/assets/{session-insights-panel-D0v_DKcb.js → session-insights-panel-BXEmuJKf.js} +1 -1
  65. package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
  66. package/dist/web/client/assets/session-tool-renderer-DEABxZG3.js +166 -0
  67. package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-5QgMvXoX.js} +1 -1
  68. package/dist/web/client/assets/settings-dialog-DiikSLhF.js +1 -0
  69. package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
  70. package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
  71. package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
  72. package/dist/web/client/assets/sparkles-CASAe1AI.js +1 -0
  73. package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
  74. package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-R2RoX1Yt.js} +1 -1
  75. package/dist/web/client/assets/subagent-transcript-DVZhMo7a.js +1 -0
  76. package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-CMMRUP8F.js} +1 -1
  77. package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
  78. package/dist/web/client/assets/switch-BrxDfsX6.js +1 -0
  79. package/dist/web/client/assets/toast-BNWkgZ0u.js +1 -0
  80. package/dist/web/client/assets/tool-output-normalizer-DDU09Zc6.js +4 -0
  81. package/dist/web/client/assets/tool-part-normalizer-CF6bmJ0s.js +4 -0
  82. package/dist/web/client/assets/tool-result-7qREIVv_.js +5 -0
  83. package/dist/web/client/assets/tool-timeline-CGhwMeNl.js +2 -0
  84. package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
  85. package/dist/web/client/assets/trash-sm2UyOxe.js +1 -0
  86. package/dist/web/client/assets/types-gIgIxnnG.js +1 -0
  87. package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
  88. package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
  89. package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
  90. package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
  91. package/dist/web/client/assets/useNavigate-CVhM7pag.js +1 -0
  92. package/dist/web/client/assets/useRender-CzJUrRlB.js +1 -0
  93. package/dist/web/client/assets/useScrollLock-BcsteNzT.js +1 -0
  94. package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
  95. package/dist/web/client/assets/with-selector-B_VDO56x.js +1 -0
  96. package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
  97. package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
  98. package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
  99. package/dist/web/client/bundle-budget.json +6 -6
  100. package/dist/web/server/_tanstack-start-manifest_v-B6ne-00G-OFX7UD4K.js +119 -0
  101. package/dist/web/server/agents-BwzqhPjK-ANFHE5AG.js +22 -0
  102. package/dist/web/server/agents-page-DEqPV-eG-BR5MR74O.js +215 -0
  103. package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-DLO8OfXb-B2ZWCDFP.js} +35 -29
  104. package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-CaDQAMAu-KDH7BTDS.js} +22 -15
  105. package/dist/web/server/chunk-2ETDIMNM.js +40 -0
  106. package/dist/web/server/{chunk-2VKVSL6Y.js → chunk-35RIM6VP.js} +128 -127
  107. package/dist/web/server/chunk-5IE54MRG.js +207 -0
  108. package/dist/web/server/{chunk-VUBITQ5X.js → chunk-5MOXRFX6.js} +180 -7
  109. package/dist/web/server/{chunk-6GTTTYSE.js → chunk-6AFVCERK.js} +72 -79
  110. package/dist/web/server/chunk-6GYLXDX3.js +588 -0
  111. package/dist/web/server/chunk-7DQQMT5V.js +8993 -0
  112. package/dist/web/server/chunk-APOS34PW.js +8965 -0
  113. package/dist/web/server/{chunk-BUKOEXE7.js → chunk-AXN2OBPF.js} +2 -4
  114. package/dist/web/server/{chunk-WCKKN5BR.js → chunk-B5FKCW75.js} +357 -910
  115. package/dist/web/server/chunk-BD7YKYWL.js +1007 -0
  116. package/dist/web/server/{chunk-36CAMOVG.js → chunk-BZ2EAUZZ.js} +10 -12
  117. package/dist/web/server/chunk-CE7U5QB2.js +42 -0
  118. package/dist/web/server/chunk-FNV3WZXL.js +125 -0
  119. package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-FSQWWR2M.js} +698 -832
  120. package/dist/web/server/chunk-FT7HNDR5.js +143 -0
  121. package/dist/web/server/chunk-GNXIDE26.js +44 -0
  122. package/dist/web/server/{chunk-ORCOCCER.js → chunk-HAFELESQ.js} +5 -7
  123. package/dist/web/server/{chunk-LLO4MNGE.js → chunk-HUHUPGHT.js} +53 -45
  124. package/dist/web/server/{chunk-QSM3BRMA.js → chunk-KBMRRJQN.js} +256 -157
  125. package/dist/web/server/chunk-KDCSEISZ.js +6890 -0
  126. package/dist/web/server/chunk-KSGGSGOA.js +50 -0
  127. package/dist/web/server/chunk-PQVTLG3E.js +270 -0
  128. package/dist/web/server/{chunk-YU6RHHK6.js → chunk-Q4ECIATK.js} +65 -53
  129. package/dist/web/server/{chunk-IN2ATSEG.js → chunk-R4BS3KYI.js} +2 -4
  130. package/dist/web/server/chunk-RX2ZJARF.js +73 -0
  131. package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
  132. package/dist/web/server/chunk-TOJA3X5N.js +421 -0
  133. package/dist/web/server/chunk-TQ2RECTH.js +193 -0
  134. package/dist/web/server/{chunk-KHHXJZK7.js → chunk-TTNONWZZ.js} +16001 -14668
  135. package/dist/web/server/chunk-TXZDDJCT.js +5115 -0
  136. package/dist/web/server/{chunk-XA7EOCHM.js → chunk-UDUG3MYZ.js} +2 -2
  137. package/dist/web/server/{chunk-EBC7QORX.js → chunk-V2GCVTDP.js} +5056 -12556
  138. package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-VDEUVEWL.js} +2255 -1
  139. package/dist/web/server/chunk-VM3U6PUU.js +769 -0
  140. package/dist/web/server/connectors-C0xm91Ss-DJVBGD73.js +22 -0
  141. package/dist/web/server/connectors-page-B6tJNZ6c-R5K4NSAT.js +66 -0
  142. package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-PFPHHWIV-GH7JR5IK.js} +27 -18
  143. package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
  144. package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
  145. package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-DFpKOdAw-JPLJSYYU.js} +7 -12
  146. package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-Cc8V9dOF-JTNTJKQU.js} +7 -5
  147. package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-gaRnbgNM-V5LIRYCD.js} +46 -8
  148. package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-nQ2_kU82-KKSLYR4S.js} +7 -16
  149. package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-By_G7_Hr-GXT27BZO.js} +12 -16
  150. package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-B9D8-Av--LFZP4U5V.js} +20 -15
  151. package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-B67Uy5Rk-5SMTSIFQ.js} +5 -4
  152. package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
  153. package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-POXRYDDJ.js} +2 -3
  154. package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-CTzOOKPz-5G6RS2D6.js} +18 -12
  155. package/dist/web/server/router-CnBux_Ld-YTVBMJFL.js +23 -0
  156. package/dist/web/server/routes-BUGzvQoO-WW43X7W2.js +124 -0
  157. package/dist/web/server/server.js +3 -3
  158. package/dist/web/server/session-activity-panel-f0d3fCm7-I6L5IKFQ.js +181 -0
  159. package/dist/web/server/{session-insights-panel-CfMX2NRu-6HWZTTAC.js → session-insights-panel-BiVObm_6-AP4FITT7.js} +2 -12
  160. package/dist/web/server/session-reasoning-panel-QIt_xjP0-FKJWMNHO.js +70 -0
  161. package/dist/web/server/session-tool-renderer-Cg_ZPHxS-BNQKNJNZ.js +34 -0
  162. package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-B--el8O5-NZOZJM5L.js} +18 -13
  163. package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-D_eJN2ia-W47Y474K.js} +104 -795
  164. package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-C9nWP21E-D5C2TTYD.js} +22 -17
  165. package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-fAKvBNRG-O7QHXNE2.js} +26 -22
  166. package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-CZMNMU63-SYOSM3B7.js} +23 -17
  167. package/package.json +2 -2
  168. package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
  169. package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
  170. package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
  171. package/dist/web/client/assets/alert-dialog-DtXvVhsF.js +0 -1
  172. package/dist/web/client/assets/artifacts-panel-Bseg97yQ.js +0 -1
  173. package/dist/web/client/assets/badge-C--lf3bb.js +0 -57
  174. package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
  175. package/dist/web/client/assets/chat-command-palette-D_rm1r9d.js +0 -1
  176. package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
  177. package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
  178. package/dist/web/client/assets/create-project-dialog-m-9aoobN.js +0 -1
  179. package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
  180. package/dist/web/client/assets/dialog-Ddouieuu.js +0 -1
  181. package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
  182. package/dist/web/client/assets/globals-C961mr-b.css +0 -2
  183. package/dist/web/client/assets/index-Bz5W4EOn.js +0 -13
  184. package/dist/web/client/assets/input-Def1xOZz.js +0 -1
  185. package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
  186. package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
  187. package/dist/web/client/assets/message-queue-Bg2MiJHM.js +0 -1
  188. package/dist/web/client/assets/mutation-DOi2Qgfa.js +0 -1
  189. package/dist/web/client/assets/notify-DhtmUPfE.js +0 -1
  190. package/dist/web/client/assets/openui-renderer-MIB3JKYa.js +0 -291
  191. package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
  192. package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
  193. package/dist/web/client/assets/right-panel-context-DHKWoetk.js +0 -1
  194. package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
  195. package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
  196. package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
  197. package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
  198. package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
  199. package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
  200. package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
  201. package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
  202. package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
  203. package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
  204. package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
  205. package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
  206. package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
  207. package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
  208. package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
  209. package/dist/web/client/assets/types-D5hZ8IyV.js +0 -1
  210. package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
  211. package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
  212. package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
  213. package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
  214. package/dist/web/server/_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js +0 -93
  215. package/dist/web/server/chunk-2PAW6K4Q.js +0 -56
  216. package/dist/web/server/chunk-CHSKEU3V.js +0 -166
  217. package/dist/web/server/chunk-FB3UHLLN.js +0 -49
  218. package/dist/web/server/chunk-GLH2GWMG.js +0 -2182
  219. package/dist/web/server/chunk-OXEAXEWD.js +0 -13
  220. package/dist/web/server/chunk-SIJVVYQT.js +0 -234
  221. package/dist/web/server/chunk-UQV2NU63.js +0 -163
  222. package/dist/web/server/chunk-ZUZPJNLY.js +0 -25217
  223. package/dist/web/server/router-DZYr-9uT-AEXHEFXF.js +0 -31
  224. package/dist/web/server/routes-vYxWRhis-AAZ73SNP.js +0 -120
  225. package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
  226. package/dist/web/server/session-tool-renderer-Dtt74Mts-7YYNSWRV.js +0 -29
  227. package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
@@ -1,56 +1,51 @@
1
1
  import {
2
- __export
3
- } from "./chunk-CZ7CSFO4.js";
4
-
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
9
- };
10
-
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
- }
2
+ cn
3
+ } from "./chunk-VDEUVEWL.js";
4
+ import {
5
+ clsx
6
+ } from "./chunk-NXAVRSI5.js";
21
7
 
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;
8
+ // node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs
9
+ var falsyToString = (value) => typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
10
+ var cx = clsx;
11
+ var cva = (base, config) => (props) => {
12
+ var _config_compoundVariants;
13
+ if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
14
+ const { variants, defaultVariants } = config;
15
+ const getVariantClassNames = Object.keys(variants).map((variant) => {
16
+ const variantProp = props === null || props === void 0 ? void 0 : props[variant];
17
+ const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
18
+ if (variantProp === null) return null;
19
+ const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
20
+ return variants[variant][variantKey];
21
+ });
22
+ const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param) => {
23
+ let [key, value] = param;
24
+ if (value === void 0) {
25
+ return acc;
42
26
  }
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
- }
27
+ acc[key] = value;
28
+ return acc;
29
+ }, {});
30
+ const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param) => {
31
+ let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;
32
+ return Object.entries(compoundVariantOptions).every((param2) => {
33
+ let [key, value] = param2;
34
+ return Array.isArray(value) ? value.includes({
35
+ ...defaultVariants,
36
+ ...propsWithoutUndefined
37
+ }[key]) : {
38
+ ...defaultVariants,
39
+ ...propsWithoutUndefined
40
+ }[key] === value;
41
+ }) ? [
42
+ ...acc,
43
+ cvClass,
44
+ cvClassName
45
+ ] : acc;
46
+ }, []);
47
+ return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
48
+ };
54
49
 
55
50
  // 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
51
  function mergeObjects(a, b) {
@@ -224,375 +219,76 @@ function isSyntheticEvent(event) {
224
219
  return event != null && typeof event === "object" && "nativeEvent" in event;
225
220
  }
226
221
 
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;
222
+ // web/app/dist/server/assets/button-Bv8fhdeH.js
223
+ import { cloneElement as cloneElement2, forwardRef as forwardRef2, isValidElement as isValidElement3 } from "react";
224
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
238
225
 
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";
226
+ // 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
227
+ import * as React10 from "react";
241
228
 
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;
229
+ // 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
230
+ import * as React6 from "react";
231
+
232
+ // node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
233
+ function hasWindow() {
234
+ return typeof window !== "undefined";
249
235
  }
250
- function useMergedRefsN(refs) {
251
- const forkRef = useRefWithInit(createForkRef).current;
252
- if (didChangeN(forkRef, refs)) {
253
- update(forkRef, refs);
236
+ function getNodeName(node) {
237
+ if (isNode(node)) {
238
+ return (node.nodeName || "").toLowerCase();
254
239
  }
255
- return forkRef.callback;
256
- }
257
- function createForkRef() {
258
- return {
259
- callback: null,
260
- cleanup: null,
261
- refs: []
262
- };
240
+ return "#document";
263
241
  }
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;
242
+ function getWindow(node) {
243
+ var _node$ownerDocument;
244
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
266
245
  }
267
- function didChangeN(forkRef, newRefs) {
268
- return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);
246
+ function getDocumentElement(node) {
247
+ var _ref;
248
+ return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
269
249
  }
270
- function update(forkRef, refs) {
271
- forkRef.refs = refs;
272
- if (refs.every((ref) => ref == null)) {
273
- forkRef.callback = null;
274
- return;
250
+ function isNode(value) {
251
+ if (!hasWindow()) {
252
+ return false;
275
253
  }
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
- };
254
+ return value instanceof Node || value instanceof getWindow(value).Node;
329
255
  }
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;
256
+ function isElement(value) {
257
+ if (!hasWindow()) {
258
+ return false;
259
+ }
260
+ return value instanceof Element || value instanceof getWindow(value).Element;
339
261
  }
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;
262
+ function isHTMLElement(value) {
263
+ if (!hasWindow()) {
264
+ return false;
345
265
  }
346
- const reactElement = element;
347
- const propsWithRef = reactElement.props;
348
- return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
266
+ return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
349
267
  }
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();
268
+ function isShadowRoot(value) {
269
+ if (!hasWindow() || typeof ShadowRoot === "undefined") {
270
+ return false;
271
+ }
272
+ return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
355
273
  }
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
- };
274
+ function isOverflowElement(element) {
275
+ const {
276
+ overflow,
277
+ overflowX,
278
+ overflowY,
279
+ display
280
+ } = getComputedStyle(element);
281
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
372
282
  }
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() {
283
+ function isTableElement(element) {
284
+ return /^(table|td|th)$/.test(getNodeName(element));
379
285
  }
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();
286
+ function isTopLayer(element) {
287
+ try {
288
+ if (element.matches(":popover-open")) {
289
+ return true;
399
290
  }
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) {
291
+ } catch (_e) {
596
292
  }
597
293
  try {
598
294
  return element.matches(":modal");
@@ -689,114 +385,196 @@ function getFrameElement(win) {
689
385
  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
690
386
  }
691
387
 
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 = () => {
388
+ // 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
389
+ import * as React from "react";
390
+ var SafeReact = {
391
+ ...React
698
392
  };
699
- var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
700
393
 
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));
394
+ // 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
395
+ import * as React2 from "react";
396
+ var UNINITIALIZED = {};
397
+ function useRefWithInit(init, initArg) {
398
+ const ref = React2.useRef(UNINITIALIZED);
399
+ if (ref.current === UNINITIALIZED) {
400
+ ref.current = init(initArg);
709
401
  }
710
- return context;
402
+ return ref;
711
403
  }
712
404
 
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;
405
+ // 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
406
+ var useInsertionEffect = SafeReact.useInsertionEffect;
407
+ var useSafeInsertionEffect = (
408
+ // React 17 doesn't have useInsertionEffect.
409
+ useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
410
+ useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
411
+ );
412
+ function useStableCallback(callback) {
413
+ const stable = useRefWithInit(createStableCallback).current;
414
+ stable.next = callback;
415
+ useSafeInsertionEffect(stable.effect);
416
+ return stable.trampoline;
716
417
  }
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
- }));
418
+ function createStableCallback() {
419
+ const stable = {
420
+ next: void 0,
421
+ callback: assertNotCalled,
422
+ trampoline: (...args) => stable.callback?.(...args),
423
+ effect: () => {
424
+ stable.callback = stable.next;
425
+ }
426
+ };
427
+ return stable;
428
+ }
429
+ function assertNotCalled() {
430
+ if (process.env.NODE_ENV !== "production") {
431
+ throw (
432
+ /* minify-error-disabled */
433
+ new Error("Base UI: Cannot call an event handler while rendering.")
434
+ );
435
+ }
732
436
  }
733
437
 
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";
438
+ // 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
439
+ var loggedMessages;
440
+ if (process.env.NODE_ENV !== "production") {
441
+ loggedMessages = /* @__PURE__ */ new Set();
442
+ }
443
+ function createLogOnce(severity, prefix) {
444
+ return function logOnce(...messages) {
445
+ if (process.env.NODE_ENV !== "production") {
446
+ const message = messages.join(" ");
447
+ const output = prefix ? `${prefix}: ${message}` : message;
448
+ const key = `${severity}:${output}`;
449
+ if (!loggedMessages.has(key)) {
450
+ loggedMessages.add(key);
451
+ if (severity === "warn") {
452
+ console.warn(output);
453
+ } else {
454
+ console.error(output);
455
+ }
456
+ }
457
+ }
458
+ };
459
+ }
460
+
461
+ // 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
462
+ var error = createLogOnce("error", "Base UI");
463
+
464
+ // 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
465
+ import * as React3 from "react";
466
+ var noop = () => {
467
+ };
468
+ var useIsoLayoutEffect = typeof document !== "undefined" ? React3.useLayoutEffect : noop;
469
+
470
+ // 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
471
+ function createFormatErrorMessage(baseUrl, prefix) {
472
+ return function formatErrorMessage2(code, ...args) {
473
+ const url = new URL(baseUrl);
474
+ url.searchParams.set("code", code.toString());
475
+ args.forEach((arg) => url.searchParams.append("args[]", arg));
476
+ return `${prefix} error #${code}; visit ${url} for the full message.`;
477
+ };
478
+ }
479
+ var formatErrorMessage = createFormatErrorMessage("https://base-ui.com/production-error", "Base UI");
480
+ var formatErrorMessage_default = formatErrorMessage;
481
+
482
+ // 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
483
+ import * as React4 from "react";
484
+ var CompositeRootContext = /* @__PURE__ */ React4.createContext(void 0);
485
+ if (process.env.NODE_ENV !== "production") CompositeRootContext.displayName = "CompositeRootContext";
486
+ function useCompositeRootContext(optional = false) {
487
+ const context = React4.useContext(CompositeRootContext);
488
+ if (context === void 0 && !optional) {
489
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
490
+ }
491
+ return context;
492
+ }
736
493
 
737
494
  // 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";
495
+ import * as React5 from "react";
739
496
  function useFocusableWhenDisabled(parameters) {
740
497
  const {
741
498
  focusableWhenDisabled,
742
- disabled: disabled2,
499
+ disabled,
743
500
  composite = false,
744
501
  tabIndex: tabIndexProp = 0,
745
502
  isNativeButton
746
503
  } = parameters;
747
504
  const isFocusableComposite = composite && focusableWhenDisabled !== false;
748
505
  const isNonFocusableComposite = composite && focusableWhenDisabled === false;
749
- const props = React8.useMemo(() => {
506
+ const props = React5.useMemo(() => {
750
507
  const additionalProps = {
751
508
  // allow Tabbing away from focusableWhenDisabled elements
752
509
  onKeyDown(event) {
753
- if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
510
+ if (disabled && focusableWhenDisabled && event.key !== "Tab") {
754
511
  event.preventDefault();
755
512
  }
756
513
  }
757
514
  };
758
515
  if (!composite) {
759
516
  additionalProps.tabIndex = tabIndexProp;
760
- if (!isNativeButton && disabled2) {
517
+ if (!isNativeButton && disabled) {
761
518
  additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
762
519
  }
763
520
  }
764
- if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
765
- additionalProps["aria-disabled"] = disabled2;
521
+ if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {
522
+ additionalProps["aria-disabled"] = disabled;
766
523
  }
767
524
  if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
768
- additionalProps.disabled = disabled2;
525
+ additionalProps.disabled = disabled;
769
526
  }
770
527
  return additionalProps;
771
- }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
528
+ }, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
772
529
  return {
773
530
  props
774
531
  };
775
532
  }
776
533
 
534
+ // 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
535
+ function ownerDocument(node) {
536
+ return node?.ownerDocument || document;
537
+ }
538
+
539
+ // 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
540
+ function dispatchClickWithModifiers(target, sourceEvent, {
541
+ detail = 0
542
+ } = {}) {
543
+ target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
544
+ bubbles: true,
545
+ cancelable: true,
546
+ composed: true,
547
+ detail,
548
+ shiftKey: sourceEvent.shiftKey,
549
+ ctrlKey: sourceEvent.ctrlKey,
550
+ altKey: sourceEvent.altKey,
551
+ metaKey: sourceEvent.metaKey
552
+ }));
553
+ }
554
+
777
555
  // 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
556
  function useButton(parameters = {}) {
779
557
  const {
780
- disabled: disabled2 = false,
558
+ disabled = false,
781
559
  focusableWhenDisabled,
782
560
  tabIndex = 0,
783
561
  native: isNativeButton = true,
784
562
  composite: compositeProp
785
563
  } = parameters;
786
- const elementRef = React9.useRef(null);
564
+ const elementRef = React6.useRef(null);
787
565
  const compositeRootContext = useCompositeRootContext(true);
788
566
  const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
789
567
  const {
790
568
  props: focusableWhenDisabledProps
791
569
  } = useFocusableWhenDisabled({
792
570
  focusableWhenDisabled,
793
- disabled: disabled2,
571
+ disabled,
794
572
  composite: isCompositeItem,
795
573
  tabIndex,
796
574
  isNativeButton
797
575
  });
798
576
  if (process.env.NODE_ENV !== "production") {
799
- React9.useEffect(() => {
577
+ React6.useEffect(() => {
800
578
  if (!elementRef.current) {
801
579
  return;
802
580
  }
@@ -814,17 +592,17 @@ function useButton(parameters = {}) {
814
592
  }
815
593
  }, [isNativeButton]);
816
594
  }
817
- const updateDisabled = React9.useCallback(() => {
595
+ const updateDisabled = React6.useCallback(() => {
818
596
  const element = elementRef.current;
819
597
  if (!isButtonElement(element)) {
820
598
  return;
821
599
  }
822
- if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
600
+ if (isCompositeItem && disabled && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
823
601
  element.disabled = false;
824
602
  }
825
- }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
603
+ }, [disabled, focusableWhenDisabledProps.disabled, isCompositeItem]);
826
604
  useIsoLayoutEffect(updateDisabled, [updateDisabled]);
827
- const getButtonProps = React9.useCallback((externalProps = {}) => {
605
+ const getButtonProps = React6.useCallback((externalProps = {}) => {
828
606
  const {
829
607
  onClick: externalOnClick,
830
608
  onMouseDown: externalOnMouseDown,
@@ -835,19 +613,19 @@ function useButton(parameters = {}) {
835
613
  } = externalProps;
836
614
  return mergeProps({
837
615
  onClick(event) {
838
- if (disabled2) {
616
+ if (disabled) {
839
617
  event.preventDefault();
840
618
  return;
841
619
  }
842
620
  externalOnClick?.(event);
843
621
  },
844
622
  onMouseDown(event) {
845
- if (!disabled2) {
623
+ if (!disabled) {
846
624
  externalOnMouseDown?.(event);
847
625
  }
848
626
  },
849
627
  onKeyDown(event) {
850
- if (disabled2) {
628
+ if (disabled) {
851
629
  return;
852
630
  }
853
631
  makeEventPreventable(event);
@@ -891,7 +669,7 @@ function useButton(parameters = {}) {
891
669
  }
892
670
  },
893
671
  onKeyUp(event) {
894
- if (disabled2) {
672
+ if (disabled) {
895
673
  return;
896
674
  }
897
675
  makeEventPreventable(event);
@@ -909,7 +687,7 @@ function useButton(parameters = {}) {
909
687
  }
910
688
  },
911
689
  onPointerDown(event) {
912
- if (disabled2) {
690
+ if (disabled) {
913
691
  event.preventDefault();
914
692
  return;
915
693
  }
@@ -920,7 +698,7 @@ function useButton(parameters = {}) {
920
698
  } : {
921
699
  role: "button"
922
700
  }, focusableWhenDisabledProps, otherExternalProps);
923
- }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
701
+ }, [disabled, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
924
702
  const buttonRef = useStableCallback((element) => {
925
703
  elementRef.current = element;
926
704
  updateDisabled();
@@ -937,400 +715,502 @@ function isValidLinkElement(elem) {
937
715
  return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
938
716
  }
939
717
 
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
- }
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/internals/useRenderElement.mjs
719
+ import * as React9 from "react";
947
720
 
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);
721
+ // 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
722
+ function useMergedRefs(a, b, c, d) {
723
+ const forkRef = useRefWithInit(createForkRef).current;
724
+ if (didChange(forkRef, a, b, c, d)) {
725
+ update(forkRef, [a, b, c, d]);
726
+ }
727
+ return forkRef.callback;
952
728
  }
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
- }
729
+ function useMergedRefsN(refs) {
730
+ const forkRef = useRefWithInit(createForkRef).current;
731
+ if (didChangeN(forkRef, refs)) {
732
+ update(forkRef, refs);
733
+ }
734
+ return forkRef.callback;
735
+ }
736
+ function createForkRef() {
737
+ return {
738
+ callback: null,
739
+ cleanup: null,
740
+ refs: []
982
741
  };
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;
742
+ }
743
+ function didChange(forkRef, a, b, c, d) {
744
+ return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
745
+ }
746
+ function didChangeN(forkRef, newRefs) {
747
+ return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);
748
+ }
749
+ function update(forkRef, refs) {
750
+ forkRef.refs = refs;
751
+ if (refs.every((ref) => ref == null)) {
752
+ forkRef.callback = null;
753
+ return;
994
754
  }
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;
755
+ forkRef.callback = (instance) => {
756
+ if (forkRef.cleanup) {
757
+ forkRef.cleanup();
758
+ forkRef.cleanup = null;
1002
759
  }
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;
760
+ if (instance != null) {
761
+ const cleanupCallbacks = Array(refs.length).fill(null);
762
+ for (let i = 0; i < refs.length; i += 1) {
763
+ const ref = refs[i];
764
+ if (ref == null) {
765
+ continue;
766
+ }
767
+ switch (typeof ref) {
768
+ case "function": {
769
+ const refCleanup = ref(instance);
770
+ if (typeof refCleanup === "function") {
771
+ cleanupCallbacks[i] = refCleanup;
772
+ }
773
+ break;
774
+ }
775
+ case "object": {
776
+ ref.current = instance;
777
+ break;
778
+ }
779
+ default:
780
+ }
781
+ }
782
+ forkRef.cleanup = () => {
783
+ for (let i = 0; i < refs.length; i += 1) {
784
+ const ref = refs[i];
785
+ if (ref == null) {
786
+ continue;
787
+ }
788
+ switch (typeof ref) {
789
+ case "function": {
790
+ const cleanupCallback = cleanupCallbacks[i];
791
+ if (typeof cleanupCallback === "function") {
792
+ cleanupCallback();
793
+ } else {
794
+ void ref(null);
795
+ }
796
+ break;
797
+ }
798
+ case "object": {
799
+ ref.current = null;
800
+ break;
801
+ }
802
+ default:
803
+ }
804
+ }
805
+ };
1033
806
  }
1034
807
  };
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
808
  }
1044
809
 
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";
810
+ // 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
811
+ import * as React8 from "react";
1053
812
 
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
- }
813
+ // 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
814
+ import * as React7 from "react";
815
+ var majorVersion = parseInt(React7.version, 10);
816
+ function isReactVersionAtLeast(reactVersionToCheck) {
817
+ return majorVersion >= reactVersionToCheck;
818
+ }
819
+
820
+ // 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
821
+ function getReactElementRef(element) {
822
+ if (!/* @__PURE__ */ React8.isValidElement(element)) {
1069
823
  return null;
1070
824
  }
1071
- };
825
+ const reactElement = element;
826
+ const propsWithRef = reactElement.props;
827
+ return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
828
+ }
1072
829
 
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";
830
+ // 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
831
+ var warn = createLogOnce("warn", "Base UI");
1075
832
 
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;
833
+ // 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
834
+ function NOOP() {
1082
835
  }
836
+ var EMPTY_ARRAY = Object.freeze([]);
837
+ var EMPTY_OBJECT = Object.freeze({});
1083
838
 
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;
839
+ // 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
840
+ function getStateAttributesProps(state, customMapping) {
841
+ const props = {};
842
+ for (const key in state) {
843
+ const value = state[key];
844
+ if (customMapping?.hasOwnProperty(key)) {
845
+ const customProps = customMapping[key](value);
846
+ if (customProps != null) {
847
+ Object.assign(props, customProps);
1114
848
  }
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
- });
849
+ continue;
1141
850
  }
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;
851
+ if (value === true) {
852
+ props[`data-${key.toLowerCase()}`] = "";
853
+ } else if (value) {
854
+ props[`data-${key.toLowerCase()}`] = value.toString();
1162
855
  }
1163
- frame.request(exec);
1164
- });
856
+ }
857
+ return props;
1165
858
  }
1166
859
 
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) {
860
+ // 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
861
+ function resolveClassName(className, state) {
862
+ return typeof className === "function" ? className(state) : className;
863
+ }
864
+
865
+ // 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
866
+ function resolveStyle(style, state) {
867
+ return typeof style === "function" ? style(state) : style;
868
+ }
869
+
870
+ // 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
871
+ import { createElement as _createElement } from "react";
872
+ function useRenderElement(element, componentProps, params = {}) {
873
+ let renderProp = componentProps.render;
874
+ if (params.enabled !== false) {
875
+ renderProp = unwrapLazyRenderProp(renderProp);
876
+ }
877
+ const outProps = useRenderElementProps(componentProps, params, renderProp);
878
+ if (params.enabled === false) {
879
+ return null;
880
+ }
881
+ const state = params.state ?? EMPTY_OBJECT;
882
+ return evaluateRenderProp(element, renderProp, outProps, state);
883
+ }
884
+ function useRenderElementProps(componentProps, params, renderProp) {
1170
885
  const {
1171
- enabled = true,
1172
- open,
886
+ className: classNameProp,
887
+ style: styleProp
888
+ } = componentProps;
889
+ const {
890
+ state = EMPTY_OBJECT,
1173
891
  ref,
1174
- batch = false,
1175
- onComplete: onCompleteParam
1176
- } = parameters;
1177
- const onComplete = useStableCallback(onCompleteParam);
1178
- const runOnceAnimationsFinish = useAnimationsFinished(ref, open, batch);
1179
- React11.useEffect(() => {
892
+ props,
893
+ stateAttributesMapping,
894
+ enabled = true
895
+ } = params;
896
+ const className = enabled ? resolveClassName(classNameProp, state) : void 0;
897
+ const style = enabled ? resolveStyle(styleProp, state) : void 0;
898
+ const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping) : EMPTY_OBJECT;
899
+ const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
900
+ const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
901
+ if (typeof document !== "undefined") {
1180
902
  if (!enabled) {
1181
- return void 0;
903
+ void useMergedRefs(null, null);
904
+ } else if (Array.isArray(ref)) {
905
+ outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
906
+ } else {
907
+ outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
1182
908
  }
1183
- const abortController = new AbortController();
1184
- runOnceAnimationsFinish(onComplete, abortController.signal);
1185
- return () => {
1186
- abortController.abort();
1187
- };
1188
- }, [enabled, open, onComplete, runOnceAnimationsFinish]);
909
+ }
910
+ if (!enabled) {
911
+ return EMPTY_OBJECT;
912
+ }
913
+ if (className !== void 0) {
914
+ outProps.className = mergeClassNames(outProps.className, className);
915
+ }
916
+ if (style !== void 0) {
917
+ outProps.style = mergeObjects(outProps.style, style);
918
+ }
919
+ return outProps;
1189
920
  }
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}`);
921
+ function resolveRenderFunctionProps(props) {
922
+ if (Array.isArray(props)) {
923
+ return mergePropsN(props);
924
+ }
925
+ return mergeProps(void 0, props);
926
+ }
927
+ var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
928
+ var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
929
+ var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
930
+ function unwrapLazyRenderProp(render) {
931
+ if (render?.$$typeof !== REACT_LAZY_TYPE) {
932
+ return render;
933
+ }
934
+ const unwrapped = React9.Children.toArray(render)[0];
935
+ return /* @__PURE__ */ React9.isValidElement(unwrapped) ? unwrapped : render;
936
+ }
937
+ function evaluateRenderProp(element, render, props, state) {
938
+ if (render) {
939
+ if (typeof render === "function") {
940
+ if (process.env.NODE_ENV !== "production") {
941
+ warnIfRenderPropLooksLikeComponent(render);
942
+ }
943
+ return render(props, state);
1201
944
  }
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);
945
+ const mergedProps = mergeProps(props, render.props);
946
+ mergedProps.ref = props.ref;
947
+ if (process.env.NODE_ENV !== "production") {
948
+ if (!/* @__PURE__ */ React9.isValidElement(render)) {
949
+ 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"));
950
+ }
951
+ }
952
+ return /* @__PURE__ */ React9.cloneElement(render, mergedProps);
953
+ }
954
+ if (element) {
955
+ if (typeof element === "string") {
956
+ return renderTag(element, props);
957
+ }
958
+ }
959
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: Render element or function are not defined." : formatErrorMessage_default(8));
960
+ }
961
+ function warnIfRenderPropLooksLikeComponent(renderFn) {
962
+ const functionName = renderFn.name;
963
+ if (functionName.length === 0) {
964
+ return;
965
+ }
966
+ if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
967
+ return;
968
+ }
969
+ if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
970
+ return;
1210
971
  }
1211
- return useGlobalId(idOverride, prefix);
972
+ 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");
973
+ }
974
+ function renderTag(Tag, props) {
975
+ if (Tag === "button") {
976
+ return /* @__PURE__ */ _createElement("button", {
977
+ type: "button",
978
+ ...props,
979
+ key: props.key
980
+ });
981
+ }
982
+ if (Tag === "img") {
983
+ return /* @__PURE__ */ _createElement("img", {
984
+ alt: "",
985
+ ...props,
986
+ key: props.key
987
+ });
988
+ }
989
+ return /* @__PURE__ */ React9.createElement(Tag, props);
1212
990
  }
1213
991
 
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
992
+ // 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
993
+ var Button = /* @__PURE__ */ React10.forwardRef(function Button2(componentProps, forwardedRef) {
994
+ const {
995
+ render,
996
+ className,
997
+ disabled = false,
998
+ focusableWhenDisabled = false,
999
+ nativeButton = true,
1000
+ style,
1001
+ ...elementProps
1002
+ } = componentProps;
1003
+ const {
1004
+ getButtonProps,
1005
+ buttonRef
1006
+ } = useButton({
1007
+ disabled,
1008
+ focusableWhenDisabled,
1009
+ native: nativeButton
1010
+ });
1011
+ const state = {
1012
+ disabled
1013
+ };
1014
+ return useRenderElement("button", componentProps, {
1015
+ state,
1016
+ ref: [forwardedRef, buttonRef],
1017
+ props: [elementProps, getButtonProps]
1018
+ });
1252
1019
  });
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";
1020
+ if (process.env.NODE_ENV !== "production") Button.displayName = "Button";
1288
1021
 
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;
1022
+ // web/app/dist/server/assets/button-Bv8fhdeH.js
1023
+ var buttonVariants = cva([
1024
+ "group relative isolate inline-flex items-center justify-center outline-none cursor-pointer",
1025
+ "transition-colors duration-80",
1026
+ "disabled:opacity-50 disabled:pointer-events-none",
1027
+ "focus-visible:ring-1 focus-visible:ring-[color:var(--focus-ring,#6B97FF)]"
1028
+ ], {
1029
+ variants: {
1030
+ variant: {
1031
+ default: "text-background",
1032
+ primary: "text-background",
1033
+ secondary: "text-foreground",
1034
+ tertiary: "text-foreground",
1035
+ outline: "text-foreground",
1036
+ ghost: "text-muted-foreground hover:text-foreground",
1037
+ destructive: "text-destructive",
1038
+ link: "text-primary underline-offset-4 hover:underline"
1299
1039
  },
1300
- allowPropagation() {
1301
- allowPropagation = true;
1040
+ size: {
1041
+ default: "h-9 px-4 text-[13px] gap-1.5 [&_svg:not([class*='size-'])]:size-4",
1042
+ compact: "h-7 px-3 text-[12px] gap-1 [&_svg:not([class*='size-'])]:size-3.5",
1043
+ icon: "h-9 w-9 p-0 [&_svg]:h-4 [&_svg]:w-4",
1044
+ "icon-compact": "h-7 w-7 p-0 [&_svg]:h-3.5 [&_svg]:w-3.5"
1302
1045
  },
1303
- get isCanceled() {
1304
- return canceled;
1046
+ iconLeft: { true: "" },
1047
+ iconRight: { true: "" }
1048
+ },
1049
+ compoundVariants: [
1050
+ {
1051
+ size: "compact",
1052
+ iconLeft: true,
1053
+ className: "pl-2"
1305
1054
  },
1306
- get isPropagationAllowed() {
1307
- return allowPropagation;
1055
+ {
1056
+ size: "default",
1057
+ iconLeft: true,
1058
+ className: "pl-3"
1308
1059
  },
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;
1060
+ {
1061
+ size: "compact",
1062
+ iconRight: true,
1063
+ className: "pr-2"
1064
+ },
1065
+ {
1066
+ size: "default",
1067
+ iconRight: true,
1068
+ className: "pr-3"
1328
1069
  }
1329
- };
1330
- return latest;
1331
- }
1070
+ ],
1071
+ defaultVariants: {
1072
+ variant: "primary",
1073
+ size: "default"
1074
+ }
1075
+ });
1076
+ var legacySizeAliases = {
1077
+ xs: "compact",
1078
+ sm: "compact",
1079
+ md: "default",
1080
+ lg: "default",
1081
+ "icon-xs": "icon-compact",
1082
+ "icon-sm": "icon-compact",
1083
+ "icon-lg": "icon"
1084
+ };
1085
+ var bgVariants = {
1086
+ 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)]",
1087
+ 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)]",
1088
+ 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)]",
1089
+ 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)]",
1090
+ 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)]",
1091
+ 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)]",
1092
+ 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)]",
1093
+ link: "bg-transparent shadow-none"
1094
+ };
1095
+ var activeBgVariants = {
1096
+ 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)]",
1097
+ 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)]",
1098
+ 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)]",
1099
+ 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)]",
1100
+ 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)]",
1101
+ ghost: "bg-active shadow-[0_0_0_1px_var(--active)] group-active:shadow-[0_0_0_0px_var(--active)]",
1102
+ destructive: "bg-active shadow-[0_0_0_1px_var(--border)]",
1103
+ link: "bg-transparent shadow-none"
1104
+ };
1105
+ var Button$1 = forwardRef2(({ className, variant, size, asChild = false, loading = false, leadingIcon: LeadingIcon, trailingIcon: TrailingIcon, active = false, disabled, children, style, ...props }, ref) => {
1106
+ const asChildElement = asChild && isValidElement3(children) ? children : null;
1107
+ const label = asChildElement ? asChildElement.props.children : children;
1108
+ const resolvedSize = size ? legacySizeAliases[size] ?? size : "default";
1109
+ const isIconOnly = resolvedSize === "icon" || resolvedSize === "icon-compact";
1110
+ const isCompact = resolvedSize === "compact" || resolvedSize === "icon-compact";
1111
+ const iconSize = isCompact ? 14 : 16;
1112
+ const spinnerSizeClass = isCompact ? "h-7 w-7" : "h-9 w-9";
1113
+ const bgClass = active ? activeBgVariants[variant ?? "primary"] : bgVariants[variant ?? "primary"];
1114
+ const internals = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
1115
+ "aria-hidden": true,
1116
+ 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)
1117
+ }), /* @__PURE__ */ jsx("span", {
1118
+ className: "relative inline-flex min-w-0 items-center justify-center gap-[inherit]",
1119
+ children: loading ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("span", {
1120
+ className: "flex min-w-0 items-center justify-center gap-[inherit] opacity-0",
1121
+ children: [
1122
+ LeadingIcon && !isIconOnly && /* @__PURE__ */ jsx(LeadingIcon, {
1123
+ size: iconSize,
1124
+ strokeWidth: 2
1125
+ }),
1126
+ label,
1127
+ TrailingIcon && !isIconOnly && /* @__PURE__ */ jsx(TrailingIcon, {
1128
+ size: iconSize,
1129
+ strokeWidth: 2
1130
+ })
1131
+ ]
1132
+ }), /* @__PURE__ */ jsx("span", {
1133
+ className: "absolute inset-0 flex items-center justify-center",
1134
+ children: /* @__PURE__ */ jsx("svg", {
1135
+ className: spinnerSizeClass,
1136
+ viewBox: "0 0 24 24",
1137
+ fill: "none",
1138
+ children: /* @__PURE__ */ jsx("path", {
1139
+ 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",
1140
+ stroke: "currentColor",
1141
+ strokeWidth: "1.125",
1142
+ strokeLinecap: "round",
1143
+ pathLength: "100",
1144
+ style: {
1145
+ strokeDasharray: "15 85",
1146
+ animation: "spinner-move 2s linear infinite, spinner-dash 4s ease-in-out infinite"
1147
+ }
1148
+ })
1149
+ })
1150
+ })] }) : isIconOnly ? /* @__PURE__ */ jsx("span", {
1151
+ className: "[&_svg]:stroke-[1.5] [&_svg]:transition-[stroke-width] [&_svg]:duration-80 group-hover:[&_svg]:stroke-[2]",
1152
+ children: label
1153
+ }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
1154
+ LeadingIcon && /* @__PURE__ */ jsx(LeadingIcon, {
1155
+ size: iconSize,
1156
+ strokeWidth: 1.5,
1157
+ className: "transition-[stroke-width] duration-80 group-hover:stroke-[2]"
1158
+ }),
1159
+ /* @__PURE__ */ jsx("span", {
1160
+ className: "inline-flex items-center gap-[inherit] min-w-0 [text-box:trim-both_cap_alphabetic] [&_svg]:shrink-0",
1161
+ children: label
1162
+ }),
1163
+ TrailingIcon && /* @__PURE__ */ jsx(TrailingIcon, {
1164
+ size: iconSize,
1165
+ strokeWidth: 1.5,
1166
+ className: "transition-[stroke-width] duration-80 group-hover:stroke-[2]"
1167
+ })
1168
+ ] })
1169
+ })] });
1170
+ const rootClassName = cn(buttonVariants({
1171
+ variant,
1172
+ size: resolvedSize,
1173
+ iconLeft: !isIconOnly && !!LeadingIcon,
1174
+ iconRight: !isIconOnly && !!TrailingIcon
1175
+ }), "rounded-lg", className);
1176
+ if (asChildElement) {
1177
+ const childProps = asChildElement.props;
1178
+ const composedProps = { ...props };
1179
+ for (const key of Object.keys(props)) {
1180
+ if (!/^on[A-Z]/.test(key)) continue;
1181
+ const parentHandler = props[key];
1182
+ const childHandler = childProps[key];
1183
+ if (typeof parentHandler !== "function" || typeof childHandler !== "function") continue;
1184
+ composedProps[key] = (event) => {
1185
+ childHandler(event);
1186
+ if (!event.defaultPrevented) parentHandler(event);
1187
+ };
1188
+ }
1189
+ return cloneElement2(asChildElement, {
1190
+ ...composedProps,
1191
+ ref,
1192
+ "data-slot": "button",
1193
+ className: cn(rootClassName, childProps.className),
1194
+ style: {
1195
+ ...style,
1196
+ ...childProps.style
1197
+ }
1198
+ }, internals);
1199
+ }
1200
+ return /* @__PURE__ */ jsx(Button, {
1201
+ ref,
1202
+ "data-slot": "button",
1203
+ className: rootClassName,
1204
+ disabled: disabled || loading,
1205
+ style,
1206
+ ...props,
1207
+ children: internals
1208
+ });
1209
+ });
1210
+ Button$1.displayName = "Button";
1332
1211
 
1333
1212
  export {
1213
+ cva,
1334
1214
  getNodeName,
1335
1215
  getWindow,
1336
1216
  getDocumentElement,
@@ -1370,19 +1250,5 @@ export {
1370
1250
  EMPTY_OBJECT,
1371
1251
  resolveStyle,
1372
1252
  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
1253
+ Button$1
1388
1254
  };