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

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 (565) hide show
  1. package/dist/assets/CellStatus-DC6FFQOg.js +1 -0
  2. package/dist/assets/{ConnectedDataExplorerComponent-TprnxZeJ.js → ConnectedDataExplorerComponent-BV1mVpaE.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-CM13wrd8.js → ErrorBoundary-Ce-Ujlwj.js} +2 -2
  4. package/dist/assets/JsonOutput-CfEBzaqW.js +11 -0
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-B4fCknq1.js → LazyAnyLanguageCodeMirror-DoxWX_Wp.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-Bh6o9zle.js +10 -0
  7. package/dist/assets/{RenderHTML-DX6i99Op.js → RenderHTML-COGZsXQV.js} +1 -1
  8. package/dist/assets/RunButton-DQ51plUv.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-D7gtGUsg.js} +6 -6
  12. package/dist/assets/{add-connection-dialog-B1BXCjex.js → add-connection-dialog-CpMCc97S.js} +1 -1
  13. package/dist/assets/{agent-panel-CDFUc1uu.js → agent-panel-BSFYqJ9B.js} +3 -3
  14. package/dist/assets/ai-model-dropdown-D575Vid8.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-Cfcg_5Bz.js} +1 -1
  18. package/dist/assets/arrays-0R2reF2y.js +1 -0
  19. package/dist/assets/{blob-BG8yoQmx.js → blob-CszMu60N.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-BLpOlLnM.js +42 -0
  24. package/dist/assets/cell-link-Cj0gGaMV.js +1 -0
  25. package/dist/assets/cells-SvbLY10y.js +220 -0
  26. package/dist/assets/{chat-display-DhgI2MS9.js → chat-display-D43_g3TX.js} +1 -1
  27. package/dist/assets/chat-panel-B_HAJMwx.js +4 -0
  28. package/dist/assets/chat-ui-BEcYCphu.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-CrzaJKk8.js +1 -0
  32. package/dist/assets/command-palette-Bm9yIVcD.js +1 -0
  33. package/dist/assets/{common-Sl3uthjg.js → common-BJyUxCzv.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-D1f_Cz4i.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-C8KSVfSD.js} +1 -1
  44. package/dist/assets/{dates-CfmdTL6B.js → dates-CaPZVGtm.js} +1 -1
  45. package/dist/assets/{dependency-graph-panel-L5cBE5sl.js → dependency-graph-panel-BhmyJbUl.js} +3 -3
  46. package/dist/assets/dist-gaK_BThd.js +1 -0
  47. package/dist/assets/{documentation-panel-D7S8JIc2.js → documentation-panel-DcVG0Q0d.js} +1 -1
  48. package/dist/assets/download-Bx52VRE4.js +9 -0
  49. package/dist/assets/dropdown-menu-Cwi17BoX.js +1 -0
  50. package/dist/assets/edit-page-DUrwOHR-.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-11OuHzUF.js} +1 -1
  53. package/dist/assets/{error-panel-D2xrYLue.js → error-panel-XJy5S25F.js} +1 -1
  54. package/dist/assets/{es-Cqst59WX.js → es-Rg27gAEy.js} +1 -1
  55. package/dist/assets/{feedback-button-DzPunIqU.js → feedback-button-B7jh_B4w.js} +1 -1
  56. package/dist/assets/feedback-button-C-eKtxXE.js +1 -0
  57. package/dist/assets/file-explorer-panel-CnVxbF4A.js +1 -0
  58. package/dist/assets/{file-name-input-B4fRaQkI.js → file-name-input-BJuqjQqH.js} +2 -2
  59. package/dist/assets/floating-outline-8yyZ-MOJ.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-DJvGHePf.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-Cyc8DHZx.js} +2 -2
  66. package/dist/assets/{glide-utils-CIrAxdjv.js → glide-utils-DsTeJ7WA.js} +2 -2
  67. package/dist/assets/home-page-tRZJmSU6.js +1 -0
  68. package/dist/assets/{hooks-DzML9nez.js → hooks-CxGwybGw.js} +1 -1
  69. package/dist/assets/{html-to-image-DK9Zl1lU.js → html-to-image-BW0fcUS8.js} +1 -1
  70. package/dist/assets/index-CoxbqhGH.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-DvXJxBiL.js} +4 -4
  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-KtsY7TrR.js} +1 -1
  78. package/dist/assets/{markdown-renderer-DX0Xrrfy.js → markdown-renderer-DUgV7_fm.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-C3-Cj-Ek.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-BzyY4JA6.js} +1 -1
  86. package/dist/assets/{package-data-dv4FBHxR.js → package-data-CKPmBDtg.js} +1 -1
  87. package/dist/assets/packages-panel-DxosbWko.js +1 -0
  88. package/dist/assets/{panel-accordion-state-BqSH5ttk.js → panel-accordion-state-BRbTib2B.js} +1 -1
  89. package/dist/assets/panels-Da3071Q4.js +1 -0
  90. package/dist/assets/precisionRound-BxlUs8G4.js +1 -0
  91. package/dist/assets/process-output-CSwx7rvo.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-B9y9423Y.js} +1 -1
  95. package/dist/assets/{readonly-python-code-ggs4hAzC.js → readonly-python-code-Dgw6trlk.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-B9A4wkG-.js} +37 -37
  100. package/dist/assets/run-page-C1MQ5b_A.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-D_hOQL9T.js} +1 -1
  103. package/dist/assets/{save-worker-BbUSwZRG.js → save-worker-UwdGcNK5.js} +2 -1
  104. package/dist/assets/scratchpad-panel-CBCsPmMW.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-CiHCKPlx.js +1 -0
  110. package/dist/assets/snippets-panel-C0VDE_4i.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-DrraMmqz.js} +1 -1
  117. package/dist/assets/state-DvU2AiFx.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-C5d51Nmi.js +1 -0
  128. package/dist/assets/tracing-panel-B89R8dWE.js +2 -0
  129. package/dist/assets/{tree-actions-DnUokmva.js → tree-actions-Cph8FVzh.js} +1 -1
  130. package/dist/assets/use-restore-focus-DMSzeuUr.js +1 -0
  131. package/dist/assets/{useAddCell-IN24thff.js → useAddCell-VPkB72pn.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--zI3GFnt.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-CjewKeSr.js} +1 -1
  139. package/dist/assets/{useDependencyPanelTab-ImXYINm_.js → useDependencyPanelTab-Bt_ka-wl.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-DV2S6KaG.js +1 -0
  146. package/dist/assets/{useRunCells-DSJPXE-j.js → useRunCells-BupCZpzk.js} +1 -1
  147. package/dist/assets/{useSplitCell-DQyMF5gd.js → useSplitCell-CaLIR0TS.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 +63 -2
  213. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  214. package/src/components/datasources/column-preview.tsx +8 -2
  215. package/src/components/datasources/datasources.tsx +48 -35
  216. package/src/components/debugger/debugger-code.tsx +5 -0
  217. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  218. package/src/components/dependency-graph/elements.ts +24 -21
  219. package/src/components/dependency-graph/panels.tsx +2 -1
  220. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  221. package/src/components/editor/SortableCell.tsx +1 -3
  222. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  223. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  224. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +24 -0
  225. package/src/components/editor/actions/pair-with-agent-modal.tsx +18 -15
  226. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  227. package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
  228. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  229. package/src/components/editor/cell/CreateCellButton.tsx +8 -10
  230. package/src/components/editor/cell/DeleteButton.tsx +1 -0
  231. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  232. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  233. package/src/components/editor/cell/code/cell-editor.tsx +1 -1
  234. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  235. package/src/components/editor/cell/collapse.tsx +5 -3
  236. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  237. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +30 -1
  238. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  239. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  240. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  241. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  242. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  243. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  244. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -1
  245. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +12 -18
  246. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +58 -1
  247. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  248. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
  249. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  250. package/src/components/editor/connections/components.tsx +1 -1
  251. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  252. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  253. package/src/components/editor/controls/command-palette.tsx +22 -10
  254. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  255. package/src/components/editor/dynamic-favicon.tsx +21 -40
  256. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +12 -23
  257. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  258. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  259. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  260. package/src/components/editor/file-tree/file-explorer.tsx +45 -8
  261. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  262. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  263. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  264. package/src/components/editor/header/status.tsx +28 -5
  265. package/src/components/editor/links/__tests__/cell-link.test.tsx +146 -0
  266. package/src/components/editor/links/cell-link.tsx +14 -5
  267. package/src/components/editor/navigation/focus-utils.ts +4 -4
  268. package/src/components/editor/notebook-banner.tsx +1 -0
  269. package/src/components/editor/notebook-cell.tsx +11 -2
  270. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  271. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  272. package/src/components/editor/output/ansi-reduce.ts +33 -20
  273. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  274. package/src/components/editor/package-alert.tsx +14 -7
  275. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  276. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  277. package/src/components/home/components.tsx +17 -31
  278. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  279. package/src/components/icons/large-spinner.tsx +3 -14
  280. package/src/components/icons/spinner.tsx +1 -1
  281. package/src/components/mcp/mcp-status-indicator.tsx +1 -1
  282. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  283. package/src/components/pages/home-page.tsx +164 -91
  284. package/src/components/scratchpad/scratchpad.test.tsx +95 -0
  285. package/src/components/scratchpad/scratchpad.tsx +16 -3
  286. package/src/components/slides/reveal-component.tsx +4 -2
  287. package/src/components/slides/slide-cell-view.tsx +1 -1
  288. package/src/components/slides/slide-form.tsx +1 -0
  289. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  290. package/src/components/tracing/tracing.tsx +45 -41
  291. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  292. package/src/components/ui/alert-dialog.tsx +1 -1
  293. package/src/components/ui/draggable-popover.tsx +24 -2
  294. package/src/core/ai/context/providers/datasource.ts +6 -2
  295. package/src/core/ai/tools/base.ts +16 -7
  296. package/src/core/ai/tools/edit-notebook-tool.ts +47 -45
  297. package/src/core/ai/tools/registry.ts +13 -8
  298. package/src/core/ai/tools/sample-tool.ts +6 -7
  299. package/src/core/attachments/state.ts +5 -8
  300. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
  301. package/src/core/cells/__tests__/cell.test.ts +39 -0
  302. package/src/core/cells/__tests__/cells.test.ts +3 -1
  303. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  304. package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
  305. package/src/core/cells/__tests__/session.test.ts +117 -36
  306. package/src/core/cells/cell.ts +14 -3
  307. package/src/core/cells/cells.ts +3 -1
  308. package/src/core/cells/pending-delete-service.ts +2 -6
  309. package/src/core/cells/session.ts +1 -1
  310. package/src/core/cells/types.ts +10 -1
  311. package/src/core/codemirror/__tests__/setup.test.ts +29 -29
  312. package/src/core/codemirror/cells/__tests__/extensions.test.ts +15 -0
  313. package/src/core/codemirror/cells/extensions.ts +7 -3
  314. package/src/core/codemirror/keymaps/vim.ts +2 -6
  315. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  316. package/src/core/codemirror/language/extension.ts +8 -8
  317. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  318. package/src/core/codemirror/language/languages/python.ts +16 -10
  319. package/src/core/codemirror/language/languages/sql/sql.ts +9 -7
  320. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  321. package/src/core/codemirror/language/types.ts +7 -7
  322. package/src/core/codemirror/rtc/extension.ts +24 -12
  323. package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
  324. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  325. package/src/core/codemirror/utils.ts +1 -0
  326. package/src/core/datasets/__tests__/data-source-discovery.test.ts +4 -4
  327. package/src/core/datasets/data-source-discovery.ts +4 -6
  328. package/src/core/document/__tests__/codemirror.test.ts +485 -0
  329. package/src/core/document/__tests__/draft.test.ts +322 -0
  330. package/src/core/document/__tests__/fixtures.ts +92 -0
  331. package/src/core/document/__tests__/hooks.test.tsx +386 -0
  332. package/src/core/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  333. package/src/core/document/__tests__/model.test.ts +191 -0
  334. package/src/core/document/__tests__/protocol-fixtures.ts +38 -0
  335. package/src/core/document/__tests__/recovery-scenarios.test.ts +230 -0
  336. package/src/core/document/__tests__/scenario-fixture.ts +43 -0
  337. package/src/core/document/__tests__/scenarios.test.ts +205 -0
  338. package/src/core/document/__tests__/state.test.ts +438 -0
  339. package/src/core/document/__tests__/submission.test.ts +203 -0
  340. package/src/core/document/__tests__/test-host.test.ts +92 -0
  341. package/src/core/document/__tests__/test-host.ts +247 -0
  342. package/src/core/document/__tests__/test-notebook.ts +149 -0
  343. package/src/core/document/__tests__/user.ts +61 -0
  344. package/src/core/document/codemirror.ts +311 -0
  345. package/src/core/document/draft.ts +472 -0
  346. package/src/core/document/hooks.tsx +118 -0
  347. package/src/core/document/index.ts +15 -0
  348. package/src/core/document/model.ts +55 -0
  349. package/src/core/document/select.ts +41 -0
  350. package/src/core/document/state.ts +374 -0
  351. package/src/core/document/sync.ts +369 -0
  352. package/src/core/host/AGENTS.md +8 -2
  353. package/src/core/host/__tests__/attachments.test.ts +56 -0
  354. package/src/core/host/__tests__/document.test.ts +126 -0
  355. package/src/core/host/__tests__/fixtures.ts +71 -0
  356. package/src/core/host/__tests__/replica.test.ts +550 -0
  357. package/src/core/host/__tests__/static.test.ts +169 -0
  358. package/src/core/host/__tests__/wasm.test.ts +162 -0
  359. package/src/core/host/backend.ts +19 -0
  360. package/src/core/host/connection.ts +1 -40
  361. package/src/core/host/index.ts +14 -0
  362. package/src/core/host/replica.ts +286 -0
  363. package/src/core/host/resources/attachments.ts +22 -0
  364. package/src/core/host/resources/document.ts +101 -0
  365. package/src/core/host/static.ts +72 -0
  366. package/src/core/host/wasm.ts +102 -0
  367. package/src/core/hotkeys/actions.ts +2 -4
  368. package/src/core/islands/__tests__/bootstrap.test.ts +0 -26
  369. package/src/core/islands/bootstrap.ts +0 -1
  370. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  371. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  372. package/src/core/network/connection.ts +4 -2
  373. package/src/core/network/useConnectionNotice.ts +8 -2
  374. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  375. package/src/core/runtime/__tests__/runtime.test.ts +32 -58
  376. package/src/core/runtime/runtime.ts +38 -42
  377. package/src/core/runtime/types.ts +0 -2
  378. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  379. package/src/core/state/jotai.ts +1 -1
  380. package/src/core/static/__tests__/files.test.ts +38 -10
  381. package/src/core/static/files.ts +2 -0
  382. package/src/core/wasm/bridge.ts +38 -10
  383. package/src/core/wasm/store.ts +3 -3
  384. package/src/core/wasm/worker/bootstrap.ts +2 -1
  385. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  386. package/src/core/wasm/worker/types.ts +11 -0
  387. package/src/core/wasm/worker/worker.ts +48 -0
  388. package/src/core/websocket/__tests__/backend.test.ts +200 -0
  389. package/src/core/websocket/__tests__/connection-state.test.ts +0 -12
  390. package/src/core/websocket/__tests__/useNotebookReplica.hook.test.tsx +141 -0
  391. package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +154 -428
  392. package/src/core/websocket/backend.ts +106 -0
  393. package/src/core/websocket/connection-state.ts +1 -11
  394. package/src/core/websocket/state.ts +7 -0
  395. package/src/core/websocket/transports/__tests__/notebook.test.ts +445 -0
  396. package/src/core/websocket/transports/notebook.ts +190 -0
  397. package/src/core/websocket/types.ts +2 -2
  398. package/src/core/websocket/useNotebookReplica.ts +69 -0
  399. package/src/core/websocket/useNotebookSession.tsx +10 -22
  400. package/src/css/globals.css +5 -0
  401. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  402. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  403. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  404. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  405. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  406. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  407. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  408. package/src/hooks/useAsyncData.ts +3 -3
  409. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  410. package/src/hooks/useDebounce.ts +6 -10
  411. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  412. package/src/hooks/useDelayElapsed.ts +14 -10
  413. package/src/hooks/useElapsedTime.ts +3 -3
  414. package/src/hooks/useEventListener.ts +1 -2
  415. package/src/hooks/useInputHistory.ts +4 -7
  416. package/src/hooks/useInternalStateWithSync.ts +6 -6
  417. package/src/hooks/useResizeObserver.ts +4 -7
  418. package/src/hooks/useScript.ts +67 -70
  419. package/src/hooks/useStateForKey.ts +93 -0
  420. package/src/mount.tsx +0 -4
  421. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  422. package/src/plugins/core/registerReactComponent.tsx +1 -1
  423. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  424. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  425. package/src/plugins/impl/DataTablePlugin.tsx +29 -33
  426. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  427. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  428. package/src/plugins/impl/FormPlugin.tsx +1 -1
  429. package/src/plugins/impl/RangeSliderPlugin.tsx +0 -1
  430. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  431. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  432. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +117 -1
  433. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  434. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  435. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +2 -0
  436. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  437. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  438. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  439. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  440. package/src/plugins/impl/chat/chat-ui.tsx +14 -11
  441. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  442. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  443. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  444. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  445. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  446. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  447. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  448. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  449. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  450. package/src/plugins/impl/data-frames/panel.tsx +43 -16
  451. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  452. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  453. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  454. package/src/plugins/impl/panel/utils.ts +17 -0
  455. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  456. package/src/plugins/impl/plotly/selection.ts +25 -19
  457. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  458. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  459. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  460. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  461. package/src/stories/button.stories.tsx +1 -0
  462. package/src/stories/editor.stories.tsx +24 -17
  463. package/src/stories/form-wrapper.stories.tsx +2 -2
  464. package/src/stories/select.stories.tsx +2 -2
  465. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  466. package/src/utils/__tests__/arrays.test.ts +35 -0
  467. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  468. package/src/utils/__tests__/numbers.test.ts +48 -1
  469. package/src/utils/__tests__/objects.test.ts +21 -0
  470. package/src/utils/arrays.ts +10 -0
  471. package/src/utils/blob.ts +1 -1
  472. package/src/utils/numbers.ts +28 -17
  473. package/src/utils/objects.ts +3 -7
  474. package/src/utils/once.ts +19 -19
  475. package/src/utils/tracer.ts +9 -5
  476. package/src/utils/zod-utils.ts +1 -3
  477. package/dist/assets/CellStatus-DVOHpdeJ.js +0 -1
  478. package/dist/assets/JsonOutput-Cx1iyibB.js +0 -11
  479. package/dist/assets/MarimoErrorOutput-s_5GOX8k.js +0 -10
  480. package/dist/assets/RunButton-BKoh0zYG.js +0 -1
  481. package/dist/assets/__vite-browser-external-CYO_P3S8.js +0 -1
  482. package/dist/assets/__vite-browser-external-FeDVGZU8.js +0 -1
  483. package/dist/assets/ai-model-dropdown-i1vfGeVi.js +0 -13
  484. package/dist/assets/alert-dialog-BaPGzeOK.js +0 -1
  485. package/dist/assets/any-language-editor-BdTWdMCI.js +0 -1
  486. package/dist/assets/arrays-BqUx5USx.js +0 -1
  487. package/dist/assets/cell-editor-BKJ06H5F.js +0 -21
  488. package/dist/assets/cell-link-8Auigi8P.js +0 -1
  489. package/dist/assets/cells-C6YGYGdi.js +0 -220
  490. package/dist/assets/chat-panel-Cau71Ygr.js +0 -4
  491. package/dist/assets/chat-ui-C5ql1Up-.js +0 -4
  492. package/dist/assets/circle-DXf-VWZG.js +0 -1
  493. package/dist/assets/circle-play-CYIb0qT6.js +0 -1
  494. package/dist/assets/column-preview-BZ_iNhtJ.js +0 -1
  495. package/dist/assets/command-palette-DDC3kBet.js +0 -1
  496. package/dist/assets/components-YBmtV0p6.js +0 -1
  497. package/dist/assets/config-DRIpOKqh.js +0 -1
  498. package/dist/assets/config-Dy28fDwn.js +0 -1
  499. package/dist/assets/dist-iaThVDkA.js +0 -1
  500. package/dist/assets/download-C03FOElq.js +0 -9
  501. package/dist/assets/dropdown-menu-C1rnl-0o.js +0 -1
  502. package/dist/assets/edit-page-D_Rg0gQO.js +0 -9
  503. package/dist/assets/feedback-button-Kla7i5RT.js +0 -1
  504. package/dist/assets/file-explorer-panel-Uk4_QIJQ.js +0 -1
  505. package/dist/assets/floating-outline-B5MaM1JS.js +0 -1
  506. package/dist/assets/fullscreen-B9tHcfpV.js +0 -41
  507. package/dist/assets/home-page-hmvKlc1w.js +0 -4
  508. package/dist/assets/index-6b4mf8Ai.css +0 -2
  509. package/dist/assets/index-ptK1gxmo.js +0 -30
  510. package/dist/assets/kiosk-mode-BZECfg9k.js +0 -1
  511. package/dist/assets/linear-0eij_aAG.js +0 -1
  512. package/dist/assets/link-NuFVR7G9.js +0 -1
  513. package/dist/assets/links-DkkL9DVa.js +0 -1
  514. package/dist/assets/menu-items-BrwnTgyK.js +0 -1
  515. package/dist/assets/numbers-Mk3-CcoU.js +0 -1
  516. package/dist/assets/packages-panel-CI5ff9b-.js +0 -1
  517. package/dist/assets/panels-BCcZ_yLK.js +0 -107
  518. package/dist/assets/precisionRound-Bq_nmf5u.js +0 -1
  519. package/dist/assets/process-output-f3C3PD0Z.js +0 -1
  520. package/dist/assets/react-vega-C3rYGtP6.js +0 -189
  521. package/dist/assets/requests-CgSY1X4a.js +0 -1
  522. package/dist/assets/run-page-AfZhtEh1.js +0 -1
  523. package/dist/assets/scratchpad-panel-D2rWg4k8.js +0 -1
  524. package/dist/assets/secrets-panel-D7KN4tVs.js +0 -1
  525. package/dist/assets/select-DTBn5eTb.js +0 -1
  526. package/dist/assets/session-panel-CnANhcTo.js +0 -1
  527. package/dist/assets/snippets-panel-ClGHtEKQ.js +0 -1
  528. package/dist/assets/state-BAJYRhmO.js +0 -1
  529. package/dist/assets/state-CbjBtkdd.js +0 -3
  530. package/dist/assets/switch-CTaiAjrz.js +0 -1
  531. package/dist/assets/tabs-BuQlZFbt.js +0 -1
  532. package/dist/assets/toast-BGzLGnvw.js +0 -1
  533. package/dist/assets/tooltip-C9TuY18o.js +0 -1
  534. package/dist/assets/tooltip-mT3CGest.js +0 -61
  535. package/dist/assets/tracing-Dz2rYOFL.js +0 -1
  536. package/dist/assets/tracing-panel-DqQY9V91.js +0 -2
  537. package/dist/assets/use-restore-focus-BxEGwIbk.js +0 -1
  538. package/dist/assets/useAsyncData-C7aJJz0Y.js +0 -1
  539. package/dist/assets/useBoolean-d0Tty94N.js +0 -1
  540. package/dist/assets/useCellActionButton-DmaFZ4oF.js +0 -1
  541. package/dist/assets/useDebounce-B_ccBZTp.js +0 -1
  542. package/dist/assets/useNotebookActions-DHt3s-ia.js +0 -1
  543. package/dist/assets/vega-component-IouMe13t.js +0 -1
  544. package/dist/assets/vega-loader.browser-CLRkNgm7.js +0 -6
  545. package/dist/assets/worker-DTQ7oH2A.js +0 -158
  546. package/dist/assets/ws-BXWY541V.js +0 -22
  547. package/src/core/host/__tests__/events.test.ts +0 -46
  548. package/src/core/host/__tests__/notebook-client.test.ts +0 -191
  549. package/src/core/host/__tests__/protocol.test.ts +0 -214
  550. package/src/core/host/events.ts +0 -60
  551. package/src/core/host/notebook-client.ts +0 -226
  552. package/src/core/host/protocol.ts +0 -1943
  553. package/src/core/state/__tests__/jotai.test.ts +0 -25
  554. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  555. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -140
  556. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  557. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  558. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  559. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  560. package/src/core/websocket/transports/basic.ts +0 -102
  561. package/src/core/websocket/transports/create.ts +0 -31
  562. package/src/core/websocket/transports/sse.ts +0 -308
  563. package/src/core/websocket/transports/transport.ts +0 -50
  564. package/src/core/websocket/transports/ws.ts +0 -98
  565. package/src/core/websocket/useNotebookClient.ts +0 -80
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./react-DVplv7_D.js";import{D as a,La as o,g as s,oo as c,x as l}from"./cells-SvbLY10y.js";import{t as u}from"./compiler-runtime-BrajqUja.js";import{C as d}from"./config-CXnC3MRv.js";import{r as f}from"./utils-B4K466FK.js";import{t as p}from"./session-BHgGkjDm.js";import{T as m,_ as h,l as g,p as _}from"./config-7IjqNuVp.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{a as b,c as x,i as S,l as C,n as w,s as T,t as E}from"./alert-dialog-8YiYLrfr.js";import{I as D,It as ee}from"./JsonOutput-CfEBzaqW.js";import{n as te}from"./download-Bx52VRE4.js";import{i as O,n as k,r as ne,t as re}from"./tabs-BLczoY3k.js";import{n as A,t as j}from"./button-Cl7haVNh.js";import{n as ie}from"./paths-bkIFVj8h.js";import{t as M}from"./arrow-left-BaPN-xbg.js";import{t as N}from"./copy-Djr5m5ac.js";import{a as P,i as F,n as I,o as L,r as R,t as ae}from"./panels-Da3071Q4.js";import{t as oe}from"./house-CpsMWsLL.js";import{t as z}from"./spinner-DyNE-o8o.js";import{l as B,s as V}from"./readonly-python-code-Dgw6trlk.js";import{Jt as H,Qt as U,Xt as W,Yt as G,nn as K,tn as q}from"./input-DLA5Dhn3.js";import{n as J}from"./copy-74EjuZso.js";import{t as Y}from"./use-toast-Wu434mLr.js";import{r as se}from"./requests-BIFR-h4M.js";import{t as ce}from"./shell-Fj8a65ii.js";import{t as le}from"./share-BZW3tzEX.js";import{a as ue}from"./cell-link-Cj0gGaMV.js";import{n as de,t as fe}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{n as pe}from"./code-visibility-D1Wf7-vD.js";import{n as me,t as he}from"./marimo-icons-CqliHyTr.js";import{t as ge}from"./state-CrLrURYG.js";var _e=e(i(),1),X=u(),Z=y(),ve=()=>{let e=(0,X.c)(25),[n,r]=t(ge);if(n===null)return null;let i;e[0]===n?i=e[1]:(i=async()=>{try{await navigator.clipboard.writeText(n),Y({title:`Copied to clipboard`,description:`Error details have been copied to your clipboard.`})}catch{Y({title:`Failed to copy`,description:`Could not copy to clipboard.`,variant:`danger`})}},e[0]=n,e[1]=i);let a=i,o;e[2]===r?o=e[3]:(o=()=>{r(null)},e[2]=r,e[3]=o);let s=o,l=ye,u;e[4]===s?u=e[5]:(u=e=>!e&&s(),e[4]=s,e[5]=u);let d;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsxs)(x,{children:[(0,Z.jsxs)(C,{className:`flex items-center gap-2 text-destructive`,children:[(0,Z.jsx)(c,{className:`h-5 w-5`}),`Kernel Startup Failed`]}),(0,Z.jsx)(b,{children:`The kernel failed to start. This usually happens when the package manager can't install your notebook's dependencies.`})]}),e[6]=d):d=e[6];let f;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Error Details`}),e[7]=f):f=e[7];let p;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(N,{className:`h-3 w-3`}),e[8]=p):p=e[8];let m;e[9]===a?m=e[10]:(m=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[f,(0,Z.jsxs)(j,{variant:`outline`,size:`xs`,onClick:a,className:`flex items-center gap-1`,children:[p,`Copy`]})]}),e[9]=a,e[10]=m);let h;e[11]===n?h=e[12]:(h=(0,Z.jsx)(`pre`,{className:`bg-muted p-4 rounded-md text-sm font-mono overflow-auto max-h-80`,children:n}),e[11]=n,e[12]=h);let g;e[13]!==m||e[14]!==h?(g=(0,Z.jsxs)(`div`,{className:`my-4 overflow-hidden`,children:[m,h]}),e[13]=m,e[14]=h,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Z.jsxs)(j,{variant:`outline`,onClick:l,className:`flex items-center gap-2`,children:[(0,Z.jsx)(oe,{className:`h-4 w-4`}),`Return to Home`]}),e[16]=_):_=e[16];let v;e[17]===s?v=e[18]:(v=(0,Z.jsxs)(T,{children:[_,(0,Z.jsx)(w,{onClick:s,children:`Dismiss`})]}),e[17]=s,e[18]=v);let y;e[19]!==v||e[20]!==g?(y=(0,Z.jsxs)(S,{className:`max-w-2xl`,children:[d,g,v]}),e[19]=v,e[20]=g,e[21]=y):y=e[21];let D;return e[22]!==y||e[23]!==u?(D=(0,Z.jsx)(E,{open:!0,onOpenChange:u,children:y}),e[22]=y,e[23]=u,e[24]=D):D=e[24],D};function ye(){let e=document.baseURI.split(`?`)[0];window.open(e,`_self`)}var be=e=>{let t=(0,X.c)(2),{reason:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Z.jsx)(`div`,{className:`font-mono text-center text-base text-(--red-11)`,children:(0,Z.jsx)(`p`,{children:n})}),t[0]=n,t[1]=r),r},xe=e=>{let t=(0,X.c)(7),{connection:n,className:r,children:i}=e,a;t[0]!==n.reason||t[1]!==n.state?(a=n.state===m.CLOSED&&(0,Z.jsx)(be,{reason:n.reason}),t[0]=n.reason,t[1]=n.state,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==r||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:r,children:[i,a]}),t[3]=i,t[4]=r,t[5]=a,t[6]=o):o=t[6],o},Q=n(e=>e(s)||!_(e(h).state)),Se=e=>{let t=(0,X.c)(22),{appConfig:n,hideHeader:i}=e,{setCells:o}=a(),{sendComponentValues:s}=se(),c;t[0]===s?c=t[1]:(c=()=>(R.INSTANCE.start(s),Ce),t[0]=s,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[2]=u):u=t[2],(0,_e.useEffect)(c,u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=p(),t[3]=d):d=t[3];let f;t[4]===o?f=t[5]:(f={autoInstantiate:!0,setCells:o,sessionId:d},t[4]=o,t[5]=f);let{connection:m,reconnect:h}=I(f),g=r(l),_;if(t[6]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{if(typeof window>`u`){_=null;break bb0}let e=new URL(window.location.href);if(!e.searchParams.has(`file`)){_=null;break bb0}e.searchParams.delete(`file`);let t=e.searchParams.toString();_=t?`${e.pathname}?${t}`:e.pathname}t[6]=_}else _=t[6];let y=_,b;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(ve,{}),t[7]=b):b=t[7];let x=i?`hidden`:`sm:pt-8`,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=y&&(0,Z.jsx)(`div`,{className:`flex items-center px-6 pt-4 sm:-mt-8`,children:(0,Z.jsxs)(`a`,{href:y,"aria-label":`Back to gallery`,className:v(A({variant:`text`,size:`sm`}),`gap-2 px-0 text-muted-foreground hover:text-foreground`),children:[(0,Z.jsx)(M,{className:`size-4`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{children:`Back`})]})}),t[8]=S):S=t[8];let C;t[9]!==m||t[10]!==x?(C=(0,Z.jsx)(xe,{connection:m,className:x,children:S}),t[9]=m,t[10]=x,t[11]=C):C=t[11];let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(z,{className:`mx-auto`}),(0,Z.jsx)(`p`,{className:`text-center text-sm text-muted-foreground mt-2`,children:`Connecting...`})]}),t[12]=w):w=t[12];let T;t[13]===n?T=t[14]:(T=(0,Z.jsx)(L,{requires:Q,delay:2e3,fallback:w,children:(0,Z.jsx)(F,{appConfig:n,mode:`read`})}),t[13]=n,t[14]=T);let E;return t[15]!==n.width||t[16]!==m||t[17]!==g||t[18]!==h||t[19]!==T||t[20]!==C?(E=(0,Z.jsxs)(P,{connection:m,isRunning:g,width:n.width,onReconnect:h,children:[b,C,T]}),t[15]=n.width,t[16]=m,t[17]=g,t[18]=h,t[19]=T,t[20]=C,t[21]=E):E=t[21],E};function Ce(){R.INSTANCE.stop()}var we=()=>{let e=(0,X.c)(3),t=r(o);if(!g()||!t)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Z.jsxs)(`span`,{children:[`Static`,` `,(0,Z.jsx)(`a`,{href:f.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-(--sky-11) font-medium underline`,children:`marimo`}),` `,`notebook - Run or edit for full interactivity`]}),e[0]=n):n=e[0];let i;return e[1]===t?i=e[2]:(i=(0,Z.jsxs)(`div`,{className:`px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm`,"data-testid":`static-notebook-banner`,children:[n,(0,Z.jsx)(`span`,{className:`shrink-0`,children:(0,Z.jsx)(Te,{code:t})})]}),e[1]=t,e[2]=i),i},Te=e=>{let t=(0,X.c)(44),{code:n}=e,r=ie.basename(ue()||`notebook.py`),[i]=d(),a=i.sharing?.molab??!0,o=Ee(window.location.href,r),s=o!==r,c=ce(o),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(K,{asChild:!0,children:(0,Z.jsx)(j,{"data-testid":`static-notebook-dialog-trigger`,variant:`outline`,size:`xs`,children:`Run or Edit`})}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=(0,Z.jsx)(q,{children:r}),t[1]=r,t[2]=u);let p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(`a`,{href:f.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-(--sky-11) hover:underline font-medium`,children:`marimo`}),t[3]=p):p=t[3];let m=s?`Run it`:`Download it, then run it`,h;t[4]===m?h=t[5]:(h=(0,Z.jsxs)(`p`,{children:[`This is a static`,` `,p,` `,`notebook. `,m,` `,`locally for full interactivity.`]}),t[4]=m,t[5]=h);let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Z.jsxs)(ne,{"aria-label":`Package manager`,children:[(0,Z.jsx)(O,{value:`uv`,children:`uv`}),(0,Z.jsx)(O,{value:`pip`,children:`pip`}),(0,Z.jsx)(O,{value:`conda`,children:`conda`})]}),t[6]=g):g=t[6];let _=`uvx marimo edit --sandbox ${c}`,v;t[7]===_?v=t[8]:(v=(0,Z.jsx)(k,{value:`uv`,children:(0,Z.jsx)($,{command:_})}),t[7]=_,t[8]=v);let y=`pip install marimo\nmarimo edit ${c}`,b;t[9]===y?b=t[10]:(b=(0,Z.jsx)(k,{value:`pip`,children:(0,Z.jsx)($,{command:y})}),t[9]=y,t[10]=b);let x=`conda install -c conda-forge marimo\nmarimo edit ${c}`,S;t[11]===x?S=t[12]:(S=(0,Z.jsx)(k,{value:`conda`,children:(0,Z.jsx)($,{command:x})}),t[11]=x,t[12]=S);let C;t[13]!==b||t[14]!==S||t[15]!==v?(C=(0,Z.jsxs)(re,{defaultValue:`uv`,children:[g,v,b,S]}),t[13]=b,t[14]=S,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==a?(w=a&&(0,Z.jsx)(De,{code:n}),t[17]=n,t[18]=a,t[19]=w):w=t[19];let T;t[20]!==C||t[21]!==w||t[22]!==h?(T=(0,Z.jsx)(W,{asChild:!0,children:(0,Z.jsxs)(`div`,{className:`pt-3 text-left space-y-3`,children:[h,C,w]})}),t[20]=C,t[21]=w,t[22]=h,t[23]=T):T=t[23];let E;t[24]!==T||t[25]!==u?(E=(0,Z.jsxs)(U,{children:[u,T]}),t[24]=T,t[25]=u,t[26]=E):E=t[26];let D;t[27]===n?D=t[28]:(D=async()=>{await J(n),Y({title:`Copied to clipboard`})},t[27]=n,t[28]=D);let A;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Z.jsx)(N,{className:`w-3 h-3 mr-2`}),t[29]=A):A=t[29];let M;t[30]===D?M=t[31]:(M=(0,Z.jsxs)(j,{"data-testid":`copy-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:D,children:[A,`Copy code`]}),t[30]=D,t[31]=M);let P;t[32]!==n||t[33]!==r?(P=()=>{te(new Blob([n],{type:`text/plain`}),r)},t[32]=n,t[33]=r,t[34]=P):P=t[34];let F;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Z.jsx)(ee,{className:`w-3 h-3 mr-2`}),t[35]=F):F=t[35];let I;t[36]===P?I=t[37]:(I=(0,Z.jsxs)(j,{"data-testid":`download-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:P,children:[F,`Download`]}),t[36]=P,t[37]=I);let L;t[38]!==M||t[39]!==I?(L=(0,Z.jsxs)(`div`,{className:`flex gap-3 pt-2`,children:[M,I]}),t[38]=M,t[39]=I,t[40]=L):L=t[40];let R;return t[41]!==E||t[42]!==L?(R=(0,Z.jsxs)(H,{children:[l,(0,Z.jsxs)(G,{children:[E,L]})]}),t[41]=E,t[42]=L,t[43]=R):R=t[43],R};function Ee(e,t){let n=new URL(e);if(n.protocol!==`http:`&&n.protocol!==`https:`)return t;let r=n.pathname.endsWith(`.html`)&&n.search===``,i=n.protocol===`https:`&&(n.hostname===`marimo.app`||n.hostname===`links.marimo.app`||n.hostname===`static.marimo.app`&&n.pathname.startsWith(`/static`)||n.pathname.includes(`/notebooks/nb`));return!r&&!i?t:(n.hash=``,n.href)}var $=e=>{let t=(0,X.c)(10),{command:n}=e,r;t[0]===n?r=t[1]:(r=(0,Z.jsx)(`pre`,{className:`p-3 pr-10 font-mono text-(--sky-11) leading-relaxed whitespace-pre-wrap break-all`,children:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=async()=>{await J(n),Y({title:`Command copied to clipboard`})},t[2]=n,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(N,{className:`w-3.5 h-3.5`}),t[4]=a):a=t[4];let o;t[5]===i?o=t[6]:(o=(0,Z.jsx)(j,{"aria-label":`Copy command`,className:`absolute right-2 top-2`,variant:`ghost`,size:`icon`,onClick:i,children:a}),t[5]=i,t[6]=o);let s;return t[7]!==r||t[8]!==o?(s=(0,Z.jsxs)(`div`,{className:`relative rounded-lg border bg-(--sky-2) border-(--sky-7)`,children:[r,o]}),t[7]=r,t[8]=o,t[9]=s):s=t[9],s},De=e=>{let t=(0,X.c)(8),{code:n}=e,r;t[0]===n?r=t[1]:(r=le({code:n,baseUrl:`${f.molab}/new`}),t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(me,{size:12,strokeWidth:1.5,className:`mr-1.5 mt-px text-(--grass-11)`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Z.jsx)(j,{asChild:!0,variant:`outline`,size:`xs`,className:`shrink-0`,children:(0,Z.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,children:[a,`Open in molab`]})}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsxs)(`p`,{className:`text-sm text-(--sky-12)`,children:[`Run this notebook in `,(0,Z.jsx)(`span`,{className:`font-semibold`,children:`molab`}),`, marimo's cloud-hosted notebook platform.`]}),t[5]=s):s=t[5];let c;return t[6]===o?c=t[7]:(c=(0,Z.jsxs)(`div`,{className:`pt-3 border-t flex gap-2 items-center`,children:[o,s]}),t[6]=o,t[7]=c),c},Oe=e=>{let t=(0,X.c)(17),n=r(pe).kind,i=n===`static`||n===`wasm`,{selectedLayout:a}=B(),o;t[0]===a?o=t[1]:(o=V({selectedLayout:a,isReading:!0,searchParams:new URLSearchParams(window.location.search)}),t[0]=a,t[1]=o);let s=i&&o===`slides`,c;t[2]===s?c=t[3]:(c=!s&&(0,Z.jsx)(we,{}),t[2]=s,t[3]=c);let l;t[4]!==s||t[5]!==e.appConfig?(l=(0,Z.jsx)(Se,{appConfig:e.appConfig,hideHeader:s}),t[4]=s,t[5]=e.appConfig,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==s?(u=i&&!s&&(0,Z.jsx)(ke,{}),t[7]=i,t[8]=s,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,Z.jsxs)(fe,{children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(D,{}),t[14]=f):f=t[14];let p;return t[15]===d?p=t[16]:(p=(0,Z.jsx)(ae,{children:(0,Z.jsxs)(de,{direction:`horizontal`,autoSaveId:`marimo:chrome:v1:run1`,children:[d,f]})}),t[15]=d,t[16]=p),p},ke=()=>{let e=(0,X.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(`div`,{className:`fixed bottom-0 right-0 z-50 print:hidden`,"data-testid":`watermark`,children:(0,Z.jsxs)(`a`,{href:f.githubPage,target:`_blank`,rel:`noreferrer`,className:`text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{children:`made with marimo`}),(0,Z.jsx)(he,{className:`h-4 w-auto`})]})}),e[0]=t):t=e[0],t};export{Oe as default};
@@ -1 +1 @@
1
- import{t as e}from"./createReducer-DgRODTW6.js";function t(){return{runIds:[],runMap:new Map}}var{reducer:n,createActions:r,valueAtom:i,useActions:a}=e(t,{addCellNotification:(e,t)=>{let{cellNotification:n,code:r}=t,i=n.timestamp??0,a=n.run_id;if(!a)return e;let o=e.runMap.get(a);if(!o&&s(r))return e;let c=n.output&&(n.output.channel===`marimo-error`||n.output.channel===`stderr`),l=c?`error`:n.status===`queued`?`queued`:n.status===`running`?`running`:`success`;if(!o){let t={runId:a,cellRuns:new Map([[n.cell_id,{cellId:n.cell_id,code:r.slice(0,200),elapsedTime:0,status:l,startTime:i}]]),runStartTime:i},o=[a,...e.runIds],s=new Map(e.runMap);if(o.length>50){let e=o.pop();e&&s.delete(e)}return s.set(a,t),{runIds:o,runMap:s}}let u=new Map(o.cellRuns),d=u.get(n.cell_id);if(d&&!c&&n.status===`queued`)return e;if(d){l=d.status===`error`||c?`error`:l;let e=n.status===`running`?i:d.startTime,t=l===`success`||l===`error`?i-d.startTime:void 0;u.set(n.cell_id,{...d,startTime:e,elapsedTime:t,status:l})}else u.set(n.cell_id,{cellId:n.cell_id,code:r.slice(0,200),elapsedTime:0,status:l,startTime:i});let f=new Map(e.runMap);return f.set(a,{...o,cellRuns:u}),{...e,runMap:f}},clearRuns:e=>({...e,runIds:[],runMap:new Map}),removeRun:(e,t)=>{let n=e.runIds.filter(e=>e!==t),r=new Map(e.runMap);return r.delete(t),{...e,runIds:n,runMap:r}}}),o=/mo\.md\(\s*r?('''|""")/;function s(e){return e.startsWith(`mo.md(`)&&o.test(e)}export{a as n,i as t};
1
+ import{t as e}from"./createReducer-B04CIO-e.js";function t(){return{runIds:[],runMap:new Map}}var{reducer:n,createActions:r,valueAtom:i,useActions:a}=e(t,{addCellNotification:(e,t)=>{let{cellNotification:n,code:r}=t,i=n.timestamp??0,a=n.run_id;if(!a)return e;let o=e.runMap.get(a);if(!o&&s(r))return e;let c=n.output&&(n.output.channel===`marimo-error`||n.output.channel===`stderr`),l=c?`error`:n.status===`queued`?`queued`:n.status===`running`?`running`:`success`;if(!o){let t={runId:a,cellRuns:new Map([[n.cell_id,{cellId:n.cell_id,code:r.slice(0,200),elapsedTime:0,status:l,startTime:i}]]),runStartTime:i},o=[a,...e.runIds],s=new Map(e.runMap);if(o.length>50){let e=o.pop();e&&s.delete(e)}return s.set(a,t),{runIds:o,runMap:s}}let u=new Map(o.cellRuns),d=u.get(n.cell_id);if(d&&!c&&n.status===`queued`)return e;if(d){l=d.status===`error`||c?`error`:l;let e=n.status===`running`?i:d.startTime,t=l===`success`||l===`error`?i-d.startTime:void 0;u.set(n.cell_id,{...d,startTime:e,elapsedTime:t,status:l})}else u.set(n.cell_id,{cellId:n.cell_id,code:r.slice(0,200),elapsedTime:0,status:l,startTime:i});let f=new Map(e.runMap);return f.set(a,{...o,cellRuns:u}),{...e,runMap:f}},clearRuns:e=>({...e,runIds:[],runMap:new Map}),removeRun:(e,t)=>{let n=e.runIds.filter(e=>e!==t),r=new Map(e.runMap);return r.delete(t),{...e,runIds:n,runMap:r}}}),o=/mo\.md\(\s*r?('''|""")/;function s(e){return e.startsWith(`mo.md(`)&&o.test(e)}export{a as n,i as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n}from"./useEvent-Dfcbgjhg.js";import{t as r}from"./react-DVplv7_D.js";import{co as i}from"./cells-C6YGYGdi.js";import{t as a}from"./compiler-runtime-BrajqUja.js";import{t as o}from"./useEventListener-D9cftcHj.js";import{T as s,_ as c,w as l,x as u}from"./config-Dy28fDwn.js";import{t as d}from"./cn-ldLVeaqm.js";import{t as f}from"./jsx-runtime-B74pBk57.js";import{t as p}from"./circle-DXf-VWZG.js";import{t as m}from"./arrow-down-C9Bslqr3.js";import{t as h}from"./check-BQNapYaf.js";import{i as g}from"./useNumberFormatter-D7O_26UI.js";import{t as _}from"./spinner-DyNE-o8o.js";import{t as v}from"./copy-icon-BIiRXh_3.js";import{i as y,t as b}from"./state-DxQnC_1I.js";var x=a(),S=f(),C=t(null),w=t(e=>e(y).environments.kernel.operations.findLast(e=>e.action===`prepare`)),T=t(e=>{let t=e(y).environments.kernel.operations;return t.findLast(e=>e.action===`sync`&&e.status.kind===`running`)??t.findLast(e=>e.action===`sync`)}),E=t(null),D=t(e=>{let t=e(T),n=e(E),r=n&&n.operation===t&&t?.status.kind!==`running`?n.state:t?.status??{kind:`idle`};return e(y).environments.kernel.restart_required&&(r.kind===`idle`||r.kind===`succeeded`)?{kind:`restart-required`,reason:`Dependency changes are saved; restart the kernel to apply them.`}:r},(e,t,n)=>{t(E,{state:n,operation:e(T)})}),O=t(null),k=e(r(),1),A=t(e=>{let t=e(c),n=!!e(C)?.backend,r=e(D),i=r.kind===`running`,a=r.kind===`restart-required`,o=r.kind===`failed`?r.error:r.kind===`cancelled`?`Sandbox sync was interrupted.`:a?r.reason:null;if(n&&(i||o!==null)&&t.state===s.OPEN)return{kind:`sync`,sandbox:n,title:i?`Syncing sandbox…`:a?`Sandbox restart required`:`Sandbox sync failed`,description:i?`Applying the saved manifest to this notebook’s environment.`:a?`Restart the kernel to use the updated environment.`:`Review the error details, then try again.`,pending:i,error:o};if(t.state===s.CONNECTING)return{kind:t.phase===`reconnecting`?`connection`:`startup`,phase:t.phase,sandbox:n,...t.phase?{"preparing-environment":{title:`Preparing environment…`,description:`Getting this notebook’s Python environment ready. The first start can take a few minutes.`},"starting-kernel":{title:`Starting kernel…`,description:`The environment is prepared. Waiting for the Python kernel to connect to this notebook.`},reconnecting:{title:`Reconnecting…`,description:`The connection was interrupted. Your notebook and existing outputs stay visible while the kernel reconnects.`}}[t.phase]:{title:`Connecting…`,description:`Waiting for the notebook’s kernel to connect.`},pending:!0,error:null};if(t.state===s.CLOSED){let r=t.code===l.KERNEL_STARTUP_ERROR,i=n&&r&&t.phase===`preparing-environment`;return{kind:r?`startup`:`connection`,phase:t.phase,sandbox:n,title:i?`Sandbox setup failed`:r?`Kernel failed to start`:t.reason,description:i?`The notebook can’t run yet.`:r?`The Python kernel could not start. Check the error details, then try again.`:`The connection to the notebook’s kernel was lost.`,pending:!1,error:r?e(b)??t.reason:null}}return null});function j(e){let t=e.ownerDocument.getSelection();return t&&!t.isCollapsed&&t.containsNode(e,!0)}function M(e){let t=(0,x.c)(44),{logs:n,label:r,state:i}=e,a=i===void 0?`running`:i,[s,c]=(0,k.useState)(!1),[l,u]=(0,k.useState)(!0),f=(0,k.useRef)(null),p=(0,k.useRef)(null),h=(0,k.useId)(),_=n.trimEnd().split(/\r?\n/),y=a===`failed`?`text-foreground`:a===`running`?`last:text-foreground`:void 0,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>{e.key===`Escape`&&(e.preventDefault(),c(!1),p.current?.focus())},t[0]=b):b=t[0],o(f,`keydown`,b);let C;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{f.current&&j(f.current)&&u(!1)},t[1]=C):C=t[1],o(document,`selectionchange`,C);let w,T;if(t[2]!==s||t[3]!==l||t[4]!==n?(w=()=>{let e=f.current;if(!e)return;let t=e.textContent??``;n.startsWith(t)?n.length>t.length&&e.append(document.createTextNode(n.slice(t.length))):e.textContent=n,s&&l&&!j(e)&&(e.scrollTop=e.scrollHeight)},T=[n,s,l],t[2]=s,t[3]=l,t[4]=n,t[5]=w,t[6]=T):(w=t[5],T=t[6]),(0,k.useLayoutEffect)(w,T),!n.trim())return null;let E=s?`bg-muted/40`:`hover:bg-muted/40`,D;t[7]===E?D=t[8]:(D=d(`relative mt-2.5 min-w-0 contain-inline-size rounded text-muted-foreground`,E),t[7]=E,t[8]=D);let O=s&&`flex items-center pr-1`,A;t[9]===O?A=t[10]:(A=d(O),t[9]=O,t[10]=A);let M=`${s?`Collapse`:`Expand`} ${r}`,N=s?`Collapse output`:`Expand output`,P=s&&`items-center justify-between gap-2 text-xs hover:text-foreground`,F;t[11]===P?F=t[12]:(F=d(`flex w-full min-w-0 rounded px-2.5 py-1 text-left focus-visible:outline-2 focus-visible:outline-ring`,P),t[11]=P,t[12]=F);let I;t[13]===s?I=t[14]:(I=()=>{c(!s),u(!0)},t[13]=s,t[14]=I);let L=s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`span`,{className:`leading-5`,children:`Logs`}),(0,S.jsx)(g,{className:`size-3.5 shrink-0`,"aria-hidden":!0})]}):(0,S.jsx)(`span`,{className:d(`min-w-0 flex-1 font-mono text-[11px] leading-5`,_.length>1&&`[mask-image:linear-gradient(to_bottom,transparent,#000_70%)]`),"aria-hidden":!0,children:_.slice(-3).map((e,t)=>(0,S.jsx)(`span`,{className:d(`block truncate`,y),children:e||`\xA0`},t))}),R;t[15]!==s||t[16]!==h||t[17]!==M||t[18]!==N||t[19]!==F||t[20]!==I||t[21]!==L?(R=(0,S.jsx)(`button`,{ref:p,type:`button`,"aria-label":M,"aria-expanded":s,"aria-controls":h,title:N,className:F,onClick:I,children:L}),t[15]=s,t[16]=h,t[17]=M,t[18]=N,t[19]=F,t[20]=I,t[21]=L,t[22]=R):R=t[22];let z;t[23]!==s||t[24]!==r||t[25]!==n?(z=s&&(0,S.jsx)(v,{value:n,ariaLabel:`Copy ${r}`,tooltip:`Copy output`,className:`size-3.5`,buttonClassName:`size-6 shrink-0 flex items-center justify-center rounded hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring`}),t[23]=s,t[24]=r,t[25]=n,t[26]=z):z=t[26];let B;t[27]!==R||t[28]!==z||t[29]!==A?(B=(0,S.jsxs)(`div`,{className:A,children:[R,z]}),t[27]=R,t[28]=z,t[29]=A,t[30]=B):B=t[30];let V=!s,H;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{let t=e.currentTarget;u(!j(t)&&t.scrollHeight-t.scrollTop-t.clientHeight<12)},t[31]=H):H=t[31];let U;t[32]!==r||t[33]!==h||t[34]!==V?(U=(0,S.jsx)(`pre`,{id:h,ref:f,hidden:V,tabIndex:0,"aria-label":r,className:`max-h-48 overflow-auto overscroll-contain whitespace-pre px-2.5 pb-2.5 font-mono text-[11px] leading-5 scrollbar-thin focus-visible:outline-2 focus-visible:outline-ring`,onScroll:H}),t[32]=r,t[33]=h,t[34]=V,t[35]=U):U=t[35];let W;t[36]!==s||t[37]!==l?(W=s&&!l&&(0,S.jsxs)(`button`,{type:`button`,className:`absolute bottom-2 left-1/2 -translate-x-1/2 flex items-center gap-1 whitespace-nowrap rounded-full border bg-background px-2 py-1 text-xs shadow-xs hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring`,onClick:()=>{let e=f.current;e&&(j(e)&&e.ownerDocument.getSelection()?.removeAllRanges(),e.focus({preventScroll:!0})),u(!0)},children:[(0,S.jsx)(m,{className:`size-3`,"aria-hidden":!0}),`Jump to latest`]}),t[36]=s,t[37]=l,t[38]=W):W=t[38];let G;return t[39]!==B||t[40]!==U||t[41]!==W||t[42]!==D?(G=(0,S.jsxs)(`div`,{className:D,children:[B,U,W]}),t[39]=B,t[40]=U,t[41]=W,t[42]=D,t[43]=G):G=t[43],G}function N(e){let t=(0,x.c)(10),{state:n,variant:r}=e;if((r===void 0?`icon`:r)===`dot`){let e;t[0]===n?e=t[1]:(e=d(`size-1.5 shrink-0 rounded-full`,{waiting:`bg-muted-foreground`,running:`bg-muted-foreground motion-safe:animate-pulse`,succeeded:`bg-(--grass-9)`,failed:`bg-(--red-9)`}[n]),t[0]=n,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,S.jsx)(`span`,{"aria-hidden":!0,className:e}),t[2]=e,t[3]=r),r}let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a={waiting:p,running:_,succeeded:h,failed:i},t[4]=a):a=t[4];let o=a[n],s;t[5]===n?s=t[6]:(s=d(`size-4 shrink-0`,{waiting:`text-muted-foreground/50`,running:`motion-reduce:animate-none`,succeeded:`text-(--grass-11)`,failed:`text-(--red-11)`}[n]),t[5]=n,t[6]=s);let c;return t[7]!==o||t[8]!==s?(c=(0,S.jsx)(o,{"aria-hidden":!0,className:s}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function P(e){let t=(0,x.c)(10),{stages:n,label:r,className:i}=e,a;t[0]===i?a=t[1]:(a=d(`space-y-6`,i),t[0]=i,t[1]=a);let o;if(t[2]!==n){let e;t[4]===n.length?e=t[5]:(e=(e,t)=>(0,S.jsxs)(`li`,{"aria-current":e.state===`running`||e.state===`failed`?`step`:void 0,className:`relative flex items-start gap-3`,children:[t<n.length-1&&(0,S.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-2 top-4.5 -bottom-6.5 border-l border-border`}),(0,S.jsx)(`span`,{className:`mt-0.5 text-muted-foreground`,children:(0,S.jsx)(N,{state:e.state})}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`div`,{className:d(`text-sm`,e.state===`failed`?`text-(--red-11)`:e.state===`waiting`?`text-muted-foreground`:`text-foreground`),children:e.title}),(0,S.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e.description}),e.details]})]},e.id),t[4]=n.length,t[5]=e),o=n.map(e),t[2]=n,t[3]=o}else o=t[3];let s;return t[6]!==r||t[7]!==a||t[8]!==o?(s=(0,S.jsx)(`ol`,{"aria-label":r,className:a,children:o}),t[6]=r,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}var F=[{phase:`preparing-environment`,titles:{succeeded:`Environment prepared`,failed:`Environment setup failed`,running:`Preparing environment`,waiting:`Prepare environment`},descriptions:{succeeded:`Python and dependencies are available.`,failed:`Setup could not finish.`,running:`Set up Python and dependencies.`,waiting:`Set up Python and dependencies.`}},{phase:`starting-kernel`,titles:{succeeded:`Kernel started`,failed:`Kernel failed to start`,running:`Starting kernel`,waiting:`Start kernel`},descriptions:{succeeded:`The notebook is ready to run.`,failed:`The kernel could not connect.`,running:`Connecting to this notebook.`,waiting:`After the environment is ready.`}}];function I(e){return e.kind===`startup`&&(!e.sandbox||e.ready||e.phase===`preparing-environment`||e.phase===`starting-kernel`)}function L(e){let t=(0,x.c)(10),{notice:n}=e,r;t[0]===n.title?r=t[1]:(r=(0,S.jsx)(`output`,{className:`sr-only`,children:n.title}),t[0]=n.title,t[1]=r);let i=n.ready?`Your notebook is ready`:`Getting your notebook ready`,a;t[2]===i?a=t[3]:(a=(0,S.jsx)(`h2`,{className:`text-foreground font-heading text-2xl leading-8 tracking-tight font-normal`,children:i}),t[2]=i,t[3]=a);let o=n.ready?n.sandbox?`Your environment and kernel are ready.`:`Your kernel is ready.`:n.pending?n.sandbox?`Preparing Python and dependencies for this notebook.`:`Connecting to this notebook’s Python kernel.`:`Review the setup details below to continue.`,s;t[4]===o?s=t[5]:(s=(0,S.jsx)(`p`,{className:`text-muted-foreground mt-3 text-sm leading-6`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==r||t[7]!==a||t[8]!==s?(c=(0,S.jsxs)(`header`,{children:[r,a,s]}),t[6]=r,t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function R(e){let t=(0,x.c)(2),{notice:n}=e,r=n.ready?`succeeded`:n.pending?`running`:`failed`,i;return t[0]===r?i=t[1]:(i=(0,S.jsx)(N,{state:r}),t[0]=r,t[1]=i),i}function z(e){let t=(0,x.c)(28),{notice:r,surface:i}=e,a=n(w),o=n(u),s=r.sandbox?r.phase:`starting-kernel`,c;if(t[0]!==s||t[1]!==r.pending||t[2]!==r.ready||t[3]!==r.sandbox||t[4]!==a?.logs||t[5]!==a?.operation_id||t[6]!==o||t[7]!==i){let e;t[9]===r.sandbox?e=t[10]:(e=e=>r.sandbox||e.phase===`starting-kernel`,t[9]=r.sandbox,t[10]=e);let n;t[11]!==s||t[12]!==r.pending||t[13]!==r.ready||t[14]!==a?.logs||t[15]!==a?.operation_id||t[16]!==o||t[17]!==i?(n=e=>{let{phase:t,titles:n,descriptions:c}=e,l=t===`preparing-environment`,u=r.ready||l&&s===`starting-kernel`?`succeeded`:s===t?r.pending?`running`:`failed`:`waiting`,d=l?a?.logs.environment??``:o?.phase===t?o.logs:``;return{id:t,state:u,title:n[u],description:c[u],details:i===`sidebar`&&(0,S.jsx)(M,{logs:d,state:u===`waiting`?`succeeded`:u,label:l?`environment preparation output`:`kernel startup output`},a?.operation_id)}},t[11]=s,t[12]=r.pending,t[13]=r.ready,t[14]=a?.logs,t[15]=a?.operation_id,t[16]=o,t[17]=i,t[18]=n):n=t[18],c=F.filter(e).map(n),t[0]=s,t[1]=r.pending,t[2]=r.ready,t[3]=r.sandbox,t[4]=a?.logs,t[5]=a?.operation_id,t[6]=o,t[7]=i,t[8]=c}else c=t[8];let l=c,d;t[19]!==r||t[20]!==i?(d=i===`notebook`&&(0,S.jsx)(L,{notice:r}),t[19]=r,t[20]=i,t[21]=d):d=t[21];let f=i===`notebook`?`mt-8`:void 0,p;t[22]!==l||t[23]!==f?(p=(0,S.jsx)(P,{stages:l,label:`Notebook startup stages`,className:f}),t[22]=l,t[23]=f,t[24]=p):p=t[24];let m;return t[25]!==d||t[26]!==p?(m=(0,S.jsxs)(S.Fragment,{children:[d,p]}),t[25]=d,t[26]=p,t[27]=m):m=t[27],m}function B(e){let t=(0,x.c)(2),{error:n}=e,r;return t[0]===n?r=t[1]:(r=(0,S.jsx)(`pre`,{tabIndex:0,"aria-label":`Error details`,className:`mt-3 p-3 rounded border bg-muted/30 text-xs text-muted-foreground whitespace-pre min-w-0 max-w-full max-h-52 overflow-auto`,children:n}),t[0]=n,t[1]=r),r}function V(e){let t=(0,x.c)(21),{notice:n,surface:r,children:i}=e,a=r===void 0?`sidebar`:r,o;t[0]===n?o=t[1]:(o=I(n),t[0]=n,t[1]=o);let s=o,c=!n.pending&&!n.ready,l;t[2]!==c||t[3]!==n||t[4]!==s||t[5]!==a?(l=s?(0,S.jsx)(z,{notice:n,surface:a}):(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,role:`status`,children:[(0,S.jsx)(R,{notice:n}),(0,S.jsx)(`h2`,{className:d(a===`notebook`&&`text-base`,c?`font-medium text-(--red-11)`:`text-foreground`),children:n.title})]}),t[2]=c,t[3]=n,t[4]=s,t[5]=a,t[6]=l):l=t[6];let u;t[7]!==c||t[8]!==n.description||t[9]!==s||t[10]!==a?(u=(c||!s&&a===`notebook`)&&(0,S.jsx)(`p`,{className:d(`mt-2`,c&&`text-foreground`),children:n.description}),t[7]=c,t[8]=n.description,t[9]=s,t[10]=a,t[11]=u):u=t[11];let f;t[12]!==n.error||t[13]!==n.sandbox||t[14]!==a?(f=n.error&&(a===`sidebar`||!n.sandbox)&&(0,S.jsx)(B,{error:n.error}),t[12]=n.error,t[13]=n.sandbox,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==i||t[17]!==l||t[18]!==u||t[19]!==f?(p=(0,S.jsxs)(`div`,{className:`min-w-0 text-sm`,children:[l,u,f,i]}),t[16]=i,t[17]=l,t[18]=u,t[19]=f,t[20]=p):p=t[20],p}var H=t(null),U=t(e=>{let t=e(A);return{preparationId:e(w)?.operation_id,error:t&&!t.pending?t.error??t.title:null}}),W=t(e=>{let t=e(U),n=e(H);return n&&n.preparationId===t.preparationId&&n.error===t.error?n.expanded:e(A)!==null},(e,t,n)=>{t(H,{...e(U),expanded:n})});export{I as a,A as c,C as d,D as f,R as i,w as l,V as n,N as o,T as p,B as r,M as s,W as t,O as u};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n}from"./useEvent-BDjgaBtz.js";import{t as r}from"./react-DVplv7_D.js";import{co as i}from"./cells-SvbLY10y.js";import{t as a}from"./compiler-runtime-BrajqUja.js";import{t as o}from"./useEventListener-DPOTkksd.js";import{T as s,_ as c,w as l,x as u}from"./config-7IjqNuVp.js";import{t as d}from"./cn-ldLVeaqm.js";import{t as f}from"./jsx-runtime-B74pBk57.js";import{t as p}from"./circle-B0vOU-Dh.js";import{t as m}from"./arrow-down-C9Bslqr3.js";import{t as h}from"./check-BQNapYaf.js";import{i as g}from"./useNumberFormatter-D7O_26UI.js";import{t as _}from"./spinner-DyNE-o8o.js";import{t as v}from"./copy-icon-Craaocbu.js";import{i as y,t as b}from"./state-CrLrURYG.js";var x=a(),S=f(),C=t(null),w=t(e=>e(y).environments.kernel.operations.findLast(e=>e.action===`prepare`)),T=t(e=>{let t=e(y).environments.kernel.operations;return t.findLast(e=>e.action===`sync`&&e.status.kind===`running`)??t.findLast(e=>e.action===`sync`)}),E=t(null),D=t(e=>{let t=e(T),n=e(E),r=n&&n.operation===t&&t?.status.kind!==`running`?n.state:t?.status??{kind:`idle`};return e(y).environments.kernel.restart_required&&(r.kind===`idle`||r.kind===`succeeded`)?{kind:`restart-required`,reason:`Dependency changes are saved; restart the kernel to apply them.`}:r},(e,t,n)=>{t(E,{state:n,operation:e(T)})}),O=t(null),k=e(r(),1),A=t(e=>{let t=e(c),n=!!e(C)?.backend,r=e(D),i=r.kind===`running`,a=r.kind===`restart-required`,o=r.kind===`failed`?r.error:r.kind===`cancelled`?`Sandbox sync was interrupted.`:a?r.reason:null;if(n&&(i||o!==null)&&t.state===s.OPEN)return{kind:`sync`,sandbox:n,title:i?`Syncing sandbox…`:a?`Sandbox restart required`:`Sandbox sync failed`,description:i?`Applying the saved manifest to this notebook’s environment.`:a?`Restart the kernel to use the updated environment.`:`Review the error details, then try again.`,pending:i,error:o};if(t.state===s.CONNECTING)return{kind:t.phase===`reconnecting`?`connection`:`startup`,phase:t.phase,sandbox:n,...t.phase?{"preparing-environment":{title:`Preparing environment…`,description:`Getting this notebook’s Python environment ready. The first start can take a few minutes.`},"starting-kernel":{title:`Starting kernel…`,description:`The environment is prepared. Waiting for the Python kernel to connect to this notebook.`},reconnecting:{title:`Reconnecting…`,description:`The connection was interrupted. Your notebook and existing outputs stay visible while the kernel reconnects.`}}[t.phase]:{title:`Connecting…`,description:`Waiting for the notebook’s kernel to connect.`},pending:!0,error:null};if(t.state===s.CLOSED){let r=t.code===l.KERNEL_STARTUP_ERROR,i=n&&r&&t.phase===`preparing-environment`;return{kind:r?`startup`:`connection`,phase:t.phase,sandbox:n,title:i?`Sandbox setup failed`:r?`Kernel failed to start`:t.reason,description:i?`The notebook can’t run yet.`:r?`The Python kernel could not start. Check the error details, then try again.`:`The connection to the notebook’s kernel was lost.`,pending:!1,error:r?e(b)??t.reason:null}}return null});function j(e){let t=e.ownerDocument.getSelection();return t&&!t.isCollapsed&&t.containsNode(e,!0)}function M(e){let t=(0,x.c)(44),{logs:n,label:r,state:i}=e,a=i===void 0?`running`:i,[s,c]=(0,k.useState)(!1),[l,u]=(0,k.useState)(!0),f=(0,k.useRef)(null),p=(0,k.useRef)(null),h=(0,k.useId)(),_=n.trimEnd().split(/\r?\n/),y=a===`failed`?`text-foreground`:a===`running`?`last:text-foreground`:void 0,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>{e.key===`Escape`&&(e.preventDefault(),c(!1),p.current?.focus())},t[0]=b):b=t[0],o(f,`keydown`,b);let C;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{f.current&&j(f.current)&&u(!1)},t[1]=C):C=t[1],o(document,`selectionchange`,C);let w,T;if(t[2]!==s||t[3]!==l||t[4]!==n?(w=()=>{let e=f.current;if(!e)return;let t=e.textContent??``;n.startsWith(t)?n.length>t.length&&e.append(document.createTextNode(n.slice(t.length))):e.textContent=n,s&&l&&!j(e)&&(e.scrollTop=e.scrollHeight)},T=[n,s,l],t[2]=s,t[3]=l,t[4]=n,t[5]=w,t[6]=T):(w=t[5],T=t[6]),(0,k.useLayoutEffect)(w,T),!n.trim())return null;let E=s?`bg-muted/40`:`hover:bg-muted/40`,D;t[7]===E?D=t[8]:(D=d(`relative mt-2.5 min-w-0 contain-inline-size rounded text-muted-foreground`,E),t[7]=E,t[8]=D);let O=s&&`flex items-center pr-1`,A;t[9]===O?A=t[10]:(A=d(O),t[9]=O,t[10]=A);let M=`${s?`Collapse`:`Expand`} ${r}`,N=s?`Collapse output`:`Expand output`,P=s&&`items-center justify-between gap-2 text-xs hover:text-foreground`,F;t[11]===P?F=t[12]:(F=d(`flex w-full min-w-0 rounded px-2.5 py-1 text-left focus-visible:outline-2 focus-visible:outline-ring`,P),t[11]=P,t[12]=F);let I;t[13]===s?I=t[14]:(I=()=>{c(!s),u(!0)},t[13]=s,t[14]=I);let L=s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`span`,{className:`leading-5`,children:`Logs`}),(0,S.jsx)(g,{className:`size-3.5 shrink-0`,"aria-hidden":!0})]}):(0,S.jsx)(`span`,{className:d(`min-w-0 flex-1 font-mono text-[11px] leading-5`,_.length>1&&`[mask-image:linear-gradient(to_bottom,transparent,#000_70%)]`),"aria-hidden":!0,children:_.slice(-3).map((e,t)=>(0,S.jsx)(`span`,{className:d(`block truncate`,y),children:e||`\xA0`},t))}),R;t[15]!==s||t[16]!==h||t[17]!==M||t[18]!==N||t[19]!==F||t[20]!==I||t[21]!==L?(R=(0,S.jsx)(`button`,{ref:p,type:`button`,"aria-label":M,"aria-expanded":s,"aria-controls":h,title:N,className:F,onClick:I,children:L}),t[15]=s,t[16]=h,t[17]=M,t[18]=N,t[19]=F,t[20]=I,t[21]=L,t[22]=R):R=t[22];let z;t[23]!==s||t[24]!==r||t[25]!==n?(z=s&&(0,S.jsx)(v,{value:n,ariaLabel:`Copy ${r}`,tooltip:`Copy output`,className:`size-3.5`,buttonClassName:`size-6 shrink-0 flex items-center justify-center rounded hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring`}),t[23]=s,t[24]=r,t[25]=n,t[26]=z):z=t[26];let B;t[27]!==R||t[28]!==z||t[29]!==A?(B=(0,S.jsxs)(`div`,{className:A,children:[R,z]}),t[27]=R,t[28]=z,t[29]=A,t[30]=B):B=t[30];let V=!s,H;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{let t=e.currentTarget;u(!j(t)&&t.scrollHeight-t.scrollTop-t.clientHeight<12)},t[31]=H):H=t[31];let U;t[32]!==r||t[33]!==h||t[34]!==V?(U=(0,S.jsx)(`pre`,{id:h,ref:f,hidden:V,tabIndex:0,"aria-label":r,className:`max-h-48 overflow-auto overscroll-contain whitespace-pre px-2.5 pb-2.5 font-mono text-[11px] leading-5 scrollbar-thin focus-visible:outline-2 focus-visible:outline-ring`,onScroll:H}),t[32]=r,t[33]=h,t[34]=V,t[35]=U):U=t[35];let W;t[36]!==s||t[37]!==l?(W=s&&!l&&(0,S.jsxs)(`button`,{type:`button`,className:`absolute bottom-2 left-1/2 -translate-x-1/2 flex items-center gap-1 whitespace-nowrap rounded-full border bg-background px-2 py-1 text-xs shadow-xs hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring`,onClick:()=>{let e=f.current;e&&(j(e)&&e.ownerDocument.getSelection()?.removeAllRanges(),e.focus({preventScroll:!0})),u(!0)},children:[(0,S.jsx)(m,{className:`size-3`,"aria-hidden":!0}),`Jump to latest`]}),t[36]=s,t[37]=l,t[38]=W):W=t[38];let G;return t[39]!==B||t[40]!==U||t[41]!==W||t[42]!==D?(G=(0,S.jsxs)(`div`,{className:D,children:[B,U,W]}),t[39]=B,t[40]=U,t[41]=W,t[42]=D,t[43]=G):G=t[43],G}function N(e){let t=(0,x.c)(10),{state:n,variant:r}=e;if((r===void 0?`icon`:r)===`dot`){let e;t[0]===n?e=t[1]:(e=d(`size-1.5 shrink-0 rounded-full`,{waiting:`bg-muted-foreground`,running:`bg-muted-foreground motion-safe:animate-pulse`,succeeded:`bg-(--grass-9)`,failed:`bg-(--red-9)`}[n]),t[0]=n,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,S.jsx)(`span`,{"aria-hidden":!0,className:e}),t[2]=e,t[3]=r),r}let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a={waiting:p,running:_,succeeded:h,failed:i},t[4]=a):a=t[4];let o=a[n],s;t[5]===n?s=t[6]:(s=d(`size-4 shrink-0`,{waiting:`text-muted-foreground/50`,running:`motion-reduce:animate-none`,succeeded:`text-(--grass-11)`,failed:`text-(--red-11)`}[n]),t[5]=n,t[6]=s);let c;return t[7]!==o||t[8]!==s?(c=(0,S.jsx)(o,{"aria-hidden":!0,className:s}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function P(e){let t=(0,x.c)(10),{stages:n,label:r,className:i}=e,a;t[0]===i?a=t[1]:(a=d(`space-y-6`,i),t[0]=i,t[1]=a);let o;if(t[2]!==n){let e;t[4]===n.length?e=t[5]:(e=(e,t)=>(0,S.jsxs)(`li`,{"aria-current":e.state===`running`||e.state===`failed`?`step`:void 0,className:`relative flex items-start gap-3`,children:[t<n.length-1&&(0,S.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-2 top-4.5 -bottom-6.5 border-l border-border`}),(0,S.jsx)(`span`,{className:`mt-0.5 text-muted-foreground`,children:(0,S.jsx)(N,{state:e.state})}),(0,S.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,S.jsx)(`div`,{className:d(`text-sm`,e.state===`failed`?`text-(--red-11)`:e.state===`waiting`?`text-muted-foreground`:`text-foreground`),children:e.title}),(0,S.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e.description}),e.details]})]},e.id),t[4]=n.length,t[5]=e),o=n.map(e),t[2]=n,t[3]=o}else o=t[3];let s;return t[6]!==r||t[7]!==a||t[8]!==o?(s=(0,S.jsx)(`ol`,{"aria-label":r,className:a,children:o}),t[6]=r,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}var F=[{phase:`preparing-environment`,titles:{succeeded:`Environment prepared`,failed:`Environment setup failed`,running:`Preparing environment`,waiting:`Prepare environment`},descriptions:{succeeded:`Python and dependencies are available.`,failed:`Setup could not finish.`,running:`Set up Python and dependencies.`,waiting:`Set up Python and dependencies.`}},{phase:`starting-kernel`,titles:{succeeded:`Kernel started`,failed:`Kernel failed to start`,running:`Starting kernel`,waiting:`Start kernel`},descriptions:{succeeded:`The notebook is ready to run.`,failed:`The kernel could not connect.`,running:`Connecting to this notebook.`,waiting:`After the environment is ready.`}}];function I(e){return e.kind===`startup`&&(!e.sandbox||e.ready||e.phase===`preparing-environment`||e.phase===`starting-kernel`)}function L(e){let t=(0,x.c)(10),{notice:n}=e,r;t[0]===n.title?r=t[1]:(r=(0,S.jsx)(`output`,{className:`sr-only`,children:n.title}),t[0]=n.title,t[1]=r);let i=n.ready?`Your notebook is ready`:`Getting your notebook ready`,a;t[2]===i?a=t[3]:(a=(0,S.jsx)(`h2`,{className:`text-foreground font-heading text-2xl leading-8 tracking-tight font-normal`,children:i}),t[2]=i,t[3]=a);let o=n.ready?n.sandbox?`Your environment and kernel are ready.`:`Your kernel is ready.`:n.pending?n.sandbox?`Preparing Python and dependencies for this notebook.`:`Connecting to this notebook’s Python kernel.`:`Review the setup details below to continue.`,s;t[4]===o?s=t[5]:(s=(0,S.jsx)(`p`,{className:`text-muted-foreground mt-3 text-sm leading-6`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==r||t[7]!==a||t[8]!==s?(c=(0,S.jsxs)(`header`,{children:[r,a,s]}),t[6]=r,t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function R(e){let t=(0,x.c)(2),{notice:n}=e,r=n.ready?`succeeded`:n.pending?`running`:`failed`,i;return t[0]===r?i=t[1]:(i=(0,S.jsx)(N,{state:r}),t[0]=r,t[1]=i),i}function z(e){let t=(0,x.c)(28),{notice:r,surface:i}=e,a=n(w),o=n(u),s=r.sandbox?r.phase:`starting-kernel`,c;if(t[0]!==s||t[1]!==r.pending||t[2]!==r.ready||t[3]!==r.sandbox||t[4]!==a?.logs||t[5]!==a?.operation_id||t[6]!==o||t[7]!==i){let e;t[9]===r.sandbox?e=t[10]:(e=e=>r.sandbox||e.phase===`starting-kernel`,t[9]=r.sandbox,t[10]=e);let n;t[11]!==s||t[12]!==r.pending||t[13]!==r.ready||t[14]!==a?.logs||t[15]!==a?.operation_id||t[16]!==o||t[17]!==i?(n=e=>{let{phase:t,titles:n,descriptions:c}=e,l=t===`preparing-environment`,u=r.ready||l&&s===`starting-kernel`?`succeeded`:s===t?r.pending?`running`:`failed`:`waiting`,d=l?a?.logs.environment??``:o?.phase===t?o.logs:``;return{id:t,state:u,title:n[u],description:c[u],details:i===`sidebar`&&(0,S.jsx)(M,{logs:d,state:u===`waiting`?`succeeded`:u,label:l?`environment preparation output`:`kernel startup output`},a?.operation_id)}},t[11]=s,t[12]=r.pending,t[13]=r.ready,t[14]=a?.logs,t[15]=a?.operation_id,t[16]=o,t[17]=i,t[18]=n):n=t[18],c=F.filter(e).map(n),t[0]=s,t[1]=r.pending,t[2]=r.ready,t[3]=r.sandbox,t[4]=a?.logs,t[5]=a?.operation_id,t[6]=o,t[7]=i,t[8]=c}else c=t[8];let l=c,d;t[19]!==r||t[20]!==i?(d=i===`notebook`&&(0,S.jsx)(L,{notice:r}),t[19]=r,t[20]=i,t[21]=d):d=t[21];let f=i===`notebook`?`mt-8`:void 0,p;t[22]!==l||t[23]!==f?(p=(0,S.jsx)(P,{stages:l,label:`Notebook startup stages`,className:f}),t[22]=l,t[23]=f,t[24]=p):p=t[24];let m;return t[25]!==d||t[26]!==p?(m=(0,S.jsxs)(S.Fragment,{children:[d,p]}),t[25]=d,t[26]=p,t[27]=m):m=t[27],m}function B(e){let t=(0,x.c)(2),{error:n}=e,r;return t[0]===n?r=t[1]:(r=(0,S.jsx)(`pre`,{tabIndex:0,"aria-label":`Error details`,className:`mt-3 p-3 rounded border bg-muted/30 text-xs text-muted-foreground whitespace-pre min-w-0 max-w-full max-h-52 overflow-auto`,children:n}),t[0]=n,t[1]=r),r}function V(e){let t=(0,x.c)(21),{notice:n,surface:r,children:i}=e,a=r===void 0?`sidebar`:r,o;t[0]===n?o=t[1]:(o=I(n),t[0]=n,t[1]=o);let s=o,c=!n.pending&&!n.ready,l;t[2]!==c||t[3]!==n||t[4]!==s||t[5]!==a?(l=s?(0,S.jsx)(z,{notice:n,surface:a}):(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,role:`status`,children:[(0,S.jsx)(R,{notice:n}),(0,S.jsx)(`h2`,{className:d(a===`notebook`&&`text-base`,c?`font-medium text-(--red-11)`:`text-foreground`),children:n.title})]}),t[2]=c,t[3]=n,t[4]=s,t[5]=a,t[6]=l):l=t[6];let u;t[7]!==c||t[8]!==n.description||t[9]!==s||t[10]!==a?(u=(c||!s&&a===`notebook`)&&(0,S.jsx)(`p`,{className:d(`mt-2`,c&&`text-foreground`),children:n.description}),t[7]=c,t[8]=n.description,t[9]=s,t[10]=a,t[11]=u):u=t[11];let f;t[12]!==n.error||t[13]!==n.sandbox||t[14]!==a?(f=n.error&&(a===`sidebar`||!n.sandbox)&&(0,S.jsx)(B,{error:n.error}),t[12]=n.error,t[13]=n.sandbox,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==i||t[17]!==l||t[18]!==u||t[19]!==f?(p=(0,S.jsxs)(`div`,{className:`min-w-0 text-sm`,children:[l,u,f,i]}),t[16]=i,t[17]=l,t[18]=u,t[19]=f,t[20]=p):p=t[20],p}var H=t(null),U=t(e=>{let t=e(A);return{preparationId:e(w)?.operation_id,error:t&&!t.pending?t.error??t.title:null}}),W=t(e=>{let t=e(U),n=e(H);return n&&n.preparationId===t.preparationId&&n.error===t.error?n.expanded:e(A)!==null},(e,t,n)=>{t(H,{...e(U),expanded:n})});export{I as a,A as c,C as d,D as f,R as i,w as l,V as n,N as o,T as p,B as r,M as s,W as t,O as u};
@@ -54,7 +54,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
54
54
 
55
55
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function ya(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;ya(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const ba=new Set([`type`,`properties`,`required`,`additionalProperties`]),xa=[`oneOf`,`anyOf`];function Sa(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ca(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ba.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Sa(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}v(n,r,e.length===1?e[0]:Ca(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Sa(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function wa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ba)if(t in e)return;let n=t.filter(e=>xa.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ca(t);else{let e=n[0],i=xa.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Ca([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,ma(e,r))}function Ta(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):ma(i,s),ma(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())ya(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])wa(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}ma(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,v(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Da(t,`input`,e.processors),output:Da(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function L(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return L(r.element,n);if(r.type===`set`)return L(r.valueType,n);if(r.type===`lazy`)return L(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return L(r.innerType,n);if(r.type===`intersection`)return L(r.left,n)||L(r.right,n);if(r.type===`record`||r.type===`map`)return L(r.keyType,n)||L(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:L(r.in,n)||L(r.out,n);if(r.type===`object`){for(let e in r.shape)if(L(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(L(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(L(e,n))return!0;return!!(r.rest&&L(r.rest,n))}return!1}const Ea=(e,t={})=>n=>{let r=ha({...n,processors:t});return I(e,r),va(r,e),Ta(r,e)},Da=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ha({...i??{},target:a,io:t,processors:n});return I(e,o),va(o,e),Ta(o,e)},R=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},z=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Oa=(e,t)=>{R(e,`minimum`,t),z(e,`maximum`,t)},ka=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Aa=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},ja=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ma=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Na=(e,t)=>R(e,`minimum`,t.minimum),Pa=(e,t)=>z(e,`maximum`,t.maximum),Fa=e=>(t,n)=>{Ma(t,n.format);let[r,i]=e[n.format];R(t,`minimum`,r),z(t,`maximum`,i)},Ia={greater_than:(e,t)=>R(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>z(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>ka(e,t.value),number_format:Fa(Me),bigint_format:Fa(Ne),min_length:Na,max_length:Pa,length_equals:(e,t)=>Oa(e,t.length),min_size:Na,max_size:Pa,size_equals:(e,t)=>Oa(e,t.size),string_format:(e,t)=>{Ma(e,t.format),t.pattern&&Aa(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>ja(e,t.mime)};function La(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ia[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&R(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&R(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&z(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&z(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&ka(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&ja(t,i.mime);for(let e of i.patterns??[])Aa(t,e);return t}const Ra={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},za=new Map([[fr,an],[mr,on]]),Ba=e=>za.get(e)??e,Va=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=La(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ra[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Ba);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Ha=(e,t,n,r)=>{n.not={}},Ua=(e,t,n,r)=>{let i=e._zod.def,a=ue(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Wa=(e,t,n,r)=>{ga(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Ga=(e,t,n,r)=>{ga(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Ka=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=La(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=I(a.element,t,{...r,path:[...r.path,`items`]})};function qa(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?qa(t.out):t.type===`catch`?qa(t.innerType):e._zod.optin}const Ja=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&ga(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)v(i.properties,e,I(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?qa(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=I(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ya=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>I(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Xa=(e,t,n,r)=>{let i=e._zod.def,a=I(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=I(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},Za=(e,t,n,r)=>{let i=e._zod.def,a=I(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Qa=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},$a=Symbol();function eo(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(ga(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),$a):JSON.parse(o)}const to=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=eo(i.defaultValue,e,t,n,r);o!==$a&&(n.default=o)},no=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=eo(i.defaultValue,e,t,n,r);o!==$a&&(n._prefault=o)},ro=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{ga(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},io=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;I(o,t,r);let s=t.seen.get(e);s.ref=o},ao=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},oo=(e,t,n,r)=>{let i=e._zod.def;I(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},so=new WeakSet([Object.prototype,Error.prototype]);function co(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const B=O(`ZodError`,(e,t)=>{yt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);so.has(n)||(so.add(n),co(n,`format`,e=>t=>St(e,t)),co(n,`flatten`,e=>t=>xt(e,t)),co(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,fe,2)}),co(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,fe,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),lo=wt(B),uo=Tt(B),fo=Et(B),po=Ot(B),mo=Pt(B),ho=Ft(B),go=It(B),_o=Lt(B),vo=Rt(B),yo=zt(B),bo=Bt(B),xo=Vt(B);function So(){A.localeError||j(hi())}function Co(){A.memoizer||j({memoizer:fi()})}const V=O(`ZodType`,(e,t)=>(So(),N.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(x(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return S(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(js(e,t))},superRefine(e,t){return this.check(Ms(e,t))},overwrite(e){return this.check(F(e))},optional(){return ps(this)},exactOptional(){return hs(this)},nullable(){return _s(this)},nullish(){return ps(_s(this))},nonoptional(e){return Cs(this,e)},array(){return ts(this)},or(e){return as([this,e])},and(e){return ss(this,e)},transform(e){return Ds(this,ds(e))},default(e){return ys(this,e)},prefault(e){return xs(this,e)},catch(e){return Ts(this,e)},pipe(e){return Ds(this,e)},readonly(){return ks(this)},describe(e){let t=this.clone();return yi.add(t,{description:e}),t},meta(...e){if(e.length===0)return yi.get(this);let t=this.clone();return yi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return et(this,`~standard`,{...Pn(this),jsonSchema:{input:Da(this,`input`),output:Da(this,`output`)}})},set"~standard"(e){T(this,`~standard`,e)},parse:function e(t,n){return lo(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await uo(this,t,n,{callee:e})},safeParse(e,t){return fo(this,e,t)},async safeParseAsync(e,t){return po(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){T(this,`spa`,e)},validate(e,t){return jt(this,e,t)},validateAsync(e,t){return Nt(this,e,t)},encode:function e(t,n){return mo(this,t,n,{callee:e})},decode:function e(t,n){return ho(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await go(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await _o(this,t,n,{callee:e})},safeEncode(e,t){return vo(this,e,t)},safeDecode(e,t){return yo(this,e,t)},async safeEncodeAsync(e,t){return bo(this,e,t)},async safeDecodeAsync(e,t){return xo(this,e,t)},toJSONSchema(e){return Ea(this,{})(e)},get description(){return yi.get(this)?.description},get _def(){return this._zod.def}}),wo=O(`_ZodString`,(e,t)=>{Fn.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Va(e,t,n,r)},tt({format:e=>La(e).format??null,minLength:e=>La(e).minimum??null,maxLength:e=>La(e).maximum??null},{regex(...e){return this.check($i(...e))},includes(...e){return this.check(na(...e))},startsWith(...e){return this.check(ra(...e))},endsWith(...e){return this.check(ia(...e))},min(...e){return this.check(Zi(...e))},max(...e){return this.check(Xi(...e))},length(...e){return this.check(Qi(...e))},nonempty(...e){return this.check(Zi(1,...e))},lowercase(e){return this.check(ea(e))},uppercase(e){return this.check(ta(e))},trim(){return this.check(oa())},normalize(...e){return this.check(aa(...e))},toLowerCase(){return this.check(sa())},toUpperCase(){return this.check(ca())},slugify(){return this.check(la())}})),To=O(`ZodString`,(e,t)=>{Fn.init(e,t),wo.init(e,t)},{email(e){return this.check(Si(jo,e))},url(e){return this.check(Oi(Po,e))},jwt(e){return this.check(Ui(Yo,e))},emoji(e){return this.check(ki(Fo,e))},guid(e){return this.check(Ci(Mo,e))},uuid(e){return this.check(wi(No,e))},uuidv4(e){return this.check(Ti(No,e))},uuidv6(e){return this.check(Ei(No,e))},uuidv7(e){return this.check(Di(No,e))},nanoid(e){return this.check(Ai(Io,e))},cuid(e){return this.check(ji(Lo,e))},cuid2(e){return this.check(Mi(Ro,e))},ulid(e){return this.check(Ni(zo,e))},base64(e){return this.check(Bi(Ko,e))},base64url(e){return this.check(Vi(qo,e))},xid(e){return this.check(Pi(Bo,e))},ksuid(e){return this.check(Fi(Vo,e))},ipv4(e){return this.check(Ii(Ho,e))},ipv6(e){return this.check(Li(Uo,e))},cidrv4(e){return this.check(Ri(Wo,e))},cidrv6(e){return this.check(zi(Go,e))},e164(e){return this.check(Hi(Jo,e))},datetime(e){return this.check(Wi(Do,e))},date(e){return this.check(Gi(Oo,e))},time(e){return this.check(Ki(ko,e))},duration(e){return this.check(qi(Ao,e))}});function Eo(e){return xi(To,e)}const H=O(`ZodStringFormat`,(e,t)=>{P.init(e,t),wo.init(e,t)}),Do=O(`ZodISODateTime`,(e,t)=>{er.init(e,t),H.init(e,t)}),Oo=O(`ZodISODate`,(e,t)=>{tr.init(e,t),H.init(e,t)}),ko=O(`ZodISOTime`,(e,t)=>{nr.init(e,t),H.init(e,t)}),Ao=O(`ZodISODuration`,(e,t)=>{rr.init(e,t),H.init(e,t)}),jo=O(`ZodEmail`,(e,t)=>{Rn.init(e,t),H.init(e,t)}),Mo=O(`ZodGUID`,(e,t)=>{In.init(e,t),H.init(e,t)}),No=O(`ZodUUID`,(e,t)=>{Ln.init(e,t),H.init(e,t)}),Po=O(`ZodURL`,(e,t)=>{Kn.init(e,t),H.init(e,t)}),Fo=O(`ZodEmoji`,(e,t)=>{qn.init(e,t),H.init(e,t)}),Io=O(`ZodNanoID`,(e,t)=>{Jn.init(e,t),H.init(e,t)}),Lo=O(`ZodCUID`,(e,t)=>{Yn.init(e,t),H.init(e,t)}),Ro=O(`ZodCUID2`,(e,t)=>{Xn.init(e,t),H.init(e,t)}),zo=O(`ZodULID`,(e,t)=>{Zn.init(e,t),H.init(e,t)}),Bo=O(`ZodXID`,(e,t)=>{Qn.init(e,t),H.init(e,t)}),Vo=O(`ZodKSUID`,(e,t)=>{$n.init(e,t),H.init(e,t)}),Ho=O(`ZodIPv4`,(e,t)=>{ir.init(e,t),H.init(e,t)}),Uo=O(`ZodIPv6`,(e,t)=>{sr.init(e,t),H.init(e,t)}),Wo=O(`ZodCIDRv4`,(e,t)=>{cr.init(e,t),H.init(e,t)}),Go=O(`ZodCIDRv6`,(e,t)=>{ur.init(e,t),H.init(e,t)}),Ko=O(`ZodBase64`,(e,t)=>{pr.init(e,t),H.init(e,t)}),qo=O(`ZodBase64URL`,(e,t)=>{gr.init(e,t),H.init(e,t)}),Jo=O(`ZodE164`,(e,t)=>{_r.init(e,t),H.init(e,t)}),Yo=O(`ZodJWT`,(e,t)=>{yr.init(e,t),H.init(e,t)}),Xo=O(`ZodUnknown`,(e,t)=>{br.init(e,t),V.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Zo(){return Ji(Xo)}const Qo=O(`ZodNever`,(e,t)=>{xr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ha(e,t,n,r)});function $o(e){return Yi(Qo,e)}const es=O(`ZodArray`,(e,t)=>{Co(),Cr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ka(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Zi(e,t))},nonempty(e){return this.check(Zi(1,e))},max(e,t){return this.check(Xi(e,t))},length(e,t){return this.check(Qi(e,t))},unwrap(){return this.element}});function ts(e,t){return ua(es,e,t)}const ns=O(`ZodObject`,(e,t)=>{Co(),kr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r),ot(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return ls(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(x(this._zod.def,{catchall:e}))},passthrough(){return this.clone(x(this._zod.def,{catchall:Zo()}))},loose(){return this.clone(x(this._zod.def,{catchall:Zo()}))},strict(){return this.clone(x(this._zod.def,{catchall:$o()}))},strip(){return this.clone(x(this._zod.def,{catchall:void 0}))},extend(e){return Le(this,e)},safeExtend(e){return ze(this,e)},merge(e){return Be(this,e)},pick(e){return Pe(this,e)},omit(e){return Ie(this,e)},partial(...e){return Ve(fs,this,e[0])},exactPartial(...e){return Ve(ms,this,e[0],`exactPartial`)},required(...e){return He(Ss,this,e[0])}});function rs(e,t){let n={type:`object`,shape:e??{},...C(t)};return new ns(n)}const is=O(`ZodUnion`,(e,t)=>{jr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ya(e,t,n,r),e.options=t.options});function as(e,t){return new is({type:`union`,options:e,...C(t)})}const os=O(`ZodIntersection`,(e,t)=>{Mr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xa(e,t,n,r)});function ss(e,t){return new os({type:`intersection`,left:e,right:t})}const cs=O(`ZodEnum`,(e,t)=>{Fr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new cs({...t,checks:[],...C(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new cs({...t,checks:[],...C(r),entries:i})}});function ls(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new cs({type:`enum`,entries:n,...C(t)})}const us=O(`ZodTransform`,(e,t)=>{Co(),Ir.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ga(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ft(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Qe(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Qe(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ds(e){return new us({type:`transform`,transform:e})}const fs=O(`ZodOptional`,(e,t)=>{Rr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ps(e){return new fs({type:`optional`,innerType:e})}const ms=O(`ZodExactOptional`,(e,t)=>{zr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hs(e){return new ms({type:`optional`,innerType:e})}const gs=O(`ZodNullable`,(e,t)=>{Br.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _s(e){return new gs({type:`nullable`,innerType:e})}const vs=O(`ZodDefault`,(e,t)=>{Vr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ys(e,t){return new vs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():De(t)}})}const bs=O(`ZodPrefault`,(e,t)=>{Ur.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xs(e,t){return new bs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():De(t)}})}const Ss=O(`ZodNonOptional`,(e,t)=>{Wr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cs(e,t){return new Ss({type:`nonoptional`,innerType:e,...C(t)})}const ws=O(`ZodCatch`,(e,t)=>{qr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ts(e,t){return new ws({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:st(t)})}const Es=O(`ZodPipe`,(e,t)=>{Jr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e.in=t.in,e.out=t.out});function Ds(e,t){return new Es({type:`pipe`,in:e,out:t})}const Os=O(`ZodReadonly`,(e,t)=>{Xr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ks(e){return new Os({type:`readonly`,innerType:e})}const As=O(`ZodCustom`,(e,t)=>{Qr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wa(e,t,n,r)});function js(e,t={}){return da(As,e,t)}function Ms(e,t){return fa(e,t)}const Ns=rs({detail:Eo()}),Ps=rs({error:Eo()});function Fs(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=Ns.safeParse(e.cause);return t.success?t.data.detail:Is(e.message)}if(typeof e==`object`){let t=Ns.safeParse(e);if(t.success)return t.data.detail;let n=Ps.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function Is(e){let t=Ls(e);if(!t)return e;let n=Ns.safeParse(t);if(n.success)return n.data.detail;let r=Ps.safeParse(t);return r.success?r.data.error:e}function Ls(e){try{return JSON.parse(e)}catch{return e}}function Rs(e){return e.FS}const zs=`notebook.py`,Bs=`/marimo`,U={NOTEBOOK_FILENAME:zs,HOME_DIR:Bs,createHomeDir:e=>{let t=Rs(e);try{t.mkdirTree(Bs)}catch{}t.chdir(Bs)},mountFS:e=>{globalThis.origin!==`null`&&Rs(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Bs)},populateFilesToMemory:async e=>{await Vs(e,!0)},persistFilesToRemote:async e=>{await Vs(e,!1)},readNotebook:e=>{let t=Rs(e),n=`${Bs}/${zs}`;return se(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=Rs(t),a=e=>{try{return se(i.readFile(e))}catch{return null}};if(n&&n!==zs){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(zs,r),{code:r,filename:zs}}};function Vs(e,t){return new Promise((n,r)=>{Rs(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}var Hs=Object.defineProperty,W=(e,t)=>Hs(e,`name`,{value:t,configurable:!0}),Us=(e=>typeof l<`u`?l:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof l<`u`?l:e)[t]}):e)(function(e){if(typeof l<`u`)return l.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),Ws=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function Gs(e){return!isNaN(parseFloat(e))&&isFinite(e)}W(Gs,`_isNumber`);function G(e){return e.charAt(0).toUpperCase()+e.substring(1)}W(G,`_capitalize`);function Ks(e){return function(){return this[e]}}W(Ks,`_getter`);var K=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],q=[`columnNumber`,`lineNumber`],J=[`fileName`,`functionName`,`source`],qs=K.concat(q,J,[`args`],[`evalOrigin`]);function Y(e){if(e)for(var t=0;t<qs.length;t++)e[qs[t]]!==void 0&&this[`set`+G(qs[t])](e[qs[t]])}for(W(Y,`StackFrame`),Y.prototype={getArgs:W(function(){return this.args},`getArgs`),setArgs:W(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:W(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:W(function(e){if(e instanceof Y)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new Y(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:W(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},Y.fromString=W(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new Y({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),X=0;X<K.length;X++)Y.prototype[`get`+G(K[X])]=Ks(K[X]),Y.prototype[`set`+G(K[X])]=function(e){return function(t){this[e]=!!t}}(K[X]);var X;for(Z=0;Z<q.length;Z++)Y.prototype[`get`+G(q[Z])]=Ks(q[Z]),Y.prototype[`set`+G(q[Z])]=function(e){return function(t){if(!Gs(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(q[Z]);var Z;for(Q=0;Q<J.length;Q++)Y.prototype[`get`+G(J[Q])]=Ks(J[Q]),Y.prototype[`set`+G(J[Q])]=function(e){return function(t){this[e]=String(t)}}(J[Q]);var Q,Js=Y;function Ys(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:W(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:W(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:W(function(t){return t.stack.split(`
56
56
  `).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new Js({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:W(function(e){return e.stack.split(`
57
- `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new Js({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new Js({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}W(Ys,`ErrorStackParser`);var Xs=new Ys;function Zs(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:Qs({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}W(Zs,`getGlobalRuntimeEnv`);var $=Zs();function Qs(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof Us==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,i=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,a=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(a&&$s())throw Error(`Classic web workers are not supported`);let o={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:i,IN_BROWSER_WEB_WORKER:a,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(o.IN_BROWSER_MAIN_THREAD||o.IN_BROWSER_WEB_WORKER||o.IN_NODE||o.IN_SHELL||o.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(o)}`);return o}W(Qs,`calculateDerivedFlags`);function $s(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}W($s,`isClassicWorker`);var ec,tc,nc,rc;async function ic(){if(!$.IN_NODE||(ec=(await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1))).default,nc=await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1)),rc=await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1))).default,tc=await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1)),cc=tc.sep,typeof Us<`u`))return;let e={fs:nc,crypto:await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}W(ic,`initNodeModules`);function ac(e,t){return tc.resolve(t||`.`,e)}W(ac,`node_resolvePath`);function oc(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}W(oc,`browser_resolvePath`);var sc=$.IN_NODE?ac:$.IN_SHELL?W(e=>e,`resolvePath`):oc,cc;$.IN_NODE||(cc=`/`);function lc(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:rc.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}W(lc,`node_getBinaryResponse`);function uc(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}W(uc,`shell_getBinaryResponse`);function dc(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}W(dc,`browser_getBinaryResponse`);var fc=$.IN_NODE?lc:$.IN_SHELL?uc:dc;async function pc(e,t){let{response:n,binary:r}=fc(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}W(pc,`loadBinaryFile`);var mc=$.IN_NODE?hc:W(async e=>await import(e),`loadScript`);async function hc(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ec.pathToFileURL(e).href)}W(hc,`nodeLoadScript`);async function gc(e){if($.IN_NODE){await ic();let t=await rc.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if($.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}W(gc,`loadLockFile`);async function _c(){if($.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=Xs.parse(e)[0].fileName;if($.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),$.IN_NODE_ESM){let e=await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-CYO_P3S8.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(cc);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return t.slice(0,n)}W(_c,`calculateDirname`);function vc(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}W(vc,`calculateInstallBaseUrl`);function yc(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:W(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:W(async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:W(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}W(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}W(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:W(async e=>{let t=Object.create(null),n=await bc(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:W(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:W((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:W(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:W(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:W(async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:W(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:W(async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=i}W(yc,`initializeNativeFS`);var bc=W(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}W(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`),xc=Ws(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Sc=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(xc);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Cc(){let e=await Sc;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:W(()=>t,`Jsv_GetError_import`),JsvError_Check:W(e=>e===t,`JsvError_Check`)}}W(Cc,`getJsvErrorImport`);function wc(e){let t={config:e,runtimeEnv:$},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ac(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:W(t=>e.indexURL+t,`locateFile`),instantiateWasm:jc(e.indexURL)};return n}W(wc,`createSettings`);function Tc(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}W(Tc,`createHomeDirectory`);function Ec(e){return function(t){Object.assign(t.ENV,e)}}W(Ec,`setEnvironment`);function Dc(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}W(Dc,`callFsInitHook`);function Oc(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}W(Oc,`computeVersionTuple`);function kc(e){let t=pc(e);return async e=>{e.API.pyVersionTuple=Oc(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}W(kc,`installStdlib`);function Ac(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[kc(t),Tc(e.env.HOME),Ec(e.env),yc,...Dc(e.fsInit)]}W(Ac,`getFileSystemInitializationFuncs`);function jc(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=fc(e+`pyodide.asm.wasm`),r=Cc();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}W(jc,`getInstantiateWasmFunc`);var Mc=`314.0.0`;function Nc(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}W(Nc,`withTrailingSlash`);var Pc=Mc;async function Fc(e={}){if(await ic(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await _c();if(t=Nc(sc(t)),e.packageBaseUrl=Nc(e.packageBaseUrl),e.cdnUrl=Nc(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=gc(n),e.packageBaseUrl??=vc(n)}e.indexURL=t,e.packageCacheDir&&=Nc(sc(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`2ff9f3fe6c88624a7e283d5651688da7f6169834ab51663b07be67c0bd43e53e`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}W(Fc,`initializeConfiguration`);function Ic(e){let t=wc(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}W(Ic,`createEmscriptenSettings`);async function Lc(e){return e.createPyodideModule?e.createPyodideModule:(await mc(`${e.indexURL}pyodide.asm.mjs`)).default}W(Lc,`loadWasmScript`);async function Rc(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}W(Rc,`prepareSnapshot`);async function zc(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}W(zc,`instantiatePyodideModule`);function Bc(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.0`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Pc}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}W(Bc,`configureAPI`);function Vc(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}W(Vc,`bootstrapPyodide`);async function Hc(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}W(Hc,`finalizeSetup`);async function Uc(e={}){let t=await Fc(e),n=Ic(t),r=await Lc(t),i=await Rc(t,n),a=await zc(r,n);return Bc(a,t),await Hc(Vc(a,i,t),t)}W(Uc,`loadPyodide`);function Wc(e,t){if(!e)throw Error(t)}function Gc(e){return`marimo-base`}const Kc=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return(async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}})}logSpans(){}};globalThis.t=Kc;const qc=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function Jc(e,t){return e.includes(`mo.sql`)||qc.test(e)||t?.has(`duckdb`)===!0}function Yc(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Xc=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return Wc(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Uc)throw Error(`loadPyodide is not defined`);let t=Kc.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await Uc({packages:[`micropip`,`msgspec`,Gc(e.version),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw _.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Kc.startSpan(`mountFilesystem`);return U.createHomeDir(this.requirePyodide),U.mountFS(this.requirePyodide),await U.populateFilesToMemory(this.requirePyodide),t.end(`ok`),U.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let t=this.sessionGeneration,{code:n,filename:r,onMessage:i,queryParameters:a,userConfig:o}=e;self.messenger={callback:i},self.query_params=a,self.user_config=o;let s=Kc.startSpan(`startSession.runPython`),c=r||U.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
57
+ `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new Js({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new Js({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}W(Ys,`ErrorStackParser`);var Xs=new Ys;function Zs(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:Qs({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}W(Zs,`getGlobalRuntimeEnv`);var $=Zs();function Qs(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof Us==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,i=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,a=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(a&&$s())throw Error(`Classic web workers are not supported`);let o={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:i,IN_BROWSER_WEB_WORKER:a,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(o.IN_BROWSER_MAIN_THREAD||o.IN_BROWSER_WEB_WORKER||o.IN_NODE||o.IN_SHELL||o.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(o)}`);return o}W(Qs,`calculateDerivedFlags`);function $s(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}W($s,`isClassicWorker`);var ec,tc,nc,rc;async function ic(){if(!$.IN_NODE||(ec=(await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1))).default,nc=await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1)),rc=await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1)),(await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1))).default,tc=await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1)),cc=tc.sep,typeof Us<`u`))return;let e={fs:nc,crypto:await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1)),ws:await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1)),child_process:await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1))};globalThis.require=function(t){return e[t]}}W(ic,`initNodeModules`);function ac(e,t){return tc.resolve(t||`.`,e)}W(ac,`node_resolvePath`);function oc(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}W(oc,`browser_resolvePath`);var sc=$.IN_NODE?ac:$.IN_SHELL?W(e=>e,`resolvePath`):oc,cc;$.IN_NODE||(cc=`/`);function lc(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:rc.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}W(lc,`node_getBinaryResponse`);function uc(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}W(uc,`shell_getBinaryResponse`);function dc(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}W(dc,`browser_getBinaryResponse`);var fc=$.IN_NODE?lc:$.IN_SHELL?uc:dc;async function pc(e,t){let{response:n,binary:r}=fc(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}W(pc,`loadBinaryFile`);var mc=$.IN_NODE?hc:W(async e=>await import(e),`loadScript`);async function hc(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(ec.pathToFileURL(e).href)}W(hc,`nodeLoadScript`);async function gc(e){if($.IN_NODE){await ic();let t=await rc.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if($.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}W(gc,`loadLockFile`);async function _c(){if($.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=Xs.parse(e)[0].fileName;if($.IN_NODE&&!t.startsWith(`file://`)&&(t=`file://${t}`),$.IN_NODE_ESM){let e=await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1));return(await import(`./__vite-browser-external-BynxqS4w.js`).then(e=>c(e.default,1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(cc);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return t.slice(0,n)}W(_c,`calculateDirname`);function vc(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}W(vc,`calculateInstallBaseUrl`);function yc(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:W(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:W(async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:W(e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}W(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}W(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:W(async e=>{let t=Object.create(null),n=await bc(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:W(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:W((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:W(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:W(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:W(async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:W(async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:W(async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=i}W(yc,`initializeNativeFS`);var bc=W(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}W(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`),xc=Ws(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),Sc=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(xc);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function Cc(){let e=await Sc;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:W(()=>t,`Jsv_GetError_import`),JsvError_Check:W(e=>e===t,`JsvError_Check`)}}W(Cc,`getJsvErrorImport`);function wc(e){let t={config:e,runtimeEnv:$},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ac(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:W(t=>e.indexURL+t,`locateFile`),instantiateWasm:jc(e.indexURL)};return n}W(wc,`createSettings`);function Tc(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}W(Tc,`createHomeDirectory`);function Ec(e){return function(t){Object.assign(t.ENV,e)}}W(Ec,`setEnvironment`);function Dc(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}W(Dc,`callFsInitHook`);function Oc(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}W(Oc,`computeVersionTuple`);function kc(e){let t=pc(e);return async e=>{e.API.pyVersionTuple=Oc(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}W(kc,`installStdlib`);function Ac(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[kc(t),Tc(e.env.HOME),Ec(e.env),yc,...Dc(e.fsInit)]}W(Ac,`getFileSystemInitializationFuncs`);function jc(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=fc(e+`pyodide.asm.wasm`),r=Cc();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}W(jc,`getInstantiateWasmFunc`);var Mc=`314.0.0`;function Nc(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}W(Nc,`withTrailingSlash`);var Pc=Mc;async function Fc(e={}){if(await ic(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await _c();if(t=Nc(sc(t)),e.packageBaseUrl=Nc(e.packageBaseUrl),e.cdnUrl=Nc(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.0/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=gc(n),e.packageBaseUrl??=vc(n)}e.indexURL=t,e.packageCacheDir&&=Nc(sc(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`2ff9f3fe6c88624a7e283d5651688da7f6169834ab51663b07be67c0bd43e53e`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}W(Fc,`initializeConfiguration`);function Ic(e){let t=wc(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}W(Ic,`createEmscriptenSettings`);async function Lc(e){return e.createPyodideModule?e.createPyodideModule:(await mc(`${e.indexURL}pyodide.asm.mjs`)).default}W(Lc,`loadWasmScript`);async function Rc(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}W(Rc,`prepareSnapshot`);async function zc(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}W(zc,`instantiatePyodideModule`);function Bc(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.0`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Pc}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}W(Bc,`configureAPI`);function Vc(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}W(Vc,`bootstrapPyodide`);async function Hc(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}W(Hc,`finalizeSetup`);async function Uc(e={}){let t=await Fc(e),n=Ic(t),r=await Lc(t),i=await Rc(t,n),a=await zc(r,n);return Bc(a,t),await Hc(Vc(a,i,t),t)}W(Uc,`loadPyodide`);function Wc(e,t){if(!e)throw Error(t)}function Gc(){return`marimo-base`}const Kc=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}}}logSpans(){}};globalThis.t=Kc;const qc=/(^|\n)\s*(?:import\s+[^\n#]*\bduckdb\b|from\s+duckdb\b|[^\n#]*\bduckdb\s*\.)/;function Jc(e,t){return e.includes(`mo.sql`)||qc.test(e)||t?.has(`duckdb`)===!0}function Yc(e){return e.trim().split(/[[<>=!~;@\s]/)[0]}var Xc=class{pyodide=null;packageLoadQueue=Promise.resolve();sessionGeneration=0;activeSessionStops=new Set;get requirePyodide(){return Wc(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Uc)throw Error(`loadPyodide is not defined`);let t=Kc.startSpan(`loadPyodide`);try{let n=e.pyodideIndexUrl??`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`,r=await Uc({packages:[`micropip`,`msgspec`,Gc(),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:e.pyodideLockfileUrl??`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:n,packageBaseUrl:n,convertNullToNone:!0});if(e.pypiIndexUrl){let t=r.pyimport(`micropip`);try{t.set_index_urls(e.pypiIndexUrl)}finally{t.destroy()}}return this.pyodide=r,t.end(`ok`),r}catch(e){throw _.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=Kc.startSpan(`mountFilesystem`);return U.createHomeDir(this.requirePyodide),U.mountFS(this.requirePyodide),await U.populateFilesToMemory(this.requirePyodide),t.end(`ok`),U.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let t=this.sessionGeneration,{code:n,filename:r,onMessage:i,queryParameters:a,userConfig:o}=e;self.messenger={callback:i},self.query_params=a,self.user_config=o;let s=Kc.startSpan(`startSession.runPython`),c=r||U.NOTEBOOK_FILENAME,l=this.requirePyodide.runPython(`
58
58
  print("[py] Starting marimo...")
59
59
  import asyncio
60
60
  import gc
@@ -90,6 +90,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
90
90
  if task is not None:
91
91
  await asyncio.gather(task, return_exceptions=True)
92
92
  if bridge is not None:
93
+ bridge.close()
93
94
  bridge.session = None
94
95
  task = None
95
96
  kernel_task = None
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as ee,t as r,u as te}from"./useEvent-BDjgaBtz.js";import{t as i}from"./react-DVplv7_D.js";import{D as ne,I as re,Qr as a,Rt as ie,So as o,xo as ae}from"./cells-SvbLY10y.js";import{t as s}from"./compiler-runtime-BrajqUja.js";import{C as oe}from"./config-CXnC3MRv.js";import{_ as se}from"./useEventListener-DPOTkksd.js";import{n as ce}from"./utils-B4K466FK.js";import{O as c}from"./config-7IjqNuVp.js";import{t as le}from"./cn-ldLVeaqm.js";import{t as l}from"./jsx-runtime-B74pBk57.js";import{n as ue}from"./JsonOutput-CfEBzaqW.js";import{t as u}from"./tooltip-B5lAA_jn.js";import{t as d}from"./button-Cl7haVNh.js";import{t as f}from"./createLucideIcon-DfJ2oMlA.js";import{l as de}from"./layout-DvXJxBiL.js";import{n as fe,t as pe}from"./LazyAnyLanguageCodeMirror-DoxWX_Wp.js";import{s as me}from"./toDate-DOj9Q6uC.js";import{t as he}from"./cell-editor-BLpOlLnM.js";import{t as ge}from"./spinner-DyNE-o8o.js";import{i as _e}from"./useDeleteCell-CjewKeSr.js";import{r as ve}from"./requests-BIFR-h4M.js";import{r as ye}from"./useTheme-C2dnh2vM.js";import{n as be,r as xe,t as Se}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{a as Ce}from"./renderShortcut-Bxv9ZLnD.js";import{n as we,r as Te}from"./panel-context-C2QXpKfx.js";import{t as Ee}from"./kiosk-mode-Cbxffiz9.js";var De=f(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),Oe=f(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),p=e(i(),1),ke=s(),m=15,h=c(`marimo:scratchpadHistory:v1`,[],a),Ae=n(!1),je=n(null,(e,t,n)=>{if(n=n.trim(),!n)return;let ee=e(h);t(h,[n,...ee.filter(e=>e!==n)].slice(0,m))}),g=l(),Me={hide_code:!1,disabled:!1},_=()=>{let e=(0,ke.c)(60),n=re(),[i]=oe(),{theme:a}=ye(),s=(0,p.useRef)(null),c=ie(),{createNewCell:l,updateCellCode:f}=ne(),{sendRunScratchpad:m}=ve(),_=we(),v=Te(),y=n.cellRuntime[o],b=y?.output,x=y?.status,S=y?.consoleOutputs,C=n.cellData.__scratch__?.code??``,w=te(je),[T,E]=t(Ae),D=ee(h),O;e[0]!==w||e[1]!==C||e[2]!==m?(O=()=>{m({code:C}),w(C)},e[0]=w,e[1]=C,e[2]=m,e[3]=O):O=e[3];let k=r(O),A;e[4]!==C||e[5]!==l||e[6]!==c?(A=()=>{C.trim()&&l({code:C,before:!1,cellId:c??`__end__`})},e[4]=C,e[5]=l,e[6]=c,e[7]=A):A=e[7];let j=r(A),M;e[8]!==m||e[9]!==f?(M=()=>{f({cellId:o,code:``,formattingChange:!1}),m({code:``});let e=s.current;e&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:``}})},e[8]=m,e[9]=f,e[10]=M):M=e[10];let N=r(M),P;e[11]!==E||e[12]!==f?(P=e=>{E(!1),f({cellId:o,code:e,formattingChange:!1});let t=s.current;t&&(t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e}}),t.focus())},e[11]=E,e[12]=f,e[13]=P):P=e[13];let F=r(P),[I,Ne]=(0,p.useState)(),L;e[14]!==F||e[15]!==D||e[16]!==T||e[17]!==a?(L=()=>T?(0,g.jsx)(`div`,{className:`absolute inset-0 z-100 bg-background p-3 border-none overflow-auto`,children:(0,g.jsx)(`div`,{className:`overflow-auto flex flex-col gap-3`,children:D.map(e=>(0,g.jsxs)(`div`,{className:`relative border rounded-md hover:shadow-sm cursor-pointer hover:border-input overflow-hidden`,onClick:()=>F(e),children:[(0,g.jsx)(`button`,{type:`button`,className:`sr-only focus:not-sr-only focus:absolute focus:right-1 focus:top-1 focus:z-10 focus:bg-background focus:px-2 focus:py-1 focus:outline focus:outline-ring`,onClick:t=>{t.stopPropagation(),F(e)},children:`Recall code`}),(0,g.jsx)(p.Suspense,{children:(0,g.jsx)(pe,{language:`python`,theme:a,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},value:e.trim(),editable:!1,readOnly:!0})})]},e))})}):null,e[14]=F,e[15]=D,e[16]=T,e[17]=a,e[18]=L):L=e[18];let R=L,z;e[19]!==N||e[20]!==j||e[21]!==k||e[22]!==D.length||e[23]!==T||e[24]!==E||e[25]!==x?(z=()=>(0,g.jsxs)(`div`,{className:`flex items-center shrink-0 border-b`,children:[(0,g.jsx)(u,{content:Ce(`cell.run`),children:(0,g.jsx)(d,{"data-testid":`scratchpad-run-button`,onClick:k,disabled:T,variant:`text`,size:`xs`,children:(0,g.jsx)(_e,{color:`var(--grass-11)`,size:16})})}),(0,g.jsx)(u,{content:`Clear code and outputs`,children:(0,g.jsx)(d,{disabled:T,size:`xs`,variant:`text`,onClick:N,children:(0,g.jsx)(De,{size:16})})}),(0,g.jsx)(Ee,{children:(0,g.jsx)(u,{content:`Insert code`,children:(0,g.jsx)(d,{disabled:T,size:`xs`,variant:`text`,onClick:j,children:(0,g.jsx)(fe,{size:16})})})}),(x===`running`||x===`queued`)&&(0,g.jsx)(ge,{className:`inline`,size:`small`}),(0,g.jsx)(`div`,{className:`flex-1`}),(0,g.jsx)(u,{content:`Toggle history`,children:(0,g.jsx)(d,{size:`xs`,variant:`text`,className:le(T&&`bg-(--sky-3) rounded-none`),onClick:()=>E(!T),disabled:D.length===0,children:(0,g.jsx)(Oe,{size:16})})}),(0,g.jsx)(u,{content:(0,g.jsx)(`span`,{className:`block max-w-prose`,children:`Use this scratchpad to experiment with code without restrictions on variable names. Variables defined here aren't saved to notebook memory, and the code is not saved in the notebook file.`}),children:(0,g.jsx)(d,{size:`xs`,variant:`text`,children:(0,g.jsx)(me,{size:16})})})]}),e[19]=N,e[20]=j,e[21]=k,e[22]=D.length,e[23]=T,e[24]=E,e[25]=x,e[26]=z):z=e[26];let B=z,Pe=_===`vertical`,V;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(V=ae.create(o),e[27]=V):V=e[27];let H;e[28]===B?H=e[29]:(H=B(),e[28]=B,e[29]=H);let U;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(U=e=>{s.current=e},e[30]=U):U=e[30];let W;e[31]!==C||e[32]!==k||e[33]!==I||e[34]!==a||e[35]!==i?(W=(0,g.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,g.jsx)(he,{theme:a,showPlaceholder:!1,id:o,code:C,config:Me,status:`idle`,serializedEditorState:null,runCell:k,userConfig:i,editorViewRef:s,setEditorView:U,hidden:!1,showHiddenCode:se.NOOP,languageAdapter:I,setLanguageAdapter:Ne})}),e[31]=C,e[32]=k,e[33]=I,e[34]=a,e[35]=i,e[36]=W):W=e[36];let G;e[37]===R?G=e[38]:(G=R(),e[37]=R,e[38]=G);let K;e[39]!==G||e[40]!==H||e[41]!==W?(K=(0,g.jsx)(Se,{defaultSize:40,minSize:20,maxSize:70,children:(0,g.jsxs)(`div`,{className:`h-full flex flex-col overflow-hidden relative`,children:[H,W,G]})}),e[39]=G,e[40]=H,e[41]=W,e[42]=K):K=e[42];let q=Pe?`h-1`:`w-1`,J;e[43]===q?J=e[44]:(J=le(`bg-border hover:bg-primary/50 transition-colors`,q),e[43]=q,e[44]=J);let Y;e[45]===J?Y=e[46]:(Y=(0,g.jsx)(xe,{className:J}),e[45]=J,e[46]=Y);let X;e[47]===b?X=e[48]:(X=(0,g.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,g.jsx)(ue,{allowExpand:!1,output:b,className:ce.outputArea,cellId:o,stale:!1,loading:!1})}),e[47]=b,e[48]=X);let Z;e[49]===S?Z=e[50]:(Z=(0,g.jsx)(`div`,{className:`overflow-auto shrink-0 max-h-[50%]`,children:(0,g.jsx)(de,{consoleOutputs:S,className:`overflow-auto`,stale:!1,interrupted:!1,cellName:`_`,onSubmitDebugger:se.NOOP,cellId:o,debuggerActive:!1})}),e[49]=S,e[50]=Z);let Q;e[51]!==X||e[52]!==Z?(Q=(0,g.jsx)(Se,{defaultSize:60,minSize:20,children:(0,g.jsxs)(`div`,{className:`h-full flex flex-col divide-y overflow-hidden`,children:[X,Z]})}),e[51]=X,e[52]=Z,e[53]=Q):Q=e[53];let $;return e[54]!==_||e[55]!==v||e[56]!==K||e[57]!==Y||e[58]!==Q?($=(0,g.jsx)(`div`,{className:`flex flex-col h-full overflow-hidden`,id:V,children:(0,g.jsxs)(be,{direction:_,className:`h-full`,children:[K,Y,Q]},v)}),e[54]=_,e[55]=v,e[56]=K,e[57]=Y,e[58]=Q,e[59]=$):$=e[59],$},v=()=>{let e=(0,ke.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,g.jsx)(_,{}),e[0]=t):t=e[0],t};export{v as default};
@@ -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"./button-COI-NGrx.js";import{t as o}from"./arrow-down-C9Bslqr3.js";var s=n(),c=e(t(),1),l=i(),u=(0,c.memo)(e=>{let t=(0,s.c)(10),{isVisible:n,onScrollToBottom:i,className:c}=e;if(!n)return null;let u;t[0]===c?u=t[1]:(u=r(`absolute bottom-2 right-6 z-10 animate-in fade-in-0 zoom-in-95 duration-200`,c),t[0]=c,t[1]=u);let d,f,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=r(`h-8 w-8 p-0 rounded-full`,`bg-background/90 backdrop-blur-sm`,`border border-border/50`,`shadow-md shadow-black/10`,`hover:bg-background hover:shadow-black/15`,`transition-all duration-200`,`focus:outline-hidden focus:ring-2 focus:ring-primary/50`),f=(0,l.jsx)(o,{className:`h-4 w-4`}),p=(0,l.jsx)(`span`,{className:`sr-only`,children:`Scroll to bottom`}),t[2]=d,t[3]=f,t[4]=p):(d=t[2],f=t[3],p=t[4]);let m;t[5]===i?m=t[6]:(m=(0,l.jsxs)(a,{variant:`secondary`,size:`sm`,onClick:i,className:d,children:[f,p]}),t[5]=i,t[6]=m);let h;return t[7]!==u||t[8]!==m?(h=(0,l.jsx)(`div`,{className:u,children:m}),t[7]=u,t[8]=m,t[9]=h):h=t[9],h});u.displayName=`ScrollToBottomButton`;export{u 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"./button-Cl7haVNh.js";import{t as o}from"./arrow-down-C9Bslqr3.js";var s=n(),c=e(t(),1),l=i(),u=(0,c.memo)(e=>{let t=(0,s.c)(10),{isVisible:n,onScrollToBottom:i,className:c}=e;if(!n)return null;let u;t[0]===c?u=t[1]:(u=r(`absolute bottom-2 right-6 z-10 animate-in fade-in-0 zoom-in-95 duration-200`,c),t[0]=c,t[1]=u);let d,f,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=r(`h-8 w-8 p-0 rounded-full`,`bg-background/90 backdrop-blur-sm`,`border border-border/50`,`shadow-md shadow-black/10`,`hover:bg-background hover:shadow-black/15`,`transition-all duration-200`,`focus:outline-hidden focus:ring-2 focus:ring-primary/50`),f=(0,l.jsx)(o,{className:`h-4 w-4`}),p=(0,l.jsx)(`span`,{className:`sr-only`,children:`Scroll to bottom`}),t[2]=d,t[3]=f,t[4]=p):(d=t[2],f=t[3],p=t[4]);let m;t[5]===i?m=t[6]:(m=(0,l.jsxs)(a,{variant:`secondary`,size:`sm`,onClick:i,className:d,children:[f,p]}),t[5]=i,t[6]=m);let h;return t[7]!==u||t[8]!==m?(h=(0,l.jsx)(`div`,{className:u,children:m}),t[7]=u,t[8]=m,t[9]=h):h=t[9],h});u.displayName=`ScrollToBottomButton`;export{u as t};
@@ -0,0 +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"./check-BQNapYaf.js";import{t as o}from"./copy-Djr5m5ac.js";import{T as s,b as c,n as l,t as u,v as d}from"./write-secret-modal-CBi2vNK_.js";import{t as f}from"./spinner-DyNE-o8o.js";import{t as p}from"./plus-C5silF6g.js";import{n as m}from"./copy-74EjuZso.js";import{t as h}from"./use-toast-Wu434mLr.js";import{t as g}from"./badge-crT3E0Rm.js";import{n as _}from"./useAsyncData-qvoPYHtx.js";import{n as v}from"./error-banner-m3mastc-.js";import{a as y,i as b,n as x,o as S,r as C,t as w}from"./table-vrvqpuKJ.js";import{n as T,r as E,t as D}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{t as O}from"./empty-state-BaCKb7o3.js";var k=n(),A=e(t(),1),j=i(),M=()=>{let e=(0,k.c)(27),{openModal:t,closeModal:n}=c(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[0]=r):r=e[0];let{data:i,isPending:a,error:o,refetch:l}=_(P,r);if(a){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(f,{size:`medium`,centered:!0}),e[1]=t):t=e[1],t}if(o){let t;return e[2]===o?t=e[3]:(t=(0,j.jsx)(v,{error:o}),e[2]=o,e[3]=t),t}let d;e[4]===i?d=e[5]:(d=i.filter(F).map(I),e[4]=i,e[5]=d);let m=d;if(i.length===0){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(O,{title:`No environment variables`,description:`No environment variables are available in this notebook.`,icon:(0,j.jsx)(s,{})}),e[6]=t):t=e[6],t}let h;e[7]!==n||e[8]!==t||e[9]!==m||e[10]!==l?(h=()=>t((0,j.jsx)(u,{providerNames:m,onSuccess:()=>{l(),n()},onClose:n})),e[7]=n,e[8]=t,e[9]=m,e[10]=l,e[11]=h):h=e[11];let g;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsx)(p,{className:`h-4 w-4`}),e[12]=g):g=e[12];let C;e[13]===h?C=e[14]:(C=(0,j.jsx)(`div`,{className:`flex justify-start h-8 border-b`,children:(0,j.jsx)(`button`,{type:`button`,"aria-label":`Add environment variable`,className:`border-r px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:h,children:g})}),e[13]=h,e[14]=C);let A;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,j.jsx)(y,{children:(0,j.jsxs)(S,{children:[(0,j.jsx)(b,{children:`Environment Variable`}),(0,j.jsx)(b,{children:`Source`}),(0,j.jsx)(b,{})]})}),e[15]=A):A=e[15];let M;e[16]===i?M=e[17]:(M=i.map(L),e[16]=i,e[17]=M);let N;e[18]===M?N=e[19]:(N=(0,j.jsxs)(w,{className:`overflow-auto flex-1 mb-16`,children:[A,(0,j.jsx)(x,{children:M})]}),e[18]=M,e[19]=N);let R;e[20]!==C||e[21]!==N?(R=(0,j.jsx)(D,{defaultSize:50,minSize:30,maxSize:80,children:(0,j.jsxs)(`div`,{className:`flex flex-col h-full`,children:[C,N]})}),e[20]=C,e[21]=N,e[22]=R):R=e[22];let z;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,j.jsx)(E,{className:`w-1 bg-border hover:bg-primary/50 transition-colors`}),e[23]=z):z=e[23];let B;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,j.jsx)(D,{defaultSize:50,children:(0,j.jsx)(`div`,{})}),e[24]=B):B=e[24];let V;return e[25]===R?V=e[26]:(V=(0,j.jsxs)(T,{direction:`horizontal`,className:`h-full`,children:[R,z,B]}),e[25]=R,e[26]=V),V},N=e=>{let t=(0,k.c)(9),{className:n,ariaLabel:r,onCopy:i}=e,[s,c]=A.useState(!1),l;t[0]===i?l=t[1]:(l=()=>{i(),c(!0),setTimeout(()=>c(!1),1e3)},t[0]=i,t[1]=l);let u=l,d;t[2]===s?d=t[3]:(d=s?(0,j.jsx)(a,{className:`w-3 h-3 text-green-700 rounded`}):(0,j.jsx)(o,{className:`w-3 h-3 hover:bg-muted rounded`}),t[2]=s,t[3]=d);let f;return t[4]!==r||t[5]!==n||t[6]!==u||t[7]!==d?(f=(0,j.jsx)(`button`,{type:`button`,className:n,onClick:u,"aria-label":r,children:d}),t[4]=r,t[5]=n,t[6]=u,t[7]=d,t[8]=f):f=t[8],f};async function P(){let e=await d.request({});return l(e.secrets)}function F(e){return e.provider!==`env`}function I(e){return e.name}function L(e){return e.keys.map(t=>(0,j.jsxs)(S,{className:`group`,children:[(0,j.jsx)(C,{children:t}),(0,j.jsx)(C,{children:e.provider!==`env`&&(0,j.jsx)(g,{variant:`outline`,className:`select-none`,children:e.name})}),(0,j.jsx)(C,{children:(0,j.jsx)(N,{ariaLabel:`Copy ${t}`,onCopy:async()=>{await m(`os.environ["${t}"]`),h({title:`Copied to clipboard`,description:`os.environ["${t}"] has been copied to your clipboard.`})},className:r(`float-right px-2 h-full text-xs text-muted-foreground hover:text-foreground`,`invisible group-hover:visible`)})})]},`${e.name}-${t}`))}export{M as default};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{t as n}from"./react-dom-_LrxgvjW.js";import{t as r}from"./compiler-runtime-BrajqUja.js";import{o as i,r as a}from"./useEventListener-DPOTkksd.js";import{n as o,t as s}from"./cn-ldLVeaqm.js";import{t as c}from"./jsx-runtime-B74pBk57.js";import{C as l,D as u,E as d,S as f,T as p,_ as m,a as h,b as g,c as _,d as v,f as y,i as b,l as x,p as S,s as C,w,x as T}from"./fullscreen-D-ldV-19.js";import{i as E,n as D,o as O,r as k,t as A}from"./dist-gaK_BThd.js";import{d as j,t as M,u as ee}from"./menu-items-yD7IV3V4.js";import{r as te}from"./button-Cl7haVNh.js";import{t as N}from"./check-BQNapYaf.js";import{a as P,i as ne,r as F}from"./useNumberFormatter-D7O_26UI.js";var I=e(t(),1),L=c(),R=Object.defineProperty,z=I.forwardRef(((e,t)=>R(e,`name`,{value:t,configurable:!0}))(function(e,t){return(0,L.jsx)(u.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})},`Label`)),B=e(n(),1),V=Object.defineProperty,H=(e,t)=>V(e,`name`,{value:t,configurable:!0});function U(e,[t,n]){return Math.min(n,Math.max(t,e))}H(U,`clamp`);var re=Object.defineProperty,W=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie={ItemAligned:`item-aligned`,Popper:`popper`},ae={LTR:`ltr`,RTL:`rtl`},oe=[` `,`Enter`,`ArrowUp`,`ArrowDown`],se=[` `,`Enter`],G=`Select`,[K,ce,le]=j(G),[q,ue]=d(G,[le,E]),de=E(),[fe,J]=q(G),[pe,me]=q(G);function he(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:u,name:d,autoComplete:f,disabled:p,required:m,form:h,internal_do_not_use_render:g}=e,_=de(t),[v,y]=I.useState(null),[b,x]=I.useState(null),[S,C]=I.useState(!1),w=ee(u),[E,D]=l({prop:r,defaultProp:i??!1,onChange:a,caller:G}),[O,k]=l({prop:o,defaultProp:s,onChange:c,caller:G}),j=I.useRef(null),M=I.useRef(!1),[te,N]=I.useState(null),P=W(e=>{N({value:e,hasConsumerStoppedPropagation:M.current}),k(e)},`handleUserSelect`),ne=I.useRef(O);I.useEffect(()=>{let e=h?v?.ownerDocument.getElementById(h):v?.form;if(e instanceof HTMLFormElement){let t=W(()=>k(ne.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[h,v,k]);let F=!v||!!h||!!v.closest(`form`),[R,z]=I.useState(new Set),B=T(),V=Array.from(R).map(e=>e.props.value).join(`;`),H=I.useCallback(e=>{z(t=>new Set(t).add(e))},[]),U=I.useCallback(e=>{z(t=>{let n=new Set(t);return n.delete(e),n})},[]),re={required:m,trigger:v,onTriggerChange:y,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:B,value:O,onValueChange:k,hasConsumerStoppedPropagationRef:M,userSelection:te,onUserSelect:P,open:E,onOpenChange:D,dir:w,triggerPointerDownPosRef:j,disabled:p,name:d,autoComplete:f,form:h,nativeOptions:R,nativeSelectKey:V,isFormControl:F};return(0,L.jsx)(A,{..._,children:(0,L.jsx)(fe,{scope:t,...re,children:(0,L.jsx)(K.Provider,{scope:t,children:(0,L.jsx)(pe,{scope:t,onNativeOptionAdd:H,onNativeOptionRemove:U,children:rt(g)?g(re):n})})})})}W(he,`SelectProvider`);var ge=W(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,L.jsx)(he,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[n,e?(0,L.jsx)(nt,{__scopeSelect:t}):null]})})},`Select`),_e=`SelectTrigger`,ve=I.forwardRef(W(function(e,t){let{__scopeSelect:n,disabled:r=!1,...a}=e,o=de(n),s=J(_e,n),c=s.disabled||r,l=i(t,s.onTriggerChange),d=ce(n),f=I.useRef(`touch`),[p,m,h]=it(e=>{let t=d().filter(e=>!e.disabled),n=at(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onUserSelect(n.value)}),g=W(e=>{c||(s.onOpenChange(!0),h()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,L.jsx)(D,{asChild:!0,...o,children:(0,L.jsx)(u.button,{type:`button`,role:`combobox`,"aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":Q(s.value)?``:void 0,...a,ref:l,onClick:w(a.onClick,e=>{e.currentTarget.focus(),f.current!==`mouse`&&g(e)}),onPointerDown:w(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:w(a.onKeyDown,e=>{let t=p.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&(s.hasConsumerStoppedPropagationRef.current=e.isPropagationStopped(),m(e.key)),!(t&&e.key===` `)&&oe.includes(e.key)&&(g(),e.preventDefault())})})})},`SelectTrigger`)),ye=`SelectValue`,be=I.forwardRef(W(function(e,t){let{__scopeSelect:n,className:r,style:a,children:o,placeholder:s=``,...c}=e,l=J(ye,n),{onValueNodeHasChildrenChange:d}=l,f=o!==void 0,m=i(t,l.onValueNodeChange);p(()=>{d(f)},[d,f]);let h=Q(l.value);return(0,L.jsx)(u.span,{...c,asChild:!h&&c.asChild,ref:m,style:{pointerEvents:`none`},children:(0,L.jsx)(I.Fragment,{children:h?s:o},h?`placeholder`:`value`)})},`SelectValue`)),xe=I.forwardRef(W(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,L.jsx)(u.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[Se,Ce]=q(`SelectPortal`,{forceMount:void 0}),we=W(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,L.jsx)(Se,{scope:e.__scopeSelect,forceMount:n,children:(0,L.jsx)(y,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,Te=I.forwardRef(W(function(e,t){let n=Ce(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=J(Y,e.__scopeSelect),[o,s]=I.useState();return p(()=>{s(new DocumentFragment)},[]),(0,L.jsx)(f,{present:r||a.open,children:({present:e})=>e?(0,L.jsx)(ke,{...i,ref:t}):(0,L.jsx)(Ee,{...i,fragment:o})})},`SelectContent`)),Ee=I.forwardRef(W(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?B.createPortal((0,L.jsx)(De,{scope:n,children:(0,L.jsx)(K.Slot,{scope:n,children:(0,L.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[De,Z]=q(Y),Oe=a(`SelectContent.RemoveScroll`),ke=I.forwardRef(W(function(e,t){let{__scopeSelect:n}=e,{position:r=ie.ItemAligned,onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:s,side:c,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:g,hideWhenDetached:y,avoidCollisions:b,...C}=e,T=J(Y,n),[E,D]=I.useState(null),[O,k]=I.useState(null),A=i(t,D),[j,M]=I.useState(null),[ee,te]=I.useState(null),N=ce(n),[P,ne]=I.useState(!1),F=I.useRef(!1),R=I.useRef(!1),z=I.useRef(!1);I.useEffect(()=>{if(E)return _(E)},[E]),v();let B=I.useCallback(e=>{let[t,...n]=N().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[N,O]),V=I.useCallback(()=>B([j,E]),[B,j,E]);I.useEffect(()=>{P&&V()},[P,V]);let{onOpenChange:H,triggerPointerDownPosRef:U}=T;I.useEffect(()=>{if(E){let e={x:0,y:0},t=W(t=>{e={x:Math.abs(Math.round(t.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(U.current?.y??0))}},`handlePointerMove`),n=W(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(E)||H(!1),document.removeEventListener(`pointermove`,t),U.current=null},`handlePointerUp`);return U.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,H,U]),I.useEffect(()=>{let e=W(()=>H(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[H]);let[re,ae]=it(e=>{let t=N().filter(e=>!e.disabled),n=at(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),oe=I.useCallback((e,t,n)=>{let r=!R.current;r&&(R.current=!0);let i=!F.current&&!n;T.value!==void 0&&T.value===t||i?(M(e),i&&(F.current=!0)):r&&M(e)},[T.value]),se=I.useCallback(()=>E?.focus(),[E]),G=I.useCallback((e,t,n)=>{if(!e)return;let r=!z.current;r&&(z.current=!0);let i=!F.current&&!n;(T.value!==void 0&&T.value===t||i||r)&&te(e)},[T.value]),K=r===ie.Popper?je:Ae,le=K===je?{side:c,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:g,hideWhenDetached:y,avoidCollisions:b}:{};return(0,L.jsx)(De,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:oe,selectedItem:j,onItemLeave:se,itemTextRefCallback:G,focusSelectedItem:V,selectedItemText:ee,position:r,isPositioned:P,searchRef:re,children:(0,L.jsx)(x,{as:Oe,allowPinchZoom:!0,children:(0,L.jsx)(S,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:w(a,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,L.jsx)(m,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,L.jsx)(K,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...C,...le,onPlaced:()=>ne(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...C.style},onKeyDown:w(C.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ae(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=N().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>B(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),Ae=I.forwardRef(W(function(e,t){let{__scopeSelect:n,onPlaced:r,...a}=e,o=J(Y,n),s=Z(Y,n),[c,l]=I.useState(null),[d,f]=I.useState(null),m=i(t,f),h=ce(n),g=I.useRef(!1),_=I.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=s,S=I.useCallback(()=>{if(o.trigger&&o.valueNode&&c&&d&&v&&y&&b){let e=o.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),n=o.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(o.dir!==ae.RTL){let r=i.left-t.left,a=n.left-r,o=e.left-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-X,d=U(a,[X,Math.max(X,u-l)]);c.style.minWidth=s+`px`,c.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,s=e.width+o,l=Math.max(s,t.width),u=window.innerWidth-X,d=U(a,[X,Math.max(X,u-l)]);c.style.minWidth=s+`px`,c.style.right=d+`px`}let a=h(),s=window.innerHeight-X*2,l=v.scrollHeight,u=window.getComputedStyle(d),f=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),_=parseInt(u.paddingBottom,10),x=f+p+l+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-X,D=s-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=f+p+k,j=x-A;if(A<=E){let e=a.length>0&&y===a[a.length-1].ref.current;c.style.bottom=`0px`;let t=d.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);c.style.height=n+`px`}else{let e=a.length>0&&y===a[0].ref.current;c.style.top=`0px`;let t=Math.max(E,f+v.offsetTop+(e?w:0)+O)+j;c.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}c.style.margin=`${X}px 0`,c.style.minHeight=S+`px`,c.style.maxHeight=s+`px`,r?.(),requestAnimationFrame(()=>g.current=!0)}},[h,o.trigger,o.valueNode,c,d,v,y,b,o.dir,r]);p(()=>S(),[S]);let[C,w]=I.useState();p(()=>{d&&w(window.getComputedStyle(d).zIndex)},[d]);let T=I.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]);return(0,L.jsx)(Me,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:g,onScrollButtonChange:T,children:(0,L.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,L.jsx)(u.div,{...a,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...a.style}})})})},`SelectItemAlignedPosition`)),je=I.forwardRef(W(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=de(n);return(0,L.jsx)(k,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[Me,Ne]=q(Y,{}),Pe=`SelectViewport`,Fe=I.forwardRef(W(function(e,t){let{__scopeSelect:n,nonce:r,...a}=e,o=Z(Pe,n),s=Ne(Pe,n),c=i(t,o.onViewportChange),l=I.useRef(0);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,L.jsx)(K.Slot,{scope:n,children:(0,L.jsx)(u.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:w(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})},`SelectViewport`)),[Ie,Le]=q(`SelectGroup`),Re=I.forwardRef(W(function(e,t){let{__scopeSelect:n,...r}=e,i=T();return(0,L.jsx)(Ie,{scope:n,id:i,children:(0,L.jsx)(u.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})},`SelectGroup`)),ze=`SelectLabel`,Be=I.forwardRef(W(function(e,t){let{__scopeSelect:n,...r}=e,i=Le(ze,n);return(0,L.jsx)(u.div,{id:i.id,...r,ref:t})},`SelectLabel`)),Ve=`SelectItem`,[He,Ue]=q(Ve),We=I.forwardRef(W(function(e,t){let{__scopeSelect:n,value:r,disabled:a=!1,textValue:o,...s}=e,c=J(Ve,n),l=Z(Ve,n),d=c.value===r,[f,p]=I.useState(o??``),[m,h]=I.useState(!1),_=g(e=>l.itemRefCallback?.(e,r,a)),v=i(t,_),y=T(),b=I.useRef(`touch`);function x(e){c.hasConsumerStoppedPropagationRef.current=e.isPropagationStopped(),c.onUserSelect(r),c.onOpenChange(!1)}return W(x,`handleSelect`),(0,L.jsx)(He,{scope:n,value:r,disabled:a,textId:y,isSelected:d,onItemTextChange:I.useCallback(e=>{p(t=>t||(e?.textContent??``).trim())},[]),children:(0,L.jsx)(K.ItemSlot,{scope:n,value:r,disabled:a,textValue:f,children:(0,L.jsx)(u.div,{role:`option`,"aria-labelledby":y,"data-highlighted":m?``:void 0,"aria-selected":d&&m,"data-state":d?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...s,ref:v,onFocus:w(s.onFocus,()=>h(!0)),onBlur:w(s.onBlur,()=>h(!1)),onClick:w(s.onClick,e=>{a||b.current!==`mouse`&&x(e)}),onPointerUp:w(s.onPointerUp,e=>{a||b.current===`mouse`&&x(e)}),onPointerDown:w(s.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:w(s.onPointerMove,e=>{b.current=e.pointerType,a?l.onItemLeave?.():b.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:w(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:w(s.onKeyDown,e=>{a||e.target!==e.currentTarget||(l.searchRef?.current===``||e.key!==` `)&&(se.includes(e.key)&&x(e),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Ge=`SelectItemText`,Ke=I.forwardRef(W(function(e,t){let{__scopeSelect:n,className:r,style:a,...o}=e,s=J(Ge,n),c=Z(Ge,n),l=Ue(Ge,n),d=me(Ge,n),[f,m]=I.useState(null),h=g(e=>c.itemTextRefCallback?.(e,l.value,l.disabled)),_=i(t,m,l.onItemTextChange,h),v=f?.textContent,y=I.useMemo(()=>(0,L.jsx)(`option`,{value:l.value,disabled:l.disabled,children:v},l.value),[l.disabled,l.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=d;return p(()=>(b(y),()=>x(y)),[b,x,y]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(u.span,{id:l.textId,...o,ref:_}),l.isSelected&&s.valueNode&&!s.valueNodeHasChildren&&!Q(s.value)?B.createPortal(o.children,s.valueNode):null]})},`SelectItemText`)),qe=`SelectItemIndicator`,Je=I.forwardRef(W(function(e,t){let{__scopeSelect:n,...r}=e;return Ue(qe,n).isSelected?(0,L.jsx)(u.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Ye=`SelectScrollUpButton`,Xe=I.forwardRef(W(function(e,t){let n=Z(Ye,e.__scopeSelect),r=Ne(Ye,e.__scopeSelect),[a,o]=I.useState(!1),s=i(t,r.onScrollButtonChange);return p(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;o(e)};W(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)($e,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Ze=`SelectScrollDownButton`,Qe=I.forwardRef(W(function(e,t){let n=Z(Ze,e.__scopeSelect),r=Ne(Ze,e.__scopeSelect),[a,o]=I.useState(!1),s=i(t,r.onScrollButtonChange);return p(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;o(n)};W(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),a?(0,L.jsx)($e,{...e,ref:s,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),$e=I.forwardRef(W(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Z(`SelectScrollButton`,n),o=I.useRef(null),s=ce(n),c=I.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return I.useEffect(()=>()=>c(),[c]),p(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,L.jsx)(u.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:w(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:w(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:w(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),et=I.forwardRef(W(function(e,t){let{__scopeSelect:n,...r}=e;return(0,L.jsx)(u.div,{"aria-hidden":!0,...r,ref:t})},`SelectSeparator`)),tt=`SelectBubbleInput`,nt=I.forwardRef(W(function({__scopeSelect:e,...t},n){let r=J(tt,e),{value:a,onValueChange:o,required:s,disabled:c,name:l,autoComplete:d,form:f,userSelection:p}=r,{nativeOptions:m,nativeSelectKey:h}=r,g=I.useRef(null),_=i(n,g),v=a??``,y=I.useRef(v),b=I.useRef(p),x=I.useRef(!1),S=Array.from(m).some(e=>(e.props.value??``)===``);return I.useEffect(()=>{let e=g.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set,r=p!==null&&p!==b.current;b.current=p;let i=y.current!==v;y.current=v;let a=r&&i;if(r&&!i&&p.value!==v&&!p.hasConsumerStoppedPropagation&&n){x.current=!0;try{n.call(e,p.value),e.dispatchEvent(new Event(`change`,{bubbles:!0}))}finally{x.current=!1,n.call(e,v)}return}let o=a&&!p.hasConsumerStoppedPropagation;if(i&&n){let t=new Event(`change`,{bubbles:o});n.call(e,v),e.dispatchEvent(t)}},[v,p]),(0,L.jsxs)(u.select,{"aria-hidden":!0,required:s,tabIndex:-1,name:l,autoComplete:d,disabled:c,form:f,onChange:e=>{x.current||o(e.target.value)},...t,style:{...O,...t.style},ref:_,defaultValue:v,children:[Q(a)&&!S?(0,L.jsx)(`option`,{value:``}):null,Array.from(m)]},h)},`SelectBubbleInput`));function rt(e){return typeof e==`function`}W(rt,`isFunction`);function Q(e){return e===``||e===void 0}W(Q,`shouldShowPlaceholder`);function it(e){let t=g(e),n=I.useRef(``),r=I.useRef(0),i=I.useCallback(e=>{let i=n.current+e;t(i);function a(e){n.current=e,window.clearTimeout(r.current),e!==``&&(r.current=window.setTimeout(()=>a(``),1e3))}W(a,`updateSearch`),a(i)},[t]),a=I.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return I.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}W(it,`useTypeaheadSearch`);function at(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ot(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}W(at,`findNextItem`);function ot(e,t){return e.map((n,r)=>e[(t+r)%e.length])}W(ot,`wrapArray`);var $=r(),st=o(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),ct=I.forwardRef((e,t)=>{let n=(0,$.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=s(st(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,L.jsx)(z,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});ct.displayName=z.displayName;var lt=o(`flex h-6 w-fit mb-1 items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer forced-color-adjust-none forced-colors:bg-[ButtonFace] forced-colors:text-[ButtonText] forced-colors:disabled:text-[GrayText]`,{variants:{variant:{default:`shadow-xs-solid border border-input hover:shadow-sm-solid focus-visible:border-primary focus-visible:shadow-md-solid disabled:hover:shadow-xs-solid forced-colors:border-[ButtonText] forced-colors:disabled:border-[GrayText]`,ghost:`opacity-70 hover:opacity-100 focus:opacity-100`}},defaultVariants:{variant:`default`}}),ut=I.forwardRef((e,t)=>{let n=(0,$.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]===Symbol.for(`react.memo_cache_sentinel`)?(o=te.stopPropagation(),n[4]=o):o=n[4];let c;n[5]===i?c=n[6]:(c=s(lt({}),i),n[5]=i,n[6]=c);let l;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==c?(l=(0,L.jsx)(`select`,{ref:t,onClick:o,className:c,...a,children:r}),n[7]=r,n[8]=a,n[9]=t,n[10]=c,n[11]=l):l=n[11],l});ut.displayName=`NativeSelect`;var dt=ge,ft=Re,pt=b(we),mt=be,ht=I.forwardRef((e,t)=>{let n=(0,$.c)(21),r,i,a,o,c,l;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],c=n[5],l=n[6]):({className:i,children:r,onClear:a,variant:l,hideChevron:c,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=c,n[6]=l);let u=c!==void 0&&c,d;n[7]!==i||n[8]!==l?(d=s(lt({variant:l}),`mb-0`,i),n[7]=i,n[8]=l,n[9]=d):d=n[9];let f;n[10]!==u||n[11]!==a?(f=a?(0,L.jsx)(`span`,{onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),a()},children:(0,L.jsx)(F,{className:`h-4 w-4 opacity-50 hover:opacity-90`})}):!u&&(0,L.jsx)(P,{className:`h-4 w-4 opacity-50`}),n[10]=u,n[11]=a,n[12]=f):f=n[12];let p;n[13]===f?p=n[14]:(p=(0,L.jsx)(xe,{asChild:!0,children:f}),n[13]=f,n[14]=p);let m;return n[15]!==r||n[16]!==o||n[17]!==t||n[18]!==d||n[19]!==p?(m=(0,L.jsxs)(ve,{ref:t,className:d,...o,children:[r,p]}),n[15]=r,n[16]=o,n[17]=t,n[18]=d,n[19]=p,n[20]=m):m=n[20],m});ht.displayName=ve.displayName;var gt=h(Te),_t=I.forwardRef((e,t)=>{let n=(0,$.c)(21),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,position:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let c=o===void 0?`popper`:o,l=c===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,u;n[5]!==i||n[6]!==l?(u=s(`max-h-[300px] relative z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,l,i),n[5]=i,n[6]=l,n[7]=u):u=n[7];let d;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,L.jsx)(Xe,{className:`flex items-center justify-center h-[20px] bg-background text-muted-foreground cursor-default`,children:(0,L.jsx)(ne,{className:`h-4 w-4`})}),n[8]=d):d=n[8];let f=c===`popper`&&`h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)`,p;n[9]===f?p=n[10]:(p=s(`p-1`,f),n[9]=f,n[10]=p);let m;n[11]!==r||n[12]!==p?(m=(0,L.jsx)(Fe,{className:p,children:r}),n[11]=r,n[12]=p,n[13]=m):m=n[13];let h;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,L.jsx)(Qe,{className:`flex items-center justify-center h-[20px] bg-background text-muted-foreground cursor-default`,children:(0,L.jsx)(P,{className:`h-4 w-4 opacity-50`})}),n[14]=h):h=n[14];let g;return n[15]!==c||n[16]!==a||n[17]!==t||n[18]!==u||n[19]!==m?(g=(0,L.jsx)(pt,{children:(0,L.jsx)(C,{children:(0,L.jsxs)(gt,{ref:t,className:u,position:c,...a,children:[d,m,h]})})}),n[15]=c,n[16]=a,n[17]=t,n[18]=u,n[19]=m,n[20]=g):g=n[20],g});_t.displayName=Te.displayName;var vt=I.forwardRef((e,t)=>{let n=(0,$.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=s(`px-2 py-1.5 text-sm font-semibold`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,L.jsx)(Be,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});vt.displayName=Be.displayName;var yt=I.forwardRef((e,t)=>{let n=(0,$.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,subtitle:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let c;n[5]===i?c=n[6]:(c=s(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-hidden data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground forced-colors:data-[highlighted]:bg-[Highlight] forced-colors:data-[highlighted]:text-[HighlightText]`,M,i),n[5]=i,n[6]=c);let l;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,L.jsx)(`span`,{className:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,L.jsx)(Je,{children:(0,L.jsx)(N,{className:`h-3 w-3`})})}),n[7]=l):l=n[7];let u=typeof r!=`string`||void 0,d;n[8]!==r||n[9]!==u?(d=(0,L.jsx)(Ke,{asChild:u,className:`flex w-full flex-1`,children:r}),n[8]=r,n[9]=u,n[10]=d):d=n[10];let f;return n[11]!==a||n[12]!==t||n[13]!==o||n[14]!==c||n[15]!==d?(f=(0,L.jsxs)(We,{ref:t,className:c,...a,children:[l,d,o]}),n[11]=a,n[12]=t,n[13]=o,n[14]=c,n[15]=d,n[16]=f):f=n[16],f});yt.displayName=We.displayName;var bt=I.forwardRef((e,t)=>{let n=(0,$.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=s(`-mx-1 my-1 h-px bg-muted`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,L.jsx)(et,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});bt.displayName=et.displayName;export{vt as a,mt as c,ct as d,xe as f,yt as i,ut as l,U as m,_t as n,bt as o,ve as p,ft as r,ht as s,dt as t,lt as u};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n,r}from"./useEvent-Dfcbgjhg.js";import{t as i}from"./compiler-runtime-BrajqUja.js";import{g as a}from"./useEventListener-D9cftcHj.js";import{t as o}from"./invariant-Ci2dTZ72.js";import{i as s,t as c}from"./utils-B4K466FK.js";function l(e,t){if(e==null)throw Error(t||`Expected value but got ${e}`)}var u=i();function d(){let e=r.get(h);return l(e,`internal-error: initial mode not found`),o(e!==`present`,`internal-error: initial mode cannot be 'present'`),e}function f(e){return e===`read`||e===`home`||e===`gallery`?e:e===`edit`?`present`:`edit`}async function p(e){let t=r.get(m);if(t.mode!==`edit`){await e();return}r.set(m,{...t,mode:`present`});try{await new Promise(e=>setTimeout(e,100)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await e()}finally{r.set(m,t)}}var m=t({mode:c()?`read`:`not-set`,cellAnchor:null}),h=t(void 0);function g(){let e=r.get(h);return e!==`home`&&e!==`gallery`}var _=t(!1);function v(){let e=(0,u.c)(1),{mode:t}=n(m),r=n(_),i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new URLSearchParams(window.location.search).get(s.kiosk),e[0]=i):i=e[0],t!==`read`&&!r&&i!==`true`}var y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.toBig=e.shrSL=e.shrSH=e.rotrSL=e.rotrSH=e.rotrBL=e.rotrBH=e.rotr32L=e.rotr32H=e.rotlSL=e.rotlSH=e.rotlBL=e.rotlBH=e.add5L=e.add5H=e.add4L=e.add4H=e.add3L=e.add3H=void 0,e.add=v,e.fromBig=r,e.split=i;var t=BigInt(2**32-1),n=BigInt(32);function r(e,r=!1){return r?{h:Number(e&t),l:Number(e>>n&t)}:{h:Number(e>>n&t)|0,l:Number(e&t)|0}}function i(e,t=!1){let n=e.length,i=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){let{h:n,l:s}=r(e[o],t);[i[o],a[o]]=[n,s]}return[i,a]}var a=(e,t)=>BigInt(e>>>0)<<n|BigInt(t>>>0);e.toBig=a;var o=(e,t,n)=>e>>>n;e.shrSH=o;var s=(e,t,n)=>e<<32-n|t>>>n;e.shrSL=s;var c=(e,t,n)=>e>>>n|t<<32-n;e.rotrSH=c;var l=(e,t,n)=>e<<32-n|t>>>n;e.rotrSL=l;var u=(e,t,n)=>e<<64-n|t>>>n-32;e.rotrBH=u;var d=(e,t,n)=>e>>>n-32|t<<64-n;e.rotrBL=d;var f=(e,t)=>t;e.rotr32H=f;var p=(e,t)=>e;e.rotr32L=p;var m=(e,t,n)=>e<<n|t>>>32-n;e.rotlSH=m;var h=(e,t,n)=>t<<n|e>>>32-n;e.rotlSL=h;var g=(e,t,n)=>t<<n-32|e>>>64-n;e.rotlBH=g;var _=(e,t,n)=>e<<n-32|t>>>64-n;e.rotlBL=_;function v(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var y=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);e.add3L=y;var b=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;e.add3H=b;var x=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);e.add4L=x;var S=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;e.add4H=S;var C=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);e.add5L=C;var w=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;e.add5H=w,e.default={fromBig:r,split:i,toBig:a,shrSH:o,shrSL:s,rotrSH:c,rotrSL:l,rotrBH:u,rotrBL:d,rotr32H:f,rotr32L:p,rotlSH:m,rotlSL:h,rotlBH:g,rotlBL:_,add:v,add3L:y,add3H:b,add4L:x,add4H:S,add5H:w,add5L:C}})),b=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0})),x=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=i,e.ahash=a,e.aexists=o,e.aoutput=s,e.u8=c,e.u32=l,e.clean=u,e.createView=d,e.rotr=f,e.rotl=p,e.byteSwap=m,e.byteSwap32=h,e.bytesToHex=v,e.hexToBytes=S,e.asyncLoop=C,e.utf8ToBytes=w,e.bytesToUtf8=T,e.toBytes=E,e.kdfInputToBytes=D,e.concatBytes=O,e.checkOpts=k,e.createHasher=A,e.createOptHasher=j,e.createXOFer=M,e.randomBytes=N;var t=b();function n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function r(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function i(e,...t){if(!n(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function a(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);r(e.outputLen),r(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function s(e,t){i(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function c(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function l(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function u(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function d(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function f(e,t){return e<<32-t|e>>>t}function p(e,t){return e<<t|e>>>32-t>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}e.swap8IfBE=e.isLE?e=>e:e=>m(e),e.byteSwapIfBE=e.swap8IfBE;function h(e){for(let t=0;t<e.length;t++)e[t]=m(e[t]);return e}e.swap32IfBE=e.isLE?e=>e:h;var g=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function v(e){if(i(e),g)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=_[e[n]];return t}var y={_0:48,_9:57,A:65,F:70,a:97,f:102};function x(e){if(e>=y._0&&e<=y._9)return e-y._0;if(e>=y.A&&e<=y.F)return e-(y.A-10);if(e>=y.a&&e<=y.f)return e-(y.a-10)}function S(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(g)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=x(e.charCodeAt(i)),a=x(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}e.nextTick=async()=>{};async function C(t,n,r){let i=Date.now();for(let a=0;a<t;a++){r(a);let t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}}function w(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function T(e){return new TextDecoder().decode(e)}function E(e){return typeof e==`string`&&(e=w(e)),i(e),e}function D(e){return typeof e==`string`&&(e=w(e)),i(e),e}function O(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];i(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function k(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw Error(`options should be object or undefined`);return Object.assign(e,t)}e.Hash=class{};function A(e){let t=t=>e().update(E(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function j(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function M(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}e.wrapConstructor=A,e.wrapConstructorWithOpts=j,e.wrapXOFConstructorWithOpts=M;function N(e=32){if(t.crypto&&typeof t.crypto.getRandomValues==`function`)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&typeof t.crypto.randomBytes==`function`)return Uint8Array.from(t.crypto.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}})),S=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.shake256=e.shake128=e.keccak_512=e.keccak_384=e.keccak_256=e.keccak_224=e.sha3_512=e.sha3_384=e.sha3_256=e.sha3_224=e.Keccak=void 0,e.keccakP=_;var t=y(),n=x(),r=BigInt(0),i=BigInt(1),a=BigInt(2),o=BigInt(7),s=BigInt(256),c=BigInt(113),l=[],u=[],d=[];for(let e=0,t=i,n=1,f=0;e<24;e++){[n,f]=[f,(2*n+3*f)%5],l.push(2*(5*f+n)),u.push((e+1)*(e+2)/2%64);let p=r;for(let e=0;e<7;e++)t=(t<<i^(t>>o)*c)%s,t&a&&(p^=i<<(i<<BigInt(e))-i);d.push(p)}var f=(0,t.split)(d,!0),p=f[0],m=f[1],h=(e,n,r)=>r>32?(0,t.rotlBH)(e,n,r):(0,t.rotlSH)(e,n,r),g=(e,n,r)=>r>32?(0,t.rotlBL)(e,n,r):(0,t.rotlSL)(e,n,r);function _(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let n=(t+8)%10,i=(t+2)%10,a=r[i],o=r[i+1],s=h(a,o,1)^r[n],c=g(a,o,1)^r[n+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=u[n],a=h(t,i,r),o=g(t,i,r),s=l[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=p[n],e[1]^=m[n]}(0,n.clean)(r)}var v=class e extends n.Hash{constructor(e,t,r,i=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=a,(0,n.anumber)(r),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=(0,n.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,n.swap32IfBE)(this.state32),_(this.state32,this.rounds),(0,n.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(e){(0,n.aexists)(this),e=(0,n.toBytes)(e),(0,n.abytes)(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let a=Math.min(t-this.pos,i-n);for(let t=0;t<a;t++)r[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){(0,n.aexists)(this,!1),(0,n.abytes)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return(0,n.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.aoutput)(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.clean)(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}};e.Keccak=v;var b=(e,t,r)=>(0,n.createHasher)(()=>new v(t,e,r));e.sha3_224=b(6,144,28),e.sha3_256=b(6,136,32),e.sha3_384=b(6,104,48),e.sha3_512=b(6,72,64),e.keccak_224=b(1,144,28),e.keccak_256=b(1,136,32),e.keccak_384=b(1,104,48),e.keccak_512=b(1,72,64);var S=(e,t,r)=>(0,n.createXOFer)((n={})=>new v(t,e,n.dkLen===void 0?r:n.dkLen,!0));e.shake128=S(31,168,16),e.shake256=S(31,136,32)})),C=e(((e,t)=>{var{sha3_512:n}=S(),r=24,i=32,a=(e=4,t=Math.random)=>{let n=``;for(;n.length<e;)n+=Math.floor(t()*36).toString(36);return n};function o(e){let t=0n;for(let n of e.values()){let e=BigInt(n);t=(t<<8n)+e}return t}var s=(e=``)=>o(n(e)).toString(36).slice(1),c=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),l=e=>c[Math.floor(e()*c.length)],u=({globalObj:e=typeof global<`u`?global:typeof window<`u`?window:{},random:t=Math.random}={})=>{let n=Object.keys(e).toString();return s(n.length?n+a(i,t):a(i,t)).substring(0,i)},d=e=>()=>e++,f=476782367,p=({random:e=Math.random,counter:t=d(Math.floor(e()*f)),length:n=r,fingerprint:i=u({random:e})}={})=>function(){let r=l(e),o=Date.now().toString(36),c=t().toString(36);return`${r+s(`${o+a(n,e)+c+i}`).substring(1,n)}`},m=p(),h=(e,{minLength:t=2,maxLength:n=i}={})=>{let r=e.length,a=/^[0-9a-z]+$/;try{if(typeof e==`string`&&r>=t&&r<=n&&a.test(e))return!0}finally{}return!1};t.exports.getConstants=()=>({defaultLength:r,bigLength:i}),t.exports.init=p,t.exports.createId=m,t.exports.bufToBigInt=o,t.exports.createCounter=d,t.exports.createFingerprint=u,t.exports.isCuid=h})),w=e(((e,t)=>{var{createId:n,init:r,getConstants:i,isCuid:a}=C();t.exports.createId=n,t.exports.init=r,t.exports.getConstants=i,t.exports.isCuid=a}));function T(e){return new URL(e,document.baseURI)}function E(e){let t=new URL(window.location.href);e(t.searchParams),window.history.replaceState({},``,t.toString())}function D(e,t){if(typeof window>`u`)return!1;let n=new URLSearchParams(window.location.search);return t===void 0?n.has(e):n.get(e)===t}function O(){let e=`__new__${F()}`;return T(`?file=${encodeURIComponent(e)}`).toString()}var k=/^(https?:\/\/\S+)$/;function A(e){return typeof e==`string`&&k.test(e)}function j({href:e,queryParams:t,keys:n}){let r=typeof t==`string`?new URLSearchParams(t):t;if(r.size===0||e.startsWith(`http://`)||e.startsWith(`https://`))return e;let i=e.startsWith(`#`),a=i&&e.includes(`?`);if(i&&!a){let t=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()],i=new URLSearchParams;for(let[e,n]of t)i.set(e,n);let a=i.toString();return a?`/?${a}${e}`:e}let o=e,s=``,c=new URLSearchParams,l=+!!i,u=e.indexOf(`#`,l);u!==-1&&(s=e.slice(u),o=e.slice(0,u));let d=o.indexOf(`?`);d!==-1&&(c=new URLSearchParams(o.slice(d+1)),o=o.slice(0,d));let f=new URLSearchParams(c),p=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()];for(let[e,t]of p)f.set(e,t);let m=f.toString();return m?`${o}?${m}${s}`:e}var M=w(),N=t(null),P=(0,M.init)({length:6});function F(){return`s_${P()}`}function I(e){return e?/^s_[\da-z]{6}$/.test(e):!1}var L=null;function R(){let e=r.get(h)===`edit`,t=new URL(window.location.href).searchParams.get(s.sessionId),n=I(t)?t:null;return E(t=>{if(!e){t.delete(s.sessionId),t.delete(s.kiosk);return}t.has(s.kiosk)||t.delete(s.sessionId)}),n===null?(a.debug(`Starting a new session`,{sessionId:t}),F()):e?(a.debug(`Connecting to existing session`,{sessionId:n}),n):(a.debug(`Ignoring session_id from URL outside the editor`,{sessionId:n}),F())}function z(){return L===null&&(L=R()),L}export{v as _,D as a,E as c,d,h as f,f as g,p as h,j as i,T as l,_ as m,I as n,A as o,g as p,N as r,O as s,z as t,w as u,m as v,l as y};
1
+ import{t as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n,r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./compiler-runtime-BrajqUja.js";import{g as a}from"./useEventListener-DPOTkksd.js";import{t as o}from"./invariant-Ci2dTZ72.js";import{i as s,t as c}from"./utils-B4K466FK.js";function l(e,t){if(e==null)throw Error(t||`Expected value but got ${e}`)}var u=i();function d(){let e=r.get(h);return l(e,`internal-error: initial mode not found`),o(e!==`present`,`internal-error: initial mode cannot be 'present'`),e}function f(e){return e===`read`||e===`home`||e===`gallery`?e:e===`edit`?`present`:`edit`}async function p(e){let t=r.get(m);if(t.mode!==`edit`){await e();return}r.set(m,{...t,mode:`present`});try{await new Promise(e=>setTimeout(e,100)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await e()}finally{r.set(m,t)}}var m=t({mode:c()?`read`:`not-set`,cellAnchor:null}),h=t(void 0);function g(){let e=r.get(h);return e!==`home`&&e!==`gallery`}var _=t(!1);function v(){let e=(0,u.c)(1),{mode:t}=n(m),r=n(_),i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new URLSearchParams(window.location.search).get(s.kiosk),e[0]=i):i=e[0],t!==`read`&&!r&&i!==`true`}var y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.toBig=e.shrSL=e.shrSH=e.rotrSL=e.rotrSH=e.rotrBL=e.rotrBH=e.rotr32L=e.rotr32H=e.rotlSL=e.rotlSH=e.rotlBL=e.rotlBH=e.add5L=e.add5H=e.add4L=e.add4H=e.add3L=e.add3H=void 0,e.add=v,e.fromBig=r,e.split=i;var t=BigInt(2**32-1),n=BigInt(32);function r(e,r=!1){return r?{h:Number(e&t),l:Number(e>>n&t)}:{h:Number(e>>n&t)|0,l:Number(e&t)|0}}function i(e,t=!1){let n=e.length,i=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){let{h:n,l:s}=r(e[o],t);[i[o],a[o]]=[n,s]}return[i,a]}var a=(e,t)=>BigInt(e>>>0)<<n|BigInt(t>>>0);e.toBig=a;var o=(e,t,n)=>e>>>n;e.shrSH=o;var s=(e,t,n)=>e<<32-n|t>>>n;e.shrSL=s;var c=(e,t,n)=>e>>>n|t<<32-n;e.rotrSH=c;var l=(e,t,n)=>e<<32-n|t>>>n;e.rotrSL=l;var u=(e,t,n)=>e<<64-n|t>>>n-32;e.rotrBH=u;var d=(e,t,n)=>e>>>n-32|t<<64-n;e.rotrBL=d;var f=(e,t)=>t;e.rotr32H=f;var p=(e,t)=>e;e.rotr32L=p;var m=(e,t,n)=>e<<n|t>>>32-n;e.rotlSH=m;var h=(e,t,n)=>t<<n|e>>>32-n;e.rotlSL=h;var g=(e,t,n)=>t<<n-32|e>>>64-n;e.rotlBH=g;var _=(e,t,n)=>e<<n-32|t>>>64-n;e.rotlBL=_;function v(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var y=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);e.add3L=y;var b=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;e.add3H=b;var x=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);e.add4L=x;var S=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;e.add4H=S;var C=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);e.add5L=C;var w=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;e.add5H=w,e.default={fromBig:r,split:i,toBig:a,shrSH:o,shrSL:s,rotrSH:c,rotrSL:l,rotrBH:u,rotrBL:d,rotr32H:f,rotr32L:p,rotlSH:m,rotlSL:h,rotlBH:g,rotlBL:_,add:v,add3L:y,add3H:b,add4L:x,add4H:S,add5H:w,add5L:C}})),b=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0})),x=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=i,e.ahash=a,e.aexists=o,e.aoutput=s,e.u8=c,e.u32=l,e.clean=u,e.createView=d,e.rotr=f,e.rotl=p,e.byteSwap=m,e.byteSwap32=h,e.bytesToHex=v,e.hexToBytes=S,e.asyncLoop=C,e.utf8ToBytes=w,e.bytesToUtf8=T,e.toBytes=E,e.kdfInputToBytes=D,e.concatBytes=O,e.checkOpts=k,e.createHasher=A,e.createOptHasher=j,e.createXOFer=M,e.randomBytes=N;var t=b();function n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function r(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function i(e,...t){if(!n(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function a(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);r(e.outputLen),r(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function s(e,t){i(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function c(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function l(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function u(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function d(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function f(e,t){return e<<32-t|e>>>t}function p(e,t){return e<<t|e>>>32-t>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}e.swap8IfBE=e.isLE?e=>e:e=>m(e),e.byteSwapIfBE=e.swap8IfBE;function h(e){for(let t=0;t<e.length;t++)e[t]=m(e[t]);return e}e.swap32IfBE=e.isLE?e=>e:h;var g=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function v(e){if(i(e),g)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=_[e[n]];return t}var y={_0:48,_9:57,A:65,F:70,a:97,f:102};function x(e){if(e>=y._0&&e<=y._9)return e-y._0;if(e>=y.A&&e<=y.F)return e-(y.A-10);if(e>=y.a&&e<=y.f)return e-(y.a-10)}function S(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(g)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=x(e.charCodeAt(i)),a=x(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}e.nextTick=async()=>{};async function C(t,n,r){let i=Date.now();for(let a=0;a<t;a++){r(a);let t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}}function w(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function T(e){return new TextDecoder().decode(e)}function E(e){return typeof e==`string`&&(e=w(e)),i(e),e}function D(e){return typeof e==`string`&&(e=w(e)),i(e),e}function O(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];i(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function k(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw Error(`options should be object or undefined`);return Object.assign(e,t)}e.Hash=class{};function A(e){let t=t=>e().update(E(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function j(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function M(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}e.wrapConstructor=A,e.wrapConstructorWithOpts=j,e.wrapXOFConstructorWithOpts=M;function N(e=32){if(t.crypto&&typeof t.crypto.getRandomValues==`function`)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&typeof t.crypto.randomBytes==`function`)return Uint8Array.from(t.crypto.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}})),S=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.shake256=e.shake128=e.keccak_512=e.keccak_384=e.keccak_256=e.keccak_224=e.sha3_512=e.sha3_384=e.sha3_256=e.sha3_224=e.Keccak=void 0,e.keccakP=_;var t=y(),n=x(),r=BigInt(0),i=BigInt(1),a=BigInt(2),o=BigInt(7),s=BigInt(256),c=BigInt(113),l=[],u=[],d=[];for(let e=0,t=i,n=1,f=0;e<24;e++){[n,f]=[f,(2*n+3*f)%5],l.push(2*(5*f+n)),u.push((e+1)*(e+2)/2%64);let p=r;for(let e=0;e<7;e++)t=(t<<i^(t>>o)*c)%s,t&a&&(p^=i<<(i<<BigInt(e))-i);d.push(p)}var f=(0,t.split)(d,!0),p=f[0],m=f[1],h=(e,n,r)=>r>32?(0,t.rotlBH)(e,n,r):(0,t.rotlSH)(e,n,r),g=(e,n,r)=>r>32?(0,t.rotlBL)(e,n,r):(0,t.rotlSL)(e,n,r);function _(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let n=(t+8)%10,i=(t+2)%10,a=r[i],o=r[i+1],s=h(a,o,1)^r[n],c=g(a,o,1)^r[n+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=u[n],a=h(t,i,r),o=g(t,i,r),s=l[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=p[n],e[1]^=m[n]}(0,n.clean)(r)}var v=class e extends n.Hash{constructor(e,t,r,i=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=a,(0,n.anumber)(r),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=(0,n.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,n.swap32IfBE)(this.state32),_(this.state32,this.rounds),(0,n.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(e){(0,n.aexists)(this),e=(0,n.toBytes)(e),(0,n.abytes)(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let a=Math.min(t-this.pos,i-n);for(let t=0;t<a;t++)r[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){(0,n.aexists)(this,!1),(0,n.abytes)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return(0,n.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.aoutput)(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.clean)(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}};e.Keccak=v;var b=(e,t,r)=>(0,n.createHasher)(()=>new v(t,e,r));e.sha3_224=b(6,144,28),e.sha3_256=b(6,136,32),e.sha3_384=b(6,104,48),e.sha3_512=b(6,72,64),e.keccak_224=b(1,144,28),e.keccak_256=b(1,136,32),e.keccak_384=b(1,104,48),e.keccak_512=b(1,72,64);var S=(e,t,r)=>(0,n.createXOFer)((n={})=>new v(t,e,n.dkLen===void 0?r:n.dkLen,!0));e.shake128=S(31,168,16),e.shake256=S(31,136,32)})),C=e(((e,t)=>{var{sha3_512:n}=S(),r=24,i=32,a=(e=4,t=Math.random)=>{let n=``;for(;n.length<e;)n+=Math.floor(t()*36).toString(36);return n};function o(e){let t=0n;for(let n of e.values()){let e=BigInt(n);t=(t<<8n)+e}return t}var s=(e=``)=>o(n(e)).toString(36).slice(1),c=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),l=e=>c[Math.floor(e()*c.length)],u=({globalObj:e=typeof global<`u`?global:typeof window<`u`?window:{},random:t=Math.random}={})=>{let n=Object.keys(e).toString();return s(n.length?n+a(i,t):a(i,t)).substring(0,i)},d=e=>()=>e++,f=476782367,p=({random:e=Math.random,counter:t=d(Math.floor(e()*f)),length:n=r,fingerprint:i=u({random:e})}={})=>function(){let r=l(e),o=Date.now().toString(36),c=t().toString(36);return`${r+s(`${o+a(n,e)+c+i}`).substring(1,n)}`},m=p(),h=(e,{minLength:t=2,maxLength:n=i}={})=>{let r=e.length,a=/^[0-9a-z]+$/;try{if(typeof e==`string`&&r>=t&&r<=n&&a.test(e))return!0}finally{}return!1};t.exports.getConstants=()=>({defaultLength:r,bigLength:i}),t.exports.init=p,t.exports.createId=m,t.exports.bufToBigInt=o,t.exports.createCounter=d,t.exports.createFingerprint=u,t.exports.isCuid=h})),w=e(((e,t)=>{var{createId:n,init:r,getConstants:i,isCuid:a}=C();t.exports.createId=n,t.exports.init=r,t.exports.getConstants=i,t.exports.isCuid=a}));function T(e){return new URL(e,document.baseURI)}function E(e){let t=new URL(window.location.href);e(t.searchParams),window.history.replaceState({},``,t.toString())}function D(e,t){if(typeof window>`u`)return!1;let n=new URLSearchParams(window.location.search);return t===void 0?n.has(e):n.get(e)===t}function O(){let e=`__new__${F()}`;return T(`?file=${encodeURIComponent(e)}`).toString()}var k=/^(https?:\/\/\S+)$/;function A(e){return typeof e==`string`&&k.test(e)}function j({href:e,queryParams:t,keys:n}){let r=typeof t==`string`?new URLSearchParams(t):t;if(r.size===0||e.startsWith(`http://`)||e.startsWith(`https://`))return e;let i=e.startsWith(`#`),a=i&&e.includes(`?`);if(i&&!a){let t=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()],i=new URLSearchParams;for(let[e,n]of t)i.set(e,n);let a=i.toString();return a?`/?${a}${e}`:e}let o=e,s=``,c=new URLSearchParams,l=+!!i,u=e.indexOf(`#`,l);u!==-1&&(s=e.slice(u),o=e.slice(0,u));let d=o.indexOf(`?`);d!==-1&&(c=new URLSearchParams(o.slice(d+1)),o=o.slice(0,d));let f=new URLSearchParams(c),p=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()];for(let[e,t]of p)f.set(e,t);let m=f.toString();return m?`${o}?${m}${s}`:e}var M=w(),N=t(null),P=(0,M.init)({length:6});function F(){return`s_${P()}`}function I(e){return e?/^s_[\da-z]{6}$/.test(e):!1}var L=null;function R(){let e=r.get(h)===`edit`,t=new URL(window.location.href).searchParams.get(s.sessionId),n=I(t)?t:null;return E(t=>{if(!e){t.delete(s.sessionId),t.delete(s.kiosk);return}t.has(s.kiosk)||t.delete(s.sessionId)}),n===null?(a.debug(`Starting a new session`,{sessionId:t}),F()):e?(a.debug(`Connecting to existing session`,{sessionId:n}),n):(a.debug(`Ignoring session_id from URL outside the editor`,{sessionId:n}),F())}function z(){return L===null&&(L=R()),L}export{v as _,D as a,E as c,d,h as f,f as g,p as h,j as i,T as l,_ as m,I as n,A as o,g as p,N as r,O as s,z as t,w as u,m as v,l as y};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,u as i}from"./useEvent-BDjgaBtz.js";import{t as a}from"./react-DVplv7_D.js";import{$r as o,Ai as s,Bi as c,Bt as l,Cn as u,D as d,Gn as f,Ha as p,Hi as m,Ii as h,Ji as g,Ki as _,Kn as v,Li as y,M as b,Mi as x,P as S,Qr as C,Ri as w,Rn as T,Rt as E,Ui as D,Wa as O,Wi as k,Xi as A,Yi as j,Zi as M,_n as ee,c as N,fn as P,gn as F,i as I,jn as L,qi as R,qn as z,ro as te,ti as B,to as V,yr as H,yt as ne,zi as re}from"./cells-SvbLY10y.js";import{t as ie}from"./compiler-runtime-BrajqUja.js";import{s as ae}from"./config-CXnC3MRv.js";import{r as oe}from"./config-BC32AAdw.js";import{O as U}from"./config-7IjqNuVp.js";import{t as se}from"./ErrorBoundary-Ce-Ujlwj.js";import{t as W}from"./cn-ldLVeaqm.js";import{t as G}from"./jsx-runtime-B74pBk57.js";import{_ as ce,at as le,f as K,g as ue,h as de,it as q,m as J,nt as fe,ot as pe,rt as me,tt as he,v as ge}from"./JsonOutput-CfEBzaqW.js";import{t as _e}from"./tooltip-B5lAA_jn.js";import{n as ve,r as ye,t as be}from"./button-Cl7haVNh.js";import{t as xe}from"./createLucideIcon-DfJ2oMlA.js";import{i as Se}from"./paths-bkIFVj8h.js";import{r as Ce}from"./useNumberFormatter-D7O_26UI.js";import{a as we,r as Te}from"./tree-actions-Cph8FVzh.js";import{a as Ee}from"./input-DLA5Dhn3.js";import{n as De,o as Oe}from"./column-preview-CrzaJKk8.js";import{t as ke}from"./workflow-cw-0b9g5.js";import{t as Ae}from"./copy-icon-Craaocbu.js";import{l as je}from"./arrays-0R2reF2y.js";import{i as Me}from"./strings-3lNX212T.js";import{r as Ne}from"./requests-BIFR-h4M.js";import{t as Pe}from"./I18nProvider-Cg2I_s1_.js";import{n as Fe}from"./useAsyncData-qvoPYHtx.js";import{t as Ie}from"./cell-link-Cj0gGaMV.js";import{a as Le,i as Re,n as ze,o as Be,r as Ve,t as He}from"./table-vrvqpuKJ.js";import{n as Ue}from"./icons-CiZ_8zS-.js";import{t as We}from"./useDeepCompareMemoize-B2DVK2De.js";import{t as Ge}from"./useAddCell-VPkB72pn.js";import{t as Ke}from"./empty-state-BaCKb7o3.js";import{n as qe,t as Je}from"./common-BJyUxCzv.js";import{a as Ye,i as Xe,n as Ze,o as Qe,r as $e,s as et,t as tt}from"./components-D1f_Cz4i.js";import{r as nt}from"./panel-accordion-state-BRbTib2B.js";var rt=xe(`square-equal`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 10h10`,key:`1101jm`}],[`path`,{d:`M7 14h10`,key:`1mhdw3`}]]),Y=ie(),X=e(a(),1),Z=G(),it=1;function at(e){return 1.75+e*it}function ot(e){return 3+e*it}function st(e){return 3.25+e*it}var Q={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function $(e){return{paddingLeft:`${e}rem`}}var ct=n(e=>{let t=e(w),n=e(B),r=e(I);return je(t,e=>{if(!e.variable_name)return-1;let t=Object.values(n).find(t=>t.name===e.variable_name);if(!t)return 0;let i=r.inOrderIds.indexOf(t.declaredBy[0]);return i===-1?0:i})}),lt=U(`marimo:datasources:hideEmpty`,!1,C,{getOnInit:!0});function ut(e){let t=!1,n=[];for(let r of e){if(!k(r)||!m(r)){n.push(r);continue}let e=r.child_schemas??[],i=ut(e);if(r.tables.length===0&&i.length===0){t=!0;continue}if(i===e){n.push(r);continue}t=!0,n.push({...r,child_schemas:i})}return t?n:e}function dt(e){let t=!1,n=[];for(let r of e){if(D(r)&&r.schemas.length===0){t=!0;continue}if(r.schemas.length===0){n.push(r);continue}let e=ut(r.schemas);if(e.length===0){t=!0;continue}if(e===r.schemas){n.push(r);continue}t=!0,n.push({...r,schemas:e})}return t?n:e}var ft=()=>{let e=(0,Y.c)(42),[n,a]=X.useState(``),[o,s]=t(lt),c=i(y),l=r(ct),d=r(x),f;bb0:{if(!o){f=d;break bb0}let t,n;e[0]===d?(t=e[1],n=e[2]):(t=!1,n=d.map(e=>{let n=dt(e.databases);return n===e.databases?e:(t=!0,{...e,databases:n})}),e[0]=d,e[1]=t,e[2]=n),f=t?n:d}let p=f;if(l.length===0&&p.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(Ke,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,Z.jsx)(Se,{})}),e[3]=t):t=e[3],t}let m;e[4]===n?m=e[5]:(m=n.trim(),e[4]=n,e[5]=m);let h=!!m,g;e[6]===c?g=e[7]:(g=e=>{c(e.length>0),a(e)},e[6]=c,e[7]=g);let _;e[8]!==n||e[9]!==g?(_=(0,Z.jsx)(F,{placeholder:`Search tables...`,className:`h-6 m-1`,value:n,onValueChange:g,rootClassName:`flex-1 border-r border-b-0`}),e[8]=n,e[9]=g,e[10]=_):_=e[10];let v;e[11]===h?v=e[12]:(v=h&&(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Clear table search`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,Z.jsx)(Ce,{className:`h-4 w-4`})}),e[11]=h,e[12]=v);let b=!o,S;e[13]!==o||e[14]!==s?(S=()=>s(!o),e[13]=o,e[14]=s,e[15]=S):S=e[15];let C;e[16]!==b||e[17]!==S?(C=(0,Z.jsx)(we,{"data-testid":`datasources-hide-empty-button`,isVisible:b,onToggle:S,showTooltip:`Show empty schemas and databases`,hideTooltip:`Hide empty schemas and databases`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[16]=b,e[17]=S,e[18]=C):C=e[18];let w;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[19]=w):w=e[19];let T;e[20]!==_||e[21]!==v||e[22]!==C?(T=(0,Z.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[_,v,C,w]}),e[20]=_,e[21]=v,e[22]=C,e[23]=T):T=e[23];let E;if(e[24]!==p||e[25]!==n){let t;e[27]===n?t=e[28]:(t=e=>(0,Z.jsx)(pt,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,Z.jsx)(_t,{connection:e,database:t,searchValue:n},t.name))},e.name),e[27]=n,e[28]=t),E=p.map(t),e[24]=p,e[25]=n,e[26]=E}else E=e[26];let D;e[29]!==p.length||e[30]!==l.length?(D=p.length>0&&l.length>0&&(0,Z.jsxs)(J,{className:`pr-2`,style:$(Q.engine),children:[(0,Z.jsx)(Ue,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs`,children:`Python`})]}),e[29]=p.length,e[30]=l.length,e[31]=D):D=e[31];let O;e[32]!==n||e[33]!==l?(O=l.length>0&&(0,Z.jsx)(St,{tables:l,searchValue:n}),e[32]=n,e[33]=l,e[34]=O):O=e[34];let k;e[35]!==E||e[36]!==D||e[37]!==O?(k=(0,Z.jsxs)(u,{className:`flex flex-col`,children:[E,D,O]}),e[35]=E,e[36]=D,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==k||e[40]!==T?(A=(0,Z.jsxs)(P,{className:`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden`,shouldFilter:!1,children:[T,k]}),e[39]=k,e[40]=T,e[41]=A):A=e[41],A},pt=e=>{let t=(0,Y.c)(26),{connection:n,children:r,hasChildren:i}=e,a=n.name===M,o=a?`In-Memory`:n.name,{previewDataSourceConnection:c}=Ne(),l;t[0]!==n.name||t[1]!==c?(l=async()=>{await c({engine:n.name})},t[0]=n.name,t[1]=c,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=$(Q.engine),t[3]=d):d=t[3];let f;t[4]===n.dialect?f=t[5]:(f=(0,Z.jsx)(L,{className:`h-4 w-4 text-muted-foreground`,name:n.dialect}),t[4]=n.dialect,t[5]=f);let p;t[6]===n.dialect?p=t[7]:(p=s(n.dialect),t[6]=n.dialect,t[7]=p);let m;t[8]===p?m=t[9]:(m=(0,Z.jsx)(`span`,{className:`text-xs`,children:p}),t[8]=p,t[9]=m);let h=o,g;t[10]===h?g=t[11]:(g=(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(0,Z.jsx)(et,{variableName:h}),`)`]}),t[10]=h,t[11]=g);let _;t[12]!==u||t[13]!==a?(_=!a&&(0,Z.jsx)(Te,{onClick:u,tooltip:`Refresh connection`,className:`ml-auto h-4 p-0`,iconClassName:`h-3.5 w-3.5`}),t[12]=u,t[13]=a,t[14]=_):_=t[14];let v;t[15]!==f||t[16]!==m||t[17]!==g||t[18]!==_?(v=(0,Z.jsxs)(J,{className:`pr-2`,style:d,children:[f,m,g,_]}),t[15]=f,t[16]=m,t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==r||t[21]!==i?(y=i?r:(0,Z.jsx)(de,{content:`No databases available`,style:$(Q.engineEmpty)}),t[20]=r,t[21]=i,t[22]=y):y=t[22];let b;return t[23]!==y||t[24]!==v?(b=(0,Z.jsxs)(Z.Fragment,{children:[v,y]}),t[23]=y,t[24]=v,t[25]=b):b=t[25],b},mt=X.createContext(null);function ht(){let e=X.useContext(mt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function gt(e,{schema:t,schemaPath:n}){return{engine:e.engineName,database:e.databaseName,schema:t,schemaPath:n,defaultSchema:e.defaultSchema,defaultDatabase:e.defaultDatabase,dialect:e.dialect}}var _t=e=>{let t=(0,Y.c)(21),{connection:n,database:r,searchValue:i}=e,a;t[0]!==n.default_database||t[1]!==n.default_schema||t[2]!==n.dialect||t[3]!==n.name||t[4]!==r.name||t[5]!==i?(a={engineName:n.name,databaseName:r.name,dialect:n.dialect,defaultSchema:n.default_schema,defaultDatabase:n.default_database,searchValue:i},t[0]=n.default_database,t[1]=n.default_schema,t[2]=n.dialect,t[3]=n.name,t[4]=r.name,t[5]=i,t[6]=a):a=t[6];let o=a,s=n.name,c=r.schemas,l;t[7]===r?l=t[8]:(l=D(r),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[9]=u):u=t[9];let d;t[10]!==r.schemas||t[11]!==l?(d=(0,Z.jsx)(yt,{schemas:c,schemasResolved:l,schemaPath:u,depth:0}),t[10]=r.schemas,t[11]=l,t[12]=d):d=t[12];let f;t[13]!==d||t[14]!==o?(f=(0,Z.jsx)(mt.Provider,{value:o,children:d}),t[13]=d,t[14]=o,t[15]=f):f=t[15];let p;return t[16]!==n.name||t[17]!==r||t[18]!==i||t[19]!==f?(p=(0,Z.jsx)(vt,{engineName:s,database:r,searchValue:i,children:f}),t[16]=n.name,t[17]=r,t[18]=i,t[19]=f,t[20]=p):p=t[20],p},vt=e=>{let t=(0,Y.c)(29),{searchValue:n,engineName:r,database:i,children:a}=e,o;t[0]!==i||t[1]!==n?(o=g(i,n),t[0]=i,t[1]=n,t[2]=o):o=t[2];let s=o,[c,l]=X.useState(s),[u,d]=X.useState(!1),[f,p]=X.useState(n),[m,h]=X.useState(s);(f!==n||m!==s)&&(p(n),h(s),l(s));let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=$(Q.database),t[3]=_):_=t[3];let v;t[4]!==c||t[5]!==u?(v=()=>{l(!c),d(!u)},t[4]=c,t[5]=u,t[6]=v):v=t[6];let y=`${r}:${i.name}`,b;t[7]===c?b=t[8]:(b=(0,Z.jsx)(ge,{isExpanded:c}),t[7]=c,t[8]=b);let x=u&&c?`text-foreground`:`text-muted-foreground`,S;t[9]===x?S=t[10]:(S=W(`h-4 w-4`,x),t[9]=x,t[10]=S);let C;t[11]===S?C=t[12]:(C=(0,Z.jsx)(Se,{className:S}),t[11]=S,t[12]=C);let w=u&&c&&`font-semibold`,T;t[13]===w?T=t[14]:(T=W(w),t[13]=w,t[14]=T);let E;t[15]===i.name?E=t[16]:(E=i.name===``?(0,Z.jsx)(`i`,{children:`Not connected`}):i.name,t[15]=i.name,t[16]=E);let D;t[17]!==T||t[18]!==E?(D=(0,Z.jsx)(`span`,{className:T,children:E}),t[17]=T,t[18]=E,t[19]=D):D=t[19];let O;t[20]!==D||t[21]!==v||t[22]!==y||t[23]!==b||t[24]!==C?(O=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:_,onSelect:v,value:y,children:[b,C,D]}),t[20]=D,t[21]=v,t[22]=y,t[23]=b,t[24]=C,t[25]=O):O=t[25];let k=c&&a,A;return t[26]!==O||t[27]!==k?(A=(0,Z.jsxs)(Z.Fragment,{children:[O,k]}),t[26]=O,t[27]=k,t[28]=A):A=t[28],A},yt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=ht(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=h(),l=We(e.schemaPath),[u,d]=X.useState(!1),{isPending:p,error:m}=Fe(async()=>{if(!n&&a){d(!0);try{let e=await f.request({engine:a,database:o,schemaPath:l});c({schemas:e.schemas??[],sqlSchemaContext:{engine:a,database:o,schemaPath:l}})}finally{d(!1)}}},[n,a,o,l]),g=$(at(r));return p||u?(0,Z.jsx)(ce,{message:`Loading schemas...`,style:g}):m?(0,Z.jsx)(ue,{error:m,style:g}):t.length===0?(0,Z.jsx)(de,{content:`No schemas available`,style:g}):(0,Z.jsx)(Z.Fragment,{children:t.map(e=>_(e.name)?(0,Z.jsx)(St,{tables:e.tables,tablesResolved:k(e),searchValue:s,sqlTableContext:gt(i,{schema:e.name,schemaPath:l})},e.name):(0,Z.jsx)(bt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},bt=e=>{let t=(0,Y.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=ht(),{databaseName:o,searchValue:s}=a,c;t[0]!==n||t[1]!==s?(c=R(n,s),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l=c,[u,d]=X.useState(l),[f,p]=X.useState(!1),[h,g]=X.useState(s),[_,v]=X.useState(l),y;t[3]===r?y=t[4]:(y=r.join(`.`),t[3]=r,t[4]=y);let b=`${o}:${y}`,x;t[5]===n.child_schemas?x=t[6]:(x=n.child_schemas??[],t[5]=n.child_schemas,t[6]=x);let S=x;(h!==s||_!==l)&&(g(s),v(l),d(l));let C;t[7]===i?C=t[8]:(C=$(at(i)),t[7]=i,t[8]=C);let w;t[9]!==u||t[10]!==f?(w=()=>{d(!u),p(!f)},t[9]=u,t[10]=f,t[11]=w):w=t[11];let T;t[12]===u?T=t[13]:(T=(0,Z.jsx)(ge,{isExpanded:u}),t[12]=u,t[13]=T);let E=f&&u&&`text-foreground`,D;t[14]===E?D=t[15]:(D=W(`h-4 w-4 text-muted-foreground`,E),t[14]=E,t[15]=D);let O;t[16]===D?O=t[17]:(O=(0,Z.jsx)(V,{className:D}),t[16]=D,t[17]=O);let A=f&&u&&`font-semibold`,j;t[18]===A?j=t[19]:(j=W(A),t[18]=A,t[19]=j);let M;t[20]!==n.name||t[21]!==j?(M=(0,Z.jsx)(`span`,{className:j,children:n.name}),t[20]=n.name,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==C||t[25]!==w||t[26]!==T||t[27]!==O||t[28]!==b?(N=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:C,onSelect:w,value:b,children:[T,O,M]}),t[23]=M,t[24]=C,t[25]=w,t[26]=T,t[27]=O,t[28]=b,t[29]=N):N=t[29];let P;t[30]!==S||t[31]!==i||t[32]!==u||t[33]!==n||t[34]!==r||t[35]!==s||t[36]!==a?(P=u&&(0,Z.jsxs)(Z.Fragment,{children:[(S.length>0||!m(n))&&(0,Z.jsx)(yt,{schemas:S,schemasResolved:m(n),schemaPath:r,depth:i+1}),(0,Z.jsx)(St,{tables:n.tables,tablesResolved:k(n),searchValue:s,tableIndentRem:ot(i),columnIndentRem:st(i),sqlTableContext:gt(a,{schema:n.name,schemaPath:r})})]}),t[30]=S,t[31]=i,t[32]=u,t[33]=n,t[34]=r,t[35]=s,t[36]=a,t[37]=P):P=t[37];let F;return t[38]!==N||t[39]!==P?(F=(0,Z.jsxs)(Z.Fragment,{children:[N,P]}),t[38]=N,t[39]=P,t[40]=F):F=t[40],F};async function xt(e,t,n){n(!0);try{let{engine:n,database:r,schema:i,schemaPath:a}=e,o=await z.request({engine:n,database:r,schema:i,schemaPath:a??[]});if(!o?.tables)throw Error(`No tables available`);t({tables:o.tables,sqlTableContext:e})}finally{n(!1)}}var St=e=>{let t=(0,Y.c)(31),{tables:n,sqlTableContext:r,searchValue:i,tablesResolved:a,tableIndentRem:o,columnIndentRem:s}=e,c=a===void 0||a,{addTableList:l}=h(),[u,d]=X.useState(!1),f;t[0]!==l||t[1]!==r||t[2]!==c?(f=async()=>{!c&&r&&await xt(r,l,d)},t[0]=l,t[1]=r,t[2]=c,t[3]=f):f=t[3];let p;t[4]!==r||t[5]!==c?(p=[c,r],t[4]=r,t[5]=c,t[6]=p):p=t[6];let{isPending:m,error:g}=Fe(f,p),_=o??Q.tableLoading,v;t[7]===_?v=t[8]:(v=$(_),t[7]=_,t[8]=v);let y=v;if(m||u){let e;return t[9]===y?e=t[10]:(e=(0,Z.jsx)(ce,{message:`Loading tables...`,style:y}),t[9]=y,t[10]=e),e}if(g){let e;return t[11]!==g||t[12]!==y?(e=(0,Z.jsx)(ue,{error:g,style:y}),t[11]=g,t[12]=y,t[13]=e):e=t[13],e}if(n.length===0){let e;return t[14]===y?e=t[15]:(e=(0,Z.jsx)(de,{content:`No tables found`,style:y}),t[14]=y,t[15]=e),e}let b;if(t[16]!==s||t[17]!==i||t[18]!==r||t[19]!==o||t[20]!==n){let e;t[22]===i?e=t[23]:(e=e=>!i||e.name.toLowerCase().includes(i.toLowerCase()),t[22]=i,t[23]=e);let a=n.filter(e),c;t[24]!==s||t[25]!==i||t[26]!==r||t[27]!==o?(c=e=>(0,Z.jsx)(Ct,{table:e,sqlTableContext:r,isSearching:!!i,tableIndentRem:o,columnIndentRem:s},e.name),t[24]=s,t[25]=i,t[26]=r,t[27]=o,t[28]=c):c=t[28],b=a.map(c),t[16]=s,t[17]=i,t[18]=r,t[19]=o,t[20]=n,t[21]=b}else b=t[21];let x;return t[29]===b?x=t[30]:(x=(0,Z.jsx)(Z.Fragment,{children:b}),t[29]=b,t[30]=x),x},Ct=e=>{let t=(0,Y.c)(70),{table:n,sqlTableContext:i,isSearching:a,tableIndentRem:o,columnIndentRem:s}=e,{addTable:c}=h(),[u,f]=X.useState(!1),p=n.columns.length>0,m;t[0]!==c||t[1]!==u||t[2]!==i||t[3]!==n.name||t[4]!==p?(m=async()=>{if(u&&!p&&i){let{engine:e,database:t,schema:r,schemaPath:a}=i,o=await v.request({engine:e,database:t,schema:r,tableName:n.name,schemaPath:a??[]});if(!o?.table)throw Error(`No table details available`);c({table:o.table,sqlTableContext:i})}},t[0]=c,t[1]=u,t[2]=i,t[3]=n.name,t[4]=p,t[5]=m):m=t[5];let g;t[6]!==u||t[7]!==p?(g=[u,p],t[6]=u,t[7]=p,t[8]=g):g=t[8];let{isFetching:_,isPending:y,error:b}=Fe(m,g),x=r(ae),S=E(),{createNewCell:C}=d(),w=Ge(),T;t[9]!==w||t[10]!==x||t[11]!==C||t[12]!==S||t[13]!==i||t[14]!==n?(T=()=>{l({autoInstantiate:x,createNewCell:C,fromCellId:S}),w((()=>{if(n.source_type===`catalog`){let e=i?.database?[i.database,...i.schemaPath??[],n.name].join(`.`):n.name;return`${n.engine}.load_table("${e}")`}if(i)return j({table:n,columnName:`*`,sqlTableContext:i});switch(n.source_type){case`local`:return`mo.ui.table(${n.name})`;case`duckdb`:case`connection`:return j({table:n,columnName:`*`,sqlTableContext:i});default:return Me(n.source_type),``}})())},t[9]=w,t[10]=x,t[11]=C,t[12]=S,t[13]=i,t[14]=n,t[15]=T):T=t[15];let D=T,k;t[16]!==n.num_columns||t[17]!==n.num_rows?(k=()=>{let e=[];return n.num_rows!=null&&e.push(`${n.num_rows} rows`),n.num_columns!=null&&e.push(`${n.num_columns} columns`),e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-row gap-2 items-center pl-6 group-hover:hidden`,children:(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.join(`, `)})})},t[16]=n.num_columns,t[17]=n.num_rows,t[18]=k):k=t[18];let M=k,N;t[19]!==s||t[20]!==b||t[21]!==_||t[22]!==y||t[23]!==i||t[24]!==n?(N=()=>{let e=$(s??Q.tableLoading);if(y||_)return(0,Z.jsx)(ce,{message:`Loading columns...`,style:e});if(b)return(0,Z.jsx)(ue,{error:b,style:e});let t=n.columns;return t.length===0?(0,Z.jsx)(de,{content:`No columns found`,style:e}):t.map(e=>(0,Z.jsx)(wt,{table:n,column:e,sqlTableContext:i,columnIndentRem:s},e.name))},t[19]=s,t[20]=b,t[21]=_,t[22]=y,t[23]=i,t[24]=n,t[25]=N):N=t[25];let P=N,F;t[26]!==u||t[27]!==a||t[28]!==n.source_type||t[29]!==n.type?(F=()=>{if(n.source_type===`local`)return;let e=n.type===`table`?O:te;return(0,Z.jsx)(e,{className:`h-3 w-3`,strokeWidth:u||a?2.5:void 0})},t[26]=u,t[27]=a,t[28]=n.source_type,t[29]=n.type,t[30]=F):F=t[30];let I=F,L;t[31]!==i||t[32]!==n.name?(L=A(i,n.name),t[31]=i,t[32]=n.name,t[33]=L):L=t[33];let R=L,z=o??(i?Q.tableSchemaless:0),B=(u||a)&&`font-semibold`,V;t[34]===B?V=t[35]:(V=W(`rounded-none group h-8 cursor-pointer`,B),t[34]=B,t[35]=V);let H;t[36]===z?H=t[37]:(H=$(z),t[36]=z,t[37]=H);let ne;t[38]===u?ne=t[39]:(ne=()=>f(!u),t[38]=u,t[39]=ne);let re;t[40]===I?re=t[41]:(re=I(),t[40]=I,t[41]=re);let ie;t[42]===n.name?ie=t[43]:(ie=(0,Z.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=ie);let oe;t[44]!==re||t[45]!==ie?(oe=(0,Z.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[re,ie]}),t[44]=re,t[45]=ie,t[46]=oe):oe=t[46];let U;t[47]===M?U=t[48]:(U=M(),t[47]=M,t[48]=U);let se=`Add table ${n.name} to notebook`,G;t[49]===D?G=t[50]:(G=ye.stopPropagation(()=>D()),t[49]=D,t[50]=G);let le;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,Z.jsx)(Oe,{className:`h-3 w-3`}),t[51]=le):le=t[51];let K;t[52]!==se||t[53]!==G?(K=(0,Z.jsx)(_e,{content:`Add table to notebook`,delayDuration:400,children:(0,Z.jsx)(be,{"aria-label":se,className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:G,children:le})}),t[52]=se,t[53]=G,t[54]=K):K=t[54];let q;t[55]!==u||t[56]!==H||t[57]!==ne||t[58]!==oe||t[59]!==U||t[60]!==K||t[61]!==V||t[62]!==R?(q=(0,Z.jsxs)(ee,{className:V,style:H,value:R,"aria-selected":u,forceMount:!0,onSelect:ne,children:[oe,U,K]}),t[55]=u,t[56]=H,t[57]=ne,t[58]=oe,t[59]=U,t[60]=K,t[61]=V,t[62]=R,t[63]=q):q=t[63];let J;t[64]!==u||t[65]!==P?(J=u&&P(),t[64]=u,t[65]=P,t[66]=J):J=t[66];let fe;return t[67]!==q||t[68]!==J?(fe=(0,Z.jsxs)(Z.Fragment,{children:[q,J]}),t[67]=q,t[68]=J,t[69]=fe):fe=t[69],fe},wt=e=>{let t=(0,Y.c)(53),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[l,u]=X.useState(!1),d=r(y),f=i(re);d&&l&&u(!1),f(l?e=>new Set([...e,`${n.name}:${a.name}`]):e=>(e.delete(`${n.name}:${a.name}`),new Set(e)));let p=Ge(),{columnsPreviews:m}=c(),h;t[0]!==a.name||t[1]!==n.primary_keys?(h=n.primary_keys?.includes(a.name)||!1,t[0]=a.name,t[1]=n.primary_keys,t[2]=h):h=t[2];let g=h,_;t[3]!==a.name||t[4]!==n.indexes?(_=n.indexes?.includes(a.name)||!1,t[3]=a.name,t[4]=n.indexes,t[5]=_):_=t[5];let v=_,b;t[6]===p?b=t[7]:(b=e=>{p(e)},t[6]=p,t[7]=b);let x=b,S=Tt,C=l?`font-semibold`:``,w;t[8]!==a.name||t[9]!==C?(w=(0,Z.jsx)(`span`,{className:C,children:a.name}),t[8]=a.name,t[9]=C,t[10]=w):w=t[10];let T=w,E=`${n.name}.${a.name}`,D=`${n.name}.${a.name}`,O;t[11]===l?O=t[12]:(O=()=>u(!l),t[11]=l,t[12]=O);let k;t[13]!==s||t[14]!==o?(k=s??(o?st(0):Q.columnLocal),t[13]=s,t[14]=o,t[15]=k):k=t[15];let A;t[16]===k?A=t[17]:(A=$(k),t[16]=k,t[17]=A);let j;t[18]!==a.type||t[19]!==T?(j=(0,Z.jsx)(K,{columnName:T,dataType:a.type}),t[18]=a.type,t[19]=T,t[20]=j):j=t[20];let M;t[21]===g?M=t[22]:(M=g&&S({tooltipContent:`Primary key`,content:`PK`}),t[21]=g,t[22]=M);let N;t[23]===v?N=t[24]:(N=v&&S({tooltipContent:`Indexed`,content:`IDX`}),t[23]=v,t[24]=N);let P;t[25]!==A||t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Z.jsxs)(`div`,{className:`flex flex-row gap-2 items-center flex-1`,style:A,children:[j,M,N]}),t[25]=A,t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F=a.name,I=`Copy column name ${a.name}`,L;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(L=W(ve({variant:`text`,size:`icon`}),`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`),t[30]=L):L=t[30];let R;t[31]!==a.name||t[32]!==I?(R=(0,Z.jsx)(Ae,{tooltip:`Copy column name`,value:F,ariaLabel:I,className:`h-3 w-3`,buttonClassName:L}),t[31]=a.name,t[32]=I,t[33]=R):R=t[33];let z;t[34]===a.external_type?z=t[35]:(z=(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[34]=a.external_type,t[35]=z);let te;t[36]!==P||t[37]!==R||t[38]!==z||t[39]!==E||t[40]!==D||t[41]!==O?(te=(0,Z.jsxs)(ee,{className:`rounded-none py-1 group cursor-pointer`,value:D,onSelect:O,children:[P,R,z]},E),t[36]=P,t[37]=R,t[38]=z,t[39]=E,t[40]=D,t[41]=O,t[42]=te):te=t[42];let B;t[43]!==a||t[44]!==m||t[45]!==x||t[46]!==l||t[47]!==o||t[48]!==n?(B=l&&(0,Z.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:$(Q.columnPreview),children:(0,Z.jsx)(se,{children:(0,Z.jsx)(De,{table:n,column:a,onAddColumnChart:x,preview:m.get(o?`${o.database}.${o.schema}.${n.name}:${a.name}`:`${n.name}:${a.name}`),sqlTableContext:o})})}),t[43]=a,t[44]=m,t[45]=x,t[46]=l,t[47]=o,t[48]=n,t[49]=B):B=t[49];let V;return t[50]!==te||t[51]!==B?(V=(0,Z.jsxs)(Z.Fragment,{children:[te,B]}),t[50]=te,t[51]=B,t[52]=V):V=t[52],V};function Tt(e){let{tooltipContent:t,content:n}=e;return(0,Z.jsx)(_e,{content:t,delayDuration:100,children:(0,Z.jsx)(`span`,{className:`text-xs text-black bg-gray-100 dark:invert rounded px-1`,children:n})})}function Et(e){return e}var Dt={name:`name`,type:`type-value`,defs:`defs-refs`},Ot=[Et({id:Dt.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(he,{header:`Name`,column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsx)(Je,{name:t,declaredBy:n})}}),Et({id:Dt.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(he,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Type`}),(0,Z.jsx)(`span`,{children:`Value`})]}),column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsxs)(`div`,{className:`max-w-[150px]`,children:[(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs`,children:t}),(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap`,title:n??``,children:n})]})}}),Et({id:Dt.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:`basic`,header:({column:e})=>(0,Z.jsx)(he,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Declared By`}),(0,Z.jsx)(`span`,{children:`Used By`})]}),column:e}),cell:({getValue:e})=>{let[t,n,r]=e(),i=e=>{let t=N(e);t&&H(t,r)};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 py-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-center`,children:[(0,Z.jsx)(`span`,{title:`Declared by`,children:(0,Z.jsx)(rt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,Z.jsx)(Ie,{variant:`focus`,cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,Z.jsx)(`div`,{className:`text-destructive flex flex-row gap-2`,children:t.slice(0,3).map((e,n)=>(0,Z.jsxs)(`span`,{className:`flex`,children:[(0,Z.jsx)(Ie,{variant:`focus`,cellId:e,skipScroll:!0,className:`whitespace-nowrap text-destructive`,onClick:()=>i(e)},e),n<t.length-1&&`, `]},e))})]}),(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-baseline`,children:[(0,Z.jsx)(`span`,{title:`Used by`,children:(0,Z.jsx)(ke,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,Z.jsx)(qe,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function kt({variables:e,sort:t,cellIdToIndex:n}){t||={id:Dt.defs,desc:!1};let r=[];switch(t.id){case Dt.name:r=je(e,e=>e.name);break;case Dt.type:r=je(e,e=>e.dataType);break;case Dt.defs:r=je(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var At=(0,X.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=X.useState([]),[a,o]=X.useState(``),s=S(),{locale:c}=Pe(),l=(0,X.useMemo)(()=>{let e=e=>{let n=s[e];return T(n)?`cell-${t.indexOf(e)}`:n??`cell-${t.indexOf(e)}`};return Object.values(n).map(t=>({...t,declaredByNames:t.declaredBy.map(e),usedByNames:t.usedBy.map(e)}))},[n,s,t]),u=(0,X.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),kt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=me({data:u,columns:Ot,getCoreRowModel:q(),onGlobalFilterChange:o,getFilteredRowModel:le(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(e){return e.columnDef.enableGlobalFilter??!0},globalFilterFn:`auto`,manualSorting:!0,locale:c,onSortingChange:i,getSortedRowModel:pe(),state:{sorting:r,globalFilter:a}});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ee,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,Z.jsxs)(He,{className:W(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,Z.jsx)(Le,{children:(0,Z.jsx)(Be,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,Z.jsx)(Re,{className:`sticky top-0 bg-background border-b`,children:fe(e.column.columnDef.header,e.getContext())},e.id))})}),(0,Z.jsx)(ze,{children:d.getRowModel().rows.map(e=>(0,Z.jsx)(Be,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,Z.jsx)(Ve,{className:`border-b`,children:fe(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});At.displayName=`VariableTable`;var jt=()=>{let e=(0,Y.c)(30),n=o(),i=b(),a=r(w),s=r(x),c=ne(`database`),[l,u]=t(nt),d=a.length+s.length,f;e[0]!==d||e[1]!==l.hasUserInteracted||e[2]!==l.openSections?(f=!l.hasUserInteracted&&d>0?[...new Set([...l.openSections,`datasources`])]:l.openSections,e[0]=d,e[1]=l.hasUserInteracted,e[2]=l.openSections,e[3]=f):f=e[3];let m=f,h;e[4]===u?h=e[5]:(h=e=>{u({openSections:e,hasUserInteracted:!0})},e[4]=u,e[5]=h);let g=h,_;e[6]===m?_=e[7]:(_=m.includes(`datasources`),e[6]=m,e[7]=_);let v=!_&&d>0,y=c.length>0,S;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(Se,{className:`w-4 h-4`}),e[8]=S):S=e[8];let C;e[9]!==d||e[10]!==v?(C=v&&(0,Z.jsx)(Ye,{children:d}),e[9]=d,e[10]=v,e[11]=C):C=e[11];let T;e[12]!==c.length||e[13]!==y?(T=y&&(0,Z.jsx)(tt,{count:c.length,type:`database`}),e[12]=c.length,e[13]=y,e[14]=T):T=e[14];let E;e[15]!==C||e[16]!==T?(E=(0,Z.jsxs)(Xe,{children:[S,`Data sources`,C,T]}),e[15]=C,e[16]=T,e[17]=E):E=e[17];let D;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(Ze,{children:(0,Z.jsx)(ft,{})}),e[18]=D):D=e[18];let O;e[19]===E?O=e[20]:(O=(0,Z.jsxs)($e,{value:`datasources`,children:[E,D]}),e[19]=E,e[20]=O);let k;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(Xe,{children:[(0,Z.jsx)(p,{className:`w-4 h-4`}),`Variables`]}),e[21]=k):k=e[21];let A;e[22]!==i||e[23]!==n?(A=(0,Z.jsxs)($e,{value:`variables`,lastItem:!0,children:[k,(0,Z.jsx)(Ze,{children:Object.keys(n).length===0?(0,Z.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground`,children:`No variables defined`}):(0,Z.jsx)(At,{cellIds:i.inOrderIds,variables:n})})]}),e[22]=i,e[23]=n,e[24]=A):A=e[24];let j;return e[25]!==g||e[26]!==m||e[27]!==A||e[28]!==O?(j=(0,Z.jsxs)(oe,{type:`multiple`,value:m,onValueChange:g,className:`flex flex-col h-full overflow-auto`,children:[O,A]}),e[25]=g,e[26]=m,e[27]=A,e[28]=O,e[29]=j):j=e[29],j};export{jt as default};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{Cn as n,D as r,Rt as i,_n as a,fn as o,gn as s,mn as c}from"./cells-SvbLY10y.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{n as u}from"./useEventListener-DPOTkksd.js";import{r as d}from"./utils-B4K466FK.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{t as m}from"./tooltip-B5lAA_jn.js";import{t as h}from"./button-Cl7haVNh.js";import{n as g,t as _}from"./LazyAnyLanguageCodeMirror-DoxWX_Wp.js";import{r as v}from"./useNumberFormatter-D7O_26UI.js";import{b as y}from"./write-secret-modal-CBi2vNK_.js";import{t as b}from"./spinner-DyNE-o8o.js";import{t as x}from"./plus-C5silF6g.js";import{Qt as S,Xt as C,Yt as w,Zt as T,tn as E}from"./input-DLA5Dhn3.js";import{st as D}from"./dist-Cny7_yZb.js";import{r as O}from"./requests-BIFR-h4M.js";import{r as k}from"./useTheme-C2dnh2vM.js";import{n as A}from"./useAsyncData-qvoPYHtx.js";import{t as j}from"./RenderHTML-COGZsXQV.js";import{n as M}from"./error-banner-m3mastc-.js";import{n as N,r as P,t as F}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{t as I}from"./empty-state-BaCKb7o3.js";import{n as L,r as R}from"./panel-context-C2QXpKfx.js";import{t as z}from"./readonly-code-display-B9y9423Y.js";import{t as B}from"./kiosk-mode-Cbxffiz9.js";var V=e(t(),1),H=l(),U=p(),W=u,G=e=>{let t=(0,H.c)(6),{children:n}=e,{openModal:r,closeModal:i}=y(),a;t[0]!==i||t[1]!==r?(a=()=>r((0,U.jsx)(K,{onClose:i})),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=(0,U.jsx)(W,{onClick:a,children:n}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o},K=e=>{let t=(0,H.c)(4),{onClose:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,U.jsx)(E,{children:`Contribute a Snippet`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(S,{children:[r,(0,U.jsxs)(C,{children:[`Have a useful snippet you want to share with the community? Make a pull request`,` `,(0,U.jsx)(`a`,{href:d.githubPage,target:`_blank`,rel:`noreferrer`,className:`underline`,children:`on GitHub`}),`.`]})]}),t[1]=i):i=t[1];let a;return t[2]===n?a=t[3]:(a=(0,U.jsxs)(w,{className:`max-w-md`,children:[i,(0,U.jsx)(T,{children:(0,U.jsx)(h,{"data-testid":`snippet-close-button`,variant:`default`,onClick:n,children:`Close`})})]}),t[2]=n,t[3]=a),a},q=[D.lineWrapping],J=()=>{let e=(0,H.c)(24),{readSnippets:t}=O(),[n,r]=V.useState(),i=L(),a=R(),l;e[0]===t?l=e[1]:(l=()=>t(),e[0]=t,e[1]=l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[2]=u):u=e[2];let{data:d,error:p,isPending:m}=A(l,u);if(p){let t;return e[3]===p?t=e[4]:(t=(0,U.jsx)(M,{error:p}),e[3]=p,e[4]=t),t}if(m||!d){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(b,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}let h=i===`vertical`,g;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(s,{placeholder:`Search snippets...`,className:`h-6 m-1`,rootClassName:`flex-1 border-r`}),e[6]=g):g=e[6];let _,v;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,U.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,(0,U.jsx)(G,{children:(0,U.jsx)(`button`,{type:`button`,"aria-label":`Contribute snippet`,className:`float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,children:(0,U.jsx)(x,{className:`h-4 w-4`})})})]}),v=(0,U.jsx)(c,{children:`No results`}),e[7]=_,e[8]=v):(_=e[7],v=e[8]);let y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>r(e),e[9]=y):y=e[9];let S;e[10]===d.snippets?S=e[11]:(S=(0,U.jsx)(F,{defaultSize:40,minSize:20,maxSize:70,children:(0,U.jsxs)(o,{className:`h-full rounded-none`,children:[_,v,(0,U.jsx)(X,{onSelect:y,snippets:d.snippets})]})}),e[10]=d.snippets,e[11]=S);let C=h?`h-1`:`w-1`,w;e[12]===C?w=e[13]:(w=f(`bg-border hover:bg-primary/50 transition-colors`,C),e[12]=C,e[13]=w);let T;e[14]===w?T=e[15]:(T=(0,U.jsx)(P,{className:w}),e[14]=w,e[15]=T);let E;e[16]===n?E=e[17]:(E=(0,U.jsx)(F,{defaultSize:60,minSize:20,children:(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(`div`,{className:`h-full snippet-viewer flex flex-col overflow-hidden`,children:n?(0,U.jsx)(Y,{snippet:n,onClose:()=>r(void 0)},n.title):(0,U.jsx)(I,{title:``,description:`Click on a snippet to view its content.`})})})}),e[16]=n,e[17]=E);let D;return e[18]!==i||e[19]!==a||e[20]!==E||e[21]!==S||e[22]!==T?(D=(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden h-full`,children:(0,U.jsxs)(N,{direction:i,className:`h-full`,children:[S,T,E]},a)}),e[18]=i,e[19]=a,e[20]=E,e[21]=S,e[22]=T,e[23]=D):D=e[23],D},Y=e=>{let t=(0,H.c)(33),{snippet:n,onClose:a}=e,{theme:o}=k(),{createNewCell:s}=r(),c=i(),l;t[0]!==s||t[1]!==c||t[2]!==n.sections?(l=()=>{for(let e of n.sections.toReversed())e.code&&s({code:e.code,before:!1,cellId:c??`__end__`,skipIfCodeExists:!0})},t[0]=s,t[1]=c,t[2]=n.sections,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c?(d=e=>{s({code:e,before:!1,cellId:c??`__end__`})},t[4]=s,t[5]=c,t[6]=d):d=t[6];let f=d,p;t[7]===n.title?p=t[8]:(p=(0,U.jsx)(`span`,{children:n.title}),t[7]=n.title,t[8]=p);let y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,U.jsx)(v,{className:`h-4 w-4`}),t[9]=y):y=t[9];let b;t[10]===a?b=t[11]:(b=(0,U.jsx)(h,{size:`sm`,variant:`ghost`,onClick:a,className:`h-6 w-6 p-0 hover:bg-muted-foreground/10`,children:y}),t[10]=a,t[11]=b);let x;t[12]!==p||t[13]!==b?(x=(0,U.jsxs)(`div`,{className:`text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center`,children:[p,b]}),t[12]=p,t[13]=b,t[14]=x):x=t[14];let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,U.jsx)(g,{className:`ml-2 h-4 w-4`}),t[15]=S):S=t[15];let C;t[16]===u?C=t[17]:(C=(0,U.jsx)(`div`,{className:`flex justify-end`,children:(0,U.jsx)(B,{children:(0,U.jsxs)(h,{className:`float-right`,size:`xs`,variant:`outline`,onClick:u,children:[`Insert snippet`,S]})})}),t[16]=u,t[17]=C);let w;if(t[18]!==f||t[19]!==n.sections||t[20]!==n.title||t[21]!==o){let e;t[23]!==f||t[24]!==n.title||t[25]!==o?(e=e=>{let{code:t,html:r,id:i}=e;if(r)return(0,U.jsx)(`div`,{children:j({html:r})},`${n.title}-${i}`);if(!t)return null;let{language:a,code:s}=z(t);return(0,U.jsxs)(`div`,{className:`relative hover-actions-parent pr-2`,children:[(0,U.jsx)(B,{children:(0,U.jsx)(m,{content:`Insert snippet`,children:(0,U.jsx)(h,{className:`absolute -top-2 -right-1 z-10 hover-action px-2 bg-background`,size:`sm`,variant:`outline`,onClick:()=>{f(t)},children:(0,U.jsx)(g,{className:`h-5 w-5`})})})}),(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(_,{theme:o===`dark`?`dark`:`light`,language:a,className:`cm border rounded overflow-hidden`,extensions:q,value:s,readOnly:!0},`${n.title}-${i}`)})]},`${n.title}-${i}`)},t[23]=f,t[24]=n.title,t[25]=o,t[26]=e):e=t[26],w=n.sections.map(e),t[18]=f,t[19]=n.sections,t[20]=n.title,t[21]=o,t[22]=w}else w=t[22];let T;t[27]!==C||t[28]!==w?(T=(0,U.jsxs)(`div`,{className:`px-2 py-2 space-y-4 overflow-auto flex-1`,children:[C,w]}),t[27]=C,t[28]=w,t[29]=T):T=t[29];let E;return t[30]!==T||t[31]!==x?(E=(0,U.jsxs)(U.Fragment,{children:[x,T]}),t[30]=T,t[31]=x,t[32]=E):E=t[32],E},X=e=>{let t=(0,H.c)(7),{snippets:r,onSelect:i}=e,o;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=e=>(0,U.jsx)(a,{className:`rounded-none`,onSelect:()=>i(e),children:(0,U.jsx)(`div`,{className:`flex flex-row gap-2 items-center`,children:(0,U.jsx)(`span`,{className:`mt-1 text-accent-foreground`,children:e.title})})},e.title),t[3]=i,t[4]=e),o=r.map(e),t[0]=i,t[1]=r,t[2]=o}else o=t[2];let s;return t[5]===o?s=t[6]:(s=(0,U.jsx)(n,{className:`flex flex-col overflow-auto`,children:o}),t[5]=o,t[6]=s),s};export{J as default};