@marimo-team/frontend 0.25.3-dev13 → 0.25.3-dev135

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 (568) hide show
  1. package/dist/assets/CellStatus-Bu_cFOaf.js +1 -0
  2. package/dist/assets/{ConnectedDataExplorerComponent-TprnxZeJ.js → ConnectedDataExplorerComponent-BV1mVpaE.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-CM13wrd8.js → ErrorBoundary-Cy4lxM4U.js} +2 -2
  4. package/dist/assets/JsonOutput-Dnd0uzN4.js +11 -0
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-B4fCknq1.js → LazyAnyLanguageCodeMirror-DoxWX_Wp.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-DWgmERpO.js +10 -0
  7. package/dist/assets/{RenderHTML-DX6i99Op.js → RenderHTML-BuZ8DdVv.js} +2 -2
  8. package/dist/assets/RunButton-BXXDV5w-.js +1 -0
  9. package/dist/assets/__vite-browser-external-BynxqS4w.js +1 -0
  10. package/dist/assets/__vite-browser-external-DTOT9NDN.js +1 -0
  11. package/dist/assets/{add-cell-with-ai-BpD_790A.js → add-cell-with-ai-DYahRMb_.js} +26 -26
  12. package/dist/assets/{add-connection-dialog-B1BXCjex.js → add-connection-dialog-CjRaQbDW.js} +51 -51
  13. package/dist/assets/{agent-panel-CDFUc1uu.js → agent-panel-Cb9PZdDM.js} +4 -4
  14. package/dist/assets/ai-model-dropdown-Bbr2oylS.js +13 -0
  15. package/dist/assets/alert-dialog-8YiYLrfr.js +1 -0
  16. package/dist/assets/any-language-editor-BWmz0P_C.js +1 -0
  17. package/dist/assets/{app-config-button-AdV-QDD7.js → app-config-button-CPNc_---.js} +1 -1
  18. package/dist/assets/arrays-0R2reF2y.js +1 -0
  19. package/dist/assets/{blob-BG8yoQmx.js → blob-CQAkRxR1.js} +1 -1
  20. package/dist/assets/{button-COI-NGrx.js → button-Cl7haVNh.js} +1 -1
  21. package/dist/assets/{cache-panel-DTY1dqvi.js → cache-panel-DuBsA6oO.js} +1 -1
  22. package/dist/assets/{capabilities-BJvf-MD4.js → capabilities-DcB-Dd0T.js} +1 -1
  23. package/dist/assets/cell-editor-CjvWSYDB.js +42 -0
  24. package/dist/assets/cell-link-DIOanEQB.js +1 -0
  25. package/dist/assets/cells-lwP9-xsQ.js +220 -0
  26. package/dist/assets/{chat-display-DhgI2MS9.js → chat-display-DpCQoui-.js} +1 -1
  27. package/dist/assets/chat-panel-C79_pWxF.js +4 -0
  28. package/dist/assets/chat-ui-DOOiaOcb.js +4 -0
  29. package/dist/assets/circle-B0vOU-Dh.js +1 -0
  30. package/dist/assets/{code-visibility-BJImdpDi.js → code-visibility-D1Wf7-vD.js} +1 -1
  31. package/dist/assets/column-preview-DIvrCqra.js +1 -0
  32. package/dist/assets/command-palette-BYgBVslq.js +1 -0
  33. package/dist/assets/{common-Sl3uthjg.js → common-B7U2CeDc.js} +1 -1
  34. package/dist/assets/{components-CskjK6xZ.js → components-9p_w2C6e.js} +1 -1
  35. package/dist/assets/components-B6gDDccL.js +1 -0
  36. package/dist/assets/{components-3cou6Mka.js → components-Vz1pD133.js} +1 -1
  37. package/dist/assets/config-7IjqNuVp.js +1 -0
  38. package/dist/assets/config-BC32AAdw.js +1 -0
  39. package/dist/assets/{config-CA1V-wjh.js → config-CXnC3MRv.js} +1 -1
  40. package/dist/assets/{copy-D8O_CYCG.js → copy-74EjuZso.js} +1 -1
  41. package/dist/assets/{copy-icon-BIiRXh_3.js → copy-icon-Craaocbu.js} +1 -1
  42. package/dist/assets/{createReducer-DgRODTW6.js → createReducer-B04CIO-e.js} +1 -1
  43. package/dist/assets/{datasource-DfbNb83e.js → datasource-Bp8TnG7a.js} +2 -2
  44. package/dist/assets/{dates-CfmdTL6B.js → dates-CaPZVGtm.js} +1 -1
  45. package/dist/assets/{dependency-graph-panel-L5cBE5sl.js → dependency-graph-panel-B31-YcSF.js} +3 -3
  46. package/dist/assets/dist-gaK_BThd.js +1 -0
  47. package/dist/assets/{documentation-panel-D7S8JIc2.js → documentation-panel-C2MJwSef.js} +1 -1
  48. package/dist/assets/download-J6sWXUJR.js +9 -0
  49. package/dist/assets/dropdown-menu-Cwi17BoX.js +1 -0
  50. package/dist/assets/edit-page-DfxHDnWP.js +9 -0
  51. package/dist/assets/{error-banner-COZ7SfYV.js → error-banner-m3mastc-.js} +1 -1
  52. package/dist/assets/{error-entries-CLnPDv7b.js → error-entries-BcRbOxwK.js} +1 -1
  53. package/dist/assets/{error-panel-D2xrYLue.js → error-panel-jZlFCjdy.js} +1 -1
  54. package/dist/assets/{es-Cqst59WX.js → es-Rg27gAEy.js} +1 -1
  55. package/dist/assets/feedback-button-94vZrmBy.js +1 -0
  56. package/dist/assets/{feedback-button-DzPunIqU.js → feedback-button-C2XmZw_y.js} +2 -2
  57. package/dist/assets/file-explorer-panel-Cg9UovsS.js +1 -0
  58. package/dist/assets/{file-name-input-B4fRaQkI.js → file-name-input-y9ggAMGJ.js} +2 -2
  59. package/dist/assets/floating-outline-CE1olGl0.js +1 -0
  60. package/dist/assets/{formats-yZ06h1Pl.js → formats-CYyvbiZA.js} +1 -1
  61. package/dist/assets/{formatting-BqrP-n49.js → formatting-DW2u7HXI.js} +1 -1
  62. package/dist/assets/fullscreen-D-ldV-19.js +41 -0
  63. package/dist/assets/{gallery-page-BefvdsM7.js → gallery-page-ClEnoAT-.js} +1 -1
  64. package/dist/assets/{ganttDiagram-EL5Y4UJY-2n7Ig5Jm.js → ganttDiagram-EL5Y4UJY-CYqkCfFG.js} +1 -1
  65. package/dist/assets/{glide-data-editor-C3eaYlXg.js → glide-data-editor-Cp0q28Zz.js} +2 -2
  66. package/dist/assets/{glide-utils-CIrAxdjv.js → glide-utils-DsTeJ7WA.js} +2 -2
  67. package/dist/assets/home-page-DJsI6Od_.js +1 -0
  68. package/dist/assets/{hooks-DzML9nez.js → hooks-DGSryuSD.js} +1 -1
  69. package/dist/assets/{html-to-image-DK9Zl1lU.js → html-to-image-BW0fcUS8.js} +1 -1
  70. package/dist/assets/index-BjNf54kO.js +30 -0
  71. package/dist/assets/index-u08m0hQE.css +2 -0
  72. package/dist/assets/{input-BoBxR50a.js → input-DLA5Dhn3.js} +2 -2
  73. package/dist/assets/kiosk-mode-Cbxffiz9.js +1 -0
  74. package/dist/assets/{layout-Ck1RoL1B.js → layout-DRVIFud8.js} +5 -5
  75. package/dist/assets/linear-Bma8J3iM.js +1 -0
  76. package/dist/assets/links-UwsB2RA1.js +1 -0
  77. package/dist/assets/{logs-panel-BRytaWaO.js → logs-panel-Db38azhc.js} +1 -1
  78. package/dist/assets/{markdown-renderer-DX0Xrrfy.js → markdown-renderer-D2td9eFc.js} +1 -1
  79. package/dist/assets/menu-items-yD7IV3V4.js +1 -0
  80. package/dist/assets/{mermaid-C4EiVqcd.js → mermaid-DmekSy8J.js} +2 -2
  81. package/dist/assets/{name-cell-input-DlpTvPLa.js → name-cell-input-CJpi0Kvu.js} +1 -1
  82. package/dist/assets/numbers-DJK15_4S.js +1 -0
  83. package/dist/assets/{objects-snlMn4yk.js → objects-rLPlQ3X_.js} +1 -1
  84. package/dist/assets/{once-Haz_uxEL.js → once-6KNTRW0u.js} +1 -1
  85. package/dist/assets/{outline-panel-B2WIpz-1.js → outline-panel-DxQKP4eN.js} +1 -1
  86. package/dist/assets/{package-data-dv4FBHxR.js → package-data-CKPmBDtg.js} +1 -1
  87. package/dist/assets/packages-panel-BFzN4mNb.js +1 -0
  88. package/dist/assets/{panel-accordion-state-BqSH5ttk.js → panel-accordion-state-D3RiRniG.js} +1 -1
  89. package/dist/assets/panels-CpUpLOy4.js +1 -0
  90. package/dist/assets/precisionRound-BxlUs8G4.js +1 -0
  91. package/dist/assets/process-output-B6v1FE29.js +1 -0
  92. package/dist/assets/{quadrantDiagram-AXDQQJYC-yBhCDI7E.js → quadrantDiagram-AXDQQJYC-D9KH5Zge.js} +1 -1
  93. package/dist/assets/react-vega-BTNeboR2.js +189 -0
  94. package/dist/assets/{readonly-code-display-MnMEoYW5.js → readonly-code-display-Deg2hzFh.js} +1 -1
  95. package/dist/assets/{readonly-python-code-ggs4hAzC.js → readonly-python-code-DPGknu49.js} +1 -1
  96. package/dist/assets/{renderShortcut-C1JwYcqW.js → renderShortcut-Bxv9ZLnD.js} +1 -1
  97. package/dist/assets/{requests-lt0JK8Jt.js → requests-BIFR-h4M.js} +1 -1
  98. package/dist/assets/requests-DuLJN9Tf.js +1 -0
  99. package/dist/assets/{reveal-component-PiV1eQk9.js → reveal-component-CXkDpGxy.js} +37 -37
  100. package/dist/assets/run-page-qp2KKYgs.js +1 -0
  101. package/dist/assets/{runs-BLp5jezv.js → runs-C8uOPNAW.js} +1 -1
  102. package/dist/assets/{runtime-details-state-CoL-p0MC.js → runtime-details-state-BiGF299n.js} +1 -1
  103. package/dist/assets/{save-worker-BbUSwZRG.js → save-worker-UwdGcNK5.js} +2 -1
  104. package/dist/assets/scratchpad-panel-QV0lacAe.js +1 -0
  105. package/dist/assets/{scroll-to-bottom-button-1FyowpWV.js → scroll-to-bottom-button-CidjyqiH.js} +1 -1
  106. package/dist/assets/secrets-panel-ConQpchl.js +1 -0
  107. package/dist/assets/select-CgWQvW1F.js +1 -0
  108. package/dist/assets/{session-DqoWmb7X.js → session-BHgGkjDm.js} +1 -1
  109. package/dist/assets/session-panel-CrWluawa.js +1 -0
  110. package/dist/assets/snippets-panel-CM7g9b6c.js +1 -0
  111. package/dist/assets/{spec-BfSBcO5B.js → spec-DFtwOyXT.js} +1 -1
  112. package/dist/assets/state-BYETGwDZ.js +1 -0
  113. package/dist/assets/{state-uwRvJLb8.js → state-CZu2E2Lb.js} +1 -1
  114. package/dist/assets/{state-C3oDoyFe.js → state-ClBFtZxn.js} +1 -1
  115. package/dist/assets/{state-DxQnC_1I.js → state-CrLrURYG.js} +1 -1
  116. package/dist/assets/{state-DtGB7xeJ.js → state-DhMztz1E.js} +1 -1
  117. package/dist/assets/state-lEPoZS4k.js +107 -0
  118. package/dist/assets/{strings-B2vv-ENv.js → strings-3lNX212T.js} +1 -1
  119. package/dist/assets/{swiper-component-a07domrZ.js → swiper-component-BwGv-Pu1.js} +1 -1
  120. package/dist/assets/switch-D2gdC_ep.js +1 -0
  121. package/dist/assets/tabs-BLczoY3k.js +1 -0
  122. package/dist/assets/{terminal-wnSHYT8N.js → terminal-DLgGyFIP.js} +1 -1
  123. package/dist/assets/{time-MgToa8VM.js → time-DswSXBDk.js} +1 -1
  124. package/dist/assets/toast-trUlkvx3.js +1 -0
  125. package/dist/assets/tooltip-B5lAA_jn.js +1 -0
  126. package/dist/assets/tooltip-BiQdpXA0.js +61 -0
  127. package/dist/assets/tracing-DRA8maZB.js +1 -0
  128. package/dist/assets/tracing-panel-DLxPRadV.js +2 -0
  129. package/dist/assets/{tree-actions-DnUokmva.js → tree-actions-COtU5qy_.js} +1 -1
  130. package/dist/assets/use-restore-focus-DMSzeuUr.js +1 -0
  131. package/dist/assets/{useAddCell-IN24thff.js → useAddCell-BAEOA87M.js} +1 -1
  132. package/dist/assets/useAsyncData-qvoPYHtx.js +1 -0
  133. package/dist/assets/useBoolean-BkeUcn1n.js +1 -0
  134. package/dist/assets/useCellActionButton-BobjsJfu.js +1 -0
  135. package/dist/assets/useDebounce-DwTQ_1Pu.js +1 -0
  136. package/dist/assets/{useDeepCompareMemoize-DFIVN9dn.js → useDeepCompareMemoize-B2DVK2De.js} +1 -1
  137. package/dist/assets/useDelayElapsed-BlsDT4TV.js +1 -0
  138. package/dist/assets/{useDeleteCell-fQlM46Y2.js → useDeleteCell-gedazkBF.js} +1 -1
  139. package/dist/assets/{useDependencyPanelTab-ImXYINm_.js → useDependencyPanelTab-DAJ6BOUm.js} +1 -1
  140. package/dist/assets/{useEvent-Dfcbgjhg.js → useEvent-BDjgaBtz.js} +1 -1
  141. package/dist/assets/{useEventListener-D9cftcHj.js → useEventListener-DPOTkksd.js} +1 -1
  142. package/dist/assets/{useIframeCapabilities-CwTkczVN.js → useIframeCapabilities-sHeZt_EA.js} +1 -1
  143. package/dist/assets/{useInstallPackage-BW06eter.js → useInstallPackage-BfNKN33w.js} +1 -1
  144. package/dist/assets/{useInterval--x3s1VpI.js → useInterval-BcdwHHB5.js} +1 -1
  145. package/dist/assets/useNotebookActions-CnLArLoz.js +1 -0
  146. package/dist/assets/{useRunCells-DSJPXE-j.js → useRunCells-CUknep7p.js} +1 -1
  147. package/dist/assets/{useSplitCell-DQyMF5gd.js → useSplitCell-DeXniINv.js} +1 -1
  148. package/dist/assets/useStateForKey-CGMJQT8x.js +1 -0
  149. package/dist/assets/{useTheme-n8Dj1zH7.js → useTheme-C2dnh2vM.js} +1 -1
  150. package/dist/assets/{utils-CaQYvazl.js → utils-DfElfBpz.js} +1 -1
  151. package/dist/assets/vega-component-DJf6ho22.js +1 -0
  152. package/dist/assets/{vega-embed-container-DJPNkHPb.js → vega-embed-container-DtArSJz1.js} +1 -1
  153. package/dist/assets/vega-loader.browser-Bu25TKax.js +6 -0
  154. package/dist/assets/worker-jm2VC7pS.js +159 -0
  155. package/dist/assets/{write-secret-modal-DzKAInL2.js → write-secret-modal-CBi2vNK_.js} +1 -1
  156. package/dist/assets/{xychartDiagram-S5SC5T6Z-KbGzG6-u.js → xychartDiagram-S5SC5T6Z-CeRnBS5e.js} +1 -1
  157. package/dist/index.html +81 -79
  158. package/package.json +14 -14
  159. package/src/__tests__/host-imports.test.ts +1 -0
  160. package/src/__tests__/module-entry.test.ts +32 -0
  161. package/src/__tests__/mount.test.ts +0 -20
  162. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  163. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  164. package/src/components/app-config/ai-config.tsx +7 -2
  165. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  166. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  167. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  168. package/src/components/chat/acp/blocks.tsx +3 -2
  169. package/src/components/chat/acp/session-tabs.tsx +8 -3
  170. package/src/components/chat/chat-components.tsx +2 -0
  171. package/src/components/chat/chat-panel.tsx +9 -8
  172. package/src/components/chat/chat-utils.ts +4 -8
  173. package/src/components/data-table/TableTopBar.tsx +2 -0
  174. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  175. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  176. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  177. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  178. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  179. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  180. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  181. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  182. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  183. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  184. package/src/components/data-table/cell-selection/feature.ts +2 -2
  185. package/src/components/data-table/cell-selection/types.ts +2 -2
  186. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  187. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  188. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  189. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  190. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  191. package/src/components/data-table/charts/charts.tsx +40 -30
  192. package/src/components/data-table/charts/storage.ts +16 -5
  193. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  194. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  195. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  196. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  197. package/src/components/data-table/columns.tsx +45 -46
  198. package/src/components/data-table/context-menu.tsx +36 -20
  199. package/src/components/data-table/data-table.tsx +13 -1
  200. package/src/components/data-table/date-popover.tsx +6 -4
  201. package/src/components/data-table/export-actions.tsx +76 -48
  202. package/src/components/data-table/range-focus/atoms.ts +4 -6
  203. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  204. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  205. package/src/components/data-table/renderers.tsx +16 -7
  206. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  207. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  208. package/src/components/data-table/search-highlight.tsx +79 -0
  209. package/src/components/data-table/types.ts +1 -0
  210. package/src/components/data-table/url-detector.tsx +49 -9
  211. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  212. package/src/components/datasources/__tests__/column-preview.test.tsx +98 -5
  213. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  214. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  215. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  216. package/src/components/datasources/column-preview.tsx +13 -4
  217. package/src/components/datasources/datasources.tsx +51 -39
  218. package/src/components/datasources/utils.ts +32 -23
  219. package/src/components/debugger/debugger-code.tsx +5 -0
  220. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  221. package/src/components/dependency-graph/elements.ts +24 -21
  222. package/src/components/dependency-graph/panels.tsx +2 -1
  223. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  224. package/src/components/editor/SortableCell.tsx +1 -3
  225. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  226. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  227. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +24 -0
  228. package/src/components/editor/actions/pair-with-agent-modal.tsx +18 -15
  229. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  230. package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
  231. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  232. package/src/components/editor/cell/CreateCellButton.tsx +8 -10
  233. package/src/components/editor/cell/DeleteButton.tsx +1 -0
  234. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  235. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  236. package/src/components/editor/cell/code/cell-editor.tsx +1 -1
  237. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  238. package/src/components/editor/cell/collapse.tsx +5 -3
  239. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  240. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +30 -1
  241. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  242. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  243. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  244. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  245. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  246. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  247. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -1
  248. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +12 -18
  249. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +58 -1
  250. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  251. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
  252. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  253. package/src/components/editor/connections/components.tsx +1 -1
  254. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  255. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  256. package/src/components/editor/controls/command-palette.tsx +22 -10
  257. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  258. package/src/components/editor/dynamic-favicon.tsx +21 -40
  259. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +12 -23
  260. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  261. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  262. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  263. package/src/components/editor/file-tree/file-explorer.tsx +45 -8
  264. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  265. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  266. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  267. package/src/components/editor/header/status.tsx +28 -5
  268. package/src/components/editor/links/__tests__/cell-link.test.tsx +146 -0
  269. package/src/components/editor/links/cell-link.tsx +14 -5
  270. package/src/components/editor/navigation/focus-utils.ts +4 -4
  271. package/src/components/editor/notebook-banner.tsx +1 -0
  272. package/src/components/editor/notebook-cell.tsx +11 -2
  273. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  274. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  275. package/src/components/editor/output/ansi-reduce.ts +33 -20
  276. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  277. package/src/components/editor/package-alert.tsx +14 -7
  278. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  279. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  280. package/src/components/home/components.tsx +17 -31
  281. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  282. package/src/components/icons/large-spinner.tsx +3 -14
  283. package/src/components/icons/spinner.tsx +1 -1
  284. package/src/components/mcp/mcp-status-indicator.tsx +1 -1
  285. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  286. package/src/components/pages/home-page.tsx +164 -91
  287. package/src/components/scratchpad/scratchpad.test.tsx +95 -0
  288. package/src/components/scratchpad/scratchpad.tsx +16 -3
  289. package/src/components/slides/reveal-component.tsx +4 -2
  290. package/src/components/slides/slide-cell-view.tsx +1 -1
  291. package/src/components/slides/slide-form.tsx +1 -0
  292. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  293. package/src/components/tracing/tracing.tsx +45 -41
  294. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  295. package/src/components/ui/alert-dialog.tsx +1 -1
  296. package/src/components/ui/draggable-popover.tsx +24 -2
  297. package/src/core/ai/context/providers/datasource.ts +6 -2
  298. package/src/core/ai/tools/base.ts +16 -7
  299. package/src/core/ai/tools/edit-notebook-tool.ts +47 -45
  300. package/src/core/ai/tools/registry.ts +13 -8
  301. package/src/core/ai/tools/sample-tool.ts +6 -7
  302. package/src/core/attachments/state.ts +5 -8
  303. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
  304. package/src/core/cells/__tests__/cell.test.ts +39 -0
  305. package/src/core/cells/__tests__/cells.test.ts +3 -1
  306. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  307. package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
  308. package/src/core/cells/__tests__/session.test.ts +117 -36
  309. package/src/core/cells/cell.ts +14 -3
  310. package/src/core/cells/cells.ts +3 -1
  311. package/src/core/cells/pending-delete-service.ts +2 -6
  312. package/src/core/cells/session.ts +1 -1
  313. package/src/core/cells/types.ts +10 -1
  314. package/src/core/codemirror/__tests__/setup.test.ts +29 -29
  315. package/src/core/codemirror/cells/__tests__/extensions.test.ts +15 -0
  316. package/src/core/codemirror/cells/extensions.ts +7 -3
  317. package/src/core/codemirror/keymaps/vim.ts +2 -6
  318. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  319. package/src/core/codemirror/language/extension.ts +8 -8
  320. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  321. package/src/core/codemirror/language/languages/python.ts +16 -10
  322. package/src/core/codemirror/language/languages/sql/sql.ts +9 -7
  323. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  324. package/src/core/codemirror/language/types.ts +7 -7
  325. package/src/core/codemirror/rtc/extension.ts +24 -12
  326. package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
  327. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  328. package/src/core/codemirror/utils.ts +1 -0
  329. package/src/core/datasets/__tests__/data-source-discovery.test.ts +4 -4
  330. package/src/core/datasets/data-source-discovery.ts +4 -6
  331. package/src/core/document/__tests__/codemirror.test.ts +485 -0
  332. package/src/core/document/__tests__/draft.test.ts +322 -0
  333. package/src/core/document/__tests__/fixtures.ts +92 -0
  334. package/src/core/document/__tests__/hooks.test.tsx +386 -0
  335. package/src/core/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  336. package/src/core/document/__tests__/model.test.ts +191 -0
  337. package/src/core/document/__tests__/protocol-fixtures.ts +38 -0
  338. package/src/core/document/__tests__/recovery-scenarios.test.ts +230 -0
  339. package/src/core/document/__tests__/scenario-fixture.ts +43 -0
  340. package/src/core/document/__tests__/scenarios.test.ts +205 -0
  341. package/src/core/document/__tests__/state.test.ts +438 -0
  342. package/src/core/document/__tests__/submission.test.ts +203 -0
  343. package/src/core/document/__tests__/test-host.test.ts +92 -0
  344. package/src/core/document/__tests__/test-host.ts +247 -0
  345. package/src/core/document/__tests__/test-notebook.ts +149 -0
  346. package/src/core/document/__tests__/user.ts +61 -0
  347. package/src/core/document/codemirror.ts +311 -0
  348. package/src/core/document/draft.ts +472 -0
  349. package/src/core/document/hooks.tsx +118 -0
  350. package/src/core/document/index.ts +15 -0
  351. package/src/core/document/model.ts +55 -0
  352. package/src/core/document/select.ts +41 -0
  353. package/src/core/document/state.ts +374 -0
  354. package/src/core/document/sync.ts +369 -0
  355. package/src/core/host/AGENTS.md +8 -2
  356. package/src/core/host/__tests__/attachments.test.ts +56 -0
  357. package/src/core/host/__tests__/document.test.ts +126 -0
  358. package/src/core/host/__tests__/fixtures.ts +71 -0
  359. package/src/core/host/__tests__/replica.test.ts +550 -0
  360. package/src/core/host/__tests__/static.test.ts +169 -0
  361. package/src/core/host/__tests__/wasm.test.ts +162 -0
  362. package/src/core/host/backend.ts +19 -0
  363. package/src/core/host/connection.ts +1 -40
  364. package/src/core/host/index.ts +14 -0
  365. package/src/core/host/replica.ts +286 -0
  366. package/src/core/host/resources/attachments.ts +22 -0
  367. package/src/core/host/resources/document.ts +101 -0
  368. package/src/core/host/static.ts +72 -0
  369. package/src/core/host/wasm.ts +102 -0
  370. package/src/core/hotkeys/actions.ts +2 -4
  371. package/src/core/islands/__tests__/bootstrap.test.ts +0 -26
  372. package/src/core/islands/bootstrap.ts +0 -1
  373. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  374. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  375. package/src/core/network/connection.ts +4 -2
  376. package/src/core/network/useConnectionNotice.ts +8 -2
  377. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  378. package/src/core/runtime/__tests__/runtime.test.ts +32 -58
  379. package/src/core/runtime/runtime.ts +38 -42
  380. package/src/core/runtime/types.ts +0 -2
  381. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  382. package/src/core/state/jotai.ts +1 -1
  383. package/src/core/static/__tests__/files.test.ts +38 -10
  384. package/src/core/static/files.ts +2 -0
  385. package/src/core/wasm/bridge.ts +38 -10
  386. package/src/core/wasm/store.ts +3 -3
  387. package/src/core/wasm/worker/bootstrap.ts +2 -1
  388. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  389. package/src/core/wasm/worker/types.ts +11 -0
  390. package/src/core/wasm/worker/worker.ts +48 -0
  391. package/src/core/websocket/__tests__/backend.test.ts +200 -0
  392. package/src/core/websocket/__tests__/connection-state.test.ts +0 -12
  393. package/src/core/websocket/__tests__/useNotebookReplica.hook.test.tsx +141 -0
  394. package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +154 -428
  395. package/src/core/websocket/backend.ts +106 -0
  396. package/src/core/websocket/connection-state.ts +1 -11
  397. package/src/core/websocket/state.ts +7 -0
  398. package/src/core/websocket/transports/__tests__/notebook.test.ts +445 -0
  399. package/src/core/websocket/transports/notebook.ts +190 -0
  400. package/src/core/websocket/types.ts +2 -2
  401. package/src/core/websocket/useNotebookReplica.ts +69 -0
  402. package/src/core/websocket/useNotebookSession.tsx +10 -22
  403. package/src/css/globals.css +5 -0
  404. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  405. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  406. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  407. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  408. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  409. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  410. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  411. package/src/hooks/useAsyncData.ts +3 -3
  412. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  413. package/src/hooks/useDebounce.ts +6 -10
  414. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  415. package/src/hooks/useDelayElapsed.ts +14 -10
  416. package/src/hooks/useElapsedTime.ts +3 -3
  417. package/src/hooks/useEventListener.ts +1 -2
  418. package/src/hooks/useInputHistory.ts +4 -7
  419. package/src/hooks/useInternalStateWithSync.ts +6 -6
  420. package/src/hooks/useResizeObserver.ts +4 -7
  421. package/src/hooks/useScript.ts +67 -70
  422. package/src/hooks/useStateForKey.ts +93 -0
  423. package/src/mount.tsx +0 -4
  424. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  425. package/src/plugins/core/registerReactComponent.tsx +1 -1
  426. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  427. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  428. package/src/plugins/impl/DataTablePlugin.tsx +29 -33
  429. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  430. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  431. package/src/plugins/impl/FormPlugin.tsx +1 -1
  432. package/src/plugins/impl/RangeSliderPlugin.tsx +0 -1
  433. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  434. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  435. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +117 -1
  436. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  437. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  438. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +2 -0
  439. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  440. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  441. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  442. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  443. package/src/plugins/impl/chat/chat-ui.tsx +14 -11
  444. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  445. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  446. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  447. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  448. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  449. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  450. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  451. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  452. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  453. package/src/plugins/impl/data-frames/panel.tsx +43 -16
  454. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  455. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  456. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  457. package/src/plugins/impl/panel/utils.ts +17 -0
  458. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  459. package/src/plugins/impl/plotly/selection.ts +25 -19
  460. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  461. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  462. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  463. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  464. package/src/stories/button.stories.tsx +1 -0
  465. package/src/stories/editor.stories.tsx +24 -17
  466. package/src/stories/form-wrapper.stories.tsx +2 -2
  467. package/src/stories/select.stories.tsx +2 -2
  468. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  469. package/src/utils/__tests__/arrays.test.ts +35 -0
  470. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  471. package/src/utils/__tests__/numbers.test.ts +48 -1
  472. package/src/utils/__tests__/objects.test.ts +21 -0
  473. package/src/utils/arrays.ts +10 -0
  474. package/src/utils/blob.ts +1 -1
  475. package/src/utils/numbers.ts +28 -17
  476. package/src/utils/objects.ts +3 -7
  477. package/src/utils/once.ts +19 -19
  478. package/src/utils/tracer.ts +9 -5
  479. package/src/utils/zod-utils.ts +1 -3
  480. package/dist/assets/CellStatus-DVOHpdeJ.js +0 -1
  481. package/dist/assets/JsonOutput-Cx1iyibB.js +0 -11
  482. package/dist/assets/MarimoErrorOutput-s_5GOX8k.js +0 -10
  483. package/dist/assets/RunButton-BKoh0zYG.js +0 -1
  484. package/dist/assets/__vite-browser-external-CYO_P3S8.js +0 -1
  485. package/dist/assets/__vite-browser-external-FeDVGZU8.js +0 -1
  486. package/dist/assets/ai-model-dropdown-i1vfGeVi.js +0 -13
  487. package/dist/assets/alert-dialog-BaPGzeOK.js +0 -1
  488. package/dist/assets/any-language-editor-BdTWdMCI.js +0 -1
  489. package/dist/assets/arrays-BqUx5USx.js +0 -1
  490. package/dist/assets/cell-editor-BKJ06H5F.js +0 -21
  491. package/dist/assets/cell-link-8Auigi8P.js +0 -1
  492. package/dist/assets/cells-C6YGYGdi.js +0 -220
  493. package/dist/assets/chat-panel-Cau71Ygr.js +0 -4
  494. package/dist/assets/chat-ui-C5ql1Up-.js +0 -4
  495. package/dist/assets/circle-DXf-VWZG.js +0 -1
  496. package/dist/assets/circle-play-CYIb0qT6.js +0 -1
  497. package/dist/assets/column-preview-BZ_iNhtJ.js +0 -1
  498. package/dist/assets/command-palette-DDC3kBet.js +0 -1
  499. package/dist/assets/components-YBmtV0p6.js +0 -1
  500. package/dist/assets/config-DRIpOKqh.js +0 -1
  501. package/dist/assets/config-Dy28fDwn.js +0 -1
  502. package/dist/assets/dist-iaThVDkA.js +0 -1
  503. package/dist/assets/download-C03FOElq.js +0 -9
  504. package/dist/assets/dropdown-menu-C1rnl-0o.js +0 -1
  505. package/dist/assets/edit-page-D_Rg0gQO.js +0 -9
  506. package/dist/assets/feedback-button-Kla7i5RT.js +0 -1
  507. package/dist/assets/file-explorer-panel-Uk4_QIJQ.js +0 -1
  508. package/dist/assets/floating-outline-B5MaM1JS.js +0 -1
  509. package/dist/assets/fullscreen-B9tHcfpV.js +0 -41
  510. package/dist/assets/home-page-hmvKlc1w.js +0 -4
  511. package/dist/assets/index-6b4mf8Ai.css +0 -2
  512. package/dist/assets/index-ptK1gxmo.js +0 -30
  513. package/dist/assets/kiosk-mode-BZECfg9k.js +0 -1
  514. package/dist/assets/linear-0eij_aAG.js +0 -1
  515. package/dist/assets/link-NuFVR7G9.js +0 -1
  516. package/dist/assets/links-DkkL9DVa.js +0 -1
  517. package/dist/assets/menu-items-BrwnTgyK.js +0 -1
  518. package/dist/assets/numbers-Mk3-CcoU.js +0 -1
  519. package/dist/assets/packages-panel-CI5ff9b-.js +0 -1
  520. package/dist/assets/panels-BCcZ_yLK.js +0 -107
  521. package/dist/assets/precisionRound-Bq_nmf5u.js +0 -1
  522. package/dist/assets/process-output-f3C3PD0Z.js +0 -1
  523. package/dist/assets/react-vega-C3rYGtP6.js +0 -189
  524. package/dist/assets/requests-CgSY1X4a.js +0 -1
  525. package/dist/assets/run-page-AfZhtEh1.js +0 -1
  526. package/dist/assets/scratchpad-panel-D2rWg4k8.js +0 -1
  527. package/dist/assets/secrets-panel-D7KN4tVs.js +0 -1
  528. package/dist/assets/select-DTBn5eTb.js +0 -1
  529. package/dist/assets/session-panel-CnANhcTo.js +0 -1
  530. package/dist/assets/snippets-panel-ClGHtEKQ.js +0 -1
  531. package/dist/assets/state-BAJYRhmO.js +0 -1
  532. package/dist/assets/state-CbjBtkdd.js +0 -3
  533. package/dist/assets/switch-CTaiAjrz.js +0 -1
  534. package/dist/assets/tabs-BuQlZFbt.js +0 -1
  535. package/dist/assets/toast-BGzLGnvw.js +0 -1
  536. package/dist/assets/tooltip-C9TuY18o.js +0 -1
  537. package/dist/assets/tooltip-mT3CGest.js +0 -61
  538. package/dist/assets/tracing-Dz2rYOFL.js +0 -1
  539. package/dist/assets/tracing-panel-DqQY9V91.js +0 -2
  540. package/dist/assets/use-restore-focus-BxEGwIbk.js +0 -1
  541. package/dist/assets/useAsyncData-C7aJJz0Y.js +0 -1
  542. package/dist/assets/useBoolean-d0Tty94N.js +0 -1
  543. package/dist/assets/useCellActionButton-DmaFZ4oF.js +0 -1
  544. package/dist/assets/useDebounce-B_ccBZTp.js +0 -1
  545. package/dist/assets/useNotebookActions-DHt3s-ia.js +0 -1
  546. package/dist/assets/vega-component-IouMe13t.js +0 -1
  547. package/dist/assets/vega-loader.browser-CLRkNgm7.js +0 -6
  548. package/dist/assets/worker-DTQ7oH2A.js +0 -158
  549. package/dist/assets/ws-BXWY541V.js +0 -22
  550. package/src/core/host/__tests__/events.test.ts +0 -46
  551. package/src/core/host/__tests__/notebook-client.test.ts +0 -191
  552. package/src/core/host/__tests__/protocol.test.ts +0 -214
  553. package/src/core/host/events.ts +0 -60
  554. package/src/core/host/notebook-client.ts +0 -226
  555. package/src/core/host/protocol.ts +0 -1943
  556. package/src/core/state/__tests__/jotai.test.ts +0 -25
  557. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  558. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -140
  559. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  560. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  561. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  562. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  563. package/src/core/websocket/transports/basic.ts +0 -102
  564. package/src/core/websocket/transports/create.ts +0 -31
  565. package/src/core/websocket/transports/sse.ts +0 -308
  566. package/src/core/websocket/transports/transport.ts +0 -50
  567. package/src/core/websocket/transports/ws.ts +0 -98
  568. package/src/core/websocket/useNotebookClient.ts +0 -80
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{r as t}from"./useEvent-Dfcbgjhg.js";import{t as n}from"./react-DVplv7_D.js";import{Mt as r,f as i,qa as a,ti as o,yr as s,yt as c}from"./cells-C6YGYGdi.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{a as u,i as d,o as f}from"./config-DRIpOKqh.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{a as h,c as g,p as ee,r as te,t as ne}from"./dropdown-menu-C1rnl-0o.js";import{t as _}from"./tooltip-C9TuY18o.js";import{t as v}from"./button-COI-NGrx.js";import{i as re}from"./paths-bkIFVj8h.js";import{n as ie}from"./components-CskjK6xZ.js";import{b as ae}from"./write-secret-modal-DzKAInL2.js";import{t as oe}from"./plus-C5silF6g.js";import{t as y}from"./badge-crT3E0Rm.js";import{n as se,t as b}from"./add-connection-dialog-B1BXCjex.js";var x=l(),S=m(),C=e=>{let t=(0,x.c)(8),{variableName:n,className:r}=e,a;t[0]===n?a=t[1]:(a=e=>{e.stopPropagation();let t=w(n);if(!t)return;let r=i(t);r&&s(r,n)},t[0]=n,t[1]=a);let o=a,c;t[2]===r?c=t[3]:(c=p(`text-link opacity-80 hover:opacity-100 hover:underline`,r),t[2]=r,t[3]=c);let l;return t[4]!==o||t[5]!==c||t[6]!==n?(l=(0,S.jsx)(`button`,{type:`button`,onClick:o,className:c,children:n}),t[4]=o,t[5]=c,t[6]=n,t[7]=l):l=t[7],l};function w(e){let n=t.get(o)[e];if(n)return n.declaredBy[0]}var T=e=>{let t=(0,x.c)(58),n,i,o,s,l;t[0]===e?(n=t[1],i=t[2],o=t[3],s=t[4],l=t[5]):({group:o,label:s,compact:l,className:i,...n}=e,t[0]=e,t[1]=n,t[2]=i,t[3]=o,t[4]=s,t[5]=l);let u=l!==void 0&&l,d=c(o),f=r(),{openModal:m,closeModal:y}=ae(),C=d.length>0,w=o===`storage`?`storage`:`databases`,T=C&&!u&&`rounded-r-none`,E;t[6]!==i||t[7]!==T?(E=p(i,T),t[6]=i,t[7]=T,t[8]=E):E=t[8];let D=u?s:n[`aria-label`],O=!u&&s,k=!u&&`ml-2`,A;t[9]===k?A=t[10]:(A=p(`h-4 w-4`,k),t[9]=k,t[10]=A);let j;t[11]===A?j=t[12]:(j=(0,S.jsx)(oe,{className:A}),t[11]=A,t[12]=j);let M;t[13]!==n||t[14]!==E||t[15]!==D||t[16]!==O||t[17]!==j?(M=(0,S.jsxs)(v,{...n,className:E,"aria-label":D,children:[O,j]}),t[13]=n,t[14]=E,t[15]=D,t[16]=O,t[17]=j,t[18]=M):M=t[18];let N=M,P;t[19]!==w||t[20]!==N?(P=(0,S.jsx)(b,{defaultTab:w,children:N}),t[19]=w,t[20]=N,t[21]=P):P=t[21];let F=P;if(!C)return F;let I=o===`storage`?ie:re,L=o===`storage`?`View detected remote storage connections`:`View detected database connections`,R=n.variant,z=n.size,B=n.disabled,V=u&&`rounded-none`,H;t[22]===V?H=t[23]:(H=p(`rounded-l-none border-l-0 px-2 text-(--blue-10) hover:bg-(--blue-3)`,V),t[22]=V,t[23]=H);let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,S.jsx)(a,{className:`h-4 w-4`}),t[24]=U):U=t[24];let W;t[25]!==n.disabled||t[26]!==n.size||t[27]!==n.variant||t[28]!==L||t[29]!==H?(W=(0,S.jsx)(`span`,{className:`inline-flex`,children:(0,S.jsx)(ee,{asChild:!0,children:(0,S.jsx)(v,{variant:R,size:z,disabled:B,className:H,"aria-label":L,children:U})})}),t[25]=n.disabled,t[26]=n.size,t[27]=n.variant,t[28]=L,t[29]=H,t[30]=W):W=t[30];let G;t[31]!==L||t[32]!==W?(G=(0,S.jsx)(_,{content:L,children:W}),t[31]=L,t[32]=W,t[33]=G):G=t[33];let K;if(t[34]!==f||t[35]!==d){let e;t[37]===f?e=t[38]:(e=e=>(0,S.jsxs)(h,{onSelect:()=>f(e),children:[(0,S.jsx)(a,{className:`mr-2 h-4 w-4 text-(--blue-9)`}),`Add `,e.displayName]},e.id),t[37]=f,t[38]=e),K=d.map(e),t[34]=f,t[35]=d,t[36]=K}else K=t[36];let q;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,S.jsx)(g,{}),t[39]=q):q=t[39];let J;t[40]!==y||t[41]!==w||t[42]!==m?(J=()=>m((0,S.jsx)(se,{defaultTab:w,onClose:y})),t[40]=y,t[41]=w,t[42]=m,t[43]=J):J=t[43];let Y;t[44]===I?Y=t[45]:(Y=(0,S.jsx)(I,{className:`mr-2 h-4 w-4`}),t[44]=I,t[45]=Y);let X;t[46]!==J||t[47]!==Y?(X=(0,S.jsxs)(h,{onSelect:J,children:[Y,`Browse all connections`]}),t[46]=J,t[47]=Y,t[48]=X):X=t[48];let Z;t[49]!==K||t[50]!==X?(Z=(0,S.jsxs)(te,{align:`end`,children:[K,q,X]}),t[49]=K,t[50]=X,t[51]=Z):Z=t[51];let Q;t[52]!==G||t[53]!==Z?(Q=(0,S.jsxs)(ne,{children:[G,Z]}),t[52]=G,t[53]=Z,t[54]=Q):Q=t[54];let $;return t[55]!==F||t[56]!==Q?($=(0,S.jsxs)(`div`,{className:`inline-flex`,children:[F,Q]}),t[55]=F,t[56]=Q,t[57]=$):$=t[57],$},E=e(n(),1),D=E.forwardRef((e,t)=>{let n=(0,x.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,lastItem:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=i&&`border-b-0`,s;n[4]!==r||n[5]!==o?(s=p(o,r),n[4]=r,n[5]=o,n[6]=s):s=n[6];let c;return n[7]!==a||n[8]!==t||n[9]!==s?(c=(0,S.jsx)(u,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});D.displayName=`PanelAccordionItem`;var O=E.forwardRef((e,t)=>{let n=(0,x.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=p(`px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,S.jsx)(`span`,{className:`flex items-center gap-2`,children:r}),n[6]=r,n[7]=s);let c;return n[8]!==a||n[9]!==t||n[10]!==o||n[11]!==s?(c=(0,S.jsx)(f,{ref:t,className:o,...a,children:s}),n[8]=a,n[9]=t,n[10]=o,n[11]=s,n[12]=c):c=n[12],c});O.displayName=`PanelAccordionTrigger`;var k=E.forwardRef((e,t)=>{let n=(0,x.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({wrapperClassName:i,...r}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===i?a=n[4]:(a=p(`p-0`,i),n[3]=i,n[4]=a);let o;return n[5]!==r||n[6]!==t||n[7]!==a?(o=(0,S.jsx)(d,{ref:t,wrapperClassName:a,...r}),n[5]=r,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});k.displayName=`PanelAccordionContent`;var A=e=>{let t=(0,x.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`py-0 px-1.5 text-[10px]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,S.jsx)(y,{variant:`secondary`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};A.displayName=`PanelBadge`;var j=e=>{let t=(0,x.c)(6),{count:n,type:r}=e;if(n===0)return null;let i;i=r===`database`?n===1?`database`:`databases`:n===1?`remote storage`:`remote storages`;let o=`${n} ${i} detected in your environment, ready to quick-add`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,S.jsx)(a,{className:`h-2.5 w-2.5`}),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,S.jsx)(`span`,{children:(0,S.jsxs)(A,{className:`gap-0.5 border-(--blue-6) bg-(--blue-3) text-(--blue-11) hover:bg-(--blue-4) dark:border-(--blue-8) dark:bg-(--blue-3) dark:hover:bg-(--blue-4)`,children:[s,n]})}),t[1]=n,t[2]=c);let l;return t[3]!==o||t[4]!==c?(l=(0,S.jsx)(_,{content:o,children:c}),t[3]=o,t[4]=c,t[5]=l):l=t[5],l};export{A as a,O as i,k as n,T as o,D as r,C as s,j as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{r as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{Ja as r,Mt as i,f as a,ti as o,yr as s,yt as c}from"./cells-lwP9-xsQ.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{a as u,i as d,o as f}from"./config-BC32AAdw.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{a as h,c as g,p as ee,r as te,t as ne}from"./dropdown-menu-Cwi17BoX.js";import{t as _}from"./tooltip-B5lAA_jn.js";import{t as v}from"./button-Cl7haVNh.js";import{i as re}from"./paths-bkIFVj8h.js";import{n as ie}from"./components-9p_w2C6e.js";import{b as ae}from"./write-secret-modal-CBi2vNK_.js";import{t as oe}from"./plus-C5silF6g.js";import{t as y}from"./badge-crT3E0Rm.js";import{n as se,t as b}from"./add-connection-dialog-CjRaQbDW.js";var x=l(),S=m(),C=e=>{let t=(0,x.c)(8),{variableName:n,className:r}=e,i;t[0]===n?i=t[1]:(i=e=>{e.stopPropagation();let t=w(n);if(!t)return;let r=a(t);r&&s(r,n)},t[0]=n,t[1]=i);let o=i,c;t[2]===r?c=t[3]:(c=p(`text-link opacity-80 hover:opacity-100 hover:underline`,r),t[2]=r,t[3]=c);let l;return t[4]!==o||t[5]!==c||t[6]!==n?(l=(0,S.jsx)(`button`,{type:`button`,onClick:o,className:c,children:n}),t[4]=o,t[5]=c,t[6]=n,t[7]=l):l=t[7],l};function w(e){let n=t.get(o)[e];if(n)return n.declaredBy[0]}var T=e=>{let t=(0,x.c)(58),n,a,o,s,l;t[0]===e?(n=t[1],a=t[2],o=t[3],s=t[4],l=t[5]):({group:o,label:s,compact:l,className:a,...n}=e,t[0]=e,t[1]=n,t[2]=a,t[3]=o,t[4]=s,t[5]=l);let u=l!==void 0&&l,d=c(o),f=i(),{openModal:m,closeModal:y}=ae(),C=d.length>0,w=o===`storage`?`storage`:`databases`,T=C&&!u&&`rounded-r-none`,E;t[6]!==a||t[7]!==T?(E=p(a,T),t[6]=a,t[7]=T,t[8]=E):E=t[8];let D=u?s:n[`aria-label`],O=!u&&s,k=!u&&`ml-2`,A;t[9]===k?A=t[10]:(A=p(`h-4 w-4`,k),t[9]=k,t[10]=A);let j;t[11]===A?j=t[12]:(j=(0,S.jsx)(oe,{className:A}),t[11]=A,t[12]=j);let M;t[13]!==n||t[14]!==E||t[15]!==D||t[16]!==O||t[17]!==j?(M=(0,S.jsxs)(v,{...n,className:E,"aria-label":D,children:[O,j]}),t[13]=n,t[14]=E,t[15]=D,t[16]=O,t[17]=j,t[18]=M):M=t[18];let N=M,P;t[19]!==w||t[20]!==N?(P=(0,S.jsx)(b,{defaultTab:w,children:N}),t[19]=w,t[20]=N,t[21]=P):P=t[21];let F=P;if(!C)return F;let I=o===`storage`?ie:re,L=o===`storage`?`View detected remote storage connections`:`View detected database connections`,R=n.variant,z=n.size,B=n.disabled,V=u&&`rounded-none`,H;t[22]===V?H=t[23]:(H=p(`rounded-l-none border-l-0 px-2 text-(--blue-10) hover:bg-(--blue-3)`,V),t[22]=V,t[23]=H);let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,S.jsx)(r,{className:`h-4 w-4`}),t[24]=U):U=t[24];let W;t[25]!==n.disabled||t[26]!==n.size||t[27]!==n.variant||t[28]!==L||t[29]!==H?(W=(0,S.jsx)(`span`,{className:`inline-flex`,children:(0,S.jsx)(ee,{asChild:!0,children:(0,S.jsx)(v,{variant:R,size:z,disabled:B,className:H,"aria-label":L,children:U})})}),t[25]=n.disabled,t[26]=n.size,t[27]=n.variant,t[28]=L,t[29]=H,t[30]=W):W=t[30];let G;t[31]!==L||t[32]!==W?(G=(0,S.jsx)(_,{content:L,children:W}),t[31]=L,t[32]=W,t[33]=G):G=t[33];let K;if(t[34]!==f||t[35]!==d){let e;t[37]===f?e=t[38]:(e=e=>(0,S.jsxs)(h,{onSelect:()=>f(e),children:[(0,S.jsx)(r,{className:`mr-2 h-4 w-4 text-(--blue-9)`}),`Add `,e.displayName]},e.id),t[37]=f,t[38]=e),K=d.map(e),t[34]=f,t[35]=d,t[36]=K}else K=t[36];let q;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,S.jsx)(g,{}),t[39]=q):q=t[39];let J;t[40]!==y||t[41]!==w||t[42]!==m?(J=()=>m((0,S.jsx)(se,{defaultTab:w,onClose:y})),t[40]=y,t[41]=w,t[42]=m,t[43]=J):J=t[43];let Y;t[44]===I?Y=t[45]:(Y=(0,S.jsx)(I,{className:`mr-2 h-4 w-4`}),t[44]=I,t[45]=Y);let X;t[46]!==J||t[47]!==Y?(X=(0,S.jsxs)(h,{onSelect:J,children:[Y,`Browse all connections`]}),t[46]=J,t[47]=Y,t[48]=X):X=t[48];let Z;t[49]!==K||t[50]!==X?(Z=(0,S.jsxs)(te,{align:`end`,children:[K,q,X]}),t[49]=K,t[50]=X,t[51]=Z):Z=t[51];let Q;t[52]!==G||t[53]!==Z?(Q=(0,S.jsxs)(ne,{children:[G,Z]}),t[52]=G,t[53]=Z,t[54]=Q):Q=t[54];let $;return t[55]!==F||t[56]!==Q?($=(0,S.jsxs)(`div`,{className:`inline-flex`,children:[F,Q]}),t[55]=F,t[56]=Q,t[57]=$):$=t[57],$},E=e(n(),1),D=E.forwardRef((e,t)=>{let n=(0,x.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,lastItem:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=i&&`border-b-0`,s;n[4]!==r||n[5]!==o?(s=p(o,r),n[4]=r,n[5]=o,n[6]=s):s=n[6];let c;return n[7]!==a||n[8]!==t||n[9]!==s?(c=(0,S.jsx)(u,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});D.displayName=`PanelAccordionItem`;var O=E.forwardRef((e,t)=>{let n=(0,x.c)(13),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=p(`px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,S.jsx)(`span`,{className:`flex items-center gap-2`,children:r}),n[6]=r,n[7]=s);let c;return n[8]!==a||n[9]!==t||n[10]!==o||n[11]!==s?(c=(0,S.jsx)(f,{ref:t,className:o,...a,children:s}),n[8]=a,n[9]=t,n[10]=o,n[11]=s,n[12]=c):c=n[12],c});O.displayName=`PanelAccordionTrigger`;var k=E.forwardRef((e,t)=>{let n=(0,x.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({wrapperClassName:i,...r}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===i?a=n[4]:(a=p(`p-0`,i),n[3]=i,n[4]=a);let o;return n[5]!==r||n[6]!==t||n[7]!==a?(o=(0,S.jsx)(d,{ref:t,wrapperClassName:a,...r}),n[5]=r,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});k.displayName=`PanelAccordionContent`;var A=e=>{let t=(0,x.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`py-0 px-1.5 text-[10px]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,S.jsx)(y,{variant:`secondary`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};A.displayName=`PanelBadge`;var j=e=>{let t=(0,x.c)(6),{count:n,type:i}=e;if(n===0)return null;let a;a=i===`database`?n===1?`database`:`databases`:n===1?`remote storage`:`remote storages`;let o=`${n} ${a} detected in your environment, ready to quick-add`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,S.jsx)(r,{className:`h-2.5 w-2.5`}),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,S.jsx)(`span`,{children:(0,S.jsxs)(A,{className:`gap-0.5 border-(--blue-6) bg-(--blue-3) text-(--blue-11) hover:bg-(--blue-4) dark:border-(--blue-8) dark:bg-(--blue-3) dark:hover:bg-(--blue-4)`,children:[s,n]})}),t[1]=n,t[2]=c);let l;return t[3]!==o||t[4]!==c?(l=(0,S.jsx)(_,{content:o,children:c}),t[3]=o,t[4]=c,t[5]=l):l=t[5],l};export{A as a,O as i,k as n,T as o,D as r,C as s,j as t};
@@ -0,0 +1 @@
1
+ import{a as e,c as t,f as n,l as r,r as i,t as a}from"./useEvent-BDjgaBtz.js";import{t as o}from"./compiler-runtime-BrajqUja.js";import{g as s}from"./useEventListener-DPOTkksd.js";import{t as c}from"./invariant-Ci2dTZ72.js";import{i as l,t as u}from"./utils-B4K466FK.js";import{p as d,t as f}from"./session-BHgGkjDm.js";import{t as p}from"./Deferred-CrTnjj37.js";var ee=o();function m(){return typeof document<`u`&&document.querySelector(`marimo-wasm`)!==null}var h=Symbol(``);function g(e,t){return n(e,function(e,n,r){n(this,t(e(this),r))})}function te(e,t){let n=null,r=new Map,i=new Set,a=i=>{let s;if(t===void 0)s=r.get(i);else for(let[e,n]of r)if(t(e,i)){s=n;break}if(s!==void 0){if(n?.(s[1],i))a.remove(i);else return s[0]}let c=e(i);return r.set(i,[c,Date.now()]),o(`CREATE`,i,c),c},o=(e,t,n)=>{for(let r of i)r({type:e,param:t,atom:n})};return a.unstable_listen=e=>(i.add(e),()=>{i.delete(e)}),a.getParams=()=>r.keys(),a.remove=e=>{if(t===void 0){if(!r.has(e))return;let[t]=r.get(e);r.delete(e),o(`REMOVE`,e,t)}else for(let[n,[i]]of r)if(t(n,e)){r.delete(n),o(`REMOVE`,n,i);break}},a.setShouldRemove=e=>{if(n=e,n)for(let[e,[t,i]]of r)n(i,e)&&(r.delete(e),o(`REMOVE`,e,t))},a}var _=(e,t,n)=>(t.has(n)?t:t.set(n,e())).get(n),v=new WeakMap,y=(e,t,n,r)=>_(e,_(()=>new WeakMap,_(()=>new WeakMap,v,t),n),r);function b(e,t,r=Object.is){return y(()=>{let i=Symbol(),a=([e,n])=>{if(n===i)return t(e);let a=t(e,n);return r(n,a)?n:a},o=n(t=>{let n=t(o),r=t(e);return a([r,n])});return o.init=i,o},e,t,r)}var x=(e,t,n)=>(t.has(n)?t:t.set(n,e())).get(n),S=new WeakMap,ne=(e,t,n)=>x(e,x(()=>new WeakMap,S,t),n),re={},C=e=>!!e.write,w=e=>typeof e==`function`;function T(e,t){return ne(()=>{let r=new WeakMap,i=(o,s)=>{let c=r.get(o);if(c)return c;let l=s&&r.get(s),u=[],d=[];return o.forEach((r,s)=>{let c=t?t(r):s;d[s]=c;let f=l&&l.atomList[l.keyList.indexOf(c)];if(f){u[s]=f;return}let p=t=>{let n=t(a),r=t(e),s=i(r,n?.arr).keyList.indexOf(c);if(s<0||s>=r.length){let e=o[i(o).keyList.indexOf(c)];if(e)return e;throw Error(`splitAtom: index out of bounds for read`)}return r[s]};u[s]=C(e)?n(p,(t,n,r)=>{let o=t(a),s=t(e),l=i(s,o?.arr).keyList.indexOf(c);if(l<0||l>=s.length)throw Error(`splitAtom: index out of bounds for write`);let u=w(r)?r(s[l]):r;Object.is(s[l],u)||n(e,[...s.slice(0,l),u,...s.slice(l+1)])}):n(p)}),c=l&&l.keyList.length===d.length&&l.keyList.every((e,t)=>e===d[t])?l:{arr:o,atomList:u,keyList:d},r.set(o,c),c},a=n(t=>{let n=t(a),r=t(e);return i(r,n?.arr)});a.init=void 0;let o=C(e)?n(e=>e(a).atomList,(t,n,r)=>{switch(r.type){case`remove`:{let i=t(o).indexOf(r.atom);if(i>=0){let r=t(e);n(e,[...r.slice(0,i),...r.slice(i+1)])}break}case`insert`:{let i=r.before?t(o).indexOf(r.before):t(o).length;if(i>=0){let a=t(e);n(e,[...a.slice(0,i),r.value,...a.slice(i)])}break}case`move`:{let i=t(o).indexOf(r.atom),a=r.before?t(o).indexOf(r.before):t(o).length;if(i>=0&&a>=0){let r=t(e);i<a?n(e,[...r.slice(0,i),...r.slice(i+1,a),r[i],...r.slice(a)]):n(e,[...r.slice(0,a),r[i],...r.slice(a,i),...r.slice(i+1)])}break}}}):n(e=>e(a).atomList);return o},e,t||re)}var E=e=>typeof e?.then==`function`;function D(e=()=>{try{return window.localStorage}catch{return}},t){let n,r,i={getItem:(i,a)=>{let o=e=>{if(e||=``,n!==e){try{r=JSON.parse(e,t?.reviver)}catch{return a}n=e}return r},s=e()?.getItem(i)??null;return E(s)?s.then(o):o(s)},setItem:(n,r)=>e()?.setItem(n,JSON.stringify(r,t?.replacer)),removeItem:t=>e()?.removeItem(t)},a=e=>(n,r,i)=>e(n,e=>{let n;try{n=JSON.parse(e||``,t?.reviver)}catch{n=i}r(n)}),o;try{o=e()?.subscribe}catch{}return!o&&typeof window<`u`&&typeof window.addEventListener==`function`&&window.Storage&&(o=(t,n)=>{if(!(e()instanceof window.Storage))return()=>{};let r=r=>{r.storageArea===e()&&r.key===t&&n(r.newValue)};return window.addEventListener(`storage`,r),()=>{window.removeEventListener(`storage`,r)}}),o&&(i.subscribe=a(o)),i}var ie=D();function ae(e,t,r=ie,i){let a=i?.getOnInit,o=n(a?r.getItem(e,t):t);return o.onMount=n=>(n(r.getItem(e,t)),r.subscribe?.call(r,e,n,t)),n(e=>e(o),(n,i,a)=>{let s=typeof a==`function`?a(n(o)):a;return s===h?(i(o,t),r.removeItem(e)):E(s)?s.then(t=>(i(o,t),r.setItem(e,t))):(i(o,s),r.setItem(e,s))})}var O={NOT_STARTED:`NOT_STARTED`,CONNECTING:`CONNECTING`,OPEN:`OPEN`,CLOSING:`CLOSING`,CLOSED:`CLOSED`},k={KERNEL_DISCONNECTED:`KERNEL_DISCONNECTED`,KERNEL_STARTUP_ERROR:`KERNEL_STARTUP_ERROR`},A=n({state:O.NOT_STARTED}),j=g(null,(e,t)=>t===null?null:{phase:t.phase,logs:t.log_mode===`append`&&e?.phase===t.phase?e.logs+t.logs:t.logs});function M(){return e(A,e=>e.state===O.OPEN)}function N(){return d()?M():Promise.resolve()}var P=n(e=>e(A).state===O.CONNECTING),F=n(e=>e(A).state===O.OPEN),I=n(e=>{let t=e(A);return t.state===O.OPEN||t.state===O.NOT_STARTED});n(e=>e(A).state===O.CLOSED);var L=n(e=>e(A).state===O.NOT_STARTED);function R(e){return e===O.CONNECTING}function z(e){return e===O.OPEN}function B(e){return e===O.CLOSING}function V(e){return e===O.NOT_STARTED}function H(e){return e===O.CLOSED||e===O.CLOSING||e===O.CONNECTING}function U(e){switch(e){case O.CLOSED:return`App disconnected`;case O.CONNECTING:return`Connecting to a runtime ...`;case O.CLOSING:return`App disconnecting...`;case O.OPEN:return``;case O.NOT_STARTED:return`Click to connect to a runtime`;default:return``}}function oe(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e))if(typeof t!=`string`)return!1;return!0}function W(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return!(!oe(t.files)||t.modelNotifications!==void 0&&!Array.isArray(t.modelNotifications))}function G(){let e=typeof window>`u`?void 0:window.__MARIMO_STATIC__;return W(e)?e:void 0}function K(){return G()!==void 0}function q(){let e=G();return c(e!==void 0,`Not a static notebook`),e.files}function se(){return G()?.modelNotifications}var ce=new Set(Object.values(l)),le=class{initialHealthyCheck=new p;config;lazy;constructor(e,t=!1){this.config=e,this.lazy=t;try{new URL(this.config.url)}catch(e){throw Error(`Invalid runtime URL: ${this.config.url}. ${e instanceof Error?e.message:`Unknown error`}`,{cause:e})}this.lazy||this.init()}get isLazy(){return this.lazy}get httpURL(){return new URL(this.config.url)}get isSameOrigin(){return this.httpURL.origin===window.location.origin}get isServerless(){return m()||u()||K()}formatHttpURL({path:e=``,searchParams:t,restrictToKnownQueryParams:n=!0}){let r=this.httpURL,i=new URLSearchParams(window.location.search);if(t)for(let[e,n]of t.entries())r.searchParams.set(e,n);for(let[e,t]of i.entries())n&&!ce.has(e)||r.searchParams.set(e,t);return r.pathname=`${r.pathname.replace(/\/$/,``)}/${e.replace(/^\//,``)}`,r.hash=``,r}appendCrossOriginAuth(e){return!this.isSameOrigin&&this.config.authToken&&e.searchParams.set(l.accessToken,this.config.authToken),e}formatNavigableHttpURL(e,t){let n=this.formatHttpURL({path:e,searchParams:t});return n.searchParams.delete(l.accessToken),this.appendCrossOriginAuth(n)}formatWsURL(e,t){let n=this.formatHttpURL({path:e,searchParams:t,restrictToKnownQueryParams:!1});return J(this.appendCrossOriginAuth(n).toString())}getSessionURL(e,t){let n=this.formatHttpURL({path:e}),r=new URLSearchParams(this.httpURL.search),i=new URLSearchParams(window.location.search);for(let e of i.keys())r.delete(e);for(let[e,t]of i)r.append(e,t);return r.delete(l.accessToken),r.delete(`refresh_token`),r.delete(l.sessionId),n.searchParams.set(`query_params`,r.toString()),n.searchParams.set(l.sessionId,t),n}getWsURL(e){let t=this.getSessionURL(`/ws`,e);return J(this.appendCrossOriginAuth(t).toString())}getSseURL(e){let t=this.getSessionURL(`/sse`,e);return t.searchParams.delete(l.accessToken),t}getNotebookURL(e){let t=this.formatHttpURL({path:`/api/marimo/v1/notebooks/${encodeURIComponent(e)}`});return t.searchParams.delete(l.accessToken),t}getWsSyncURL(e){let t=this.getSessionURL(`/ws_sync`,e);return J(this.appendCrossOriginAuth(t).toString())}getTerminalWsURL(e){let t=this.formatWsURL(`/terminal/ws`);return e&&(t.searchParams.set(`rows`,String(e.rows)),t.searchParams.set(`cols`,String(e.cols))),t}getLSPURL(e){if(e===`copilot`){let t=this.formatWsURL(`/lsp/${e}`),n=t.searchParams.get(l.accessToken);return t.search=``,n&&t.searchParams.set(l.accessToken,n),t}return this.formatWsURL(`/lsp/${e}`)}getAiURL(e){return this.formatHttpURL({path:`/api/ai/${e}`})}healthURL(){return this.formatHttpURL({path:`/health`})}async fetchHealth(){try{return await fetch(this.healthURL().toString())}catch(e){return s.error(`Failed to check health: ${e instanceof Error?e.message:`Unknown error`}`,{cause:e}),null}}async reconcileFromHealth(){if(this.isServerless)return!0;let e=await this.fetchHealth();if(!e)return!1;if(e.redirected){s.debug(`Runtime redirected to ${e.url}`);let t=new URL(e.url);t.pathname=t.pathname.replace(/\/health$/,``),this.config.url=t.toString()}return e.ok&&this.setDOMBaseUri(this.config.url),e.ok}async probeHealth(){return this.isServerless?!0:(await this.fetchHealth())?.ok??!1}setDOMBaseUri(e){e=e.split(`?`,1)[0],e.endsWith(`/`)||(e+=`/`);let t=document.querySelector(`base`);t?t.setAttribute(`href`,e):(t=document.createElement(`base`),t.setAttribute(`href`,e),document.head.append(t))}async init(e){s.debug(`Initializing runtime...`);let t=0;for(;!await this.reconcileFromHealth();){if(t>=25){s.error(`Failed to connect after 25 retries`),this.initialHealthyCheck.reject(Error(`Failed to connect after 25 retries`));return}if(!e?.disableRetryDelay){let e=Math.min(100*1.2**t,2e3);await new Promise(t=>setTimeout(t,e))}t++}s.debug(`Runtime is healthy`),this.initialHealthyCheck.resolve()}async waitForHealthy(){return this.initialHealthyCheck.promise}headers(){let e={"Marimo-Session-Id":f(),"Marimo-Server-Token":this.config.serverToken??``,"x-runtime-url":this.httpURL.toString()};return this.config.authToken&&(e.Authorization=`Bearer ${this.config.authToken}`),e}sessionHeaders(){return{"Marimo-Session-Id":f()}}};function J(e){if(!e.startsWith(`http`)){s.warn(`URL must start with http: ${e}`);let t=new URL(e);return t.protocol=`ws`,t}return new URL(e.replace(/^http/,`ws`))}function ue(){let e=new URL(document.baseURI);return e.search=``,e.hash=``,e.toString()}var Y={lazy:!0,url:ue()},X=n(Y),Z=n(e=>{let t=e(X);return new le(t,t.lazy)});function Q(){return r(Z)}function de(){let e=(0,ee.c)(4),n=Q(),[r,i]=t(A),o;return e[0]!==r.state||e[1]!==n||e[2]!==i?(o=async()=>{V(r.state)?(i({state:O.CONNECTING}),await n.init()):s.log(`Runtime already started or starting...`)},e[0]=r.state,e[1]=n,e[2]=i,e[3]=o):o=e[3],a(o)}function $(){return i.get(Z)}function fe(e){if(e.startsWith(`http`))return new URL(e);let t=$().httpURL.toString();return t.startsWith(`blob:`)&&(t=t.replace(`blob:`,``)),new URL(e,t)}export{b as A,N as C,g as D,te as E,m as M,ae as O,M as S,O as T,A as _,de as a,L as b,q as c,B as d,z as f,I as g,V as h,X as i,T as j,D as k,K as l,H as m,fe as n,Q as o,R as p,$ as r,se as s,Y as t,U as u,F as v,k as w,j as x,P as y};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,u as n}from"./useEvent-BDjgaBtz.js";import{t as r}from"./react-DVplv7_D.js";import{C as i,I as a,N as o}from"./schemas-ChRqMOTL.js";import{t as s}from"./compiler-runtime-BrajqUja.js";import{E as c,y as l}from"./config-CXnC3MRv.js";import{g as u,o as d}from"./useEventListener-DPOTkksd.js";import{r as f}from"./config-7IjqNuVp.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{C as h,D as g,E as _,S as v,T as y,w as b,x}from"./fullscreen-D-ldV-19.js";import{f as ee,u as te}from"./menu-items-yD7IV3V4.js";import{a as ne}from"./useNumberFormatter-D7O_26UI.js";import{t as S}from"./strings-3lNX212T.js";import{r as re}from"./requests-BIFR-h4M.js";import{r as C}from"./errors-CNsgAw6m.js";var ie=o({command:a(),hostEnabled:i().default(!1),templates:o({prompt:a(),notebook:a(),session:a(),token_file:a(),token:a()})}),ae=t(void 0),w=e(r(),1),T=m(),oe=Object.defineProperty,E=(e,t)=>oe(e,`name`,{value:t,configurable:!0}),D=`Collapsible`,[se,O]=_(D),[ce,k]=se(D),le=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=h({prop:r,defaultProp:i??!1,onChange:o,caller:D});return(0,T.jsx)(ce,{scope:n,disabled:a,contentId:x(),open:c,onOpenToggle:w.useCallback(()=>l(e=>!e),[l]),children:(0,T.jsx)(g.div,{"data-state":A(c),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`)),ue=`CollapsibleTrigger`,de=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,...r}=e,i=k(ue,n);return(0,T.jsx)(g.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":A(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:b(e.onClick,i.onOpenToggle)})},`CollapsibleTrigger`)),fe=`CollapsibleContent`,pe=w.forwardRef(E(function(e,t){let{forceMount:n,...r}=e,i=k(fe,e.__scopeCollapsible);return(0,T.jsx)(v,{present:n||i.open,children:({present:e})=>(0,T.jsx)(me,{...r,ref:t,present:e})})},`CollapsibleContent`)),me=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=k(fe,n),[s,c]=w.useState(r),l=w.useRef(null),u=d(t,l),f=w.useRef(0),p=f.current,m=w.useRef(0),h=m.current,_=o.open||s,v=w.useRef(_),b=w.useRef(void 0);return w.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),y(()=>{let e=l.current;if(e){b.current=b.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();f.current=t.height,m.current=t.width,v.current||(e.style.transitionDuration=b.current.transitionDuration,e.style.animationName=b.current.animationName),c(r)}},[o.open,r]),(0,T.jsx)(g.div,{"data-state":A(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!_,...a,ref:u,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...e.style},children:_&&i})},`CollapsibleContentImpl`));function A(e){return e?`open`:`closed`}E(A,`getState`);var he=Object.defineProperty,j=(e,t)=>he(e,`name`,{value:t,configurable:!0}),ge={Single:`single`,Multiple:`multiple`},M={Vertical:`vertical`,Horizontal:`horizontal`},_e={LTR:`ltr`,RTL:`rtl`},N=`Accordion`,ve=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[P,{useGetCollection:ye,createCollectionScope:be}]=ee(N),[F,xe]=_(N,[be,O]),I=O(),L=w.forwardRef(j(function(e,t){let{type:n,...r}=e,i=r,a=r;return(0,T.jsx)(P.Provider,{scope:e.__scopeAccordion,children:n===ge.Multiple?(0,T.jsx)(Te,{...a,ref:t}):(0,T.jsx)(we,{...i,ref:t})})},`Accordion`)),[R,Se]=F(N),[z,Ce]=F(N,{collapsible:!1}),we=w.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),collapsible:a=!1,...o}=e,[s,c]=h({prop:n,defaultProp:r??``,onChange:i,caller:N});return(0,T.jsx)(R,{scope:e.__scopeAccordion,value:w.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:w.useCallback(()=>a&&c(``),[a,c]),children:(0,T.jsx)(z,{scope:e.__scopeAccordion,collapsible:a,children:(0,T.jsx)(V,{...o,ref:t})})})},`AccordionImplSingle`)),Te=w.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),...a}=e,[o,s]=h({prop:n,defaultProp:r??[],onChange:i,caller:N}),c=w.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=w.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,T.jsx)(R,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,T.jsx)(z,{scope:e.__scopeAccordion,collapsible:!0,children:(0,T.jsx)(V,{...a,ref:t})})})},`AccordionImplMultiple`)),[Ee,B]=F(N),V=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=M.Vertical,...o}=e,s=w.useRef(null),c=d(s,t),l=ye(n),u=te(i)===_e.LTR,f=b(e.onKeyDown,e=>{if(!ve.includes(e.key))return;let t=l(),n=e.target,r=t.filter(([,e])=>!e.element.disabled),i=r.findIndex(([,e])=>e.element===n),o=r.size;if(i===-1)return;e.preventDefault();let s=i,c=o-1,d=j(()=>{s=i+1,s>c&&(s=0)},`moveNext`),f=j(()=>{s=i-1,s<0&&(s=c)},`movePrev`);switch(e.key){case`Home`:s=0;break;case`End`:s=c;break;case`ArrowRight`:a===M.Horizontal&&(u?d():f());break;case`ArrowDown`:a===M.Vertical&&d();break;case`ArrowLeft`:a===M.Horizontal&&(u?f():d());break;case`ArrowUp`:a===M.Vertical&&f()}let p=s%o;r.at(p)?.element.focus()});return(0,T.jsx)(Ee,{scope:n,disabled:r,direction:i,orientation:a,children:(0,T.jsx)(P.Slot,{scope:n,children:(0,T.jsx)(g.div,{...o,"data-orientation":a,ref:c,onKeyDown:r?void 0:f})})})},`AccordionImpl`)),H=`AccordionItem`,[De,U]=F(H),W=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,value:r,...i}=e,a=B(H,n),o=Se(H,n),s=I(n),c=x(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,T.jsx)(De,{scope:n,open:l,disabled:u,triggerId:c,children:(0,T.jsx)(le,{"data-orientation":a.orientation,"data-state":J(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})},`AccordionItem`)),Oe=`AccordionHeader`,ke=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=B(N,n),a=U(Oe,n);return(0,T.jsx)(g.h3,{"data-orientation":i.orientation,"data-state":J(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})},`AccordionHeader`)),G=`AccordionTrigger`,K=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=B(N,n),a=U(G,n),o=Ce(G,n),s=I(n);return(0,T.jsx)(P.ItemSlot,{scope:n,children:(0,T.jsx)(de,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})},`AccordionTrigger`)),Ae=`AccordionContent`,q=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=B(N,n),a=U(Ae,n),o=I(n);return(0,T.jsx)(pe,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})},`AccordionContent`));function J(e){return e?`open`:`closed`}j(J,`getState`);var je={"Content-Type":`application/json`},Me=/\{[^{}]+\}/g,Ne=class extends Request{constructor(e,t){super(e,t);for(let e in t)e in this||(this[e]=t[e])}};function Pe(e){let{baseUrl:t=``,fetch:n=globalThis.fetch,querySerializer:r,bodySerializer:i,headers:a,...o}={...e};t.endsWith(`/`)&&(t=t.substring(0,t.length-1)),a=X(je,a);let s=[];async function c(e,c){let{fetch:l=n,headers:u,params:d={},parseAs:f=`json`,querySerializer:p,bodySerializer:m=i??ze,...h}=c||{},g=typeof r==`function`?r:Le(r);p&&(g=typeof p==`function`?p:Le({...typeof r==`object`?r:{},...p}));let _={redirect:`follow`,...o,...h,headers:X(a,u,d.header)};_.body&&=m(_.body),_.body instanceof FormData&&_.headers.delete(`Content-Type`);let v=new Ne(Be(e,{baseUrl:t,params:d,querySerializer:g}),_),y={baseUrl:t,fetch:l,parseAs:f,querySerializer:g,bodySerializer:m};for(let t of s)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){v.schemaPath=e,v.params=d;let n=await t.onRequest(v,y);if(n){if(!(n instanceof Request))throw Error(`Middleware must return new Request() when modifying the request`);v=n}}let b=await l(v);for(let e=s.length-1;e>=0;e--){let t=s[e];if(t&&typeof t==`object`&&typeof t.onResponse==`function`){let e=await t.onResponse(b,y);if(e){if(!(e instanceof Response))throw Error(`Middleware must return new Response() when modifying the response`);b=e}}}if(b.status===204||b.headers.get(`Content-Length`)===`0`)return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok)return f===`stream`?{data:b.body,response:b}:{data:await b[f](),response:b};let x=await b.text();try{x=JSON.parse(x)}catch{}return{error:x,response:b}}return{async GET(e,t){return c(e,{...t,method:`GET`})},async PUT(e,t){return c(e,{...t,method:`PUT`})},async POST(e,t){return c(e,{...t,method:`POST`})},async DELETE(e,t){return c(e,{...t,method:`DELETE`})},async OPTIONS(e,t){return c(e,{...t,method:`OPTIONS`})},async HEAD(e,t){return c(e,{...t,method:`HEAD`})},async PATCH(e,t){return c(e,{...t,method:`PATCH`})},async TRACE(e,t){return c(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");s.push(t)}},eject(...e){for(let t of e){let e=s.indexOf(t);e!==-1&&s.splice(e,1)}}}}function Y(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function Fe(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(Y(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Ie(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(Y(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Le(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){n.push(Ie(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Fe(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(Y(r,i,e))}}return n.join(`&`)}}function Re(e,t){let n=e;for(let r of e.match(Me)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,Ie(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Fe(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${Y(e,o)}`);continue}n=n.replace(r,a===`label`?`.${o}`:o)}return n}function ze(e){return JSON.stringify(e)}function Be(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=Re(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function X(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function Ve(e){return Pe(e)}function He(){let e=f().httpURL;return e.search=``,e.hash=``,e.toString()}function Ue(e){if(!e)return;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1])}catch{return}let n=e.match(/filename="([^"]+)"/i);if(n)return n[1];let r=e.match(/filename=([^;]+)/i);if(r)return r[1].trim()}function We(e){let t=Ue(e.headers.get(`Content-Disposition`));return t||u.warn(`Export response is missing a readable Content-Disposition filename`),t}var Z={post(e,t,n={}){let r=`${S.withTrailingSlash(n.baseUrl??He())}api${e}`;return fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`,...Z.headers(),...n.headers},body:JSON.stringify(t),signal:n.signal}).then(async e=>{let t=e.headers.get(`Content-Type`)?.startsWith(`application/json`);if(!e.ok){let n=t?await e.json():await e.text();throw new C(e.status,e.statusText,n)}return t?e.json():e.text()}).catch(e=>{throw e?.name!==`AbortError`&&u.error(`Error requesting ${r}`,e),e})},get(e,t={}){let n=`${S.withTrailingSlash(t.baseUrl??He())}api${e}`;return fetch(n,{method:`GET`,headers:{...Z.headers(),...t.headers}}).then(e=>{if(!e.ok)throw new C(e.status,e.statusText);return e.headers.get(`Content-Type`)?.startsWith(`application/json`)?e.json():null}).catch(e=>{throw u.error(`Error requesting ${n}`,e),e})},headers(){return f().headers()},handleResponse:e=>e.error?Promise.reject(new C(e.response.status,e.response.statusText,e.error)):Promise.resolve(e.data),handleExportResponse:async(e,t)=>{let n=await Z.handleResponse(e),r=e.response.headers.get(`Content-Type`);if(!r)throw Error(`Export response is missing a media type`);return{contents:n,filename:We(e.response)??t.defaultFilename,mediaType:r}},handleResponseReturnNull:e=>e.error?Promise.reject(new C(e.response.status,e.response.statusText,e.error)):Promise.resolve(null)};function Ge(e){let t=Ve({baseUrl:e.httpURL.toString()});return t.use({onRequest:t=>{let n=e.headers();for(let[e,r]of Object.entries(n))t.headers.set(e,r);return t}}),t}var Q=s(),Ke=L,qe=w.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=p(`border-b`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,T.jsx)(W,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});qe.displayName=`AccordionItem`;var Je=w.forwardRef((e,t)=>{let n=(0,Q.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=p(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180 text-start`,i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(ne,{className:`h-4 w-4 transition-transform duration-200`}),n[6]=s):s=n[6];let c;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(c=(0,T.jsx)(ke,{className:`flex`,children:(0,T.jsxs)(K,{ref:t,className:o,...a,children:[r,s]})}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=c):c=n[11],c});Je.displayName=K.displayName;var $=w.forwardRef((e,t)=>{let n=(0,Q.c)(17),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,wrapperClassName:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]===i?s=n[6]:(s=p(`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,i),n[5]=i,n[6]=s);let c;n[7]===o?c=n[8]:(c=p(`pb-4 pt-0`,o),n[7]=o,n[8]=c);let l;n[9]!==r||n[10]!==c?(l=(0,T.jsx)(`div`,{className:c,children:r}),n[9]=r,n[10]=c,n[11]=l):l=n[11];let u;return n[12]!==a||n[13]!==t||n[14]!==s||n[15]!==l?(u=(0,T.jsx)(q,{ref:t,className:s,...a,children:l}),n[12]=a,n[13]=t,n[14]=s,n[15]=l,n[16]=u):u=n[16],u});$.displayName=q.displayName;var Ye=class{map=new Map;get(e){return this.map.get(e)??[]}set(e,t){this.map.set(e,t)}add(e,t){this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t])}has(e){return this.map.has(e)}delete(e){return this.map.delete(e)}clear(){this.map.clear()}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}forEach(e){this.map.forEach(e)}flatValues(){let e=[];for(let t of this.map.values())e.push(...t);return e}get size(){return this.map.size}},Xe=e=>{switch(e){case`chat`:return`chat_model`;case`autocomplete`:return`autocomplete_model`;case`edit`:return`edit_model`}},Ze=()=>{let e=(0,Q.c)(10),t=n(c),{saveUserConfig:r}=re(),i;e[0]!==r||e[1]!==t?(i=async e=>{let n={ai:e};await r({config:n}).then(()=>{t(e=>l(e,n))})},e[0]=r,e[1]=t,e[2]=i):i=e[2];let a=i,o;e[3]===a?o=e[4]:(o=async(e,t)=>{let n=Xe(t);n&&await a({models:{[n]:e}})},e[3]=a,e[4]=o);let s=o,u;e[5]===a?u=e[6]:(u=async e=>{await a({mode:e})},e[5]=a,e[6]=u);let d=u,f;return e[7]!==d||e[8]!==s?(f={saveModelChange:s,saveModeChange:d},e[7]=d,e[8]=s,e[9]=f):f=e[9],f};export{qe as a,Ge as c,W as d,K as f,$ as i,L as l,ie as m,Ye as n,Je as o,ae as p,Ke as r,Z as s,Ze as t,q as u};
@@ -1 +1 @@
1
- import{c as e,f as t,l as n,r,u as i}from"./useEvent-Dfcbgjhg.js";import{C as a,F as o,I as s,M as c,N as l,R as u,S as d,V as f,k as p,q as m,v as h}from"./schemas-ChRqMOTL.js";import{t as g}from"./compiler-runtime-BrajqUja.js";import{l as ee,t as te}from"./_baseMerge-CQpUq7ep.js";import{c as ne,g as _,h as v}from"./useEventListener-D9cftcHj.js";import{t as y}from"./invariant-Ci2dTZ72.js";var b=ee(function(e,t,n,r){te(e,t,n,r)}),x=g(),S=[`pip`,`uv`,`rye`,`poetry`,`pixi`],C=[`normal`,`compact`,`medium`,`full`,`columns`],w=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],T=`openai/gpt-4o`,E=[`html`,`markdown`,`ipynb`],re=[`manual`,`ask`,`agent`,`code_mode`],D=l({api_key:s().optional(),base_url:s().optional(),project:s().optional()}).loose(),ie=l({chat_model:s().nullish(),edit_model:s().nullish(),autocomplete_model:s().nullish(),displayed_models:d(s()).default([]),custom_models:d(s()).default([])}),O=p({completion:l({activate_on_typing:a().prefault(!0),signature_hint_on_typing:a().prefault(!1),auto_close_pairs:a().prefault(!0),copilot:u([a(),h([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:s().nullish()}).prefault({}),save:p({autosave:h([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:c().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:a().prefault(!1)}).prefault({}),formatting:p({line_length:c().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:p({preset:h([`default`,`vim`]).prefault(`default`),overrides:o(s(),s()).prefault({}),destructive_delete:a().prefault(!0)}).prefault({}),runtime:p({auto_instantiate:a().prefault(!0),on_cell_change:h([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:h([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:a().prefault(!0),watcher_on_save:h([`lazy`,`autorun`]).prefault(`lazy`),default_sql_output:h(w).prefault(`auto`),default_auto_download:d(h(E)).prefault([]),show_tracebacks:a().prefault(!1)}).prefault({}),display:p({theme:h([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:c().nonnegative().prefault(14),cell_output:h([`above`,`below`]).prefault(`below`),dataframes:h([`rich`,`plain`]).prefault(`rich`),default_table_page_size:c().prefault(10),default_table_max_columns:c().prefault(50),default_width:h(C).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:s().nullable().optional(),reference_highlighting:a().prefault(!0),code_lens:a().prefault(!0)}).prefault({}),package_management:p({manager:h(S).prefault(`pip`)}).prefault({}),ai:p({enabled:a().prefault(!0),rules:s().prefault(``),max_tokens:c().int().positive().nullable().optional(),mode:h(re).prefault(`manual`),inline_tooltip:a().prefault(!1),allow_provider_config:a().prefault(!0),open_ai:D.optional(),github:D.optional(),anthropic:D.optional(),google:D.optional(),ollama:D.optional(),openrouter:D.optional(),wandb:D.optional(),opencode_go:D.optional(),open_ai_compatible:D.optional(),azure:D.optional(),bedrock:p({region_name:s().optional(),profile_name:s().optional(),aws_access_key_id:s().optional(),aws_secret_access_key:s().optional()}).optional(),custom_providers:o(s(),D).prefault({}),models:ie.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:p({markdown:a().optional(),rtc:a().optional()}).prefault(()=>({})),server:p({disable_file_downloads:a().optional(),transport:h([`websocket`,`sse`]).optional()}).prefault(()=>({})),diagnostics:p({enabled:a().optional(),sql_linter:a().optional()}).prefault(()=>({})),file_browser:p({folders:d(l({path:s(),name:s().optional()})).optional()}).optional().prefault({}),sharing:p({html:a().optional(),wasm:a().optional(),molab:a().optional()}).optional(),mcp:p({presets:d(h([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),k=s(),A=h(w).prefault(`auto`),j=l({width:h(C).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:k.nullish(),css_file:s().nullish(),html_head_file:s().nullish(),auto_download:d(h(E)).prefault([]),sql_output:A}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function M(e){try{return j.parse(e)}catch(e){return _.error(`Marimo got an unexpected value in the configuration file: ${e}`),j.parse({})}}function N(e){try{let t=O.parse(e);for(let[e,n]of Object.entries(t.experimental??{}))n===!0&&_.log(`🧪 Experimental feature "${e}" is enabled.`);return t}catch(e){return e instanceof f?_.error(`Marimo got an unexpected value in the configuration file: ${m(e)}`):_.error(`Marimo got an unexpected value in the configuration file: ${e}`),F()}}function P(e){try{let t=e;return y(typeof t==`object`,`internal-error: marimo-config-overrides is not an object`),Object.keys(t).length>0&&_.log(`🔧 Project configuration overrides:`,t),t}catch(e){return _.error(`Marimo got an unexpected configuration overrides: ${e}`),{}}}function F(){return O.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}function I(...e){return b({},...e,(e,t)=>{if(Array.isArray(t))return[...t]})}var L=t(F()),R=t({}),z=t(e=>{let t=e(R);return I(e(L),t)}),B=t(e=>e(z).runtime.auto_instantiate),V=t(e=>e(z).keymap.overrides??{}),H=t(v()),U=t(e=>{let t=e(V),n=e(H);return new ne(t,{platform:n})}),W=t(e=>e(z).save),ae=t(e=>e(z).server.transport===`sse`?`sse`:`websocket`),G=t(e=>e(z).ai),K=t(e=>e(z).completion),q=t(e=>e(z).keymap.preset);function J(){return e(L)}function oe(){let e=(0,x.c)(3),t=n(z),r=i(L),a;return e[0]!==t||e[1]!==r?(a=[t,r],e[0]=t,e[1]=r,e[2]=a):a=e[2],a}function se(){return r.get(z)}var ce=t(e=>X(e(z))),le=t(e=>Z(e(z))),ue=t(e=>Q(e(z)));t(e=>e(z).display.code_editor_font_size);var Y=t(e=>e(z).display.locale);function X(e){return e.ai?.enabled!==!1}function Z(e){return!!e.ai?.models?.chat_model||!!e.ai?.models?.edit_model||!!e.ai?.models?.autocomplete_model}function Q(e){return X(e)&&Z(e)}var $=t(M({}));function de(){return e($)}function fe(){return i($)}function pe(){return r.get($)}var me=t(e=>e($).width);t(e=>{let t=e(z),n=t.snippets?.custom_paths??[],r=t.snippets?.include_default_snippets;return n.length>0||r===!0});var he=t(e=>e(z).server?.disable_file_downloads??!1);export{S as A,oe as C,j as D,L as E,M,P as N,k as O,N as P,de as S,J as T,q as _,$ as a,H as b,W as c,ae as d,he as f,Q as g,U as h,le as i,O as j,T as k,K as l,se as m,ce as n,me as o,pe as p,ue as r,B as s,G as t,R as u,Y as v,fe as w,z as x,I as y};
1
+ import{c as e,f as t,l as n,r,u as i}from"./useEvent-BDjgaBtz.js";import{C as a,F as o,I as s,M as c,N as l,R as u,S as d,V as f,k as p,q as m,v as h}from"./schemas-ChRqMOTL.js";import{t as g}from"./compiler-runtime-BrajqUja.js";import{l as ee,t as te}from"./_baseMerge-CQpUq7ep.js";import{c as ne,g as _,h as v}from"./useEventListener-DPOTkksd.js";import{t as y}from"./invariant-Ci2dTZ72.js";var b=ee(function(e,t,n,r){te(e,t,n,r)}),x=g(),S=[`pip`,`uv`,`rye`,`poetry`,`pixi`],C=[`normal`,`compact`,`medium`,`full`,`columns`],w=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],T=`openai/gpt-4o`,E=[`html`,`markdown`,`ipynb`],re=[`manual`,`ask`,`agent`,`code_mode`],D=l({api_key:s().optional(),base_url:s().optional(),project:s().optional()}).loose(),ie=l({chat_model:s().nullish(),edit_model:s().nullish(),autocomplete_model:s().nullish(),displayed_models:d(s()).default([]),custom_models:d(s()).default([])}),O=p({completion:l({activate_on_typing:a().prefault(!0),signature_hint_on_typing:a().prefault(!1),auto_close_pairs:a().prefault(!0),copilot:u([a(),h([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:s().nullish()}).prefault({}),save:p({autosave:h([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:c().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:a().prefault(!1)}).prefault({}),formatting:p({line_length:c().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:p({preset:h([`default`,`vim`]).prefault(`default`),overrides:o(s(),s()).prefault({}),destructive_delete:a().prefault(!0)}).prefault({}),runtime:p({auto_instantiate:a().prefault(!0),on_cell_change:h([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:h([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:a().prefault(!0),watcher_on_save:h([`lazy`,`autorun`]).prefault(`lazy`),default_sql_output:h(w).prefault(`auto`),default_auto_download:d(h(E)).prefault([]),show_tracebacks:a().prefault(!1)}).prefault({}),display:p({theme:h([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:c().nonnegative().prefault(14),cell_output:h([`above`,`below`]).prefault(`below`),dataframes:h([`rich`,`plain`]).prefault(`rich`),default_table_page_size:c().prefault(10),default_table_max_columns:c().prefault(50),default_width:h(C).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:s().nullable().optional(),reference_highlighting:a().prefault(!0),code_lens:a().prefault(!0)}).prefault({}),package_management:p({manager:h(S).prefault(`pip`)}).prefault({}),ai:p({enabled:a().prefault(!0),rules:s().prefault(``),max_tokens:c().int().positive().nullable().optional(),mode:h(re).prefault(`manual`),inline_tooltip:a().prefault(!1),allow_provider_config:a().prefault(!0),open_ai:D.optional(),github:D.optional(),anthropic:D.optional(),google:D.optional(),ollama:D.optional(),openrouter:D.optional(),wandb:D.optional(),opencode_go:D.optional(),open_ai_compatible:D.optional(),azure:D.optional(),bedrock:p({region_name:s().optional(),profile_name:s().optional(),aws_access_key_id:s().optional(),aws_secret_access_key:s().optional()}).optional(),custom_providers:o(s(),D).prefault({}),models:ie.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:p({markdown:a().optional(),rtc:a().optional()}).prefault(()=>({})),server:p({disable_file_downloads:a().optional(),transport:h([`websocket`,`sse`]).optional()}).prefault(()=>({})),diagnostics:p({enabled:a().optional(),sql_linter:a().optional()}).prefault(()=>({})),file_browser:p({folders:d(l({path:s(),name:s().optional()})).optional()}).optional().prefault({}),sharing:p({html:a().optional(),wasm:a().optional(),molab:a().optional()}).optional(),mcp:p({presets:d(h([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),k=s(),A=h(w).prefault(`auto`),j=l({width:h(C).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:k.nullish(),css_file:s().nullish(),html_head_file:s().nullish(),auto_download:d(h(E)).prefault([]),sql_output:A}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function M(e){try{return j.parse(e)}catch(e){return _.error(`Marimo got an unexpected value in the configuration file: ${e}`),j.parse({})}}function N(e){try{let t=O.parse(e);for(let[e,n]of Object.entries(t.experimental??{}))n===!0&&_.log(`🧪 Experimental feature "${e}" is enabled.`);return t}catch(e){return e instanceof f?_.error(`Marimo got an unexpected value in the configuration file: ${m(e)}`):_.error(`Marimo got an unexpected value in the configuration file: ${e}`),F()}}function P(e){try{let t=e;return y(typeof t==`object`,`internal-error: marimo-config-overrides is not an object`),Object.keys(t).length>0&&_.log(`🔧 Project configuration overrides:`,t),t}catch(e){return _.error(`Marimo got an unexpected configuration overrides: ${e}`),{}}}function F(){return O.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},file_browser:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}function I(...e){return b({},...e,(e,t)=>{if(Array.isArray(t))return[...t]})}var L=t(F()),R=t({}),z=t(e=>{let t=e(R);return I(e(L),t)}),B=t(e=>e(z).runtime.auto_instantiate),V=t(e=>e(z).keymap.overrides??{}),H=t(v()),U=t(e=>{let t=e(V),n=e(H);return new ne(t,{platform:n})}),W=t(e=>e(z).save),ae=t(e=>e(z).server.transport===`sse`?`sse`:`websocket`),G=t(e=>e(z).ai),K=t(e=>e(z).completion),q=t(e=>e(z).keymap.preset);function J(){return e(L)}function oe(){let e=(0,x.c)(3),t=n(z),r=i(L),a;return e[0]!==t||e[1]!==r?(a=[t,r],e[0]=t,e[1]=r,e[2]=a):a=e[2],a}function se(){return r.get(z)}var ce=t(e=>X(e(z))),le=t(e=>Z(e(z))),ue=t(e=>Q(e(z)));t(e=>e(z).display.code_editor_font_size);var Y=t(e=>e(z).display.locale);function X(e){return e.ai?.enabled!==!1}function Z(e){return!!e.ai?.models?.chat_model||!!e.ai?.models?.edit_model||!!e.ai?.models?.autocomplete_model}function Q(e){return X(e)&&Z(e)}var $=t(M({}));function de(){return e($)}function fe(){return i($)}function pe(){return r.get($)}var me=t(e=>e($).width);t(e=>{let t=e(z),n=t.snippets?.custom_paths??[],r=t.snippets?.include_default_snippets;return n.length>0||r===!0});var he=t(e=>e(z).server?.disable_file_downloads??!1);export{S as A,oe as C,j as D,L as E,M,P as N,k as O,N as P,de as S,J as T,q as _,$ as a,H as b,W as c,ae as d,he as f,Q as g,U as h,le as i,O as j,T as k,K as l,se as m,ce as n,me as o,pe as p,ue as r,B as s,G as t,R as u,Y as v,fe as w,z as x,I as y};
@@ -1 +1 @@
1
- import{g as e}from"./useEventListener-D9cftcHj.js";async function t(t,n){if(navigator.clipboard===void 0){e.warn(`navigator.clipboard is not supported`),window.prompt(`Copy to clipboard: Ctrl+C, Enter`,t);return}if(n&&navigator.clipboard.write)try{let e=new ClipboardItem({"text/html":new Blob([n],{type:`text/html`}),"text/plain":new Blob([t],{type:`text/plain`})});await navigator.clipboard.write([e]);return}catch{e.warn(`Failed to write rich text, falling back to plain text`)}await navigator.clipboard.writeText(t).catch(()=>{e.warn(`Failed to copy to clipboard using navigator.clipboard`),window.prompt(`Copy to clipboard: Ctrl+C, Enter`,t)})}function n(){let e=navigator.userAgent;return/safari/i.test(e)&&!/chrome|chromium|crios|fxios|edgios|opios/i.test(e)}async function r(e){let t;if(n())t=new ClipboardItem({"image/png":fetch(e).then(e=>e.blob())});else{let n=await(await fetch(e)).blob();t=new ClipboardItem({[n.type]:n})}await navigator.clipboard.write([t])}export{t as n,r as t};
1
+ import{g as e}from"./useEventListener-DPOTkksd.js";async function t(t,n){if(navigator.clipboard===void 0){e.warn(`navigator.clipboard is not supported`),window.prompt(`Copy to clipboard: Ctrl+C, Enter`,t);return}if(n&&navigator.clipboard.write)try{let e=new ClipboardItem({"text/html":new Blob([n],{type:`text/html`}),"text/plain":new Blob([t],{type:`text/plain`})});await navigator.clipboard.write([e]);return}catch{e.warn(`Failed to write rich text, falling back to plain text`)}await navigator.clipboard.writeText(t).catch(()=>{e.warn(`Failed to copy to clipboard using navigator.clipboard`),window.prompt(`Copy to clipboard: Ctrl+C, Enter`,t)})}function n(){let e=navigator.userAgent;return/safari/i.test(e)&&!/chrome|chromium|crios|fxios|edgios|opios/i.test(e)}async function r(e){let t;if(n())t=new ClipboardItem({"image/png":fetch(e).then(e=>e.blob())});else{let n=await(await fetch(e)).blob();t=new ClipboardItem({[n.type]:n})}await navigator.clipboard.write([t])}export{t as n,r as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{t as r}from"./cn-ldLVeaqm.js";import{t as i}from"./jsx-runtime-B74pBk57.js";import{t as a}from"./tooltip-C9TuY18o.js";import{r as o}from"./button-COI-NGrx.js";import{t as s}from"./check-BQNapYaf.js";import{t as c}from"./copy-Djr5m5ac.js";import{n as l}from"./copy-D8O_CYCG.js";import{t as u}from"./use-toast-Wu434mLr.js";var d=n(),f=e(t(),1),p=i(),m=e=>{let t=(0,d.c)(14),{value:n,className:i,buttonClassName:m,tooltip:h,toastTitle:g,ariaLabel:_}=e,[v,y]=(0,f.useState)(!1),b;t[0]!==g||t[1]!==n?(b=o.stopPropagation(async e=>{let t=typeof n==`function`?n(e):n;await l(t).then(()=>{y(!0),setTimeout(()=>y(!1),2e3),g&&u({title:g})})}),t[0]=g,t[1]=n,t[2]=b):b=t[2];let x=b,S=_??`Copy to clipboard`,C;t[3]!==i||t[4]!==v?(C=v?(0,p.jsx)(s,{className:r(i,`text-(--grass-11)`)}):(0,p.jsx)(c,{className:i}),t[3]=i,t[4]=v,t[5]=C):C=t[5];let w;t[6]!==m||t[7]!==x||t[8]!==S||t[9]!==C?(w=(0,p.jsx)(`button`,{type:`button`,onClick:x,"aria-label":S,className:m,children:C}),t[6]=m,t[7]=x,t[8]=S,t[9]=C,t[10]=w):w=t[10];let T=w;if(h===!1)return T;let E=v?`Copied!`:h??`Copy to clipboard`,D;return t[11]!==T||t[12]!==E?(D=(0,p.jsx)(a,{content:E,delayDuration:400,children:T}),t[11]=T,t[12]=E,t[13]=D):D=t[13],D};export{m as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{t as r}from"./cn-ldLVeaqm.js";import{t as i}from"./jsx-runtime-B74pBk57.js";import{t as a}from"./tooltip-B5lAA_jn.js";import{r as o}from"./button-Cl7haVNh.js";import{t as s}from"./check-BQNapYaf.js";import{t as c}from"./copy-Djr5m5ac.js";import{n as l}from"./copy-74EjuZso.js";import{t as u}from"./use-toast-Wu434mLr.js";var d=n(),f=e(t(),1),p=i(),m=e=>{let t=(0,d.c)(14),{value:n,className:i,buttonClassName:m,tooltip:h,toastTitle:g,ariaLabel:_}=e,[v,y]=(0,f.useState)(!1),b;t[0]!==g||t[1]!==n?(b=o.stopPropagation(async e=>{let t=typeof n==`function`?n(e):n;await l(t).then(()=>{y(!0),setTimeout(()=>y(!1),2e3),g&&u({title:g})})}),t[0]=g,t[1]=n,t[2]=b):b=t[2];let x=b,S=_??`Copy to clipboard`,C;t[3]!==i||t[4]!==v?(C=v?(0,p.jsx)(s,{className:r(i,`text-(--grass-11)`)}):(0,p.jsx)(c,{className:i}),t[3]=i,t[4]=v,t[5]=C):C=t[5];let w;t[6]!==m||t[7]!==x||t[8]!==S||t[9]!==C?(w=(0,p.jsx)(`button`,{type:`button`,onClick:x,"aria-label":S,className:m,children:C}),t[6]=m,t[7]=x,t[8]=S,t[9]=C,t[10]=w):w=t[10];let T=w;if(h===!1)return T;let E=v?`Copied!`:h??`Copy to clipboard`,D;return t[11]!==T||t[12]!==E?(D=(0,p.jsx)(a,{content:E,delayDuration:400,children:T}),t[11]=T,t[12]=E,t[13]=D):D=t[13],D};export{m as t};
@@ -1 +1 @@
1
- import{f as e,u as t}from"./useEvent-Dfcbgjhg.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{g as r}from"./useEventListener-D9cftcHj.js";var i=n();function a(e,t){return{reducer:(n,i)=>(n||=e(),i.type in t?t[i.type](n,i.payload):(r.error(`Action type ${i.type} is not defined in reducers.`),n)),createActions:e=>{let n={};for(let r in t)n[r]=t=>{e({type:r,payload:t})};return n}}}function o(n,o,s){let c=[...s??[]],l=e=>{c.push(e)},{reducer:u,createActions:d}=a(n,o),f=(e,t)=>{try{let n=u(e,t);for(let i of c)try{i(e,n,t)}catch(e){r.error(`Error in middleware for action ${t.type}:`,e)}return n}catch(n){return r.error(`Error in reducer for action ${t.type}:`,n),e}},p=e(n()),m=new WeakMap;function h(e){let n=(0,i.c)(4),r=e===void 0?{}:e,a=t(p);if(r.skipMiddleware===!0){let e;return n[0]===a?e=n[1]:(e=d(e=>{a(t=>u(t,e))}),n[0]=a,n[1]=e),e}m.has(a)||m.set(a,d(e=>{a(t=>f(t,e))}));let o;return n[2]===a?o=n[3]:(o=m.get(a),n[2]=a,n[3]=o),o}return{reducer:f,addMiddleware:l,createActions:d,valueAtom:p,useActions:h}}export{o as t};
1
+ import{f as e,u as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{g as r}from"./useEventListener-DPOTkksd.js";var i=n();function a(e,t){return{reducer:(n,i)=>(n||=e(),i.type in t?t[i.type](n,i.payload):(r.error(`Action type ${i.type} is not defined in reducers.`),n)),createActions:e=>{let n={};for(let r in t)n[r]=t=>{e({type:r,payload:t})};return n}}}function o(n,o,s){let c=[...s??[]],l=e=>{c.push(e)},{reducer:u,createActions:d}=a(n,o),f=(e,t)=>{try{let n=u(e,t);for(let i of c)try{i(e,n,t)}catch(e){r.error(`Error in middleware for action ${t.type}:`,e)}return n}catch(n){return r.error(`Error in reducer for action ${t.type}:`,n),e}},p=e(n()),m=new WeakMap;function h(e){let n=(0,i.c)(4),r=e===void 0?{}:e,a=t(p);if(r.skipMiddleware===!0){let e;return n[0]===a?e=n[1]:(e=d(e=>{a(t=>u(t,e))}),n[0]=a,n[1]=e),e}m.has(a)||m.set(a,d(e=>{a(t=>f(t,e))}));let o;return n[2]===a?o=n[3]:(o=m.get(a),n[2]=a,n[3]=o),o}return{reducer:f,addMiddleware:l,createActions:d,valueAtom:p,useActions:h}}export{o as t};
@@ -1,3 +1,3 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{Ai as t,Fi as n,Pi as r,Qi as i,Si as a,Va as o,Vn as s,ja as c,ji as l,jo as u,n as d}from"./cells-C6YGYGdi.js";import{g as f}from"./useEventListener-D9cftcHj.js";import{n as p}from"./config-DRIpOKqh.js";import{t as m}from"./createLucideIcon-DfJ2oMlA.js";var h=m(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),g=e(u(),1);function _(e){let t=e.indexOf(`://`);if(t!==-1)return e.slice(0,t)}var v=class{async getAttachments(e){return[]}asURI(e){return`${this.contextType}://${e}`}parseContextIds(e){let t=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,`g`),n=[...e.matchAll(t)],r=e=>e.slice(1),i=n.filter(([,e])=>e===this.contextType).map(([e])=>r(e));return[...new Set(i)]}createBasicCompletion(e,t){return{label:`${this.mentionPrefix}${e.uri.split(`://`)[1]}`,displayLabel:e.name,detail:t?.detail||e.description,boost:t?.boost||1,type:t?.type||this.contextType,apply:`${this.mentionPrefix}${e.uri}`,section:t?.section||this.title}}},y=class{providers=new Set;register(e){return this.providers.add(e),this}getProviders(){return this.providers}getProvider(e){return[...this.providers].find(t=>t.contextType===e)}getAllItems(){return[...this.providers].flatMap(e=>e.getItems())}parseAllContextIds(e){return[...this.providers].flatMap(t=>t.parseContextIds(e))}findProviderForUri(e){let t=_(e);if(t)return[...this.providers].find(n=>n.contextType===t&&n.getItems().some(t=>t.uri===e))}resolveItems(e){if(e.length===0)return[];let t=new p;for(let n of e){let e=_(n);e&&t.add(e,n)}let n=new Map;for(let[e,r]of t.entries()){let t=[...this.providers].filter(t=>t.contextType===e);for(let e of t){let t=new Map(e.getItems().map(e=>[e.uri,e]));for(let e of r){let r=t.get(e);r&&n.set(e,r)}}}let r=[];for(let t of e){let e=n.get(t);e&&r.push(e)}return r}getContextInfo(e){return this.resolveItems(e)}formatContextForAI(e){let t=this.resolveItems(e);return t.length===0?``:t.map(e=>this.findProviderForUri(e.uri)?.formatContext(e)||``).join(`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{$i as t,Ai as n,Fi as r,Ha as i,Ma as a,Mo as o,Pi as s,Si as c,Vn as l,ji as u,n as d}from"./cells-lwP9-xsQ.js";import{g as f}from"./useEventListener-DPOTkksd.js";import{n as p}from"./config-BC32AAdw.js";import{t as m}from"./createLucideIcon-DfJ2oMlA.js";var h=m(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),g=e(o(),1);function _(e){let t=e.indexOf(`://`);if(t!==-1)return e.slice(0,t)}var v=class{async getAttachments(e){return[]}asURI(e){return`${this.contextType}://${e}`}parseContextIds(e){let t=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,`g`),n=[...e.matchAll(t)],r=e=>e.slice(1),i=n.filter(([,e])=>e===this.contextType).map(([e])=>r(e));return[...new Set(i)]}createBasicCompletion(e,t){return{label:`${this.mentionPrefix}${e.uri.split(`://`)[1]}`,displayLabel:e.name,detail:t?.detail||e.description,boost:t?.boost||1,type:t?.type||this.contextType,apply:`${this.mentionPrefix}${e.uri}`,section:t?.section||this.title}}},y=class{providers=new Set;register(e){return this.providers.add(e),this}getProviders(){return this.providers}getProvider(e){return[...this.providers].find(t=>t.contextType===e)}getAllItems(){return[...this.providers].flatMap(e=>e.getItems())}parseAllContextIds(e){return[...this.providers].flatMap(t=>t.parseContextIds(e))}findProviderForUri(e){let t=_(e);if(t)return[...this.providers].find(n=>n.contextType===t&&n.getItems().some(t=>t.uri===e))}resolveItems(e){if(e.length===0)return[];let t=new p;for(let n of e){let e=_(n);e&&t.add(e,n)}let n=new Map;for(let[e,r]of t.entries()){let t=[...this.providers].filter(t=>t.contextType===e);for(let e of t){let t=new Map(e.getItems().map(e=>[e.uri,e]));for(let e of r){let r=t.get(e);r&&n.set(e,r)}}}let r=[];for(let t of e){let e=n.get(t);e&&r.push(e)}return r}getContextInfo(e){return this.resolveItems(e)}formatContextForAI(e){let t=this.resolveItems(e);return t.length===0?``:t.map(e=>this.findProviderForUri(e.uri)?.formatContext(e)||``).join(`
2
2
 
3
- `)}async getAttachmentsForContext(e){let t=this.resolveItems(e);if(t.length===0)return[];let n=new p;for(let e of t){let t=this.findProviderForUri(e.uri);t&&n.add(t,e)}let r=[...n.entries()].map(async([e,t])=>{try{return await e.getAttachments(t)}catch(e){return f.error(`Error getting attachments from provider`,e),[]}});return(await Promise.all(r)).flat()}};c([o()],y.prototype,`getAllItems`,null);function b(e){return e.replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`)}function x(e){let{type:t,data:n,details:r}=e,i=`<${t}`;for(let[e,t]of Object.entries(n))if(t!==void 0){let n=b(typeof t==`object`&&t?JSON.stringify(t):String(t));i+=` ${e}="${n}"`}return i+=`>`,r&&(i+=b(r)),i+=`</${t}>`,i}var S={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},C={ERROR:{name:`Error`,rank:1},TABLE:{name:`Table`,rank:2},DATA_SOURCES:{name:`Data Sources`,rank:3},VARIABLE:{name:`Variable`,rank:4},CELL_OUTPUT:{name:`Cell Output`,rank:5},FILE:{name:`File`,rank:6}},w=`datasource`,T=class extends v{title=`Datasource`;mentionPrefix=`@`;contextType=w;connectionsMap;dataframes;constructor(e,t){super(),this.connectionsMap=e,this.dataframes=[...t.values()].filter(e=>n(e)===`dataframe`)}getItems(){return[...this.connectionsMap.values()].map(e=>{let t=`Database schema.`,n={connection:e};return i.has(e.name)&&(n.tables=this.dataframes,t=`Database schema and the dataframes that can be queried`),e.databases.length===0&&(n.tables?.length??0)===0?null:{uri:this.asURI(e.name),name:e.name,description:t,type:this.contextType,data:n}}).filter(Boolean)}formatContext(e){let t=e.data,{name:n,display_name:r,source:a,...o}=t.connection,s=o;return i.has(n)||(s={...o,engine_name:n}),x({type:this.contextType,data:{connection:s,tables:t.tables}})}formatCompletion(e){let n=e.data,r=n.connection,o=n.tables,s=r.name;return i.has(r.name)&&(s=`In-Memory`),{label:`@${s}`,displayLabel:s,detail:t(r.dialect),boost:S.MEDIUM,type:this.contextType,section:C.DATA_SOURCES,info:()=>{let e=document.createElement(`div`);return e.classList.add(`mo-cm-tooltip`,`docs-documentation`),(0,g.createRoot)(e).render(a(r,o)),e}}}};function E(e,t){let n=t.get(d(e))?.code;if(!n||n.trim()===``)return null;let[i,a,o]=s.sql.transformIn(n),c=t.get(r).connectionsMap.get(o.engine);return c?`@${w}://${c.name}`:null}function D(e,t){let n=E(e,t);if(!n)return null;let i=t.get(r).connectionsMap,a=new T(i,t.get(l)),o=n.slice(1),s=a.getItems().find(e=>e.uri===o);return s?a.formatContext(s):null}export{C as a,y as c,S as i,h as l,D as n,x as o,E as r,v as s,T as t};
3
+ `)}async getAttachmentsForContext(e){let t=this.resolveItems(e);if(t.length===0)return[];let n=new p;for(let e of t){let t=this.findProviderForUri(e.uri);t&&n.add(t,e)}let r=[...n.entries()].map(async([e,t])=>{try{return await e.getAttachments(t)}catch(e){return f.error(`Error getting attachments from provider`,e),[]}});return(await Promise.all(r)).flat()}};a([i()],y.prototype,`getAllItems`,null);function b(e){return e.replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`)}function x(e){let{type:t,data:n,details:r}=e,i=`<${t}`;for(let[e,t]of Object.entries(n))if(t!==void 0){let n=b(typeof t==`object`&&t?JSON.stringify(t):String(t));i+=` ${e}="${n}"`}return i+=`>`,r&&(i+=b(r)),i+=`</${t}>`,i}var S={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},C={ERROR:{name:`Error`,rank:1},TABLE:{name:`Table`,rank:2},DATA_SOURCES:{name:`Data Sources`,rank:3},VARIABLE:{name:`Variable`,rank:4},CELL_OUTPUT:{name:`Cell Output`,rank:5},FILE:{name:`File`,rank:6}},w=`datasource`,T=class extends v{title=`Datasource`;mentionPrefix=`@`;contextType=w;connectionsMap;dataframes;constructor(e,t){super(),this.connectionsMap=e,this.dataframes=[...t.values()].filter(e=>r(e)===`dataframe`)}getItems(){return[...this.connectionsMap.values()].map(e=>{let n=`Database schema.`,r={connection:e};return t.has(e.name)&&(r.tables=this.dataframes,n=`Database schema and the dataframes that can be queried`),e.databases.length===0&&(r.tables?.length??0)===0?null:{uri:this.asURI(e.name),name:e.name,description:n,type:this.contextType,data:r}}).filter(Boolean)}formatContext(e){let n=e.data,{name:r,display_name:i,source:a,...o}=n.connection,s=o;return t.has(r)||(s={...o,engine_name:r}),x({type:this.contextType,data:{connection:s,tables:n.tables}})}formatCompletion(e){let r=e.data,i=r.connection,a=r.tables,o=i.name;return t.has(i.name)&&(o=`In-Memory`),{label:`@${o}`,displayLabel:o,detail:n(i.dialect),boost:S.MEDIUM,type:this.contextType,section:C.DATA_SOURCES,info:()=>{let e=document.createElement(`div`);return e.classList.add(`mo-cm-tooltip`,`docs-documentation`),(0,g.createRoot)(e).render(c(i,a)),e}}}};function E(e,t){let n=t.get(d(e))?.code;if(!n||n.trim()===``)return null;let[r,i,a]=l.sql.transformIn(n),o=t.get(s).connectionsMap.get(a.engine);return o?`@${w}://${o.name}`:null}function D(e,t){let n=E(e,t);if(!n)return null;let r=t.get(s).connectionsMap,i=new T(r,t.get(u)),a=n.slice(1),o=i.getItems().find(e=>e.uri===a);return o?i.formatContext(o):null}export{C as a,y as c,S as i,h as l,D as n,x as o,E as r,v as s,T as t};
@@ -1 +1 @@
1
- import{g as e}from"./useEventListener-D9cftcHj.js";import{i as t,n,r,t as i}from"./toDate-DOj9Q6uC.js";import{i as a,n as o,r as s,t as c}from"./en-US-Buu61juQ.js";import{t as l}from"./isValid-q_Ad80ug.js";function u(e,t){let n=a(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=i(e,t?.in),s=o.getDay(),c=(s<r?7:0)+s-r;return o.setDate(o.getDate()-c),o.setHours(0,0,0,0),o}function d(e,t){return u(e,{...t,weekStartsOn:1})}function f(e,t){let r=i(e,t?.in),a=r.getFullYear(),o=n(r,0);o.setFullYear(a+1,0,4),o.setHours(0,0,0,0);let s=d(o),c=n(r,0);c.setFullYear(a,0,4),c.setHours(0,0,0,0);let l=d(c);return r.getTime()>=s.getTime()?a+1:r.getTime()>=l.getTime()?a:a-1}function p(e,t){let n=i(e,t?.in);return n.setHours(0,0,0,0),n}function m(e,t,n){let[i,a]=o(n?.in,e,t),c=p(i),l=p(a),u=+c-s(c),d=+l-s(l);return Math.round((u-d)/r)}function h(e,t){let r=f(e,t),i=n(t?.in||e,0);return i.setFullYear(r,0,4),i.setHours(0,0,0,0),d(i)}function g(e,t){let n=i(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function _(e,t){let n=i(e,t?.in);return m(n,g(n))+1}function v(e,n){let r=i(e,n?.in),a=+d(r)-h(r);return Math.round(a/t)+1}function y(e,t){let r=i(e,t?.in),o=r.getFullYear(),s=a(),c=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,l=n(t?.in||e,0);l.setFullYear(o+1,0,c),l.setHours(0,0,0,0);let d=u(l,t),f=n(t?.in||e,0);f.setFullYear(o,0,c),f.setHours(0,0,0,0);let p=u(f,t);return+r>=+d?o+1:+r>=+p?o:o-1}function b(e,t){let r=a(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=y(e,t),s=n(t?.in||e,0);return s.setFullYear(o,0,i),s.setHours(0,0,0,0),u(s,t)}function x(e,n){let r=i(e,n?.in),a=+u(r,n)-b(r,n);return Math.round(a/t)+1}function S(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var C={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return S(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):S(n+1,2)},d(e,t){return S(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return S(e.getHours()%12||12,t.length)},H(e,t){return S(e.getHours(),t.length)},m(e,t){return S(e.getMinutes(),t.length)},s(e,t){return S(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return S(Math.trunc(r*10**(n-3)),t.length)}},w={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},T={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return C.y(e,t)},Y:function(e,t,n,r){let i=y(e,r),a=i>0?i:1-i;return t===`YY`?S(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):S(a,t.length)},R:function(e,t){return S(f(e),t.length)},u:function(e,t){return S(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return S(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return S(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return C.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return S(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=x(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):S(i,t.length)},I:function(e,t,n){let r=v(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):S(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):C.d(e,t)},D:function(e,t,n){let r=_(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):S(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return S(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return S(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return S(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?w.noon:r===0?w.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?w.evening:r>=12?w.afternoon:r>=4?w.morning:w.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return C.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):C.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):S(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):S(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):C.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):C.s(e,t)},S:function(e,t){return C.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return D(r);case`XXXX`:case`XX`:return O(r);default:return O(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return D(r);case`xxxx`:case`xx`:return O(r);default:return O(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+E(r,`:`);default:return`GMT`+O(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+E(r,`:`);default:return`GMT`+O(r,`:`)}},t:function(e,t,n){return S(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return S(+e,t.length)}};function E(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+S(a,2)}function D(e,t){return e%60==0?(e>0?`-`:`+`)+S(Math.abs(e)/60,2):O(e,t)}function O(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=S(Math.trunc(r/60),2),a=S(r%60,2);return n+i+t+a}var k=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},A=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},j={p:A,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return k(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,k(r,t)).replace(`{{time}}`,A(i,t))}},M=/^D+$/,N=/^Y+$/,P=[`D`,`DD`,`YY`,`YYYY`];function F(e){return M.test(e)}function I(e){return N.test(e)}function ee(e,t,n){let r=te(e,t,n);if(console.warn(r),P.includes(e))throw RangeError(r)}function te(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var ne=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,re=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ie=/^'([^]*?)'?$/,ae=/''/g,oe=/[a-zA-Z]/;function L(e,t,n){let r=a(),o=n?.locale??r.locale??c,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,u=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,d=i(e,n?.in);if(!l(d))throw RangeError(`Invalid time value`);let f=t.match(re).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=j[t];return n(e,o.formatLong)}return e}).join(``).match(ne).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:R(e)};if(T[t])return{isToken:!0,value:e};if(t.match(oe))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});o.localize.preprocessor&&(f=o.localize.preprocessor(d,f));let p={firstWeekContainsDate:s,weekStartsOn:u,locale:o};return f.map(r=>{if(!r.isToken)return r.value;let i=r.value;(!n?.useAdditionalWeekYearTokens&&I(i)||!n?.useAdditionalDayOfYearTokens&&F(i))&&ee(i,t,String(e));let a=T[i[0]];return a(d,i,o.localize,p)}).join(``)}function R(e){let t=e.match(ie);return t?t[1].replace(ae,`'`):e}function z(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var B={},V={};function H(e,t){try{let n=(B[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in V?V[n]:W(n,n.split(`:`))}catch{if(e in V)return V[e];let t=e?.match(U);return t?W(e,t.slice(1)):NaN}}var U=/([+-]\d\d):?(\d\d)?/;function W(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return V[e]=n*60+r>0?n*60+r+i:n*60-r-i}var G=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(H(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),J(this,e)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-H(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),q(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},K=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!K.test(e))return;let t=e.replace(K,`$1UTC`);G.prototype[t]&&(e.startsWith(`get`)?G.prototype[e]=function(){return this.internal[t]()}:(G.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),se(this),+this},G.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),q(this),+this}))});function q(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-H(e.timeZone,e)*60))}function se(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),J(e)}function J(e,t){let n=Array.isArray(t)?ce(t):+e.internal,r=H(e.timeZone,e),i=r>0?Math.floor(r):Math.ceil(r),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),c=o-s,l=o;if(c&&o!==i&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),n=o-i;n&&t.setUTCMinutes(t.getUTCMinutes()+n);let r=H(e.timeZone,t);(r>0?Math.floor(r):Math.ceil(r))===i&&(l=s)}let u=l-i;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);let d=new Date(+e);d.setUTCSeconds(0);let f=o>0?d.getSeconds():(d.getSeconds()-60)%60,p=Math.round(-(H(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let m=H(e.timeZone,e),h=m>0?Math.floor(m):Math.ceil(m),g=-new Date(+e).getTimezoneOffset()-h,_=h!==i,v=g-u,y=h-i,b=n-h*60*1e3,x=y>0&&Y(e)-n===y*60*1e3&&Y(e,b)!==n;if(_&&v&&!x){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);let t=H(e.timeZone,e),n=h-(t>0?Math.floor(t):Math.ceil(t));n&&v<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n)}q(e);let S=(t?n:n+p*1e3)-+e.internal;S&&Math.abs(S)<18e5&&(Date.prototype.setTime.call(e,+e+S),q(e))}function ce(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function Y(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-H(e.timeZone,n)*60)),+n}var le=class e extends G{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${z(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};function ue(t,n,r){if(t==null)return``;try{return n===`date`?new Date(t).toLocaleDateString(r,{year:`numeric`,month:`short`,day:`numeric`,timeZone:`UTC`}):new Date(t).toLocaleDateString(r,{year:`numeric`,month:`short`,day:`numeric`})}catch(n){return e.warn(`Failed to parse date`,n),t.toString()}}function de(t,n,r){let i=t.getUTCMilliseconds()!==0;try{if(n){let e=new le(t,n),a=fe(n,r);return i?`${L(e,`yyyy-MM-dd HH:mm:ss.SSS`)} ${a}`:`${L(e,`yyyy-MM-dd HH:mm:ss`)} ${a}`}return i?L(t,`yyyy-MM-dd HH:mm:ss.SSS`):L(t,`yyyy-MM-dd HH:mm:ss`)}catch(n){return e.warn(`Failed to parse date`,n),t.toISOString()}}function fe(t,n){try{return new Intl.DateTimeFormat(n,{timeZone:t,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}catch(n){return e.warn(`Failed to get abbrev`,n),t}}function pe(t,n){if(t==null||t===0)return``;try{let e=new Date(t),r=new Date,i=new Date;return i.setDate(i.getDate()-1),e.toDateString()===r.toDateString()?`Today at ${e.toLocaleTimeString(n,{hour:`numeric`,minute:`numeric`})}`:e.toDateString()===i.toDateString()?`Yesterday at ${e.toLocaleTimeString(n,{hour:`numeric`,minute:`numeric`})}`:`${e.toLocaleDateString(n,{year:`numeric`,month:`short`,day:`numeric`})} at ${e.toLocaleTimeString(n,{hour:`numeric`,minute:`numeric`})}`}catch(t){e.warn(`Failed to parse date`,t)}return t.toString()}function X(e){return e.toString().padStart(2,`0`)}function me(e){return e.toString().padStart(4,`0`)}function Z(e){return`${me(e.getFullYear())}-${X(e.getMonth()+1)}-${X(e.getDate())}`}function Q(e){return`${X(e.getHours())}:${X(e.getMinutes())}:${X(e.getSeconds())}`}function he(e){let t=/^(\d{1,2}):(\d{2})(?::(\d{2}))?(?:\.(\d+))?\s*(am|pm)?$/i.exec(e.trim());if(!t)return;let[,n,r,i,a,o]=t,s=Number.parseInt(n,10),c=Number.parseInt(r,10),l=i?Number.parseInt(i,10):0,u=a?Number.parseInt(a.padEnd(3,`0`).slice(0,3),10):0;if(!(c>59||l>59)){if(o){if(s<1||s>12)return;let e=o.toLowerCase()===`pm`;s===12?s=e?12:0:e&&(s+=12)}else if(s>23)return;return new Date(1970,0,1,s,c,l,u)}}function ge(e){return`${Z(e)}T${Q(e)}`}function $(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return;let[,n,r,i]=t,a=Number.parseInt(n,10),o=Number.parseInt(r,10),s=Number.parseInt(i,10),c=new Date(a,o-1,s);if(c.getFullYear()===a&&c.getMonth()===o-1&&c.getDate()===s)return c}function _e(e){let t=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2})?$/.exec(e.trim());if(!t)return;let[,n,r,i,a,o,s]=t;return new Date(Number.parseInt(n,10),Number.parseInt(r,10)-1,Number.parseInt(i,10),Number.parseInt(a,10),Number.parseInt(o,10),s?Number.parseInt(s,10):0)}export{$ as a,ue as c,de as i,pe as l,ge as n,_e as o,Q as r,he as s,Z as t};
1
+ import{g as e}from"./useEventListener-DPOTkksd.js";import{i as t,n,r,t as i}from"./toDate-DOj9Q6uC.js";import{i as a,n as o,r as s,t as c}from"./en-US-Buu61juQ.js";import{t as l}from"./isValid-q_Ad80ug.js";function u(e,t){let n=a(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=i(e,t?.in),s=o.getDay(),c=(s<r?7:0)+s-r;return o.setDate(o.getDate()-c),o.setHours(0,0,0,0),o}function d(e,t){return u(e,{...t,weekStartsOn:1})}function f(e,t){let r=i(e,t?.in),a=r.getFullYear(),o=n(r,0);o.setFullYear(a+1,0,4),o.setHours(0,0,0,0);let s=d(o),c=n(r,0);c.setFullYear(a,0,4),c.setHours(0,0,0,0);let l=d(c);return r.getTime()>=s.getTime()?a+1:r.getTime()>=l.getTime()?a:a-1}function p(e,t){let n=i(e,t?.in);return n.setHours(0,0,0,0),n}function m(e,t,n){let[i,a]=o(n?.in,e,t),c=p(i),l=p(a),u=+c-s(c),d=+l-s(l);return Math.round((u-d)/r)}function h(e,t){let r=f(e,t),i=n(t?.in||e,0);return i.setFullYear(r,0,4),i.setHours(0,0,0,0),d(i)}function g(e,t){let n=i(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function _(e,t){let n=i(e,t?.in);return m(n,g(n))+1}function v(e,n){let r=i(e,n?.in),a=+d(r)-h(r);return Math.round(a/t)+1}function y(e,t){let r=i(e,t?.in),o=r.getFullYear(),s=a(),c=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,l=n(t?.in||e,0);l.setFullYear(o+1,0,c),l.setHours(0,0,0,0);let d=u(l,t),f=n(t?.in||e,0);f.setFullYear(o,0,c),f.setHours(0,0,0,0);let p=u(f,t);return+r>=+d?o+1:+r>=+p?o:o-1}function b(e,t){let r=a(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=y(e,t),s=n(t?.in||e,0);return s.setFullYear(o,0,i),s.setHours(0,0,0,0),u(s,t)}function x(e,n){let r=i(e,n?.in),a=+u(r,n)-b(r,n);return Math.round(a/t)+1}function S(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var C={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return S(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):S(n+1,2)},d(e,t){return S(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return S(e.getHours()%12||12,t.length)},H(e,t){return S(e.getHours(),t.length)},m(e,t){return S(e.getMinutes(),t.length)},s(e,t){return S(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return S(Math.trunc(r*10**(n-3)),t.length)}},w={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},T={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return C.y(e,t)},Y:function(e,t,n,r){let i=y(e,r),a=i>0?i:1-i;return t===`YY`?S(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):S(a,t.length)},R:function(e,t){return S(f(e),t.length)},u:function(e,t){return S(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return S(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return S(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return C.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return S(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=x(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):S(i,t.length)},I:function(e,t,n){let r=v(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):S(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):C.d(e,t)},D:function(e,t,n){let r=_(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):S(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return S(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return S(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return S(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?w.noon:r===0?w.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?w.evening:r>=12?w.afternoon:r>=4?w.morning:w.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return C.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):C.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):S(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):S(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):C.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):C.s(e,t)},S:function(e,t){return C.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return D(r);case`XXXX`:case`XX`:return O(r);default:return O(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return D(r);case`xxxx`:case`xx`:return O(r);default:return O(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+E(r,`:`);default:return`GMT`+O(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+E(r,`:`);default:return`GMT`+O(r,`:`)}},t:function(e,t,n){return S(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return S(+e,t.length)}};function E(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+S(a,2)}function D(e,t){return e%60==0?(e>0?`-`:`+`)+S(Math.abs(e)/60,2):O(e,t)}function O(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=S(Math.trunc(r/60),2),a=S(r%60,2);return n+i+t+a}var k=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},A=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},j={p:A,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return k(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,k(r,t)).replace(`{{time}}`,A(i,t))}},M=/^D+$/,N=/^Y+$/,P=[`D`,`DD`,`YY`,`YYYY`];function F(e){return M.test(e)}function I(e){return N.test(e)}function ee(e,t,n){let r=te(e,t,n);if(console.warn(r),P.includes(e))throw RangeError(r)}function te(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var ne=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,re=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ie=/^'([^]*?)'?$/,ae=/''/g,oe=/[a-zA-Z]/;function L(e,t,n){let r=a(),o=n?.locale??r.locale??c,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,u=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,d=i(e,n?.in);if(!l(d))throw RangeError(`Invalid time value`);let f=t.match(re).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=j[t];return n(e,o.formatLong)}return e}).join(``).match(ne).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:R(e)};if(T[t])return{isToken:!0,value:e};if(t.match(oe))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});o.localize.preprocessor&&(f=o.localize.preprocessor(d,f));let p={firstWeekContainsDate:s,weekStartsOn:u,locale:o};return f.map(r=>{if(!r.isToken)return r.value;let i=r.value;(!n?.useAdditionalWeekYearTokens&&I(i)||!n?.useAdditionalDayOfYearTokens&&F(i))&&ee(i,t,String(e));let a=T[i[0]];return a(d,i,o.localize,p)}).join(``)}function R(e){let t=e.match(ie);return t?t[1].replace(ae,`'`):e}function z(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var B={},V={};function H(e,t){try{let n=(B[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in V?V[n]:W(n,n.split(`:`))}catch{if(e in V)return V[e];let t=e?.match(U);return t?W(e,t.slice(1)):NaN}}var U=/([+-]\d\d):?(\d\d)?/;function W(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return V[e]=n*60+r>0?n*60+r+i:n*60-r-i}var G=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(H(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),J(this,e)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-H(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),q(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},K=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!K.test(e))return;let t=e.replace(K,`$1UTC`);G.prototype[t]&&(e.startsWith(`get`)?G.prototype[e]=function(){return this.internal[t]()}:(G.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),se(this),+this},G.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),q(this),+this}))});function q(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-H(e.timeZone,e)*60))}function se(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),J(e)}function J(e,t){let n=Array.isArray(t)?ce(t):+e.internal,r=H(e.timeZone,e),i=r>0?Math.floor(r):Math.ceil(r),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),c=o-s,l=o;if(c&&o!==i&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),n=o-i;n&&t.setUTCMinutes(t.getUTCMinutes()+n);let r=H(e.timeZone,t);(r>0?Math.floor(r):Math.ceil(r))===i&&(l=s)}let u=l-i;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);let d=new Date(+e);d.setUTCSeconds(0);let f=o>0?d.getSeconds():(d.getSeconds()-60)%60,p=Math.round(-(H(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let m=H(e.timeZone,e),h=m>0?Math.floor(m):Math.ceil(m),g=-new Date(+e).getTimezoneOffset()-h,_=h!==i,v=g-u,y=h-i,b=n-h*60*1e3,x=y>0&&Y(e)-n===y*60*1e3&&Y(e,b)!==n;if(_&&v&&!x){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);let t=H(e.timeZone,e),n=h-(t>0?Math.floor(t):Math.ceil(t));n&&v<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n)}q(e);let S=(t?n:n+p*1e3)-+e.internal;S&&Math.abs(S)<18e5&&(Date.prototype.setTime.call(e,+e+S),q(e))}function ce(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function Y(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-H(e.timeZone,n)*60)),+n}var le=class e extends G{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${z(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};function ue(t,n,r){if(t==null)return``;try{return n===`date`?new Date(t).toLocaleDateString(r,{year:`numeric`,month:`short`,day:`numeric`,timeZone:`UTC`}):new Date(t).toLocaleDateString(r,{year:`numeric`,month:`short`,day:`numeric`})}catch(n){return e.warn(`Failed to parse date`,n),t.toString()}}function de(t,n,r){let i=t.getUTCMilliseconds()!==0;try{if(n){let e=new le(t,n),a=fe(n,r);return i?`${L(e,`yyyy-MM-dd HH:mm:ss.SSS`)} ${a}`:`${L(e,`yyyy-MM-dd HH:mm:ss`)} ${a}`}return i?L(t,`yyyy-MM-dd HH:mm:ss.SSS`):L(t,`yyyy-MM-dd HH:mm:ss`)}catch(n){return e.warn(`Failed to parse date`,n),t.toISOString()}}function fe(t,n){try{return new Intl.DateTimeFormat(n,{timeZone:t,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``}catch(n){return e.warn(`Failed to get abbrev`,n),t}}function pe(t,n){if(t==null||t===0)return``;try{let e=new Date(t),r=new Date,i=new Date;return i.setDate(i.getDate()-1),e.toDateString()===r.toDateString()?`Today at ${e.toLocaleTimeString(n,{hour:`numeric`,minute:`numeric`})}`:e.toDateString()===i.toDateString()?`Yesterday at ${e.toLocaleTimeString(n,{hour:`numeric`,minute:`numeric`})}`:`${e.toLocaleDateString(n,{year:`numeric`,month:`short`,day:`numeric`})} at ${e.toLocaleTimeString(n,{hour:`numeric`,minute:`numeric`})}`}catch(t){e.warn(`Failed to parse date`,t)}return t.toString()}function X(e){return e.toString().padStart(2,`0`)}function me(e){return e.toString().padStart(4,`0`)}function Z(e){return`${me(e.getFullYear())}-${X(e.getMonth()+1)}-${X(e.getDate())}`}function Q(e){return`${X(e.getHours())}:${X(e.getMinutes())}:${X(e.getSeconds())}`}function he(e){let t=/^(\d{1,2}):(\d{2})(?::(\d{2}))?(?:\.(\d+))?\s*(am|pm)?$/i.exec(e.trim());if(!t)return;let[,n,r,i,a,o]=t,s=Number.parseInt(n,10),c=Number.parseInt(r,10),l=i?Number.parseInt(i,10):0,u=a?Number.parseInt(a.padEnd(3,`0`).slice(0,3),10):0;if(!(c>59||l>59)){if(o){if(s<1||s>12)return;let e=o.toLowerCase()===`pm`;s===12?s=e?12:0:e&&(s+=12)}else if(s>23)return;return new Date(1970,0,1,s,c,l,u)}}function ge(e){return`${Z(e)}T${Q(e)}`}function $(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return;let[,n,r,i]=t,a=Number.parseInt(n,10),o=Number.parseInt(r,10),s=Number.parseInt(i,10),c=new Date(a,o-1,s);if(c.getFullYear()===a&&c.getMonth()===o-1&&c.getDate()===s)return c}function _e(e){let t=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(?:Z|[+-]\d{2}:?\d{2})?$/.exec(e.trim());if(!t)return;let[,n,r,i,a,o,s]=t;return new Date(Number.parseInt(n,10),Number.parseInt(r,10)-1,Number.parseInt(i,10),Number.parseInt(a,10),Number.parseInt(o,10),s?Number.parseInt(s,10):0)}export{$ as a,ue as c,de as i,pe as l,ge as n,_e as o,Q as r,he as s,Z as t};