@marimo-team/islands 0.25.3-dev21 → 0.25.3-dev210

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 (717) hide show
  1. package/dist/{ConnectedDataExplorerComponent-DfG3PRaJ.js → ConnectedDataExplorerComponent-D6RHJV8D.js} +120 -116
  2. package/dist/{ErrorBoundary-ttSr7_91.js → ErrorBoundary-VruaQLnK.js} +16 -16
  3. package/dist/{abnfDiagram-VCTEODGH-B3w-XWX8.js → abnfDiagram-VCTEODGH-0q7Lbmii.js} +2 -2
  4. package/dist/any-language-editor-jGaR0EAo.js +75 -0
  5. package/dist/{architectureDiagram-5GKGNRK7-C18U9A6k.js → architectureDiagram-5GKGNRK7-1PydKPmE.js} +1 -1
  6. package/dist/{arrays-CN1djC4k.js → arrays-DoQ-AILx.js} +15 -27
  7. package/dist/assets/__vite-browser-external-CBRgnYY0.js +1 -0
  8. package/dist/assets/worker-DiPNP__U.js +113 -0
  9. package/dist/{button-CvjkwdSk.js → button-B6RjDKJx.js} +227 -217
  10. package/dist/{capabilities-CQ5IjhzL.js → capabilities-CkVzWJEX.js} +2 -2
  11. package/dist/{chat-ui-w8SVynkn.js → chat-ui-B5pH_aXk.js} +1277 -1275
  12. package/dist/{check-BMKBBrdc.js → check-Z_vtI3OL.js} +1 -1
  13. package/dist/{chunk-IMKFNOWR-CrS5bzqW.js → chunk-IMKFNOWR-DEzZZ1Zc.js} +1 -1
  14. package/dist/{chunk-SHT3W25Y-StpvPvUG.js → chunk-SHT3W25Y-CuHj-hnn.js} +1 -1
  15. package/dist/{chunk-SVP7TREG-CBXjbYZC.js → chunk-SVP7TREG-BPiZK2bA.js} +1 -1
  16. package/dist/{chunk-TICWLB2K-Dp6bIb-q.js → chunk-TICWLB2K-DF6XcIjM.js} +1 -1
  17. package/dist/{chunk-YOKDWASO-DPZk8vhS.js → chunk-YOKDWASO-DKplTrBY.js} +20 -20
  18. package/dist/{classDiagram-ZZMXUADV-BFYuxV5g.js → classDiagram-ZZMXUADV-CMdR-cP4.js} +2 -2
  19. package/dist/{classDiagram-v2-VYDZK3BY-D_tjXVMl.js → classDiagram-v2-VYDZK3BY-DRvc3_7Y.js} +2 -2
  20. package/dist/code-visibility-BdFhHfIC.js +134 -0
  21. package/dist/{common-CeebhhhO.js → common-Ce1SgsX1.js} +9837 -9658
  22. package/dist/config-DbjzjwxX.js +636 -0
  23. package/dist/{copy-icon-BgUO8jsi.js → copy-icon-CG57cxwb.js} +3 -3
  24. package/dist/createReducer-DePYJ0F3.js +63 -0
  25. package/dist/{cynefinDiagram-5FMLGOSQ-DSgYrHB2.js → cynefinDiagram-5FMLGOSQ-BkBjEY9l.js} +1 -1
  26. package/dist/{dagre-GXQ25YYZ-GYlruCBf.js → dagre-GXQ25YYZ-D-HEaW4I.js} +1 -1
  27. package/dist/{data-grid-overlay-editor-vxQ4E6k1.js → data-grid-overlay-editor-Bps1p6jQ.js} +5 -5
  28. package/dist/{data-grid-types-BH_r7g7l.js → data-grid-types-0PJ-9N5n.js} +1 -1
  29. package/dist/{diagram-S7CK7UJ4-DRu5LX5_.js → diagram-S7CK7UJ4-Bn-oF-rB.js} +1 -1
  30. package/dist/{diagram-UQ7AKVKN-DD7uiejP.js → diagram-UQ7AKVKN-BpzzXWBj.js} +1 -1
  31. package/dist/{diagram-VX7I27RA-ByH9KAJJ.js → diagram-VX7I27RA-COOtvfBP.js} +1 -1
  32. package/dist/{diagram-Z3DM3KII-BsQHPRke.js → diagram-Z3DM3KII-K5cXvbrl.js} +1 -1
  33. package/dist/{dialog-Cc479ZEH.js → dialog-DsZ49mmU.js} +26 -26
  34. package/dist/{dist-Bvs24R_E.js → dist-11T5wq3_.js} +31 -30
  35. package/dist/{dist-F8Ep36rk.js → dist-17ugwGZc.js} +59 -58
  36. package/dist/{dist-BMQf5zIS.js → dist-7cRjf--y.js} +123 -122
  37. package/dist/{dist-diIx5qJW.js → dist-B8pkfkzc.js} +31 -30
  38. package/dist/{dist-CN_BeG2I.js → dist-B9UoM_wq.js} +58 -57
  39. package/dist/{dist-CLdpGQVr.js → dist-BGuMTs1i.js} +118 -117
  40. package/dist/{dist-BK4Oj99o.js → dist-BHW11fni.js} +18 -17
  41. package/dist/dist-BLY4m1Wi.js +850 -0
  42. package/dist/{dist-PXYI_yuP.js → dist-BNlcVoxs.js} +24 -23
  43. package/dist/{dist-D6d86eNJ.js → dist-BQYe5Bju.js} +47 -46
  44. package/dist/{dist-CkTTIdBe.js → dist-BX1mn8na.js} +337 -337
  45. package/dist/{dist-DiDibOYr.js → dist-Bh0PTKUW.js} +151 -150
  46. package/dist/{dist-CSJ0MDRw.js → dist-CKaXK92p.js} +56 -55
  47. package/dist/{dist-C8fAKSH1.js → dist-CLhwfhpJ.js} +53 -52
  48. package/dist/{dist-DoE4XJBC.js → dist-CYeqK4Xw.js} +9801 -10649
  49. package/dist/{dist-BLfKmR-l.js → dist-Cxlp3WH6.js} +16 -15
  50. package/dist/{dist-D-wwqlzJ.js → dist-DSJPGj42.js} +158 -157
  51. package/dist/{dist-BorMD-uX.js → dist-DU9ICsWZ.js} +75 -74
  52. package/dist/{dist-DBtSl3sf.js → dist-DWv0ALBi.js} +47 -46
  53. package/dist/{dist-OR1OnN-y.js → dist-DiBpWEsB.js} +31 -30
  54. package/dist/{dist-CrSP_H1M.js → dist-DiLFTlnl.js} +242 -242
  55. package/dist/{dist-DpBpA_n1.js → dist-Lm-D-Vr6.js} +3 -3
  56. package/dist/{dist-CSbh1PNP.js → dist-cVDV5IuI.js} +23 -22
  57. package/dist/{dist-BuaRHxOc.js → dist-fRfaOoq8.js} +44 -43
  58. package/dist/{dist-Cg7gzw-a.js → dist-gTTI-9Px.js} +78 -77
  59. package/dist/dropdown-menu-CSNdPSnS.js +6083 -0
  60. package/dist/{ebnfDiagram-PWID7BFC-CQRK5_eT.js → ebnfDiagram-PWID7BFC-BI1ZmjVm.js} +2 -2
  61. package/dist/{erDiagram-RLTQ6QDP-BKtWrDVh.js → erDiagram-RLTQ6QDP-BtWjj9xy.js} +1 -1
  62. package/dist/{error-banner-CFPHFw4h.js → error-banner-IsonnvA0.js} +84 -83
  63. package/dist/error-entries-CRPfxMqm.js +2505 -0
  64. package/dist/{esm-D2gTsXEV.js → esm-BgKjMvWw.js} +530 -529
  65. package/dist/{esm-AMFssoNp.js → esm-CHjVSexr.js} +328 -329
  66. package/dist/feedback-button-2ycmR9GG.js +374 -0
  67. package/dist/{flowDiagram-HODETNUW-1IN-ih2E.js → flowDiagram-HODETNUW-DQvZh96A.js} +2 -2
  68. package/dist/{formats-X4mMQWzX.js → formats-BK4VefeF.js} +6 -6
  69. package/dist/{ganttDiagram-EL5Y4UJY-BQT16JSc.js → ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js} +2 -2
  70. package/dist/{glide-data-editor-CSYHMRDu.js → glide-data-editor-Buj2OZjL.js} +417 -415
  71. package/dist/{glide-utils-DM9zBO4W.js → glide-utils-CQddGpa-.js} +16 -16
  72. package/dist/{globals-Fpiwkv4D.js → globals-B-14fUeb.js} +3 -3
  73. package/dist/{highlighted-body-KPVGNVTW-zwjq21tf.js → highlighted-body-KPVGNVTW-3Ziwfz-V.js} +2 -2
  74. package/dist/{error-entries-Damuuclv.js → html-to-image-CgAnxFi8.js} +26911 -26769
  75. package/dist/{infoDiagram-27XIBGKW-CkB-zr4p.js → infoDiagram-27XIBGKW-BdAObnc_.js} +1 -1
  76. package/dist/{ishikawaDiagram-5VMMS53U-wlyLjBmM.js → ishikawaDiagram-5VMMS53U-DP-jE8dw.js} +1 -1
  77. package/dist/{kanban-definition-UXKFOSKX-C2usY0i-.js → kanban-definition-UXKFOSKX-BkMgPjfm.js} +1 -1
  78. package/dist/{linear-Cnaq3Tfb.js → linear-DWERh7eI.js} +121 -73
  79. package/dist/{loader-BQOfjTIJ.js → loader-BisjOLiW.js} +12 -12
  80. package/dist/main.js +9981 -8001
  81. package/dist/{mermaid-BA-Z6wGL.js → mermaid-B-OFqheA.js} +52 -52
  82. package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +2 -0
  83. package/dist/{mindmap-definition-YA3MSWOX-nKOWS8RR.js → mindmap-definition-YA3MSWOX-Du7toAZX.js} +1 -1
  84. package/dist/{number-overlay-editor-BOjqsq7D.js → number-overlay-editor-ZVFcJ7_u.js} +3 -3
  85. package/dist/{dist-CN8zI-XC.js → objectWithoutPropertiesLoose-ai5NUqGa.js} +262 -240
  86. package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
  87. package/dist/{once-BtE-wKRL.js → once-NnpX_HnX.js} +1 -1
  88. package/dist/{pegDiagram-XKGWAZYB-Dac9EIKD.js → pegDiagram-XKGWAZYB-CX_729j0.js} +2 -2
  89. package/dist/{pieDiagram-E7YTZNPT-B7S-DsW_.js → pieDiagram-E7YTZNPT-dtTFJcVI.js} +1 -1
  90. package/dist/precisionRound-DhAzeRcm.js +49 -0
  91. package/dist/{process-output-CTPTtxXB.js → process-output-Bmev5azU.js} +4 -4
  92. package/dist/{quadrantDiagram-AXDQQJYC-Ccw0xMjN.js → quadrantDiagram-AXDQQJYC-Blrm7V7_.js} +1 -1
  93. package/dist/{railroadDiagram-O6MQD6OU-Cfa5Q-hr.js → railroadDiagram-O6MQD6OU-Dsc2Cf4c.js} +2 -2
  94. package/dist/{react-vega-BED0DjiB.js → react-vega-C4T9Rb_w.js} +12284 -12270
  95. package/dist/{requirementDiagram-BXWQKSXE-d8zXCJIk.js → requirementDiagram-BXWQKSXE-D3g0c60I.js} +1 -1
  96. package/dist/{reveal-component-Brpo7CP8.js → reveal-component-BWz1KjWe.js} +426 -403
  97. package/dist/schemas-CdscWNy_.js +4747 -0
  98. package/dist/select-BSxlITBo.js +1200 -0
  99. package/dist/{sequenceDiagram-WJ2MYXX4-b6pei3lJ.js → sequenceDiagram-WJ2MYXX4-w1pWbIpk.js} +1 -1
  100. package/dist/{spec-BJzgmvVa.js → spec-Dq8RNplp.js} +41 -11
  101. package/dist/{stateDiagram-D77RDMKH-Be-xSpaZ.js → stateDiagram-D77RDMKH-BCv7kP4H.js} +2 -2
  102. package/dist/{stateDiagram-v2-MP3YSRHH-5Y-FxesJ.js → stateDiagram-v2-MP3YSRHH-D1cTOt0x.js} +2 -2
  103. package/dist/static-state-BldGd99T.js +72 -0
  104. package/dist/strings-BGW-fXVJ.js +507 -0
  105. package/dist/style.css +1 -1
  106. package/dist/{swimlanes-42K2YHIH-nRRl4NU0.js → swimlanes-42K2YHIH-DNO6jDnd.js} +1 -1
  107. package/dist/{swimlanesDiagram-VR7AAH4N-BS79510V.js → swimlanesDiagram-VR7AAH4N-CkSWsxYJ.js} +2 -2
  108. package/dist/{swiper-component-DKntyn8p.js → swiper-component-Dir1o8ml.js} +2 -2
  109. package/dist/{time-BieKwdYS.js → time-BaMbJs4z.js} +18 -18
  110. package/dist/{timeline-definition-24CTP7MA-Cfzf8WPf.js → timeline-definition-24CTP7MA-DQvqGFM9.js} +1 -1
  111. package/dist/toast-BWIPi3aF.js +491 -0
  112. package/dist/{tooltip-CtBZ5q8p.js → tooltip-C3UnvsRe.js} +329 -305
  113. package/dist/use-restore-focus-BWO0z1lo.js +1672 -0
  114. package/dist/{useAsyncData-BD534XmW.js → useAsyncData-DsZMvNXn.js} +15 -14
  115. package/dist/{useDateFormatter-DkajGwwd.js → useDateFormatter-ChB4eyim.js} +2 -2
  116. package/dist/{useDeepCompareMemoize-C72_RNsu.js → useDeepCompareMemoize-KMBBux8C.js} +1 -1
  117. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-cMNQ80CK.js} +1 -1
  118. package/dist/useLifecycle-BquH9ET-.js +112 -0
  119. package/dist/useTheme-B9C1JIy9.js +307 -0
  120. package/dist/utils-DXkj82sK.js +813 -0
  121. package/dist/{vega-component-DfcYgj-Y.js → vega-component-9NOEITbg.js} +170 -169
  122. package/dist/{vega-embed-container-BNHE18G9.js → vega-embed-container--LYZqguO.js} +2 -2
  123. package/dist/{vega-loader.browser-DNST6uVf.js → vega-loader.browser-B9Pz0EGP.js} +298 -507
  124. package/dist/{vennDiagram-4TSXK5OY-CeY6Z1xZ.js → vennDiagram-4TSXK5OY-BfzXp4SH.js} +1 -1
  125. package/dist/{wardleyDiagram-VM6X3IG4-Cxs9NtVi.js → wardleyDiagram-VM6X3IG4-CiqEE8eq.js} +1 -1
  126. package/dist/{xychartDiagram-S5SC5T6Z-DNWbvPK7.js → xychartDiagram-S5SC5T6Z-BTIHCVOI.js} +2 -2
  127. package/package.json +16 -20
  128. package/src/__mocks__/document.tsx +63 -0
  129. package/src/__mocks__/notebook.ts +3 -4
  130. package/src/__mocks__/partial.ts +26 -0
  131. package/src/__mocks__/requests.ts +1 -4
  132. package/src/__tests__/main.test.tsx +24 -1
  133. package/src/__tests__/module-entry.test.ts +44 -0
  134. package/src/__tests__/mount.test.ts +1 -21
  135. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  136. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  137. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  138. package/src/components/app-config/ai-config.tsx +7 -2
  139. package/src/components/app-config/app-config-form.tsx +5 -9
  140. package/src/components/app-config/user-config-form.tsx +35 -56
  141. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  142. package/src/components/chat/__tests__/notebook-access-selector.test.tsx +64 -0
  143. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  144. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  145. package/src/components/chat/acp/blocks.tsx +3 -2
  146. package/src/components/chat/acp/session-tabs.tsx +8 -3
  147. package/src/components/chat/chat-components.tsx +2 -0
  148. package/src/components/chat/chat-panel.tsx +20 -101
  149. package/src/components/chat/chat-utils.ts +4 -8
  150. package/src/components/chat/notebook-access-selector.stories.tsx +22 -0
  151. package/src/components/chat/notebook-access-selector.tsx +100 -0
  152. package/src/components/data-table/TableBottomBar.tsx +4 -1
  153. package/src/components/data-table/TableTopBar.tsx +2 -0
  154. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  155. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  156. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  157. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  158. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  159. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  160. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  161. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  162. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  163. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  164. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  165. package/src/components/data-table/cell-selection/feature.ts +2 -2
  166. package/src/components/data-table/cell-selection/types.ts +2 -2
  167. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  168. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  169. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  170. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  171. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  172. package/src/components/data-table/charts/charts.tsx +40 -30
  173. package/src/components/data-table/charts/storage.ts +16 -5
  174. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  175. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  176. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  177. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  178. package/src/components/data-table/columns.tsx +45 -46
  179. package/src/components/data-table/context-menu.tsx +36 -20
  180. package/src/components/data-table/data-table.tsx +17 -1
  181. package/src/components/data-table/date-popover.tsx +6 -4
  182. package/src/components/data-table/export-actions.tsx +76 -48
  183. package/src/components/data-table/pagination.tsx +44 -33
  184. package/src/components/data-table/range-focus/atoms.ts +4 -6
  185. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  186. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  187. package/src/components/data-table/renderers.tsx +16 -7
  188. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  189. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  190. package/src/components/data-table/search-highlight.tsx +79 -0
  191. package/src/components/data-table/types.ts +1 -0
  192. package/src/components/data-table/url-detector.tsx +49 -9
  193. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  194. package/src/components/datasources/__tests__/column-preview.test.tsx +96 -5
  195. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  196. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  197. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  198. package/src/components/datasources/column-preview.tsx +17 -12
  199. package/src/components/datasources/datasources.tsx +56 -43
  200. package/src/components/datasources/utils.ts +32 -23
  201. package/src/components/debugger/debugger-code.tsx +5 -0
  202. package/src/components/dependency-graph/custom-node.tsx +1 -1
  203. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  204. package/src/components/dependency-graph/elements.ts +24 -21
  205. package/src/components/dependency-graph/minimap-content.tsx +13 -19
  206. package/src/components/dependency-graph/panels.tsx +4 -2
  207. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  208. package/src/components/editor/SortableCell.tsx +1 -3
  209. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  210. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  211. package/src/components/editor/__tests__/data-attributes.test.tsx +28 -14
  212. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  213. package/src/components/editor/__tests__/output-persistence.test.tsx +6 -2
  214. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  215. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  216. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +34 -8
  217. package/src/components/editor/actions/__tests__/pair-with-agent.test.tsx +2 -6
  218. package/src/components/editor/actions/__tests__/useCellActionButton.test.tsx +113 -0
  219. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  220. package/src/components/editor/actions/pair-with-agent-commands.ts +2 -2
  221. package/src/components/editor/actions/pair-with-agent-modal.tsx +19 -16
  222. package/src/components/editor/actions/useCellActionButton.tsx +36 -31
  223. package/src/components/editor/actions/useConfigActions.tsx +3 -4
  224. package/src/components/editor/actions/useNotebookActions.tsx +19 -23
  225. package/src/components/editor/actions/useRestartKernel.tsx +1 -1
  226. package/src/components/editor/actions/useSetCodeVisibility.ts +11 -12
  227. package/src/components/editor/actions/useSetOutputsExpanded.ts +14 -19
  228. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  229. package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
  230. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  231. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  232. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  233. package/src/components/editor/alerts/stdin-blocking-alert.tsx +1 -1
  234. package/src/components/editor/app-container.tsx +1 -1
  235. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  236. package/src/components/editor/cell/CreateCellButton.tsx +15 -21
  237. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  238. package/src/components/editor/cell/RunButton.tsx +2 -2
  239. package/src/components/editor/cell/StagedAICell.tsx +10 -2
  240. package/src/components/editor/cell/StopButton.tsx +2 -2
  241. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +4 -2
  242. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  243. package/src/components/editor/cell/cell-actions.tsx +12 -1
  244. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  245. package/src/components/editor/cell/code/cell-editor.tsx +46 -165
  246. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  247. package/src/components/editor/cell/collapse.tsx +11 -4
  248. package/src/components/editor/cell/useAddCell.ts +4 -8
  249. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  250. package/src/components/editor/cell/useRunCells.ts +2 -5
  251. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  252. package/src/components/editor/cell/useSplitCell.tsx +10 -6
  253. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  254. package/src/components/editor/chrome/components/feedback-button.tsx +2 -8
  255. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  256. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  257. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  258. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  259. package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +1 -1
  260. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  261. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  262. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  263. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  264. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  265. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  266. package/src/components/editor/chrome/panels/session-panel.tsx +1 -1
  267. package/src/components/editor/chrome/panels/snippets-panel.tsx +10 -12
  268. package/src/components/editor/chrome/panels/variable-panel.tsx +1 -5
  269. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +6 -9
  270. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
  271. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +62 -3
  272. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  273. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  274. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  275. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  276. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  277. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  278. package/src/components/editor/chrome/wrapper/footer.tsx +2 -2
  279. package/src/components/editor/chrome/wrapper/minimap-state.ts +1 -1
  280. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
  281. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  282. package/src/components/editor/columns/__tests__/cell-column.test.tsx +1 -1
  283. package/src/components/editor/columns/cell-column.tsx +1 -1
  284. package/src/components/editor/columns/sortable-column.tsx +2 -2
  285. package/src/components/editor/connections/components.tsx +5 -10
  286. package/src/components/editor/controls/Controls.tsx +4 -4
  287. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  288. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  289. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +10 -4
  290. package/src/components/editor/controls/command-palette.tsx +22 -10
  291. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  292. package/src/components/editor/documentation.css +34 -11
  293. package/src/components/editor/dynamic-favicon.tsx +21 -40
  294. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +25 -20
  295. package/src/components/editor/errors/auto-fix.tsx +4 -8
  296. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  297. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  298. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  299. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  300. package/src/components/editor/file-tree/file-explorer.tsx +48 -15
  301. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  302. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  303. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  304. package/src/components/editor/header/__tests__/filename-form.test.tsx +1 -4
  305. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  306. package/src/components/editor/header/app-header.tsx +1 -1
  307. package/src/components/editor/header/filename-form.tsx +1 -1
  308. package/src/components/editor/header/status.tsx +40 -20
  309. package/src/components/editor/links/__tests__/cell-link.test.tsx +148 -0
  310. package/src/components/editor/links/cell-link-list.tsx +1 -1
  311. package/src/components/editor/links/cell-link.tsx +17 -7
  312. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  313. package/src/components/editor/navigation/__tests__/navigation.test.ts +108 -85
  314. package/src/components/editor/navigation/__tests__/selection.test.ts +43 -21
  315. package/src/components/editor/navigation/clipboard.ts +17 -14
  316. package/src/components/editor/navigation/focus-utils.ts +23 -4
  317. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +17 -33
  318. package/src/components/editor/navigation/navigation.ts +71 -70
  319. package/src/components/editor/navigation/selection.ts +30 -29
  320. package/src/components/editor/notebook-banner.tsx +1 -0
  321. package/src/components/editor/notebook-cell.tsx +29 -32
  322. package/src/components/editor/output/MarimoErrorOutput.tsx +2 -1
  323. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  324. package/src/components/editor/output/Outputs.css +8 -0
  325. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  326. package/src/components/editor/output/ansi-reduce.ts +33 -20
  327. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  328. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  329. package/src/components/editor/package-alert.tsx +14 -7
  330. package/src/components/editor/renderers/cell-array.tsx +22 -33
  331. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  332. package/src/components/editor/renderers/slides-layout/__tests__/plugin.test.ts +0 -1
  333. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +1 -1
  334. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +4 -4
  335. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  336. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +1 -1
  337. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +1 -1
  338. package/src/components/editor/stdin-blocking-alert.tsx +1 -1
  339. package/src/components/home/components.tsx +17 -31
  340. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  341. package/src/components/icons/large-spinner.tsx +3 -14
  342. package/src/components/icons/spinner.tsx +1 -1
  343. package/src/components/markdown/markdown-renderer.tsx +4 -8
  344. package/src/components/mcp/mcp-status-indicator.tsx +1 -1
  345. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  346. package/src/components/pages/edit-page.tsx +19 -17
  347. package/src/components/pages/home-page.tsx +164 -91
  348. package/src/components/scratchpad/scratchpad.test.tsx +89 -0
  349. package/src/components/scratchpad/scratchpad.tsx +43 -32
  350. package/src/components/scratchpad/state.ts +7 -0
  351. package/src/components/slides/__tests__/minimap-actions.test.tsx +22 -29
  352. package/src/components/slides/__tests__/minimap.test.ts +38 -19
  353. package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +37 -0
  354. package/src/components/slides/minimap.tsx +17 -12
  355. package/src/components/slides/reveal-component.tsx +58 -26
  356. package/src/components/slides/reveal-slides.css +5 -4
  357. package/src/components/slides/slide-cell-view.tsx +4 -5
  358. package/src/components/slides/slide-form.tsx +1 -0
  359. package/src/components/slides/slide-scroll-hint.tsx +3 -1
  360. package/src/components/sort/SortableCellsProvider.tsx +8 -25
  361. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  362. package/src/components/tracing/tracing.tsx +46 -42
  363. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  364. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  365. package/src/components/ui/alert-dialog.tsx +1 -1
  366. package/src/components/ui/draggable-popover.tsx +24 -2
  367. package/src/components/ui/range-slider.tsx +22 -9
  368. package/src/core/MarimoApp.tsx +1 -1
  369. package/src/core/ai/__tests__/staged-cells.test.ts +32 -33
  370. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +8 -12
  371. package/src/core/ai/context/providers/cell-output.ts +2 -2
  372. package/src/core/ai/context/providers/datasource.ts +6 -2
  373. package/src/core/ai/staged-cells.ts +18 -19
  374. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +40 -88
  375. package/src/core/ai/tools/__tests__/registry.test.ts +17 -0
  376. package/src/core/ai/tools/base.ts +18 -15
  377. package/src/core/ai/tools/edit-notebook-tool.ts +86 -80
  378. package/src/core/ai/tools/registry.ts +13 -10
  379. package/src/core/ai/tools/sample-tool.ts +6 -7
  380. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -37
  381. package/src/core/cells/__tests__/actions.test.ts +624 -35
  382. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  383. package/src/core/cells/__tests__/arrange.test.ts +432 -0
  384. package/src/core/cells/__tests__/cell.test.ts +39 -0
  385. package/src/core/cells/__tests__/cells.test.ts +251 -2540
  386. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  387. package/src/core/cells/__tests__/document.test.ts +164 -0
  388. package/src/core/cells/__tests__/editor.test.ts +57 -0
  389. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  390. package/src/core/cells/__tests__/harness.ts +106 -0
  391. package/src/core/cells/__tests__/layout.test.ts +177 -0
  392. package/src/core/cells/__tests__/notebook-outline.test.ts +122 -0
  393. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  394. package/src/core/cells/__tests__/session.test.ts +445 -211
  395. package/src/core/cells/__tests__/utils.test.ts +9 -108
  396. package/src/core/cells/actions.ts +675 -6
  397. package/src/core/cells/add-missing-import.ts +47 -43
  398. package/src/core/cells/arrange.ts +529 -0
  399. package/src/core/cells/cell.ts +14 -3
  400. package/src/core/cells/cells.ts +126 -1363
  401. package/src/core/cells/columns.ts +38 -0
  402. package/src/core/cells/document.ts +178 -0
  403. package/src/core/cells/edit.ts +30 -0
  404. package/src/core/cells/editor.ts +82 -0
  405. package/src/core/cells/layout.ts +221 -0
  406. package/src/core/cells/outputs.ts +12 -28
  407. package/src/core/cells/pending-delete-service.ts +3 -7
  408. package/src/core/cells/session.ts +76 -53
  409. package/src/core/cells/types.ts +22 -6
  410. package/src/core/cells/utils.ts +10 -8
  411. package/src/core/codemirror/__tests__/format.test.ts +0 -34
  412. package/src/core/codemirror/__tests__/setup.test.ts +29 -29
  413. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  414. package/src/core/codemirror/ai/resources.ts +1 -1
  415. package/src/core/codemirror/cells/__tests__/extensions.test.ts +2 -6
  416. package/src/core/codemirror/cells/extensions.ts +30 -28
  417. package/src/core/codemirror/cells/state.ts +1 -6
  418. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +6 -7
  419. package/src/core/codemirror/copilot/getCodes.ts +2 -2
  420. package/src/core/codemirror/format.ts +6 -23
  421. package/src/core/codemirror/keymaps/vim.ts +4 -8
  422. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  423. package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
  424. package/src/core/codemirror/language/cell-code.ts +114 -0
  425. package/src/core/codemirror/language/extension.ts +52 -35
  426. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  427. package/src/core/codemirror/language/languages/python.ts +16 -10
  428. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  429. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  430. package/src/core/codemirror/language/types.ts +7 -7
  431. package/src/core/codemirror/language/utils.ts +9 -39
  432. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +1 -2
  433. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  434. package/src/core/codemirror/lsp/utils.ts +1 -1
  435. package/src/core/codemirror/misc/__tests__/paste.test.ts +3 -1
  436. package/src/core/codemirror/misc/paste.ts +1 -1
  437. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  438. package/src/core/codemirror/readonly/extension.ts +2 -2
  439. package/src/core/codemirror/utils.ts +1 -0
  440. package/src/core/config/__tests__/app-config.test.ts +64 -0
  441. package/src/core/config/__tests__/config-schema.test.ts +13 -6
  442. package/src/core/config/config-schema.ts +13 -4
  443. package/src/core/config/config.ts +26 -12
  444. package/src/core/config/feature-flag.tsx +0 -2
  445. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  446. package/src/core/datasets/data-source-discovery.ts +4 -6
  447. package/src/core/documentation/doc-lookup.ts +1 -1
  448. package/src/core/edit-app.tsx +21 -28
  449. package/src/core/errors/error-entries.ts +4 -1
  450. package/src/core/export/hooks.ts +1 -1
  451. package/src/core/export/layout.ts +2 -2
  452. package/src/core/hotkeys/actions.ts +2 -4
  453. package/src/core/islands/__tests__/bootstrap.test.ts +69 -17
  454. package/src/core/islands/__tests__/bridge.test.ts +72 -25
  455. package/src/core/islands/bootstrap.ts +46 -53
  456. package/src/core/islands/bridge.ts +75 -24
  457. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  458. package/src/core/islands/components/web-components.tsx +1 -1
  459. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  460. package/src/core/islands/worker/controller.ts +4 -10
  461. package/src/core/islands/worker/worker.tsx +33 -33
  462. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  463. package/src/core/kernel/__tests__/handlers.test.ts +7 -153
  464. package/src/core/kernel/handlers.ts +19 -72
  465. package/src/core/meta/__tests__/code-visibility.test.tsx +78 -70
  466. package/src/core/meta/code-visibility.ts +18 -9
  467. package/src/core/network/__tests__/connection.test.ts +1 -1
  468. package/src/core/network/__tests__/requests-lazy.test.ts +1 -3
  469. package/src/core/network/connection-notice.ts +1 -1
  470. package/src/core/network/connection.ts +1 -1
  471. package/src/core/network/requests-lazy.ts +2 -5
  472. package/src/core/network/requests-network.ts +5 -31
  473. package/src/core/network/requests-static.ts +1 -4
  474. package/src/core/network/requests-toasting.tsx +1 -4
  475. package/src/core/network/types.ts +6 -14
  476. package/src/core/network/useConnectionNotice.ts +8 -2
  477. package/src/core/notebook/__tests__/operations.test.ts +51 -0
  478. package/src/core/notebook/attachments.ts +38 -0
  479. package/src/core/notebook/document/__tests__/codemirror.test.ts +758 -0
  480. package/src/core/notebook/document/__tests__/draft.test.ts +363 -0
  481. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  482. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  483. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  484. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  485. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  486. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  487. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  488. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  489. package/src/core/notebook/document/__tests__/state.test.ts +459 -0
  490. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  491. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  492. package/src/core/notebook/document/__tests__/test-host.ts +247 -0
  493. package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
  494. package/src/core/notebook/document/__tests__/user.ts +61 -0
  495. package/src/core/notebook/document/codemirror.ts +216 -0
  496. package/src/core/notebook/document/draft.ts +502 -0
  497. package/src/core/notebook/document/hooks.tsx +118 -0
  498. package/src/core/notebook/document/index.ts +24 -0
  499. package/src/core/notebook/document/model.ts +102 -0
  500. package/src/core/notebook/document/select.ts +41 -0
  501. package/src/core/notebook/document/state.ts +378 -0
  502. package/src/core/notebook/document/sync.ts +369 -0
  503. package/src/core/notebook/index.ts +19 -0
  504. package/src/core/notebook/operations.ts +30 -0
  505. package/src/core/notebook/replica/AGENTS.md +11 -0
  506. package/src/core/{host → notebook/replica}/__tests__/attachments.test.ts +9 -10
  507. package/src/core/{host → notebook/replica}/__tests__/document.test.ts +18 -16
  508. package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
  509. package/src/core/notebook/replica/__tests__/replica.test.ts +550 -0
  510. package/src/core/notebook/replica/backend.ts +19 -0
  511. package/src/core/notebook/replica/connection.ts +42 -0
  512. package/src/core/notebook/replica/index.ts +13 -0
  513. package/src/core/notebook/replica/replica.ts +286 -0
  514. package/src/core/{host → notebook/replica}/resources/attachments.ts +6 -3
  515. package/src/core/{host → notebook/replica}/resources/document.ts +4 -4
  516. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  517. package/src/core/packages/useSandboxController.ts +1 -1
  518. package/src/core/run-app.tsx +48 -51
  519. package/src/core/runtime/__tests__/adapter.test.ts +1 -1
  520. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  521. package/src/core/runtime/__tests__/runtime.test.ts +32 -74
  522. package/src/core/runtime/adapter.ts +1 -1
  523. package/src/core/runtime/config.ts +2 -2
  524. package/src/core/runtime/runtime.ts +33 -46
  525. package/src/core/runtime/types.ts +0 -2
  526. package/src/core/saving/__tests__/document.test.tsx +123 -0
  527. package/src/core/saving/__tests__/state.test.ts +111 -0
  528. package/src/core/saving/__tests__/useAutoSave.test.tsx +67 -0
  529. package/src/core/saving/document.ts +33 -0
  530. package/src/core/saving/filename.ts +1 -1
  531. package/src/core/saving/save-component.tsx +39 -60
  532. package/src/core/saving/state.ts +38 -39
  533. package/src/core/saving/useAutoSave.ts +17 -53
  534. package/src/core/session/__tests__/backend.test.ts +236 -0
  535. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +184 -0
  536. package/src/core/{websocket → session}/__tests__/useNotebookSession.hook.test.tsx +213 -262
  537. package/src/core/session/active-notebook.ts +28 -0
  538. package/src/core/session/backend.ts +123 -0
  539. package/src/core/session/embedded.ts +7 -0
  540. package/src/core/{websocket → session}/types.ts +2 -2
  541. package/src/core/session/useNotebookReplica.ts +74 -0
  542. package/src/core/{websocket → session}/useNotebookSession.tsx +77 -64
  543. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  544. package/src/core/state/jotai.ts +1 -1
  545. package/src/core/static/__tests__/files.test.ts +38 -10
  546. package/src/core/static/files.ts +2 -0
  547. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  548. package/src/core/transports/__tests__/server.test.ts +408 -0
  549. package/src/core/transports/__tests__/static.test.ts +306 -0
  550. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  551. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  552. package/src/core/transports/server.ts +152 -0
  553. package/src/core/transports/static.ts +166 -0
  554. package/src/core/transports/wasm.ts +97 -0
  555. package/src/core/wasm/__tests__/bridge.test.ts +105 -65
  556. package/src/core/wasm/__tests__/worker.test.ts +187 -0
  557. package/src/core/wasm/bridge.ts +60 -71
  558. package/src/core/wasm/rpc.ts +15 -3
  559. package/src/core/wasm/store.ts +3 -3
  560. package/src/core/wasm/worker/bootstrap.ts +55 -51
  561. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  562. package/src/core/wasm/worker/save-worker.ts +9 -10
  563. package/src/core/wasm/worker/types.ts +29 -18
  564. package/src/core/wasm/worker/worker.ts +89 -45
  565. package/src/css/app/codemirror.css +1 -1
  566. package/src/css/globals.css +66 -22
  567. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  568. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  569. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  570. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  571. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  572. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  573. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  574. package/src/hooks/useAsyncData.ts +3 -3
  575. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  576. package/src/hooks/useDebounce.ts +6 -10
  577. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  578. package/src/hooks/useDelayElapsed.ts +14 -10
  579. package/src/hooks/useElapsedTime.ts +3 -3
  580. package/src/hooks/useEventListener.ts +1 -2
  581. package/src/hooks/useInputHistory.ts +4 -7
  582. package/src/hooks/useInternalStateWithSync.ts +6 -6
  583. package/src/hooks/useResizeObserver.ts +4 -7
  584. package/src/hooks/useScript.ts +67 -70
  585. package/src/hooks/useStateForKey.ts +93 -0
  586. package/src/mount.tsx +20 -15
  587. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  588. package/src/plugins/core/registerReactComponent.tsx +1 -1
  589. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  590. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  591. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  592. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  593. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  594. package/src/plugins/impl/FormPlugin.tsx +1 -1
  595. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  596. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  597. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  598. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  599. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  600. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  601. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  602. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  603. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  604. package/src/plugins/impl/anywidget/model.ts +3 -1
  605. package/src/plugins/impl/anywidget/registry.ts +18 -14
  606. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  607. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  608. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  609. package/src/plugins/impl/chat/chat-ui.tsx +14 -11
  610. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  611. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  612. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  613. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  614. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  615. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  616. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  617. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  618. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  619. package/src/plugins/impl/data-frames/panel.tsx +43 -16
  620. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  621. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  622. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  623. package/src/plugins/impl/panel/utils.ts +17 -0
  624. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  625. package/src/plugins/impl/plotly/selection.ts +25 -19
  626. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  627. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  628. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  629. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  630. package/src/stories/button.stories.tsx +1 -0
  631. package/src/stories/cell.stories.tsx +2 -5
  632. package/src/stories/data-table.stories.tsx +31 -0
  633. package/src/stories/editor.stories.tsx +24 -17
  634. package/src/stories/form-wrapper.stories.tsx +2 -2
  635. package/src/stories/layout/vertical/one-column.stories.tsx +28 -23
  636. package/src/stories/runtime-story.tsx +23 -17
  637. package/src/stories/select.stories.tsx +2 -2
  638. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  639. package/src/utils/__tests__/arrays.test.ts +35 -0
  640. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  641. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +29 -0
  642. package/src/utils/__tests__/numbers.test.ts +105 -1
  643. package/src/utils/__tests__/objects.test.ts +21 -0
  644. package/src/utils/arrays.ts +11 -2
  645. package/src/utils/blob.ts +1 -1
  646. package/src/utils/createReducer.ts +53 -26
  647. package/src/utils/maps.ts +0 -3
  648. package/src/utils/numbers.ts +79 -18
  649. package/src/utils/objects.ts +4 -9
  650. package/src/utils/once.ts +19 -19
  651. package/src/utils/tracer.ts +9 -5
  652. package/src/utils/zod-utils.ts +1 -3
  653. package/dist/any-language-editor-D4q-IFcM.js +0 -76
  654. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  655. package/dist/assets/worker-HPY9fbhz.js +0 -114
  656. package/dist/code-visibility-DPm4oWK1.js +0 -138
  657. package/dist/dropdown-menu-DHP9P4VE.js +0 -4678
  658. package/dist/feedback-button-DVgw4Y7F.js +0 -379
  659. package/dist/html-to-image-BdA59IUD.js +0 -3251
  660. package/dist/label-DoysmLMW.js +0 -281
  661. package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +0 -2
  662. package/dist/objectWithoutPropertiesLoose-BRDcTsfB.js +0 -23
  663. package/dist/precisionRound-DMIVQrt2.js +0 -97
  664. package/dist/select-DemoKT4G.js +0 -1344
  665. package/dist/toDate-B5mIgxwZ.js +0 -1185
  666. package/dist/toast-PkdZraM8.js +0 -1830
  667. package/dist/use-restore-focus-CKjfFjLM.js +0 -6369
  668. package/dist/useLifecycle-BGWzTwHK.js +0 -169
  669. package/dist/useTheme-BhQvec43.js +0 -904
  670. package/src/components/editor/cell/code/__tests__/rtc-editor-config.test.ts +0 -50
  671. package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +0 -65
  672. package/src/components/editor/navigation/__tests__/state.test.ts +0 -81
  673. package/src/components/editor/navigation/state.ts +0 -65
  674. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +0 -656
  675. package/src/core/ai/tools/run-cells-tool.ts +0 -303
  676. package/src/core/attachments/state.ts +0 -18
  677. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  678. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  679. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  680. package/src/core/cells/document-changes.ts +0 -944
  681. package/src/core/codemirror/rtc/extension.ts +0 -453
  682. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +0 -52
  683. package/src/core/codemirror/rtc/loro/awareness.ts +0 -531
  684. package/src/core/codemirror/rtc/loro/colors.ts +0 -38
  685. package/src/core/codemirror/rtc/loro/sync.ts +0 -168
  686. package/src/core/host/AGENTS.md +0 -11
  687. package/src/core/host/__tests__/events.test.ts +0 -46
  688. package/src/core/host/__tests__/fixtures.ts +0 -39
  689. package/src/core/host/__tests__/notebook-client.test.ts +0 -433
  690. package/src/core/host/__tests__/protocol.test.ts +0 -214
  691. package/src/core/host/__tests__/stream.test.ts +0 -211
  692. package/src/core/host/connection.ts +0 -81
  693. package/src/core/host/events.ts +0 -61
  694. package/src/core/host/notebook-client.ts +0 -290
  695. package/src/core/host/protocol.ts +0 -1943
  696. package/src/core/host/resources/resource.ts +0 -59
  697. package/src/core/host/stream.ts +0 -213
  698. package/src/core/rtc/state.ts +0 -34
  699. package/src/core/state/__tests__/jotai.test.ts +0 -25
  700. package/src/core/wasm/worker/message-buffer.ts +0 -33
  701. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  702. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -170
  703. package/src/core/websocket/state.ts +0 -7
  704. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  705. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  706. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  707. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  708. package/src/core/websocket/transports/basic.ts +0 -102
  709. package/src/core/websocket/transports/create.ts +0 -31
  710. package/src/core/websocket/transports/sse.ts +0 -308
  711. package/src/core/websocket/transports/transport.ts +0 -50
  712. package/src/core/websocket/transports/ws.ts +0 -98
  713. package/src/core/websocket/useNotebookClient.ts +0 -88
  714. package/src/utils/__tests__/id-tree.test.ts +0 -2145
  715. package/src/utils/id-tree.tsx +0 -1134
  716. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
  717. /package/src/core/{websocket → session}/connection-utils.ts +0 -0
@@ -1,15 +1,15 @@
1
1
  import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
- import { d as t, h as n, p as r } from "./button-CvjkwdSk.js";
2
+ import { d as t, h as n, p as r } from "./button-B6RjDKJx.js";
3
3
  import { t as i } from "./react-sHtZdjeP.js";
4
4
  import { t as a } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { t as o } from "./react-dom-DUmH0GXv.js";
6
6
  import { t as s } from "./jsx-runtime-3BD1kT0s.js";
7
- import { $ as c, Ct as l, Dt as u, Et as d, Q as f, St as p, Tt as m, bt as h, ht as g, tt as _, vt as v, wt as y, xt as b } from "./use-restore-focus-CKjfFjLM.js";
7
+ import { A as c, D as l, F as u, I as d, M as f, N as p, P as m, S as h, T as g, a as _, c as v, j as y, k as b, o as x } from "./use-restore-focus-BWO0z1lo.js";
8
8
  //#region ../node_modules/.pnpm/lucide-react@0.577.0_react@19.3.0/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
9
- var x = /* @__PURE__ */ e(i()), S = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), C = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), w = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), T = (e) => {
10
- let t = w(e);
9
+ var S = /* @__PURE__ */ e(i()), C = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), w = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), T = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), E = (e) => {
10
+ let t = T(e);
11
11
  return t.charAt(0).toUpperCase() + t.slice(1);
12
- }, E = {
12
+ }, D = {
13
13
  xmlns: "http://www.w3.org/2000/svg",
14
14
  width: 24,
15
15
  height: 24,
@@ -19,28 +19,28 @@ var x = /* @__PURE__ */ e(i()), S = (...e) => e.filter((e, t, n) => !!e && e.tri
19
19
  strokeWidth: 2,
20
20
  strokeLinecap: "round",
21
21
  strokeLinejoin: "round"
22
- }, D = (e) => {
22
+ }, O = (e) => {
23
23
  for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
24
24
  return !1;
25
- }, O = (0, x.forwardRef)(({ color: e = "currentColor", size: t = 24, strokeWidth: n = 2, absoluteStrokeWidth: r, className: i = "", children: a, iconNode: o, ...s }, c) => (0, x.createElement)("svg", {
25
+ }, k = (0, S.forwardRef)(({ color: e = "currentColor", size: t = 24, strokeWidth: n = 2, absoluteStrokeWidth: r, className: i = "", children: a, iconNode: o, ...s }, c) => (0, S.createElement)("svg", {
26
26
  ref: c,
27
- ...E,
27
+ ...D,
28
28
  width: t,
29
29
  height: t,
30
30
  stroke: e,
31
31
  strokeWidth: r ? Number(n) * 24 / Number(t) : n,
32
- className: S("lucide", i),
33
- ...!a && !D(s) && { "aria-hidden": "true" },
32
+ className: C("lucide", i),
33
+ ...!a && !O(s) && { "aria-hidden": "true" },
34
34
  ...s
35
- }, [...o.map(([e, t]) => (0, x.createElement)(e, t)), ...Array.isArray(a) ? a : [a]])), k = (e, t) => {
36
- let n = (0, x.forwardRef)(({ className: n, ...r }, i) => (0, x.createElement)(O, {
35
+ }, [...o.map(([e, t]) => (0, S.createElement)(e, t)), ...Array.isArray(a) ? a : [a]])), A = (e, t) => {
36
+ let n = (0, S.forwardRef)(({ className: n, ...r }, i) => (0, S.createElement)(k, {
37
37
  ref: i,
38
38
  iconNode: t,
39
- className: S(`lucide-${C(T(e))}`, `lucide-${e}`, n),
39
+ className: C(`lucide-${w(E(e))}`, `lucide-${e}`, n),
40
40
  ...r
41
41
  }));
42
- return n.displayName = T(e), n;
43
- }, A = /* @__PURE__ */ e(o(), 1), j = s(), M = Object.defineProperty, N = (e, t) => M(e, "name", {
42
+ return n.displayName = E(e), n;
43
+ }, ee = /* @__PURE__ */ e(o(), 1), j = s(), M = Object.defineProperty, N = (e, t) => M(e, "name", {
44
44
  value: t,
45
45
  configurable: !0
46
46
  }), P = Object.freeze({
@@ -54,8 +54,8 @@ var x = /* @__PURE__ */ e(i()), S = (...e) => e.filter((e, t, n) => !!e && e.tri
54
54
  clip: "rect(0, 0, 0, 0)",
55
55
  whiteSpace: "nowrap",
56
56
  wordWrap: "normal"
57
- }), F = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ N(function(e, t) {
58
- return /* @__PURE__ */ (0, j.jsx)(u.span, {
57
+ }), te = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ N(function(e, t) {
58
+ return /* @__PURE__ */ (0, j.jsx)(d.span, {
59
59
  ...e,
60
60
  ref: t,
61
61
  style: {
@@ -63,65 +63,70 @@ var x = /* @__PURE__ */ e(i()), S = (...e) => e.filter((e, t, n) => !!e && e.tri
63
63
  ...e.style
64
64
  }
65
65
  });
66
- }, "VisuallyHidden")), ee = F, te = Object.defineProperty, ne = (e, t) => te(e, "name", {
66
+ }, "VisuallyHidden")), ne = Object.defineProperty, re = (e, t) => ne(e, "name", {
67
67
  value: t,
68
68
  configurable: !0
69
69
  });
70
- function re(e) {
71
- let [t, n] = x.useState(void 0);
72
- return y(() => {
70
+ function ie(e) {
71
+ let [t, n] = S.useState(void 0);
72
+ return m(() => {
73
73
  if (e) {
74
74
  n({
75
75
  width: e.offsetWidth,
76
76
  height: e.offsetHeight
77
77
  });
78
- let t = new ResizeObserver((t) => {
79
- if (!Array.isArray(t) || !t.length) return;
80
- let r = t[0], i, a;
81
- if ("borderBoxSize" in r) {
82
- let e = r.borderBoxSize, t = Array.isArray(e) ? e[0] : e;
83
- i = t.inlineSize, a = t.blockSize;
84
- } else i = e.offsetWidth, a = e.offsetHeight;
85
- n({
86
- width: i,
87
- height: a
78
+ let t = 0, r = new ResizeObserver((r) => {
79
+ if (!Array.isArray(r) || !r.length) return;
80
+ let i = r[0];
81
+ window.cancelAnimationFrame(t), t = window.requestAnimationFrame(() => {
82
+ let t, r;
83
+ if ("borderBoxSize" in i) {
84
+ let e = i.borderBoxSize, n = Array.isArray(e) ? e[0] : e;
85
+ t = n.inlineSize, r = n.blockSize;
86
+ } else t = e.offsetWidth, r = e.offsetHeight;
87
+ n({
88
+ width: t,
89
+ height: r
90
+ });
88
91
  });
89
92
  });
90
- return t.observe(e, { box: "border-box" }), () => t.unobserve(e);
93
+ return r.observe(e, { box: "border-box" }), () => {
94
+ window.cancelAnimationFrame(t), r.unobserve(e);
95
+ };
91
96
  }
92
97
  n(void 0);
93
98
  }, [e]), t;
94
99
  }
95
- ne(re, "useSize");
100
+ re(ie, "useSize");
96
101
  //#endregion
97
102
  //#region ../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
98
- var ie = [
103
+ var ae = [
99
104
  "top",
100
105
  "right",
101
106
  "bottom",
102
107
  "left"
103
- ], I = Math.min, L = Math.max, R = Math.round, z = Math.floor, B = (e) => ({
108
+ ], F = Math.min, I = Math.max, L = Math.round, R = Math.floor, z = (e) => ({
104
109
  x: e,
105
110
  y: e
106
- }), ae = {
111
+ }), oe = {
107
112
  left: "right",
108
113
  right: "left",
109
114
  bottom: "top",
110
115
  top: "bottom"
111
- }, oe = {
116
+ }, se = {
112
117
  start: "end",
113
118
  end: "start"
114
119
  };
115
- function se(e, t, n) {
116
- return L(e, I(t, n));
120
+ function ce(e, t, n) {
121
+ return I(e, F(t, n));
117
122
  }
118
- function V(e, t) {
123
+ function B(e, t) {
119
124
  return typeof e == "function" ? e(t) : e;
120
125
  }
121
- function H(e) {
126
+ function V(e) {
122
127
  return e.split("-")[0];
123
128
  }
124
- function ce(e) {
129
+ function H(e) {
125
130
  return e.split("-")[1];
126
131
  }
127
132
  function le(e) {
@@ -132,14 +137,14 @@ function ue(e) {
132
137
  }
133
138
  var de = /*#__PURE__*/ new Set(["top", "bottom"]);
134
139
  function U(e) {
135
- return de.has(H(e)) ? "y" : "x";
140
+ return de.has(V(e)) ? "y" : "x";
136
141
  }
137
142
  function fe(e) {
138
143
  return le(U(e));
139
144
  }
140
145
  function pe(e, t, n) {
141
146
  n === void 0 && (n = !1);
142
- let r = ce(e), i = fe(e), a = ue(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
147
+ let r = H(e), i = fe(e), a = ue(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
143
148
  return t.reference[a] > t.floating[a] && (o = Se(o)), [o, Se(o)];
144
149
  }
145
150
  function me(e) {
@@ -151,7 +156,7 @@ function me(e) {
151
156
  ];
152
157
  }
153
158
  function he(e) {
154
- return e.replace(/start|end/g, (e) => oe[e]);
159
+ return e.replace(/start|end/g, (e) => se[e]);
155
160
  }
156
161
  var ge = ["left", "right"], _e = ["right", "left"], ve = ["top", "bottom"], ye = ["bottom", "top"];
157
162
  function be(e, t, n) {
@@ -164,11 +169,11 @@ function be(e, t, n) {
164
169
  }
165
170
  }
166
171
  function xe(e, t, n, r) {
167
- let i = ce(e), a = be(H(e), n === "start", r);
172
+ let i = H(e), a = be(V(e), n === "start", r);
168
173
  return i && (a = a.map((e) => e + "-" + i), t && (a = a.concat(a.map(he)))), a;
169
174
  }
170
175
  function Se(e) {
171
- return e.replace(/left|right|bottom|top/g, (e) => ae[e]);
176
+ return e.replace(/left|right|bottom|top/g, (e) => oe[e]);
172
177
  }
173
178
  function Ce(e) {
174
179
  return {
@@ -203,7 +208,7 @@ function Te(e) {
203
208
  //#endregion
204
209
  //#region ../node_modules/.pnpm/@floating-ui+core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
205
210
  function Ee(e, t, n) {
206
- let { reference: r, floating: i } = e, a = U(t), o = fe(t), s = ue(o), c = H(t), l = a === "y", u = r.x + r.width / 2 - i.width / 2, d = r.y + r.height / 2 - i.height / 2, f = r[s] / 2 - i[s] / 2, p;
211
+ let { reference: r, floating: i } = e, a = U(t), o = fe(t), s = ue(o), c = V(t), l = a === "y", u = r.x + r.width / 2 - i.width / 2, d = r.y + r.height / 2 - i.height / 2, f = r[s] / 2 - i[s] / 2, p;
207
212
  switch (c) {
208
213
  case "top":
209
214
  p = {
@@ -234,7 +239,7 @@ function Ee(e, t, n) {
234
239
  y: r.y
235
240
  };
236
241
  }
237
- switch (ce(t)) {
242
+ switch (H(t)) {
238
243
  case "start":
239
244
  p[o] -= f * (n && l ? -1 : 1);
240
245
  break;
@@ -285,7 +290,7 @@ var De = async (e, t, n) => {
285
290
  };
286
291
  async function Oe(e, t) {
287
292
  t === void 0 && (t = {});
288
- let { x: n, y: r, platform: i, rects: a, elements: o, strategy: s } = e, { boundary: c = "clippingAncestors", rootBoundary: l = "viewport", elementContext: u = "floating", altBoundary: d = !1, padding: f = 0 } = V(t, e), p = we(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = Te(await i.getClippingRect({
293
+ let { x: n, y: r, platform: i, rects: a, elements: o, strategy: s } = e, { boundary: c = "clippingAncestors", rootBoundary: l = "viewport", elementContext: u = "floating", altBoundary: d = !1, padding: f = 0 } = B(t, e), p = we(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = Te(await i.getClippingRect({
289
294
  element: await (i.isElement == null ? void 0 : i.isElement(m)) ?? !0 ? m : m.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(o.floating)),
290
295
  boundary: c,
291
296
  rootBoundary: l,
@@ -315,22 +320,22 @@ var ke = (e) => ({
315
320
  name: "arrow",
316
321
  options: e,
317
322
  async fn(t) {
318
- let { x: n, y: r, placement: i, rects: a, platform: o, elements: s, middlewareData: c } = t, { element: l, padding: u = 0 } = V(e, t) || {};
323
+ let { x: n, y: r, placement: i, rects: a, platform: o, elements: s, middlewareData: c } = t, { element: l, padding: u = 0 } = B(e, t) || {};
319
324
  if (l == null) return {};
320
325
  let d = we(u), f = {
321
326
  x: n,
322
327
  y: r
323
328
  }, p = fe(i), m = ue(p), h = await o.getDimensions(l), g = p === "y", _ = g ? "top" : "left", v = g ? "bottom" : "right", y = g ? "clientHeight" : "clientWidth", b = a.reference[m] + a.reference[p] - f[p] - a.floating[m], x = f[p] - a.reference[p], S = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(l)), C = S ? S[y] : 0;
324
329
  (!C || !await (o.isElement == null ? void 0 : o.isElement(S))) && (C = s.floating[y] || a.floating[m]);
325
- let w = b / 2 - x / 2, T = C / 2 - h[m] / 2 - 1, E = I(d[_], T), D = I(d[v], T), O = E, k = C - h[m] - D, A = C / 2 - h[m] / 2 + w, j = se(O, A, k), M = !c.arrow && ce(i) != null && A !== j && a.reference[m] / 2 - (A < O ? E : D) - h[m] / 2 < 0, N = M ? A < O ? A - O : A - k : 0;
330
+ let w = b / 2 - x / 2, T = C / 2 - h[m] / 2 - 1, E = F(d[_], T), D = F(d[v], T), O = E, k = C - h[m] - D, A = C / 2 - h[m] / 2 + w, ee = ce(O, A, k), j = !c.arrow && H(i) != null && A !== ee && a.reference[m] / 2 - (A < O ? E : D) - h[m] / 2 < 0, M = j ? A < O ? A - O : A - k : 0;
326
331
  return {
327
- [p]: f[p] + N,
332
+ [p]: f[p] + M,
328
333
  data: {
329
- [p]: j,
330
- centerOffset: A - j - N,
331
- ...M && { alignmentOffset: N }
334
+ [p]: ee,
335
+ centerOffset: A - ee - M,
336
+ ...j && { alignmentOffset: M }
332
337
  },
333
- reset: M
338
+ reset: j
334
339
  };
335
340
  }
336
341
  }), Ae = function(e) {
@@ -339,9 +344,9 @@ var ke = (e) => ({
339
344
  options: e,
340
345
  async fn(t) {
341
346
  var n;
342
- let { placement: r, middlewareData: i, rects: a, initialPlacement: o, platform: s, elements: c } = t, { mainAxis: l = !0, crossAxis: u = !0, fallbackPlacements: d, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: p = "none", flipAlignment: m = !0, ...h } = V(e, t);
347
+ let { placement: r, middlewareData: i, rects: a, initialPlacement: o, platform: s, elements: c } = t, { mainAxis: l = !0, crossAxis: u = !0, fallbackPlacements: d, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: p = "none", flipAlignment: m = !0, ...h } = B(e, t);
343
348
  if ((n = i.arrow) != null && n.alignmentOffset) return {};
344
- let g = H(r), _ = U(o), v = H(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [Se(o)] : me(o)), x = p !== "none";
349
+ let g = V(r), _ = U(o), v = V(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [Se(o)] : me(o)), x = p !== "none";
345
350
  !d && x && b.push(...xe(o, m, p, y));
346
351
  let S = [o, ...b], C = await Oe(t, h), w = [], T = i.flip?.overflows || [];
347
352
  if (l && w.push(C[g]), u) {
@@ -390,14 +395,14 @@ function je(e, t) {
390
395
  };
391
396
  }
392
397
  function Me(e) {
393
- return ie.some((t) => e[t] >= 0);
398
+ return ae.some((t) => e[t] >= 0);
394
399
  }
395
400
  var Ne = function(e) {
396
401
  return e === void 0 && (e = {}), {
397
402
  name: "hide",
398
403
  options: e,
399
404
  async fn(t) {
400
- let { rects: n } = t, { strategy: r = "referenceHidden", ...i } = V(e, t);
405
+ let { rects: n } = t, { strategy: r = "referenceHidden", ...i } = B(e, t);
401
406
  switch (r) {
402
407
  case "referenceHidden": {
403
408
  let e = je(await Oe(t, {
@@ -425,7 +430,7 @@ var Ne = function(e) {
425
430
  };
426
431
  }, Pe = /*#__PURE__*/ new Set(["left", "top"]);
427
432
  async function Fe(e, t) {
428
- let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = H(n), s = ce(n), c = U(n) === "y", l = Pe.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = V(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
433
+ let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = V(n), s = H(n), c = U(n) === "y", l = Pe.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = B(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
429
434
  mainAxis: d,
430
435
  crossAxis: 0,
431
436
  alignmentAxis: null
@@ -470,17 +475,17 @@ var Ie = function(e) {
470
475
  x: t,
471
476
  y: n
472
477
  };
473
- } }, ...c } = V(e, t), l = {
478
+ } }, ...c } = B(e, t), l = {
474
479
  x: n,
475
480
  y: r
476
- }, u = await Oe(t, c), d = U(H(i)), f = le(d), p = l[f], m = l[d];
481
+ }, u = await Oe(t, c), d = U(V(i)), f = le(d), p = l[f], m = l[d];
477
482
  if (a) {
478
483
  let e = f === "y" ? "top" : "left", t = f === "y" ? "bottom" : "right", n = p + u[e], r = p - u[t];
479
- p = se(n, p, r);
484
+ p = ce(n, p, r);
480
485
  }
481
486
  if (o) {
482
487
  let e = d === "y" ? "top" : "left", t = d === "y" ? "bottom" : "right", n = m + u[e], r = m - u[t];
483
- m = se(n, m, r);
488
+ m = ce(n, m, r);
484
489
  }
485
490
  let h = s.fn({
486
491
  ...t,
@@ -504,10 +509,10 @@ var Ie = function(e) {
504
509
  return e === void 0 && (e = {}), {
505
510
  options: e,
506
511
  fn(t) {
507
- let { x: n, y: r, placement: i, rects: a, middlewareData: o } = t, { offset: s = 0, mainAxis: c = !0, crossAxis: l = !0 } = V(e, t), u = {
512
+ let { x: n, y: r, placement: i, rects: a, middlewareData: o } = t, { offset: s = 0, mainAxis: c = !0, crossAxis: l = !0 } = B(e, t), u = {
508
513
  x: n,
509
514
  y: r
510
- }, d = U(i), f = le(d), p = u[f], m = u[d], h = V(s, t), g = typeof h == "number" ? {
515
+ }, d = U(i), f = le(d), p = u[f], m = u[d], h = B(s, t), g = typeof h == "number" ? {
511
516
  mainAxis: h,
512
517
  crossAxis: 0
513
518
  } : {
@@ -520,7 +525,7 @@ var Ie = function(e) {
520
525
  p < t ? p = t : p > n && (p = n);
521
526
  }
522
527
  if (l) {
523
- let e = f === "y" ? "width" : "height", t = Pe.has(H(i)), n = a.reference[d] - a.floating[e] + (t && o.offset?.[d] || 0) + (t ? 0 : g.crossAxis), r = a.reference[d] + a.reference[e] + (t ? 0 : o.offset?.[d] || 0) - (t ? g.crossAxis : 0);
528
+ let e = f === "y" ? "width" : "height", t = Pe.has(V(i)), n = a.reference[d] - a.floating[e] + (t && o.offset?.[d] || 0) + (t ? 0 : g.crossAxis), r = a.reference[d] + a.reference[e] + (t ? 0 : o.offset?.[d] || 0) - (t ? g.crossAxis : 0);
524
529
  m < n ? m = n : m > r && (m = r);
525
530
  }
526
531
  return {
@@ -535,12 +540,12 @@ var Ie = function(e) {
535
540
  options: e,
536
541
  async fn(t) {
537
542
  var n, r;
538
- let { placement: i, rects: a, platform: o, elements: s } = t, { apply: c = () => {}, ...l } = V(e, t), u = await Oe(t, l), d = H(i), f = ce(i), p = U(i) === "y", { width: m, height: h } = a.floating, g, _;
543
+ let { placement: i, rects: a, platform: o, elements: s } = t, { apply: c = () => {}, ...l } = B(e, t), u = await Oe(t, l), d = V(i), f = H(i), p = U(i) === "y", { width: m, height: h } = a.floating, g, _;
539
544
  d === "top" || d === "bottom" ? (g = d, _ = f === (await (o.isRTL == null ? void 0 : o.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (_ = d, g = f === "end" ? "top" : "bottom");
540
- let v = h - u.top - u.bottom, y = m - u.left - u.right, b = I(h - u[g], v), x = I(m - u[_], y), S = !t.middlewareData.shift, C = b, w = x;
545
+ let v = h - u.top - u.bottom, y = m - u.left - u.right, b = F(h - u[g], v), x = F(m - u[_], y), S = !t.middlewareData.shift, C = b, w = x;
541
546
  if ((n = t.middlewareData.shift) != null && n.enabled.x && (w = y), (r = t.middlewareData.shift) != null && r.enabled.y && (C = v), S && !f) {
542
- let e = L(u.left, 0), t = L(u.right, 0), n = L(u.top, 0), r = L(u.bottom, 0);
543
- p ? w = m - 2 * (e !== 0 || t !== 0 ? e + t : L(u.left, u.right)) : C = h - 2 * (n !== 0 || r !== 0 ? n + r : L(u.top, u.bottom));
547
+ let e = I(u.left, 0), t = I(u.right, 0), n = I(u.top, 0), r = I(u.bottom, 0);
548
+ p ? w = m - 2 * (e !== 0 || t !== 0 ? e + t : I(u.left, u.right)) : C = h - 2 * (n !== 0 || r !== 0 ? n + r : I(u.top, u.bottom));
544
549
  }
545
550
  await c({
546
551
  ...t,
@@ -681,7 +686,7 @@ function ot(e) {
681
686
  //#endregion
682
687
  //#region ../node_modules/.pnpm/@floating-ui+dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
683
688
  function st(e) {
684
- let t = Y(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = J(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = R(n) !== a || R(r) !== o;
689
+ let t = Y(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = J(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = L(n) !== a || L(r) !== o;
685
690
  return s && (n = a, r = o), {
686
691
  width: n,
687
692
  height: r,
@@ -693,14 +698,14 @@ function ct(e) {
693
698
  }
694
699
  function lt(e) {
695
700
  let t = ct(e);
696
- if (!J(t)) return B(1);
697
- let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = st(t), o = (a ? R(n.width) : n.width) / r, s = (a ? R(n.height) : n.height) / i;
701
+ if (!J(t)) return z(1);
702
+ let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = st(t), o = (a ? L(n.width) : n.width) / r, s = (a ? L(n.height) : n.height) / i;
698
703
  return (!o || !Number.isFinite(o)) && (o = 1), (!s || !Number.isFinite(s)) && (s = 1), {
699
704
  x: o,
700
705
  y: s
701
706
  };
702
707
  }
703
- var ut = /*#__PURE__*/ B(0);
708
+ var ut = /*#__PURE__*/ z(0);
704
709
  function dt(e) {
705
710
  let t = G(e);
706
711
  return !et() || !t.visualViewport ? ut : {
@@ -713,9 +718,9 @@ function ft(e, t, n) {
713
718
  }
714
719
  function Z(e, t, n, r) {
715
720
  t === void 0 && (t = !1), n === void 0 && (n = !1);
716
- let i = e.getBoundingClientRect(), a = ct(e), o = B(1);
721
+ let i = e.getBoundingClientRect(), a = ct(e), o = z(1);
717
722
  t && (r ? q(r) && (o = lt(r)) : o = lt(e));
718
- let s = ft(a, n, r) ? dt(a) : B(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
723
+ let s = ft(a, n, r) ? dt(a) : z(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
719
724
  if (a) {
720
725
  let e = G(a), t = r && q(r) ? G(r) : r, n = e, i = ot(n);
721
726
  for (; i && r && t !== n;) {
@@ -748,12 +753,12 @@ function ht(e) {
748
753
  let c = {
749
754
  scrollLeft: 0,
750
755
  scrollTop: 0
751
- }, l = B(1), u = B(0), d = J(r);
756
+ }, l = z(1), u = z(0), d = J(r);
752
757
  if ((d || !d && !a) && ((W(r) !== "body" || We(o)) && (c = rt(r)), J(r))) {
753
758
  let e = Z(r);
754
759
  l = lt(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
755
760
  }
756
- let f = o && !d && !a ? mt(o, c, !0) : B(0);
761
+ let f = o && !d && !a ? mt(o, c, !0) : z(0);
757
762
  return {
758
763
  width: n.width * l.x,
759
764
  height: n.height * l.y,
@@ -765,8 +770,8 @@ function gt(e) {
765
770
  return Array.from(e.getClientRects());
766
771
  }
767
772
  function _t(e) {
768
- let t = K(e), n = rt(e), r = e.ownerDocument.body, i = L(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = L(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + pt(e), s = -n.scrollTop;
769
- return Y(r).direction === "rtl" && (o += L(t.clientWidth, r.clientWidth) - i), {
773
+ let t = K(e), n = rt(e), r = e.ownerDocument.body, i = I(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = I(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + pt(e), s = -n.scrollTop;
774
+ return Y(r).direction === "rtl" && (o += I(t.clientWidth, r.clientWidth) - i), {
770
775
  width: i,
771
776
  height: a,
772
777
  x: o,
@@ -789,7 +794,7 @@ function vt(e, t) {
789
794
  }
790
795
  var yt = /*#__PURE__*/ new Set(["absolute", "fixed"]);
791
796
  function bt(e, t) {
792
- let n = Z(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = J(e) ? lt(e) : B(1);
797
+ let n = Z(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = J(e) ? lt(e) : z(1);
793
798
  return {
794
799
  width: e.clientWidth * a.x,
795
800
  height: e.clientHeight * a.y,
@@ -830,7 +835,7 @@ function Ct(e, t) {
830
835
  function wt(e) {
831
836
  let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? Je(t) ? [] : Ct(t, this._c) : [].concat(n), r], o = a[0], s = a.reduce((e, n) => {
832
837
  let r = xt(t, n, i);
833
- return e.top = L(r.top, e.top), e.right = I(r.right, e.right), e.bottom = I(r.bottom, e.bottom), e.left = L(r.left, e.left), e;
838
+ return e.top = I(r.top, e.top), e.right = F(r.right, e.right), e.bottom = F(r.bottom, e.bottom), e.left = I(r.left, e.left), e;
834
839
  }, xt(t, o, i));
835
840
  return {
836
841
  width: s.right - s.left,
@@ -850,7 +855,7 @@ function Et(e, t, n) {
850
855
  let r = J(t), i = K(t), a = n === "fixed", o = Z(e, !0, a, t), s = {
851
856
  scrollLeft: 0,
852
857
  scrollTop: 0
853
- }, c = B(0);
858
+ }, c = z(0);
854
859
  function l() {
855
860
  c.x = pt(i);
856
861
  }
@@ -861,7 +866,7 @@ function Et(e, t, n) {
861
866
  } else i && l();
862
867
  }
863
868
  a && !r && i && l();
864
- let u = i && !r && !a ? mt(i, s) : B(0);
869
+ let u = i && !r && !a ? mt(i, s) : z(0);
865
870
  return {
866
871
  x: o.left + s.scrollLeft - c.x - u.x,
867
872
  y: o.top + s.scrollTop - c.y - u.y,
@@ -933,9 +938,9 @@ function Pt(e, t) {
933
938
  s === void 0 && (s = !1), c === void 0 && (c = 1), a();
934
939
  let l = e.getBoundingClientRect(), { left: u, top: d, width: f, height: p } = l;
935
940
  if (s || t(), !f || !p) return;
936
- let m = z(d), h = z(i.clientWidth - (u + f)), g = z(i.clientHeight - (d + p)), _ = z(u), v = {
941
+ let m = R(d), h = R(i.clientWidth - (u + f)), g = R(i.clientHeight - (d + p)), _ = R(u), v = {
937
942
  rootMargin: -m + "px " + -h + "px " + -g + "px " + -_ + "px",
938
- threshold: L(0, I(1, c)) || 1
943
+ threshold: I(0, F(1, c)) || 1
939
944
  }, y = !0;
940
945
  function b(t) {
941
946
  let n = t[0].intersectionRatio;
@@ -998,7 +1003,7 @@ var It = Ie, Lt = Le, Rt = Ae, zt = ze, Bt = Ne, Vt = ke, Ht = Re, Ut = (e, t, n
998
1003
  ...i,
999
1004
  platform: a
1000
1005
  });
1001
- }, Wt = typeof document < "u" ? x.useLayoutEffect : function() {};
1006
+ }, Wt = typeof document < "u" ? S.useLayoutEffect : function() {};
1002
1007
  function Gt(e, t) {
1003
1008
  if (e === t) return !0;
1004
1009
  if (typeof e != typeof t) return !1;
@@ -1028,27 +1033,27 @@ function qt(e, t) {
1028
1033
  return Math.round(t * n) / n;
1029
1034
  }
1030
1035
  function Jt(e) {
1031
- let t = x.useRef(e);
1036
+ let t = S.useRef(e);
1032
1037
  return Wt(() => {
1033
1038
  t.current = e;
1034
1039
  }), t;
1035
1040
  }
1036
1041
  function Yt(e) {
1037
1042
  e === void 0 && (e = {});
1038
- let { placement: t = "bottom", strategy: n = "absolute", middleware: r = [], platform: i, elements: { reference: a, floating: o } = {}, transform: s = !0, whileElementsMounted: c, open: l } = e, [u, d] = x.useState({
1043
+ let { placement: t = "bottom", strategy: n = "absolute", middleware: r = [], platform: i, elements: { reference: a, floating: o } = {}, transform: s = !0, whileElementsMounted: c, open: l } = e, [u, d] = S.useState({
1039
1044
  x: 0,
1040
1045
  y: 0,
1041
1046
  strategy: n,
1042
1047
  placement: t,
1043
1048
  middlewareData: {},
1044
1049
  isPositioned: !1
1045
- }), [f, p] = x.useState(r);
1050
+ }), [f, p] = S.useState(r);
1046
1051
  Gt(f, r) || p(r);
1047
- let [m, h] = x.useState(null), [g, _] = x.useState(null), v = x.useCallback((e) => {
1052
+ let [m, h] = S.useState(null), [g, _] = S.useState(null), v = S.useCallback((e) => {
1048
1053
  e !== C.current && (C.current = e, h(e));
1049
- }, []), y = x.useCallback((e) => {
1054
+ }, []), y = S.useCallback((e) => {
1050
1055
  e !== w.current && (w.current = e, _(e));
1051
- }, []), b = a || m, S = o || g, C = x.useRef(null), w = x.useRef(null), T = x.useRef(u), E = c != null, D = Jt(c), O = Jt(i), k = Jt(l), j = x.useCallback(() => {
1056
+ }, []), b = a || m, x = o || g, C = S.useRef(null), w = S.useRef(null), T = S.useRef(u), E = c != null, D = Jt(c), O = Jt(i), k = Jt(l), A = S.useCallback(() => {
1052
1057
  if (!C.current || !w.current) return;
1053
1058
  let e = {
1054
1059
  placement: t,
@@ -1060,7 +1065,7 @@ function Yt(e) {
1060
1065
  ...e,
1061
1066
  isPositioned: k.current !== !1
1062
1067
  };
1063
- M.current && !Gt(T.current, t) && (T.current = t, A.flushSync(() => {
1068
+ j.current && !Gt(T.current, t) && (T.current = t, ee.flushSync(() => {
1064
1069
  d(t);
1065
1070
  }));
1066
1071
  });
@@ -1077,41 +1082,41 @@ function Yt(e) {
1077
1082
  isPositioned: !1
1078
1083
  })));
1079
1084
  }, [l]);
1080
- let M = x.useRef(!1);
1081
- Wt(() => (M.current = !0, () => {
1082
- M.current = !1;
1085
+ let j = S.useRef(!1);
1086
+ Wt(() => (j.current = !0, () => {
1087
+ j.current = !1;
1083
1088
  }), []), Wt(() => {
1084
- if (b && (C.current = b), S && (w.current = S), b && S) {
1085
- if (D.current) return D.current(b, S, j);
1086
- j();
1089
+ if (b && (C.current = b), x && (w.current = x), b && x) {
1090
+ if (D.current) return D.current(b, x, A);
1091
+ A();
1087
1092
  }
1088
1093
  }, [
1089
1094
  b,
1090
- S,
1091
- j,
1095
+ x,
1096
+ A,
1092
1097
  D,
1093
1098
  E
1094
1099
  ]);
1095
- let N = x.useMemo(() => ({
1100
+ let M = S.useMemo(() => ({
1096
1101
  reference: C,
1097
1102
  floating: w,
1098
1103
  setReference: v,
1099
1104
  setFloating: y
1100
- }), [v, y]), P = x.useMemo(() => ({
1105
+ }), [v, y]), N = S.useMemo(() => ({
1101
1106
  reference: b,
1102
- floating: S
1103
- }), [b, S]), F = x.useMemo(() => {
1107
+ floating: x
1108
+ }), [b, x]), P = S.useMemo(() => {
1104
1109
  let e = {
1105
1110
  position: n,
1106
1111
  left: 0,
1107
1112
  top: 0
1108
1113
  };
1109
- if (!P.floating) return e;
1110
- let t = qt(P.floating, u.x), r = qt(P.floating, u.y);
1114
+ if (!N.floating) return e;
1115
+ let t = qt(N.floating, u.x), r = qt(N.floating, u.y);
1111
1116
  return s ? {
1112
1117
  ...e,
1113
1118
  transform: "translate(" + t + "px, " + r + "px)",
1114
- ...Kt(P.floating) >= 1.5 && { willChange: "transform" }
1119
+ ...Kt(N.floating) >= 1.5 && { willChange: "transform" }
1115
1120
  } : {
1116
1121
  position: n,
1117
1122
  left: t,
@@ -1120,22 +1125,22 @@ function Yt(e) {
1120
1125
  }, [
1121
1126
  n,
1122
1127
  s,
1123
- P.floating,
1128
+ N.floating,
1124
1129
  u.x,
1125
1130
  u.y
1126
1131
  ]);
1127
- return x.useMemo(() => ({
1132
+ return S.useMemo(() => ({
1128
1133
  ...u,
1129
- update: j,
1130
- refs: N,
1131
- elements: P,
1132
- floatingStyles: F
1134
+ update: A,
1135
+ refs: M,
1136
+ elements: N,
1137
+ floatingStyles: P
1133
1138
  }), [
1134
1139
  u,
1135
- j,
1140
+ A,
1141
+ M,
1136
1142
  N,
1137
- P,
1138
- F
1143
+ P
1139
1144
  ]);
1140
1145
  }
1141
1146
  var Xt = (e) => {
@@ -1180,9 +1185,15 @@ var Xt = (e) => {
1180
1185
  }), an = Object.defineProperty, Q = (e, t) => an(e, "name", {
1181
1186
  value: t,
1182
1187
  configurable: !0
1183
- }), on = "Popper", [sn, cn] = d(on), [ln, un] = sn(on), dn = /* @__PURE__ */ Q((e) => {
1184
- let { __scopePopper: t, children: n } = e, [r, i] = x.useState(null), [a, o] = x.useState(void 0);
1185
- return /* @__PURE__ */ (0, j.jsx)(ln, {
1188
+ }), on = {
1189
+ Partial: "partial",
1190
+ Always: "always"
1191
+ }, sn = {
1192
+ Optimized: "optimized",
1193
+ Always: "always"
1194
+ }, cn = "Popper", [ln, un] = u(cn), [dn, fn] = ln(cn), pn = /* @__PURE__ */ Q((e) => {
1195
+ let { __scopePopper: t, children: n } = e, [r, i] = S.useState(null), [a, o] = S.useState(void 0);
1196
+ return /* @__PURE__ */ (0, j.jsx)(dn, {
1186
1197
  scope: t,
1187
1198
  anchor: r,
1188
1199
  onAnchorChange: i,
@@ -1190,38 +1201,38 @@ var Xt = (e) => {
1190
1201
  setPlacementState: o,
1191
1202
  children: n
1192
1203
  });
1193
- }, "Popper"), fn = "PopperAnchor", pn = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ Q(function(e, t) {
1194
- let { __scopePopper: n, virtualRef: i, ...a } = e, o = un(fn, n), s = x.useRef(null), c = o.onAnchorChange, l = x.useCallback((e) => {
1204
+ }, "Popper"), mn = "PopperAnchor", hn = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ Q(function(e, t) {
1205
+ let { __scopePopper: n, virtualRef: i, ...a } = e, o = fn(mn, n), s = S.useRef(null), c = o.onAnchorChange, l = S.useCallback((e) => {
1195
1206
  s.current = e, e && c(e);
1196
- }, [c]), d = r(t, l), f = x.useRef(null);
1197
- x.useEffect(() => {
1207
+ }, [c]), u = r(t, l), f = S.useRef(null);
1208
+ S.useEffect(() => {
1198
1209
  if (!i) return;
1199
1210
  let e = f.current;
1200
1211
  f.current = i.current, e !== f.current && c(f.current);
1201
1212
  });
1202
- let p = o.placementState && bn(o.placementState), m = p?.[0], h = p?.[1];
1203
- return i ? null : /* @__PURE__ */ (0, j.jsx)(u.div, {
1213
+ let p = o.placementState && Sn(o.placementState), m = p?.[0], h = p?.[1];
1214
+ return i ? null : /* @__PURE__ */ (0, j.jsx)(d.div, {
1204
1215
  "data-radix-popper-side": m,
1205
1216
  "data-radix-popper-align": h,
1206
1217
  ...a,
1207
- ref: d
1218
+ ref: u
1208
1219
  });
1209
- }, "PopperAnchor")), mn = "PopperContent", [hn, gn] = sn(mn), _n = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ Q(function(e, t) {
1210
- let { __scopePopper: n, side: i = "bottom", sideOffset: a = 0, align: o = "center", alignOffset: s = 0, arrowPadding: c = 0, avoidCollisions: l = !0, collisionBoundary: d = [], collisionPadding: f = 0, sticky: p = "partial", hideWhenDetached: m = !1, updatePositionStrategy: g = "optimized", onPlaced: _, ...v } = e, b = un(mn, n), [S, C] = x.useState(null), w = r(t, C), [T, E] = x.useState(null), D = re(T), O = D?.width ?? 0, k = D?.height ?? 0, A = i + (o === "center" ? "" : "-" + o), M = typeof f == "number" ? f : {
1220
+ }, "PopperAnchor")), gn = "PopperContent", [_n, vn] = ln(gn), yn = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ Q(function(e, t) {
1221
+ let { __scopePopper: n, side: i = "bottom", sideOffset: a = 0, align: o = "center", alignOffset: s = 0, arrowPadding: c = 0, avoidCollisions: l = !0, collisionBoundary: u = [], collisionPadding: f = 0, sticky: p = on.Partial, hideWhenDetached: h = !1, updatePositionStrategy: g = sn.Optimized, onPlaced: _, ...v } = e, y = fn(gn, n), [x, C] = S.useState(null), w = r(t, C), [T, E] = S.useState(null), D = ie(T), O = D?.width ?? 0, k = D?.height ?? 0, A = i + (o === "center" ? "" : "-" + o), ee = typeof f == "number" ? f : {
1211
1222
  top: 0,
1212
1223
  right: 0,
1213
1224
  bottom: 0,
1214
1225
  left: 0,
1215
1226
  ...f
1216
- }, N = Array.isArray(d) ? d : [d], P = N.length > 0, F = {
1217
- padding: M,
1218
- boundary: N.filter(vn),
1219
- altBoundary: P
1220
- }, { refs: ee, floatingStyles: te, placement: ne, isPositioned: ie, middlewareData: I } = Yt({
1227
+ }, M = Array.isArray(u) ? u : [u], N = M.length > 0, P = {
1228
+ padding: ee,
1229
+ boundary: M.filter(bn),
1230
+ altBoundary: N
1231
+ }, { refs: te, floatingStyles: ne, placement: re, isPositioned: ae, middlewareData: F } = Yt({
1221
1232
  strategy: "fixed",
1222
1233
  placement: A,
1223
- whileElementsMounted: /* @__PURE__ */ Q((...e) => Ft(...e, { animationFrame: g === "always" }), "whileElementsMounted"),
1224
- elements: { reference: b.anchor },
1234
+ whileElementsMounted: /* @__PURE__ */ Q((...e) => Ft(...e, { animationFrame: g === sn.Always }), "whileElementsMounted"),
1235
+ elements: { reference: y.anchor },
1225
1236
  middleware: [
1226
1237
  Zt({
1227
1238
  mainAxis: a + k,
@@ -1230,12 +1241,12 @@ var Xt = (e) => {
1230
1241
  l && Qt({
1231
1242
  mainAxis: !0,
1232
1243
  crossAxis: !1,
1233
- limiter: p === "partial" ? $t() : void 0,
1234
- ...F
1244
+ ...p === on.Partial ? { limiter: $t() } : {},
1245
+ ...P
1235
1246
  }),
1236
- l && en({ ...F }),
1247
+ l && en({ ...P }),
1237
1248
  tn({
1238
- ...F,
1249
+ ...P,
1239
1250
  apply: /* @__PURE__ */ Q(({ elements: e, rects: t, availableWidth: n, availableHeight: r }) => {
1240
1251
  let { width: i, height: a } = t.reference, o = e.floating.style;
1241
1252
  o.setProperty("--radix-popper-available-width", `${n}px`), o.setProperty("--radix-popper-available-height", `${r}px`), o.setProperty("--radix-popper-anchor-width", `${i}px`), o.setProperty("--radix-popper-anchor-height", `${a}px`);
@@ -1245,72 +1256,75 @@ var Xt = (e) => {
1245
1256
  element: T,
1246
1257
  padding: c
1247
1258
  }),
1248
- yn({
1259
+ xn({
1249
1260
  arrowWidth: O,
1250
1261
  arrowHeight: k
1251
1262
  }),
1252
- m && nn({
1263
+ h && nn(N ? {
1253
1264
  strategy: "referenceHidden",
1254
- ...F,
1255
- boundary: P ? F.boundary : void 0
1265
+ ...P
1266
+ } : {
1267
+ strategy: "referenceHidden",
1268
+ padding: P.padding,
1269
+ altBoundary: P.altBoundary
1256
1270
  })
1257
1271
  ]
1258
- }), L = b.setPlacementState;
1259
- y(() => (L(ne), () => {
1260
- L(void 0);
1261
- }), [ne, L]);
1262
- let [R, z] = bn(ne), B = h(_);
1263
- y(() => {
1264
- ie && B?.();
1265
- }, [ie, B]);
1266
- let ae = I.arrow?.x, oe = I.arrow?.y, se = I.arrow?.centerOffset !== 0, [V, H] = x.useState();
1267
- return y(() => {
1268
- S && H(window.getComputedStyle(S).zIndex);
1269
- }, [S]), /* @__PURE__ */ (0, j.jsx)("div", {
1270
- ref: ee.setFloating,
1272
+ }), I = y.setPlacementState;
1273
+ m(() => (I(re), () => {
1274
+ I(void 0);
1275
+ }), [re, I]);
1276
+ let [L, R] = Sn(re), z = b(_);
1277
+ m(() => {
1278
+ ae && z?.();
1279
+ }, [ae, z]);
1280
+ let oe = F.arrow?.x, se = F.arrow?.y, ce = F.arrow?.centerOffset !== 0, [B, V] = S.useState();
1281
+ return m(() => {
1282
+ x && V(window.getComputedStyle(x).zIndex);
1283
+ }, [x]), /* @__PURE__ */ (0, j.jsx)("div", {
1284
+ ref: te.setFloating,
1271
1285
  "data-radix-popper-content-wrapper": "",
1272
1286
  style: {
1273
- ...te,
1274
- transform: ie ? te.transform : "translate(0, -200%)",
1287
+ ...ne,
1288
+ transform: ae ? ne.transform : "translate(0, -200%)",
1275
1289
  minWidth: "max-content",
1276
- zIndex: V,
1277
- "--radix-popper-transform-origin": [I.transformOrigin?.x, I.transformOrigin?.y].join(" "),
1278
- ...I.hide?.referenceHidden && {
1290
+ zIndex: B,
1291
+ "--radix-popper-transform-origin": [F.transformOrigin?.x, F.transformOrigin?.y].join(" "),
1292
+ ...F.hide?.referenceHidden && {
1279
1293
  visibility: "hidden",
1280
1294
  pointerEvents: "none"
1281
1295
  }
1282
1296
  },
1283
1297
  dir: e.dir,
1284
- children: /* @__PURE__ */ (0, j.jsx)(hn, {
1298
+ children: /* @__PURE__ */ (0, j.jsx)(_n, {
1285
1299
  scope: n,
1286
- placedSide: R,
1287
- placedAlign: z,
1300
+ placedSide: L,
1301
+ placedAlign: R,
1288
1302
  onArrowChange: E,
1289
- arrowX: ae,
1290
- arrowY: oe,
1291
- shouldHideArrow: se,
1292
- children: /* @__PURE__ */ (0, j.jsx)(u.div, {
1293
- "data-side": R,
1294
- "data-align": z,
1303
+ arrowX: oe,
1304
+ arrowY: se,
1305
+ shouldHideArrow: ce,
1306
+ children: /* @__PURE__ */ (0, j.jsx)(d.div, {
1307
+ "data-side": L,
1308
+ "data-align": R,
1295
1309
  ...v,
1296
1310
  ref: w,
1297
1311
  style: {
1298
1312
  ...v.style,
1299
- animation: ie ? v.style?.animation : "none"
1313
+ animation: ae ? v.style?.animation : "none"
1300
1314
  }
1301
1315
  })
1302
1316
  })
1303
1317
  });
1304
1318
  }, "PopperContent"));
1305
- function vn(e) {
1319
+ function bn(e) {
1306
1320
  return e !== null;
1307
1321
  }
1308
- Q(vn, "isNotNull");
1309
- var yn = /* @__PURE__ */ Q((e) => ({
1322
+ Q(bn, "isNotNull");
1323
+ var xn = /* @__PURE__ */ Q((e) => ({
1310
1324
  name: "transformOrigin",
1311
1325
  options: e,
1312
1326
  fn(t) {
1313
- let { placement: n, rects: r, middlewareData: i } = t, a = i.arrow?.centerOffset !== 0, o = a ? 0 : e.arrowWidth, s = a ? 0 : e.arrowHeight, [c, l] = bn(n), u = {
1327
+ let { placement: n, rects: r, middlewareData: i } = t, a = i.arrow?.centerOffset !== 0, o = a ? 0 : e.arrowWidth, s = a ? 0 : e.arrowHeight, [c, l] = Sn(n), u = {
1314
1328
  start: "0%",
1315
1329
  center: "50%",
1316
1330
  end: "100%"
@@ -1321,148 +1335,150 @@ var yn = /* @__PURE__ */ Q((e) => ({
1321
1335
  } };
1322
1336
  }
1323
1337
  }), "transformOrigin");
1324
- function bn(e) {
1338
+ function Sn(e) {
1325
1339
  let [t, n = "center"] = e.split("-");
1326
1340
  return [t, n];
1327
1341
  }
1328
- Q(bn, "getSideAndAlignFromPlacement");
1329
- var xn = dn, Sn = pn, Cn = _n, wn = Object.defineProperty, $ = (e, t) => wn(e, "name", {
1342
+ Q(Sn, "getSideAndAlignFromPlacement");
1343
+ //#endregion
1344
+ //#region ../node_modules/.pnpm/@radix-ui+react-tooltip@1.4.1_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react_6b024258fc950250eb2fe8f7b373fd06/node_modules/@radix-ui/react-tooltip/dist/index.mjs
1345
+ var Cn = Object.defineProperty, $ = (e, t) => Cn(e, "name", {
1330
1346
  value: t,
1331
1347
  configurable: !0
1332
- }), [Tn, En] = d("Tooltip", [cn]), Dn = cn(), On = "TooltipProvider", kn = 700, An = "tooltip.open", [jn, Mn] = Tn(On), Nn = /* @__PURE__ */ $((e) => {
1333
- let { __scopeTooltip: t, delayDuration: n = kn, skipDelayDuration: r = 300, disableHoverableContent: i = !1, children: a } = e, o = x.useRef(!0), s = x.useRef(!1), c = x.useRef(0);
1334
- return x.useEffect(() => {
1348
+ }), [wn, Tn] = u("Tooltip", [un]), En = un(), Dn = "TooltipProvider", On = 700, kn = "tooltip.open", [An, jn] = wn(Dn), Mn = /* @__PURE__ */ $((e) => {
1349
+ let { __scopeTooltip: t, delayDuration: n = On, skipDelayDuration: r = 300, disableHoverableContent: i = !1, children: a } = e, o = S.useRef(!0), s = S.useRef(!1), c = S.useRef(0);
1350
+ return S.useEffect(() => {
1335
1351
  let e = c.current;
1336
1352
  return () => window.clearTimeout(e);
1337
- }, []), /* @__PURE__ */ (0, j.jsx)(jn, {
1353
+ }, []), /* @__PURE__ */ (0, j.jsx)(An, {
1338
1354
  scope: t,
1339
1355
  isOpenDelayedRef: o,
1340
1356
  delayDuration: n,
1341
- onOpen: x.useCallback(() => {
1357
+ onOpen: S.useCallback(() => {
1342
1358
  r <= 0 || (window.clearTimeout(c.current), o.current = !1);
1343
1359
  }, [r]),
1344
- onClose: x.useCallback(() => {
1360
+ onClose: S.useCallback(() => {
1345
1361
  r <= 0 || (window.clearTimeout(c.current), c.current = window.setTimeout(() => o.current = !0, r));
1346
1362
  }, [r]),
1347
1363
  isPointerInTransitRef: s,
1348
- onPointerInTransitChange: x.useCallback((e) => {
1364
+ onPointerInTransitChange: S.useCallback((e) => {
1349
1365
  s.current = e;
1350
1366
  }, []),
1351
1367
  disableHoverableContent: i,
1352
1368
  children: a
1353
1369
  });
1354
- }, "TooltipProvider"), Pn = "Tooltip", [Fn, In] = Tn(Pn), Ln = /* @__PURE__ */ $((e) => {
1355
- let { __scopeTooltip: t, children: n, open: r, defaultOpen: i, onOpenChange: a, disableHoverableContent: o, delayDuration: s } = e, c = Mn(Pn, e.__scopeTooltip), u = Dn(t), [d, f] = x.useState(null), [p, m] = x.useState(void 0), h = b(), g = x.useRef(0), _ = o ?? c.disableHoverableContent, v = s ?? c.delayDuration, y = x.useRef(!1), [S, C] = l({
1370
+ }, "TooltipProvider"), Nn = "Tooltip", [Pn, Fn] = wn(Nn), In = /* @__PURE__ */ $((e) => {
1371
+ let { __scopeTooltip: t, children: n, open: r, defaultOpen: i, onOpenChange: a, disableHoverableContent: o, delayDuration: s } = e, l = jn(Nn, e.__scopeTooltip), u = En(t), [d, p] = S.useState(null), [m, h] = S.useState(void 0), g = c(), _ = S.useRef(0), v = o ?? l.disableHoverableContent, y = s ?? l.delayDuration, b = S.useRef(!1), [x, C] = f({
1356
1372
  prop: r,
1357
1373
  defaultProp: i ?? !1,
1358
1374
  onChange: /* @__PURE__ */ $((e) => {
1359
- e ? (c.onOpen(), document.dispatchEvent(new CustomEvent(An))) : c.onClose(), a?.(e);
1375
+ e ? (l.onOpen(), document.dispatchEvent(new CustomEvent(kn))) : l.onClose(), a?.(e);
1360
1376
  }, "onChange"),
1361
- caller: Pn
1362
- }), w = x.useMemo(() => S ? y.current ? "delayed-open" : "instant-open" : "closed", [S]), T = x.useCallback(() => {
1363
- window.clearTimeout(g.current), g.current = 0, y.current = !1, C(!0);
1364
- }, [C]), E = x.useCallback(() => {
1365
- window.clearTimeout(g.current), g.current = 0, C(!1);
1366
- }, [C]), D = x.useCallback(() => {
1367
- window.clearTimeout(g.current), g.current = window.setTimeout(() => {
1368
- y.current = !0, C(!0), g.current = 0;
1369
- }, v);
1370
- }, [v, C]);
1371
- x.useEffect(() => () => {
1372
- g.current &&= (window.clearTimeout(g.current), 0);
1377
+ caller: Nn
1378
+ }), w = S.useMemo(() => x ? b.current ? "delayed-open" : "instant-open" : "closed", [x]), T = S.useCallback(() => {
1379
+ window.clearTimeout(_.current), _.current = 0, b.current = !1, C(!0);
1380
+ }, [C]), E = S.useCallback(() => {
1381
+ window.clearTimeout(_.current), _.current = 0, C(!1);
1382
+ }, [C]), D = S.useCallback(() => {
1383
+ window.clearTimeout(_.current), _.current = window.setTimeout(() => {
1384
+ b.current = !0, C(!0), _.current = 0;
1385
+ }, y);
1386
+ }, [y, C]);
1387
+ S.useEffect(() => () => {
1388
+ _.current &&= (window.clearTimeout(_.current), 0);
1373
1389
  }, []);
1374
- let O = p ?? h;
1375
- return /* @__PURE__ */ (0, j.jsx)(xn, {
1390
+ let O = m ?? g;
1391
+ return /* @__PURE__ */ (0, j.jsx)(pn, {
1376
1392
  ...u,
1377
- children: /* @__PURE__ */ (0, j.jsx)(Fn, {
1393
+ children: /* @__PURE__ */ (0, j.jsx)(Pn, {
1378
1394
  scope: t,
1379
1395
  contentId: O,
1380
- setContentId: m,
1381
- open: S,
1396
+ setContentId: h,
1397
+ open: x,
1382
1398
  stateAttribute: w,
1383
1399
  trigger: d,
1384
- onTriggerChange: f,
1385
- onTriggerEnter: x.useCallback(() => {
1386
- c.isOpenDelayedRef.current ? D() : T();
1400
+ onTriggerChange: p,
1401
+ onTriggerEnter: S.useCallback(() => {
1402
+ l.isOpenDelayedRef.current ? D() : T();
1387
1403
  }, [
1388
- c.isOpenDelayedRef,
1404
+ l.isOpenDelayedRef,
1389
1405
  D,
1390
1406
  T
1391
1407
  ]),
1392
- onTriggerLeave: x.useCallback(() => {
1393
- _ ? E() : (window.clearTimeout(g.current), g.current = 0);
1394
- }, [E, _]),
1408
+ onTriggerLeave: S.useCallback(() => {
1409
+ v ? E() : (window.clearTimeout(_.current), _.current = 0);
1410
+ }, [E, v]),
1395
1411
  onOpen: T,
1396
1412
  onClose: E,
1397
- disableHoverableContent: _,
1413
+ disableHoverableContent: v,
1398
1414
  children: n
1399
1415
  })
1400
1416
  });
1401
- }, "Tooltip"), Rn = "TooltipTrigger", zn = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ $(function(e, t) {
1402
- let { __scopeTooltip: n, ...i } = e, a = In(Rn, n), o = Mn(Rn, n), s = Dn(n), c = x.useRef(null), l = r(t, c, a.onTriggerChange), d = x.useRef(!1), f = x.useRef(!1), p = x.useCallback(() => d.current = !1, []);
1403
- return x.useEffect(() => () => document.removeEventListener("pointerup", p), [p]), /* @__PURE__ */ (0, j.jsx)(Sn, {
1417
+ }, "Tooltip"), Ln = "TooltipTrigger", Rn = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ $(function(e, t) {
1418
+ let { __scopeTooltip: n, "aria-describedby": i, ...a } = e, o = Fn(Ln, n), s = jn(Ln, n), c = En(n), l = S.useRef(null), u = r(t, l, o.onTriggerChange), f = S.useRef(!1), m = S.useRef(!1), h = S.useCallback(() => f.current = !1, []);
1419
+ return S.useEffect(() => () => document.removeEventListener("pointerup", h), [h]), /* @__PURE__ */ (0, j.jsx)(hn, {
1404
1420
  asChild: !0,
1405
- ...s,
1406
- children: /* @__PURE__ */ (0, j.jsx)(u.button, {
1407
- "aria-describedby": a.open ? a.contentId : void 0,
1408
- "data-state": a.stateAttribute,
1409
- ...i,
1410
- ref: l,
1411
- onPointerMove: m(e.onPointerMove, (e) => {
1412
- e.pointerType !== "touch" && !f.current && !o.isPointerInTransitRef.current && (a.onTriggerEnter(), f.current = !0);
1421
+ ...c,
1422
+ children: /* @__PURE__ */ (0, j.jsx)(d.button, {
1423
+ "aria-describedby": o.open ? er(i, o.contentId) : i,
1424
+ "data-state": o.stateAttribute,
1425
+ ...a,
1426
+ ref: u,
1427
+ onPointerMove: p(e.onPointerMove, (e) => {
1428
+ e.pointerType !== "touch" && !m.current && !s.isPointerInTransitRef.current && (o.onTriggerEnter(), m.current = !0);
1413
1429
  }),
1414
- onPointerLeave: m(e.onPointerLeave, () => {
1415
- a.onTriggerLeave(), f.current = !1;
1430
+ onPointerLeave: p(e.onPointerLeave, () => {
1431
+ o.onTriggerLeave(), m.current = !1;
1416
1432
  }),
1417
- onPointerDown: m(e.onPointerDown, () => {
1418
- a.open && a.onClose(), d.current = !0, document.addEventListener("pointerup", p, { once: !0 });
1433
+ onPointerDown: p(e.onPointerDown, () => {
1434
+ o.open && o.onClose(), f.current = !0, document.addEventListener("pointerup", h, { once: !0 });
1419
1435
  }),
1420
- onFocus: m(e.onFocus, () => {
1421
- d.current || a.onOpen();
1436
+ onFocus: p(e.onFocus, () => {
1437
+ f.current || o.onOpen();
1422
1438
  }),
1423
- onBlur: m(e.onBlur, a.onClose),
1424
- onClick: m(e.onClick, a.onClose)
1439
+ onBlur: p(e.onBlur, o.onClose),
1440
+ onClick: p(e.onClick, o.onClose)
1425
1441
  })
1426
1442
  });
1427
- }, "TooltipTrigger")), Bn = "TooltipPortal", [Vn, Hn] = Tn(Bn, { forceMount: void 0 }), Un = /* @__PURE__ */ $((e) => {
1428
- let { __scopeTooltip: t, forceMount: n, children: r, container: i } = e, a = In(Bn, t);
1429
- return /* @__PURE__ */ (0, j.jsx)(Vn, {
1443
+ }, "TooltipTrigger")), zn = "TooltipPortal", [Bn, Vn] = wn(zn, { forceMount: void 0 }), Hn = /* @__PURE__ */ $((e) => {
1444
+ let { __scopeTooltip: t, forceMount: n, children: r, container: i } = e, a = Fn(zn, t);
1445
+ return /* @__PURE__ */ (0, j.jsx)(Bn, {
1430
1446
  scope: t,
1431
1447
  forceMount: n,
1432
- children: /* @__PURE__ */ (0, j.jsx)(p, {
1448
+ children: /* @__PURE__ */ (0, j.jsx)(y, {
1433
1449
  present: n || a.open,
1434
- children: /* @__PURE__ */ (0, j.jsx)(g, {
1450
+ children: /* @__PURE__ */ (0, j.jsx)(h, {
1435
1451
  asChild: !0,
1436
1452
  container: i,
1437
1453
  children: r
1438
1454
  })
1439
1455
  })
1440
1456
  });
1441
- }, "TooltipPortal"), Wn = "TooltipContent", Gn = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ $(function(e, t) {
1442
- let n = Hn(Wn, e.__scopeTooltip), { forceMount: r = n.forceMount, side: i = "top", ...a } = e, o = In(Wn, e.__scopeTooltip);
1443
- return /* @__PURE__ */ (0, j.jsx)(p, {
1457
+ }, "TooltipPortal"), Un = "TooltipContent", Wn = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ $(function(e, t) {
1458
+ let n = Vn(Un, e.__scopeTooltip), { forceMount: r = n.forceMount, side: i = "top", ...a } = e, o = Fn(Un, e.__scopeTooltip);
1459
+ return /* @__PURE__ */ (0, j.jsx)(y, {
1444
1460
  present: r || o.open,
1445
- children: o.disableHoverableContent ? /* @__PURE__ */ (0, j.jsx)(Jn, {
1461
+ children: o.disableHoverableContent ? /* @__PURE__ */ (0, j.jsx)(qn, {
1446
1462
  side: i,
1447
1463
  ...a,
1448
1464
  ref: t
1449
- }) : /* @__PURE__ */ (0, j.jsx)(Kn, {
1465
+ }) : /* @__PURE__ */ (0, j.jsx)(Gn, {
1450
1466
  side: i,
1451
1467
  ...a,
1452
1468
  ref: t
1453
1469
  })
1454
1470
  });
1455
- }, "TooltipContent")), Kn = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ $(function(e, t) {
1456
- let n = In(Wn, e.__scopeTooltip), i = Mn(Wn, e.__scopeTooltip), a = x.useRef(null), o = r(t, a), [s, c] = x.useState(null), { trigger: l, onClose: u } = n, d = a.current, { onPointerInTransitChange: f } = i, p = x.useCallback(() => {
1471
+ }, "TooltipContent")), Gn = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ $(function(e, t) {
1472
+ let n = Fn(Un, e.__scopeTooltip), i = jn(Un, e.__scopeTooltip), a = S.useRef(null), o = r(t, a), [s, c] = S.useState(null), { trigger: l, onClose: u } = n, d = a.current, { onPointerInTransitChange: f } = i, p = S.useCallback(() => {
1457
1473
  c(null), f(!1);
1458
- }, [f]), m = x.useCallback((e, t) => {
1474
+ }, [f]), m = S.useCallback((e, t) => {
1459
1475
  let n = e.currentTarget, r = {
1460
1476
  x: e.clientX,
1461
1477
  y: e.clientY
1462
- }, i = Xn(r, Yn(r, n.getBoundingClientRect())), a = Zn(t.getBoundingClientRect()), o = $n([...i, ...a]);
1478
+ }, i = Yn(r, Jn(r, n.getBoundingClientRect())), a = Xn(t.getBoundingClientRect()), o = Qn([...i, ...a]);
1463
1479
  c(o), f(!0);
1464
1480
  }, [f]);
1465
- return x.useEffect(() => () => p(), [p]), x.useEffect(() => {
1481
+ return S.useEffect(() => () => p(), [p]), S.useEffect(() => {
1466
1482
  if (l && d) {
1467
1483
  let e = /* @__PURE__ */ $((e) => m(e, d), "handleTriggerLeave"), t = /* @__PURE__ */ $((e) => m(e, l), "handleContentLeave");
1468
1484
  return l.addEventListener("pointerleave", e), d.addEventListener("pointerleave", t), () => {
@@ -1474,13 +1490,13 @@ var xn = dn, Sn = pn, Cn = _n, wn = Object.defineProperty, $ = (e, t) => wn(e, "
1474
1490
  d,
1475
1491
  m,
1476
1492
  p
1477
- ]), x.useEffect(() => {
1493
+ ]), S.useEffect(() => {
1478
1494
  if (s) {
1479
1495
  let e = /* @__PURE__ */ $((e) => {
1480
1496
  let t = e.target, n = {
1481
1497
  x: e.clientX,
1482
1498
  y: e.clientY
1483
- }, r = l?.contains(t) || d?.contains(t), i = !Qn(n, s);
1499
+ }, r = l?.contains(t) || d?.contains(t), i = !Zn(n, s);
1484
1500
  r ? p() : i && (p(), u());
1485
1501
  }, "handleTrackPointerGrace");
1486
1502
  return document.addEventListener("pointermove", e), () => document.removeEventListener("pointermove", e);
@@ -1491,54 +1507,54 @@ var xn = dn, Sn = pn, Cn = _n, wn = Object.defineProperty, $ = (e, t) => wn(e, "
1491
1507
  s,
1492
1508
  u,
1493
1509
  p
1494
- ]), /* @__PURE__ */ (0, j.jsx)(Jn, {
1510
+ ]), /* @__PURE__ */ (0, j.jsx)(qn, {
1495
1511
  ...e,
1496
1512
  ref: o
1497
1513
  });
1498
- }, "TooltipContentHoverable")), qn = t("TooltipContent"), Jn = /* @__PURE__ */ x.forwardRef(/* @__PURE__ */ $(function(e, t) {
1499
- let { __scopeTooltip: n, children: r, "aria-label": i, id: a, onEscapeKeyDown: o, onPointerDownOutside: s, ...c } = e, l = In(Wn, n), u = Dn(n), { onClose: d } = l;
1500
- x.useEffect(() => (document.addEventListener(An, d), () => document.removeEventListener(An, d)), [d]), x.useEffect(() => {
1501
- if (l.trigger) {
1514
+ }, "TooltipContentHoverable")), Kn = t("TooltipContent"), qn = /* @__PURE__ */ S.forwardRef(/* @__PURE__ */ $(function(e, t) {
1515
+ let { __scopeTooltip: n, children: i, "aria-label": a, id: o, onEscapeKeyDown: s, onPointerDownOutside: c, ...u } = e, d = Fn(Un, n), f = En(n), { onClose: p } = d, [h, _] = S.useState(null), v = r(t, _);
1516
+ g(h), S.useEffect(() => (document.addEventListener(kn, p), () => document.removeEventListener(kn, p)), [p]), S.useEffect(() => {
1517
+ if (d.trigger) {
1502
1518
  let e = /* @__PURE__ */ $((e) => {
1503
- e.target instanceof Node && e.target.contains(l.trigger) && d();
1519
+ e.target instanceof Node && e.target.contains(d.trigger) && p();
1504
1520
  }, "handleScroll");
1505
1521
  return window.addEventListener("scroll", e, { capture: !0 }), () => window.removeEventListener("scroll", e, { capture: !0 });
1506
1522
  }
1507
- }, [l.trigger, d]);
1508
- let { setContentId: f } = l;
1509
- return y(() => (f(a), () => {
1510
- f(void 0);
1511
- }), [a, f]), /* @__PURE__ */ (0, j.jsx)(v, {
1523
+ }, [d.trigger, p]);
1524
+ let { setContentId: y } = d;
1525
+ return m(() => (y(o), () => {
1526
+ y(void 0);
1527
+ }), [o, y]), /* @__PURE__ */ (0, j.jsx)(l, {
1512
1528
  asChild: !0,
1513
1529
  disableOutsidePointerEvents: !1,
1514
- onEscapeKeyDown: o,
1515
- onPointerDownOutside: s,
1530
+ onEscapeKeyDown: s,
1531
+ onPointerDownOutside: c,
1516
1532
  onFocusOutside: (e) => e.preventDefault(),
1517
- onDismiss: d,
1518
- children: /* @__PURE__ */ (0, j.jsxs)(Cn, {
1519
- "data-state": l.stateAttribute,
1520
- role: i ? void 0 : "tooltip",
1521
- id: i ? void 0 : l.contentId,
1533
+ onDismiss: p,
1534
+ children: /* @__PURE__ */ (0, j.jsxs)(yn, {
1535
+ "data-state": d.stateAttribute,
1536
+ role: a ? void 0 : "tooltip",
1537
+ id: a ? void 0 : d.contentId,
1538
+ ...f,
1522
1539
  ...u,
1523
- ...c,
1524
- ref: t,
1540
+ ref: v,
1525
1541
  style: {
1526
- ...c.style,
1542
+ ...u.style,
1527
1543
  "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
1528
1544
  "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
1529
1545
  "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
1530
1546
  "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
1531
1547
  "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
1532
1548
  },
1533
- children: [/* @__PURE__ */ (0, j.jsx)(qn, { children: r }), i ? /* @__PURE__ */ (0, j.jsx)(ee, {
1534
- id: l.contentId,
1549
+ children: [/* @__PURE__ */ (0, j.jsx)(Kn, { children: i }), a ? /* @__PURE__ */ (0, j.jsx)(te, {
1550
+ id: d.contentId,
1535
1551
  role: "tooltip",
1536
- children: i
1552
+ children: a
1537
1553
  }) : null]
1538
1554
  })
1539
1555
  });
1540
1556
  }, "TooltipContentImpl"));
1541
- function Yn(e, t) {
1557
+ function Jn(e, t) {
1542
1558
  let n = Math.abs(t.top - e.y), r = Math.abs(t.bottom - e.y), i = Math.abs(t.right - e.x), a = Math.abs(t.left - e.x);
1543
1559
  switch (Math.min(n, r, i, a)) {
1544
1560
  case a: return "left";
@@ -1548,8 +1564,8 @@ function Yn(e, t) {
1548
1564
  default: throw Error("unreachable");
1549
1565
  }
1550
1566
  }
1551
- $(Yn, "getExitSideFromRect");
1552
- function Xn(e, t, n = 5) {
1567
+ $(Jn, "getExitSideFromRect");
1568
+ function Yn(e, t, n = 5) {
1553
1569
  let r = [];
1554
1570
  switch (t) {
1555
1571
  case "top":
@@ -1589,8 +1605,8 @@ function Xn(e, t, n = 5) {
1589
1605
  }
1590
1606
  return r;
1591
1607
  }
1592
- $(Xn, "getPaddedExitPoints");
1593
- function Zn(e) {
1608
+ $(Yn, "getPaddedExitPoints");
1609
+ function Xn(e) {
1594
1610
  let { top: t, right: n, bottom: r, left: i } = e;
1595
1611
  return [
1596
1612
  {
@@ -1611,8 +1627,8 @@ function Zn(e) {
1611
1627
  }
1612
1628
  ];
1613
1629
  }
1614
- $(Zn, "getPointsFromRect");
1615
- function Qn(e, t) {
1630
+ $(Xn, "getPointsFromRect");
1631
+ function Zn(e, t) {
1616
1632
  let { x: n, y: r } = e, i = !1;
1617
1633
  for (let e = 0, a = t.length - 1; e < t.length; a = e++) {
1618
1634
  let o = t[e], s = t[a], c = o.x, l = o.y, u = s.x, d = s.y;
@@ -1620,13 +1636,13 @@ function Qn(e, t) {
1620
1636
  }
1621
1637
  return i;
1622
1638
  }
1623
- $(Qn, "isPointInPolygon");
1624
- function $n(e) {
1639
+ $(Zn, "isPointInPolygon");
1640
+ function Qn(e) {
1625
1641
  let t = e.slice();
1626
- return t.sort((e, t) => e.x < t.x ? -1 : e.x > t.x ? 1 : e.y < t.y ? -1 : +(e.y > t.y)), er(t);
1642
+ return t.sort((e, t) => e.x < t.x ? -1 : e.x > t.x ? 1 : e.y < t.y ? -1 : +(e.y > t.y)), $n(t);
1627
1643
  }
1628
- $($n, "getHull");
1629
- function er(e) {
1644
+ $(Qn, "getHull");
1645
+ function $n(e) {
1630
1646
  if (e.length <= 1) return e.slice();
1631
1647
  let t = [];
1632
1648
  for (let n = 0; n < e.length; n++) {
@@ -1651,56 +1667,64 @@ function er(e) {
1651
1667
  }
1652
1668
  return n.pop(), t.length === 1 && n.length === 1 && t[0].x === n[0].x && t[0].y === n[0].y ? t : t.concat(n);
1653
1669
  }
1654
- $(er, "getHullPresorted");
1655
- var tr = Nn, nr = Ln, rr = zn, ir = Un, ar = Gn, or = a(), sr = (e) => {
1656
- let t = (0, or.c)(6), n, r;
1670
+ $($n, "getHullPresorted");
1671
+ function er(...e) {
1672
+ let t = /* @__PURE__ */ new Set();
1673
+ for (let n of e) if (typeof n == "string") for (let e of String(n).trim().split(/\s+/)) e && t.add(e);
1674
+ return t.size > 0 ? Array.from(t).join(" ") : void 0;
1675
+ }
1676
+ $(er, "concatAriaDescribedby");
1677
+ //#endregion
1678
+ //#region src/components/ui/tooltip.tsx
1679
+ var tr = a(), nr = (e) => {
1680
+ let t = (0, tr.c)(6), n, r;
1657
1681
  t[0] === e ? (n = t[1], r = t[2]) : ({delayDuration: r, ...n} = e, t[0] = e, t[1] = n, t[2] = r);
1658
1682
  let i = r === void 0 ? 400 : r, a;
1659
- return t[3] !== i || t[4] !== n ? (a = /* @__PURE__ */ (0, j.jsx)(tr, {
1683
+ return t[3] !== i || t[4] !== n ? (a = /* @__PURE__ */ (0, j.jsx)(Mn, {
1660
1684
  delayDuration: i,
1661
1685
  ...n
1662
1686
  }), t[3] = i, t[4] = n, t[5] = a) : a = t[5], a;
1663
- }, cr = f(ir), lr = nr, ur = c(ar), dr = rr, fr = x.forwardRef((e, t) => {
1664
- let r = (0, or.c)(11), i, a, o;
1687
+ }, rr = _(Hn), ir = In, ar = x(Wn), or = Rn, sr = S.forwardRef((e, t) => {
1688
+ let r = (0, tr.c)(11), i, a, o;
1665
1689
  r[0] === e ? (i = r[1], a = r[2], o = r[3]) : ({className: i, sideOffset: o, ...a} = e, r[0] = e, r[1] = i, r[2] = a, r[3] = o);
1666
1690
  let s = o === void 0 ? 4 : o, c;
1667
1691
  r[4] === i ? c = r[5] : (c = n("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-xs data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1", i), r[4] = i, r[5] = c);
1668
1692
  let l;
1669
- return r[6] !== a || r[7] !== t || r[8] !== s || r[9] !== c ? (l = /* @__PURE__ */ (0, j.jsx)(_, { children: /* @__PURE__ */ (0, j.jsx)(ur, {
1693
+ return r[6] !== a || r[7] !== t || r[8] !== s || r[9] !== c ? (l = /* @__PURE__ */ (0, j.jsx)(v, { children: /* @__PURE__ */ (0, j.jsx)(ar, {
1670
1694
  ref: t,
1671
1695
  sideOffset: s,
1672
1696
  className: c,
1673
1697
  ...a
1674
1698
  }) }), r[6] = a, r[7] = t, r[8] = s, r[9] = c, r[10] = l) : l = r[10], l;
1675
1699
  });
1676
- fr.displayName = ar.displayName;
1677
- var pr = (e) => {
1678
- let t = (0, or.c)(22), n, r, i, a, o, s, c, l;
1700
+ sr.displayName = Wn.displayName;
1701
+ var cr = (e) => {
1702
+ let t = (0, tr.c)(22), n, r, i, a, o, s, c, l;
1679
1703
  t[0] === e ? (n = t[1], r = t[2], i = t[3], a = t[4], o = t[5], s = t[6], c = t[7], l = t[8]) : ({content: i, children: r, usePortal: s, asChild: c, tabIndex: l, side: o, align: n, ...a} = e, t[0] = e, t[1] = n, t[2] = r, t[3] = i, t[4] = a, t[5] = o, t[6] = s, t[7] = c, t[8] = l);
1680
1704
  let u = s === void 0 || s, d = c === void 0 || c;
1681
1705
  if (i == null || i === "") return r;
1682
1706
  let f;
1683
- t[9] !== d || t[10] !== r || t[11] !== l ? (f = /* @__PURE__ */ (0, j.jsx)(dr, {
1707
+ t[9] !== d || t[10] !== r || t[11] !== l ? (f = /* @__PURE__ */ (0, j.jsx)(or, {
1684
1708
  asChild: d,
1685
1709
  tabIndex: l,
1686
1710
  children: r
1687
1711
  }), t[9] = d, t[10] = r, t[11] = l, t[12] = f) : f = t[12];
1688
1712
  let p;
1689
- t[13] !== n || t[14] !== i || t[15] !== o || t[16] !== u ? (p = u ? /* @__PURE__ */ (0, j.jsx)(cr, { children: /* @__PURE__ */ (0, j.jsx)(fr, {
1713
+ t[13] !== n || t[14] !== i || t[15] !== o || t[16] !== u ? (p = u ? /* @__PURE__ */ (0, j.jsx)(rr, { children: /* @__PURE__ */ (0, j.jsx)(sr, {
1690
1714
  side: o,
1691
1715
  align: n,
1692
1716
  children: i
1693
- }) }) : /* @__PURE__ */ (0, j.jsx)(fr, {
1717
+ }) }) : /* @__PURE__ */ (0, j.jsx)(sr, {
1694
1718
  side: o,
1695
1719
  align: n,
1696
1720
  children: i
1697
1721
  }), t[13] = n, t[14] = i, t[15] = o, t[16] = u, t[17] = p) : p = t[17];
1698
1722
  let m;
1699
- return t[18] !== a || t[19] !== f || t[20] !== p ? (m = /* @__PURE__ */ (0, j.jsxs)(lr, {
1723
+ return t[18] !== a || t[19] !== f || t[20] !== p ? (m = /* @__PURE__ */ (0, j.jsxs)(ir, {
1700
1724
  disableHoverableContent: !0,
1701
1725
  ...a,
1702
1726
  children: [f, p]
1703
1727
  }), t[18] = a, t[19] = f, t[20] = p, t[21] = m) : m = t[21], m;
1704
1728
  };
1705
1729
  //#endregion
1706
- export { lr as a, Cn as c, re as d, ee as f, k as h, sr as i, xn as l, F as m, fr as n, dr as o, P as p, cr as r, Sn as s, pr as t, cn as u };
1730
+ export { ir as a, hn as c, ie as d, P as f, nr as i, yn as l, A as m, sr as n, or as o, te as p, rr as r, pn as s, cr as t, un as u };