@marimo-team/frontend 0.25.3-dev3 → 0.25.3-dev31

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 (209) hide show
  1. package/dist/assets/{CellStatus-BP2mavAq.js → CellStatus-wFCGHpDX.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-t8fH_TNc.js → ConnectedDataExplorerComponent-DMdJT25t.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-Gl5nCA8C.js → ErrorBoundary-D1ozl9e0.js} +2 -2
  4. package/dist/assets/JsonOutput-Dqg7qwkl.js +11 -0
  5. package/dist/assets/{LazyAnyLanguageCodeMirror-CKcCbG2G.js → LazyAnyLanguageCodeMirror-B4fCknq1.js} +2 -2
  6. package/dist/assets/MarimoErrorOutput-BYSTEwo1.js +10 -0
  7. package/dist/assets/{RenderHTML-BbOqmHy3.js → RenderHTML-B18UiW8r.js} +1 -1
  8. package/dist/assets/{RunButton-CK3LhnP5.js → RunButton-CWvRnb98.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-8UBC0xwR.js → add-cell-with-ai-C4pN_ho7.js} +13 -13
  10. package/dist/assets/{add-connection-dialog-DXQnd6eB.js → add-connection-dialog-BErVOfUV.js} +2 -2
  11. package/dist/assets/{agent-panel-D7kMZLG-.js → agent-panel-QQDTP8Vb.js} +5 -5
  12. package/dist/assets/ai-model-dropdown-D5Fe5GS-.js +13 -0
  13. package/dist/assets/{any-language-editor-BLCAD3yx.js → any-language-editor-BdTWdMCI.js} +1 -1
  14. package/dist/assets/{app-config-button-BKEG4x9u.js → app-config-button-DBHN-U2l.js} +1 -1
  15. package/dist/assets/{blob-D5nfNHOo.js → blob-DY_W1wFZ.js} +1 -1
  16. package/dist/assets/{cell-editor-ADVfycpN.js → cell-editor-CCFDuQIT.js} +9 -9
  17. package/dist/assets/{cell-link-LSth_8hT.js → cell-link-BOqoitvE.js} +1 -1
  18. package/dist/assets/{cells-BRkCaSsh.js → cells-CN1I_0eH.js} +31 -31
  19. package/dist/assets/{chat-display-Dnagy4Nv.js → chat-display-D1_UV6v7.js} +1 -1
  20. package/dist/assets/{chat-panel-DQ6HkWEF.js → chat-panel-C4OJDIt6.js} +2 -2
  21. package/dist/assets/{chat-ui-Df8Vcj6n.js → chat-ui-wuDYPZ-w.js} +1 -1
  22. package/dist/assets/code-visibility-CnU9xZw7.js +1 -0
  23. package/dist/assets/coerce-DWjFeXOY.js +1 -0
  24. package/dist/assets/{column-preview-Cm2D6vyX.js → column-preview-z4bqk4HW.js} +1 -1
  25. package/dist/assets/command-palette-TblDi15Q.js +1 -0
  26. package/dist/assets/{common-Cu6CDbuw.js → common-Cbk0KIh7.js} +1 -1
  27. package/dist/assets/{components-CGw16R_N.js → components-C88UxBXz.js} +1 -1
  28. package/dist/assets/{components-CP_UoFtT.js → components-CskjK6xZ.js} +1 -1
  29. package/dist/assets/{components-CXfO-F47.js → components-YBmtV0p6.js} +1 -1
  30. package/dist/assets/{config-VPSq73n8.js → config-CA1V-wjh.js} +1 -1
  31. package/dist/assets/config-DEzFV5-l.js +1 -0
  32. package/dist/assets/config-MaHeMC9o.js +104 -0
  33. package/dist/assets/{datasource-Cq6x_5ML.js → datasource-DZJ6qqVI.js} +1 -1
  34. package/dist/assets/{dates-BbFQ2oE4.js → dates-CfmdTL6B.js} +1 -1
  35. package/dist/assets/{dependency-graph-panel--Kgtktcw.js → dependency-graph-panel-DeZ66gIo.js} +1 -1
  36. package/dist/assets/{documentation-panel-BHmbeznw.js → documentation-panel-Tl5G1cPt.js} +1 -1
  37. package/dist/assets/{download-DCJXy66H.js → download-s8iwxGDb.js} +1 -1
  38. package/dist/assets/edit-page-CjoAJvyN.js +9 -0
  39. package/dist/assets/{error-banner-Cd69vvyX.js → error-banner-COZ7SfYV.js} +1 -1
  40. package/dist/assets/{error-entries-Dk3VZ-OK.js → error-entries-D11Bn1Hk.js} +1 -1
  41. package/dist/assets/{error-panel-BPRYmC5J.js → error-panel-kfxFDscu.js} +1 -1
  42. package/dist/assets/{errors-DCrsa1nH.js → errors-CNsgAw6m.js} +1 -1
  43. package/dist/assets/feedback-button-3bZHpuSh.js +1 -0
  44. package/dist/assets/{feedback-button-Bik2-e33.js → feedback-button-DVABjD9Y.js} +2 -2
  45. package/dist/assets/{file-explorer-panel-BEEK5lcl.js → file-explorer-panel-CvmK-rEU.js} +1 -1
  46. package/dist/assets/{file-name-input-Cdc-TVqO.js → file-name-input-DAj9a3RQ.js} +1 -1
  47. package/dist/assets/{floating-outline-XD9FAV-f.js → floating-outline-DDavqWJx.js} +1 -1
  48. package/dist/assets/{formats-yZ06h1Pl.js → formats-BkelUASr.js} +1 -1
  49. package/dist/assets/{gallery-page-Dm6mGwBi.js → gallery-page-xP6VqDyd.js} +1 -1
  50. package/dist/assets/{ganttDiagram-EL5Y4UJY-2n7Ig5Jm.js → ganttDiagram-EL5Y4UJY-CYqkCfFG.js} +1 -1
  51. package/dist/assets/{glide-data-editor-J9CAb70d.js → glide-data-editor-32vBJJf8.js} +1 -1
  52. package/dist/assets/{home-page-DMHnsRxm.js → home-page-CvGzjVr4.js} +1 -1
  53. package/dist/assets/hooks-C1_gQ8kr.js +1 -0
  54. package/dist/assets/index-6b4mf8Ai.css +2 -0
  55. package/dist/assets/index-Dtv0HH-7.js +30 -0
  56. package/dist/assets/{layout-DmcNEu3P.js → layout-BccvBeZy.js} +5 -5
  57. package/dist/assets/linear-Bma8J3iM.js +1 -0
  58. package/dist/assets/{logs-panel-ABM16htT.js → logs-panel-BhXo1sVJ.js} +1 -1
  59. package/dist/assets/{markdown-renderer-BG3sp2rs.js → markdown-renderer-D2dafr8r.js} +1 -1
  60. package/dist/assets/{mermaid-a3xYymTy.js → mermaid-D2FUGQeW.js} +2 -2
  61. package/dist/assets/{name-cell-input-BgEBmqyL.js → name-cell-input-SHvgfcBR.js} +1 -1
  62. package/dist/assets/{outline-panel-DCXQ3_F6.js → outline-panel-CpY3FH-u.js} +1 -1
  63. package/dist/assets/{packages-panel-BMGOmZkR.js → packages-panel-oZ0qZBec.js} +1 -1
  64. package/dist/assets/{panel-accordion-state-C1sdPp0m.js → panel-accordion-state-ChFIY2WQ.js} +1 -1
  65. package/dist/assets/panels-91ywfwgc.js +4 -0
  66. package/dist/assets/precisionRound-BxlUs8G4.js +1 -0
  67. package/dist/assets/{process-output-D0KGq04R.js → process-output-Dvq4b2kJ.js} +1 -1
  68. package/dist/assets/{quadrantDiagram-AXDQQJYC-yBhCDI7E.js → quadrantDiagram-AXDQQJYC-D9KH5Zge.js} +1 -1
  69. package/dist/assets/react-vega-BTNeboR2.js +189 -0
  70. package/dist/assets/{readonly-code-display-Do50PHI8.js → readonly-code-display-C1eH5BDP.js} +1 -1
  71. package/dist/assets/{readonly-python-code-DCSMIsTX.js → readonly-python-code-BaElyj-4.js} +1 -1
  72. package/dist/assets/{renderShortcut-BkVJQ_Zh.js → renderShortcut-C1JwYcqW.js} +1 -1
  73. package/dist/assets/{reveal-component-ltaepAqw.js → reveal-component-FCuqfC5H.js} +3 -3
  74. package/dist/assets/{run-page-DF3c5cDk.js → run-page-CbyMlRt1.js} +1 -1
  75. package/dist/assets/{runtime-details-state-CSPobEdR.js → runtime-details-state-Bpn67vTN.js} +1 -1
  76. package/dist/assets/{schemas-Dv42wLFq.js → schemas-ChRqMOTL.js} +1 -1
  77. package/dist/assets/{scratchpad-panel-Dwd6W5PE.js → scratchpad-panel-OF9_e0l_.js} +1 -1
  78. package/dist/assets/{secrets-panel-Bctbtkrp.js → secrets-panel-D7KN4tVs.js} +1 -1
  79. package/dist/assets/session-panel-CExxjkjV.js +1 -0
  80. package/dist/assets/{snippets-panel-Bh1oTw4m.js → snippets-panel-DfRtTFJ-.js} +1 -1
  81. package/dist/assets/state-BUqF6L9e.js +3 -0
  82. package/dist/assets/{state-XsPO8hNi.js → state-CHojzKpZ.js} +1 -1
  83. package/dist/assets/{terminal-Ck_vK-34.js → terminal--4gDbK7q.js} +3 -3
  84. package/dist/assets/{time-MgToa8VM.js → time-DswSXBDk.js} +1 -1
  85. package/dist/assets/tooltip-BsSdc1NQ.js +61 -0
  86. package/dist/assets/{tracing-Di6pUmX8.js → tracing-BnfAB-BH.js} +1 -1
  87. package/dist/assets/{tracing-panel-PeRXHD8_.js → tracing-panel-DNabsbtA.js} +2 -2
  88. package/dist/assets/{tree-actions-GM5E_bUs.js → tree-actions-BXvnBv45.js} +1 -1
  89. package/dist/assets/{useAddCell-GR7eEQrT.js → useAddCell-6ECZ0xPG.js} +1 -1
  90. package/dist/assets/{useBoolean-BDD6_xQQ.js → useBoolean-BvAx9Qrr.js} +1 -1
  91. package/dist/assets/{useCellActionButton-B-9eG5z_.js → useCellActionButton-Djyiwayj.js} +1 -1
  92. package/dist/assets/{useDeleteCell-2_bMClHd.js → useDeleteCell-KX6SEwki.js} +1 -1
  93. package/dist/assets/{useDependencyPanelTab-k3C3M18S.js → useDependencyPanelTab-B8ke9iTY.js} +1 -1
  94. package/dist/assets/{useInstallPackage-iX1eufdl.js → useInstallPackage-C9-icL78.js} +1 -1
  95. package/dist/assets/useNotebookActions-CluLEhAd.js +1 -0
  96. package/dist/assets/{useRunCells-B2vUhREg.js → useRunCells-B847kPLO.js} +1 -1
  97. package/dist/assets/{useSplitCell-DEb03htp.js → useSplitCell-CnvTmIw7.js} +1 -1
  98. package/dist/assets/{useTheme-COhSHkCj.js → useTheme-n8Dj1zH7.js} +1 -1
  99. package/dist/assets/{vega-component-CnadTgoE.js → vega-component-DAkdRNSF.js} +1 -1
  100. package/dist/assets/{vega-embed-container-DJPNkHPb.js → vega-embed-container-CxuIHhsS.js} +1 -1
  101. package/dist/assets/vega-loader.browser-Bu25TKax.js +6 -0
  102. package/dist/assets/{xychartDiagram-S5SC5T6Z-KbGzG6-u.js → xychartDiagram-S5SC5T6Z-CeRnBS5e.js} +1 -1
  103. package/dist/index.html +44 -45
  104. package/package.json +4 -2
  105. package/src/__tests__/fixtures/{pair-preview.ts → pair-config.ts} +3 -2
  106. package/src/__tests__/mount.test.ts +28 -8
  107. package/src/components/data-table/__tests__/context-menu.test.ts +176 -0
  108. package/src/components/data-table/__tests__/date-filter-inputs.test.tsx +24 -1
  109. package/src/components/data-table/__tests__/export-actions.test.tsx +329 -6
  110. package/src/components/data-table/context-menu.tsx +125 -26
  111. package/src/components/data-table/date-filter-inputs.tsx +15 -42
  112. package/src/components/data-table/export-actions.tsx +192 -116
  113. package/src/components/data-table/schemas.ts +14 -36
  114. package/src/components/data-table/utils.ts +18 -0
  115. package/src/components/editor/Output.tsx +9 -2
  116. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  117. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +80 -252
  118. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +186 -34
  119. package/src/components/editor/actions/pair-with-agent-commands.ts +42 -51
  120. package/src/components/editor/actions/pair-with-agent-modal.tsx +96 -36
  121. package/src/components/editor/chrome/panels/error-panel.tsx +1 -0
  122. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +366 -0
  123. package/src/components/editor/chrome/wrapper/footer-item.tsx +32 -24
  124. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +237 -0
  125. package/src/components/editor/chrome/wrapper/footer.tsx +2 -0
  126. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  127. package/src/components/editor/controls/command-palette.tsx +22 -10
  128. package/src/components/editor/dynamic-favicon.tsx +21 -40
  129. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +537 -0
  130. package/src/components/editor/errors/send-error-report-button.tsx +69 -0
  131. package/src/components/editor/output/MarimoErrorOutput.tsx +21 -5
  132. package/src/components/editor/output/MarimoTracebackOutput.tsx +35 -20
  133. package/src/components/editor/output/__tests__/ansi-reduce.test.ts +18 -0
  134. package/src/components/editor/output/ansi-reduce.ts +6 -0
  135. package/src/core/attachments/__tests__/toast.test.tsx +58 -0
  136. package/src/core/attachments/state.ts +18 -0
  137. package/src/core/attachments/toast.ts +15 -0
  138. package/src/core/cells/__tests__/cells.test.ts +52 -0
  139. package/src/core/cells/__tests__/error-report.test.ts +139 -0
  140. package/src/core/cells/__tests__/notebook-outline.test.ts +113 -0
  141. package/src/core/cells/__tests__/session.test.ts +50 -1
  142. package/src/core/cells/cells.ts +2 -1
  143. package/src/core/cells/error-report.ts +63 -0
  144. package/src/core/cells/session.ts +28 -1
  145. package/src/core/config/pair.ts +5 -3
  146. package/src/core/edit-app.tsx +2 -2
  147. package/src/core/host/AGENTS.md +5 -0
  148. package/src/core/host/__tests__/attachments.test.ts +57 -0
  149. package/src/core/host/__tests__/document.test.ts +124 -0
  150. package/src/core/host/__tests__/events.test.ts +46 -0
  151. package/src/core/host/__tests__/fixtures.ts +39 -0
  152. package/src/core/host/__tests__/notebook-client.test.ts +433 -0
  153. package/src/core/host/__tests__/protocol.test.ts +15 -0
  154. package/src/core/host/__tests__/stream.test.ts +209 -0
  155. package/src/core/host/connection.ts +81 -0
  156. package/src/core/host/events.ts +61 -0
  157. package/src/core/host/notebook-client.ts +290 -0
  158. package/src/core/host/protocol.ts +11 -6
  159. package/src/core/host/resources/attachments.ts +19 -0
  160. package/src/core/host/resources/document.ts +101 -0
  161. package/src/core/host/resources/resource.ts +47 -0
  162. package/src/core/host/stream.ts +211 -0
  163. package/src/core/network/connection.ts +4 -2
  164. package/src/core/run-app.tsx +2 -2
  165. package/src/core/runtime/__tests__/runtime.test.ts +55 -11
  166. package/src/core/runtime/runtime.ts +15 -1
  167. package/src/core/runtime/types.ts +2 -0
  168. package/src/core/websocket/__tests__/{useMarimoKernelConnection.test.ts → connection-state.test.ts} +15 -17
  169. package/src/core/websocket/__tests__/{useWebSocket.test.ts → createConnectionTransport.test.ts} +1 -1
  170. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +170 -0
  171. package/src/core/websocket/__tests__/{useMarimoKernelConnection.hook.test.tsx → useNotebookSession.hook.test.tsx} +181 -65
  172. package/src/core/websocket/connection-state.ts +70 -0
  173. package/src/core/websocket/state.ts +7 -0
  174. package/src/core/websocket/transports/__tests__/sse.test.ts +1 -4
  175. package/src/core/websocket/transports/create.ts +31 -0
  176. package/src/core/websocket/transports/transport.ts +12 -23
  177. package/src/core/websocket/types.ts +9 -39
  178. package/src/core/websocket/useNotebookClient.ts +88 -0
  179. package/src/core/websocket/{useMarimoKernelConnection.tsx → useNotebookSession.tsx} +59 -225
  180. package/src/mount.tsx +7 -3
  181. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +84 -0
  182. package/src/utils/__tests__/dates.test.ts +116 -0
  183. package/src/utils/dates.ts +94 -0
  184. package/src/utils/once.ts +19 -19
  185. package/dist/assets/JsonOutput-D6HIIsCb.js +0 -11
  186. package/dist/assets/MarimoErrorOutput-D60XkCny.js +0 -6
  187. package/dist/assets/ai-model-dropdown-B0z6-zhp.js +0 -5
  188. package/dist/assets/api-BeC_VSGv.js +0 -1
  189. package/dist/assets/code-visibility-B-_GvwR5.js +0 -1
  190. package/dist/assets/coerce-CpE6kUdX.js +0 -1
  191. package/dist/assets/command-palette-DTSQ7gOC.js +0 -1
  192. package/dist/assets/config-BOKzA3tF.js +0 -1
  193. package/dist/assets/config-DX8Y2WbJ.js +0 -1
  194. package/dist/assets/edit-page-ChcSgpke.js +0 -9
  195. package/dist/assets/feedback-button-B2gKC5cn.js +0 -1
  196. package/dist/assets/hooks-93IwHd2u.js +0 -1
  197. package/dist/assets/index-Bcdzex-3.css +0 -2
  198. package/dist/assets/index-s-M1OXjs.js +0 -29
  199. package/dist/assets/linear-0eij_aAG.js +0 -1
  200. package/dist/assets/pair-CaQyK6En.js +0 -1
  201. package/dist/assets/panels-CxVG8-v2.js +0 -4
  202. package/dist/assets/precisionRound-Bq_nmf5u.js +0 -1
  203. package/dist/assets/react-vega-C3rYGtP6.js +0 -189
  204. package/dist/assets/session-panel-VdDhEBa-.js +0 -1
  205. package/dist/assets/state-_Qai_QyX.js +0 -3
  206. package/dist/assets/tooltip-mT3CGest.js +0 -61
  207. package/dist/assets/useNotebookActions-NHN6A-cN.js +0 -1
  208. package/dist/assets/vega-loader.browser-CLRkNgm7.js +0 -6
  209. package/src/core/websocket/useWebSocket.tsx +0 -88
@@ -1 +0,0 @@
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-Dfcbgjhg.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 ne,to as B,yr as V,yt as H,zi as U}from"./cells-BRkCaSsh.js";import{t as W}from"./compiler-runtime-BrajqUja.js";import{s as re}from"./config-VPSq73n8.js";import{O as G}from"./config-DX8Y2WbJ.js";import{t as K}from"./ErrorBoundary-Gl5nCA8C.js";import{t as ie}from"./cn-ldLVeaqm.js";import{t as q}from"./jsx-runtime-B74pBk57.js";import{r as ae}from"./config-BOKzA3tF.js";import{_ as oe,at as J,f as se,g as ce,h as le,it as ue,m as de,nt as fe,ot as pe,rt as me,tt as he,v as ge}from"./JsonOutput-D6HIIsCb.js";import{t as _e}from"./tooltip-C9TuY18o.js";import{r as ve,t as ye}from"./button-COI-NGrx.js";import{t as be}from"./createLucideIcon-DfJ2oMlA.js";import{i as xe}from"./paths-bkIFVj8h.js";import{r as Se}from"./useNumberFormatter-D7O_26UI.js";import{a as Ce,r as we}from"./tree-actions-GM5E_bUs.js";import{a as Te}from"./input-BoBxR50a.js";import{n as Ee,o as De}from"./column-preview-Cm2D6vyX.js";import{t as Oe}from"./workflow-cw-0b9g5.js";import{t as ke}from"./copy-icon-BIiRXh_3.js";import{l as Ae}from"./arrays-BqUx5USx.js";import{i as je}from"./strings-B2vv-ENv.js";import{r as Me}from"./requests-lt0JK8Jt.js";import{t as Ne}from"./I18nProvider-Cg2I_s1_.js";import{n as Pe}from"./useAsyncData-C7aJJz0Y.js";import{t as Fe}from"./cell-link-LSth_8hT.js";import{a as Ie,i as Le,n as Re,o as ze,r as Be,t as Ve}from"./table-vrvqpuKJ.js";import{n as He}from"./icons-CiZ_8zS-.js";import{t as Ue}from"./useDeepCompareMemoize-DFIVN9dn.js";import{t as We}from"./useAddCell-GR7eEQrT.js";import{t as Ge}from"./empty-state-BaCKb7o3.js";import{n as Ke,t as qe}from"./common-Cu6CDbuw.js";import{a as Je,i as Ye,n as Xe,o as Ze,r as Qe,s as $e,t as et}from"./components-CGw16R_N.js";import{r as tt}from"./panel-accordion-state-C1sdPp0m.js";var nt=be(`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=W(),X=e(a(),1),Z=q(),rt=1;function it(e){return 1.75+e*rt}function at(e){return 3+e*rt}function ot(e){return 3.25+e*rt}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 st=n(e=>{let t=e(w),n=e(ne),r=e(I);return Ae(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})}),ct=G(`marimo:datasources:hideEmpty`,!1,C,{getOnInit:!0});function lt(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=lt(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 ut(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=lt(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 dt=()=>{let e=(0,Y.c)(42),[n,a]=X.useState(``),[o,s]=t(ct),c=i(y),l=r(st),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=ut(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)(Ge,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,Z.jsx)(Ze,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,Z.jsx)(xe,{})}),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`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,Z.jsx)(Se,{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)(Ce,{"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)(Ze,{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)(ft,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,Z.jsx)(gt,{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)(de,{className:`pr-2`,style:$(Q.engine),children:[(0,Z.jsx)(He,{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)(bt,{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},ft=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}=Me(),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)($e,{variableName:h}),`)`]}),t[10]=h,t[11]=g);let _;t[12]!==u||t[13]!==a?(_=!a&&(0,Z.jsx)(we,{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)(de,{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)(le,{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},pt=X.createContext(null);function mt(){let e=X.useContext(pt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function ht(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 gt=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)(vt,{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)(pt.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)(_t,{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},_t=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=ie(`h-4 w-4`,x),t[9]=x,t[10]=S);let C;t[11]===S?C=t[12]:(C=(0,Z.jsx)(xe,{className:S}),t[11]=S,t[12]=C);let w=u&&c&&`font-semibold`,T;t[13]===w?T=t[14]:(T=ie(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},vt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=mt(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=h(),l=Ue(e.schemaPath),[u,d]=X.useState(!1),{isPending:p,error:m}=Pe(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=$(it(r));return p||u?(0,Z.jsx)(oe,{message:`Loading schemas...`,style:g}):m?(0,Z.jsx)(ce,{error:m,style:g}):t.length===0?(0,Z.jsx)(le,{content:`No schemas available`,style:g}):(0,Z.jsx)(Z.Fragment,{children:t.map(e=>_(e.name)?(0,Z.jsx)(bt,{tables:e.tables,tablesResolved:k(e),searchValue:s,sqlTableContext:ht(i,{schema:e.name,schemaPath:l})},e.name):(0,Z.jsx)(yt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},yt=e=>{let t=(0,Y.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=mt(),{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=$(it(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=ie(`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)(B,{className:D}),t[16]=D,t[17]=O);let A=f&&u&&`font-semibold`,j;t[18]===A?j=t[19]:(j=ie(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)(vt,{schemas:S,schemasResolved:m(n),schemaPath:r,depth:i+1}),(0,Z.jsx)(bt,{tables:n.tables,tablesResolved:k(n),searchValue:s,tableIndentRem:at(i),columnIndentRem:ot(i),sqlTableContext:ht(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},bt=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()=>{if(!c&&r){d(!0);let{engine:e,database:t,schema:n,schemaPath:i}=r,a=await z.request({engine:e,database:t,schema:n,schemaPath:i??[]});if(!a?.tables)throw d(!1),Error(`No tables available`);l({tables:a.tables,sqlTableContext:r}),d(!1)}},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}=Pe(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)(oe,{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)(ce,{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)(le,{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)(xt,{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},xt=e=>{let t=(0,Y.c)(69),{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}=Pe(m,g),x=r(re),S=E(),{createNewCell:C}=d(),w=We(),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 je(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)(oe,{message:`Loading columns...`,style:e});if(b)return(0,Z.jsx)(ce,{error:b,style:e});let t=n.columns;return t.length===0?(0,Z.jsx)(le,{content:`No columns found`,style:e}):t.map(e=>(0,Z.jsx)(St,{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),ne=(u||a)&&`font-semibold`,B;t[34]===ne?B=t[35]:(B=ie(`rounded-none group h-8 cursor-pointer`,ne),t[34]=ne,t[35]=B);let V;t[36]===z?V=t[37]:(V=$(z),t[36]=z,t[37]=V);let H;t[38]===u?H=t[39]:(H=()=>f(!u),t[38]=u,t[39]=H);let U;t[40]===I?U=t[41]:(U=I(),t[40]=I,t[41]=U);let W;t[42]===n.name?W=t[43]:(W=(0,Z.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=W);let G;t[44]!==U||t[45]!==W?(G=(0,Z.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[U,W]}),t[44]=U,t[45]=W,t[46]=G):G=t[46];let K;t[47]===M?K=t[48]:(K=M(),t[47]=M,t[48]=K);let q;t[49]===D?q=t[50]:(q=ve.stopPropagation(()=>D()),t[49]=D,t[50]=q);let ae;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,Z.jsx)(De,{className:`h-3 w-3`}),t[51]=ae):ae=t[51];let J;t[52]===q?J=t[53]:(J=(0,Z.jsx)(_e,{content:`Add table to notebook`,delayDuration:400,children:(0,Z.jsx)(ye,{className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:q,children:ae})}),t[52]=q,t[53]=J);let se;t[54]!==u||t[55]!==V||t[56]!==H||t[57]!==G||t[58]!==K||t[59]!==J||t[60]!==B||t[61]!==R?(se=(0,Z.jsxs)(ee,{className:B,style:V,value:R,"aria-selected":u,forceMount:!0,onSelect:H,children:[G,K,J]}),t[54]=u,t[55]=V,t[56]=H,t[57]=G,t[58]=K,t[59]=J,t[60]=B,t[61]=R,t[62]=se):se=t[62];let ue;t[63]!==u||t[64]!==P?(ue=u&&P(),t[63]=u,t[64]=P,t[65]=ue):ue=t[65];let de;return t[66]!==se||t[67]!==ue?(de=(0,Z.jsxs)(Z.Fragment,{children:[se,ue]}),t[66]=se,t[67]=ue,t[68]=de):de=t[68],de},St=e=>{let t=(0,Y.c)(51),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[l,u]=X.useState(!1),d=r(y),f=i(U);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=We(),{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=Ct,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?ot(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)(se,{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;t[30]===a.name?F=t[31]:(F=(0,Z.jsx)(_e,{content:`Copy column name`,delayDuration:400,children:(0,Z.jsx)(ye,{variant:`text`,size:`icon`,className:`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(ke,{tooltip:!1,value:a.name,className:`h-3 w-3`})})}),t[30]=a.name,t[31]=F);let I;t[32]===a.external_type?I=t[33]:(I=(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[32]=a.external_type,t[33]=I);let L;t[34]!==P||t[35]!==F||t[36]!==I||t[37]!==E||t[38]!==D||t[39]!==O?(L=(0,Z.jsxs)(ee,{className:`rounded-none py-1 group cursor-pointer`,value:D,onSelect:O,children:[P,F,I]},E),t[34]=P,t[35]=F,t[36]=I,t[37]=E,t[38]=D,t[39]=O,t[40]=L):L=t[40];let R;t[41]!==a||t[42]!==m||t[43]!==x||t[44]!==l||t[45]!==o||t[46]!==n?(R=l&&(0,Z.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:$(Q.columnPreview),children:(0,Z.jsx)(K,{children:(0,Z.jsx)(Ee,{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[41]=a,t[42]=m,t[43]=x,t[44]=l,t[45]=o,t[46]=n,t[47]=R):R=t[47];let z;return t[48]!==L||t[49]!==R?(z=(0,Z.jsxs)(Z.Fragment,{children:[L,R]}),t[48]=L,t[49]=R,t[50]=z):z=t[50],z};function Ct(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 wt(e){return e}var Tt={name:`name`,type:`type-value`,defs:`defs-refs`},Et=[wt({id:Tt.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)(qe,{name:t,declaredBy:n})}}),wt({id:Tt.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})]})}}),wt({id:Tt.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&&V(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)(nt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,Z.jsx)(Fe,{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)(Fe,{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)(Oe,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,Z.jsx)(Ke,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function Dt({variables:e,sort:t,cellIdToIndex:n}){t||={id:Tt.defs,desc:!1};let r=[];switch(t.id){case Tt.name:r=Ae(e,e=>e.name);break;case Tt.type:r=Ae(e,e=>e.dataType);break;case Tt.defs:r=Ae(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var Ot=(0,X.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=X.useState([]),[a,o]=X.useState(``),s=S(),{locale:c}=Ne(),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)),Dt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=me({data:u,columns:Et,getCoreRowModel:ue(),onGlobalFilterChange:o,getFilteredRowModel:J(),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)(Te,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,Z.jsxs)(Ve,{className:ie(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,Z.jsx)(Ie,{children:(0,Z.jsx)(ze,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,Z.jsx)(Le,{className:`sticky top-0 bg-background border-b`,children:fe(e.column.columnDef.header,e.getContext())},e.id))})}),(0,Z.jsx)(Re,{children:d.getRowModel().rows.map(e=>(0,Z.jsx)(ze,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,Z.jsx)(Be,{className:`border-b`,children:fe(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});Ot.displayName=`VariableTable`;var kt=()=>{let e=(0,Y.c)(30),n=o(),i=b(),a=r(w),s=r(x),c=H(`database`),[l,u]=t(tt),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)(xe,{className:`w-4 h-4`}),e[8]=S):S=e[8];let C;e[9]!==d||e[10]!==v?(C=v&&(0,Z.jsx)(Je,{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)(et,{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)(Ye,{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)(Xe,{children:(0,Z.jsx)(dt,{})}),e[18]=D):D=e[18];let O;e[19]===E?O=e[20]:(O=(0,Z.jsxs)(Qe,{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)(Ye,{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)(Qe,{value:`variables`,lastItem:!0,children:[k,(0,Z.jsx)(Xe,{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)(Ot,{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)(ae,{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{kt as default};
@@ -1,3 +0,0 @@
1
- import{r as e}from"./useEvent-Dfcbgjhg.js";import{$n as t,La as n,Pa as r,Qn as i,_o as a,oi as o,vo as s,x as c,za as l}from"./cells-BRkCaSsh.js";import{t as u}from"./get-DjNf4SIX.js";import{t as d}from"./debounce-aFmHgJZY.js";import{E as f}from"./config-VPSq73n8.js";import{t as p}from"./_baseSet-Bpdo9AvU.js";import{g as m,v as h}from"./useEventListener-D9cftcHj.js";import{t as g}from"./invariant-Ci2dTZ72.js";import{d as _,v}from"./session-DqoWmb7X.js";import{D as y,M as b,c as x,l as S,n as ee}from"./config-DX8Y2WbJ.js";import{c as te,o as C}from"./state-C3oDoyFe.js";import{c as w,o as T}from"./markdown-renderer-BG3sp2rs.js";import{w as ne}from"./write-secret-modal-DzKAInL2.js";import{t as re}from"./use-toast-Wu434mLr.js";import{t as ie}from"./preload-helper-uBIymjUX.js";import{r as ae}from"./strings-B2vv-ENv.js";import{t as E}from"./requests-lt0JK8Jt.js";import{t as oe}from"./Deferred-CrTnjj37.js";import{t as se}from"./uuid-k9DpjH68.js";import{n as ce}from"./RenderHTML-BbOqmHy3.js";import{t as le}from"./useRunCells-B2vUhREg.js";import{r as ue,t as de}from"./blob-D5nfNHOo.js";import{f as fe}from"./useInstallPackage-iX1eufdl.js";import{t as pe}from"./api-BeC_VSGv.js";import{n as me,t as he}from"./share-BZW3tzEX.js";import{i as D,r as ge,t as _e}from"./events-CbeVJ6OD.js";function O(e,t,n){return e==null?e:p(e,t,n)}function k(e,t){if(e.origin===globalThis.origin)return new Worker(e.href,{...t,type:`module`});let n=`import ${JSON.stringify(e.href)}`,r=globalThis.origin===`null`?`data:application/javascript,${encodeURIComponent(n)}`:URL.createObjectURL(new Blob([n],{type:`application/javascript`}));try{return new Worker(r,{...t,type:`module`})}finally{r.startsWith(`blob:`)&&URL.revokeObjectURL(r)}}function A(e){return e.assetUrl,e}var j=class{subscriptions=new Map;addSubscription(e,t){this.subscriptions.has(e)||this.subscriptions.set(e,new Set),this.subscriptions.get(e)?.add(t)}removeSubscription(e,t){this.subscriptions.get(e)?.delete(t)}notify(e,t){for(let n of this.subscriptions.get(e)??[])n(t)}},M=class e{subscriptions=new j;producer;static withProducerCallback(t){return new e(t)}static empty(){return new e}constructor(e){this.producer=e}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify(`message`,e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify(`open`,new Event(`open`))})}get readyState(){return WebSocket.OPEN}reconnect(e,t){this.close(),this.connect()}close(){this.subscriptions.notify(`close`,new Event(`close`))}send(e){return this.subscriptions.notify(`message`,new MessageEvent(`message`,{data:e})),Promise.resolve()}addEventListener(e,t){this.subscriptions.addSubscription(e,t),e===`open`&&t(new Event(`open`)),e===`message`&&this.startProducer()}removeEventListener(e,t){this.subscriptions.removeSubscription(e,t)}},ve=1e10,ye=1e3;function N(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function be(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(S)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=ye}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=ve?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw N([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw N([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function b(e,t){if(!r.registerHandler)throw N([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function x(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function S(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw N([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:b,removeMessageListener:x,proxy:{send:_,request:m},_setDebugHooks:n}}function xe(e){return be(e)}var P=`[transport-id]`;function Se(e,t){let{transportId:n}=t;return n==null?e:{[P]:n,data:e}}function Ce(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[P]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function we(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(Se(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=Ce(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function Te(e,t){return we(e,t)}var Ee=`::controller`,De=`marimo-transport`;function F(e){return xe({transport:Te(e,{transportId:De}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{m.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{m.debug(`[rpc] Worker -> Parent`,e)}}})}function I(){let e=document.querySelector(`marimo-wasm`),t=e=>{try{return e?new URL(e,document.baseURI).href:void 0}catch{return}};return{version:te(),pyodideIndexUrl:t(e?.dataset.pyodideIndexUrl),pyodideLockfileUrl:t(e?.dataset.pyodideLockfileUrl),pypiIndexUrl:t(e?.dataset.pypiIndexUrl)?.replaceAll(`%7Bpackage_name%7D`,`{package_name}`)}}var L=me(),R=`marimo:file`,z=new r(null),Oe={saveFile(e){z.set(R,e)},readFile(){return z.get(R)}},ke={saveFile(e){s.setCodeForHash((0,L.compressToEncodedURIComponent)(e))},readFile(){let e=s.getCodeFromHash()||s.getCodeFromSearchParam();return e?(0,L.decompressFromEncodedURIComponent)(e):null}},Ae={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},je={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Me={saveFile(e){},readFile(){return e.get(n)??null}},Ne={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
2
- `)}},B=class{stores;constructor(e){this.stores=e}insert(e,t){this.stores.splice(e,0,t)}saveFile(e){this.stores.forEach(t=>t.saveFile(e))}readFile(){for(let e of this.stores){let t=e.readFile();if(t)return t}return null}},V=new B([Me,Ae,ke]),H=new B([Oe,je,Ne]),Pe=new URL(`save-worker-BbUSwZRG.js`,import.meta.url).href,Fe=new URL(`worker-DTQ7oH2A.js`,import.meta.url).href,U=class t{static get INSTANCE(){let e=`_marimo_private_PyodideBridge`;return window[e]||(window[e]=new t),window[e]}rpc;saveRpc;pendingSessionSave=Promise.resolve();interruptBuffer;messageConsumer;initialized=new oe;getSaveWorker(){if(_()===`read`)return m.debug(`Using partially disabled SaveWorker in read-mode`),{readFile:h,readNotebook:async()=>await V.readFile()??``,saveNotebook:h};let e=I(),t=F(k(new URL(Pe,import.meta.url),{name:Le()}));return t.send.bootstrap(e),t.proxy.request}constructor(){if(!b())return;let t=I(),n=k(new URL(Fe,import.meta.url),{name:Le()});this.rpc=F(n),this.rpc.send.bootstrap(t),this.rpc.addMessageListener(`ready`,()=>{this.startSession()}),this.rpc.addMessageListener(`initialized`,()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),e.set(C,{kind:`ready`}),this.initialized.resolve()}),this.rpc.addMessageListener(`initializingMessage`,({message:t})=>{e.get(C).kind===`loading`&&e.set(C,{kind:`loading`,message:t})}),this.rpc.addMessageListener(`initializedError`,({error:t})=>{if(this.initialized.status===`resolved`){m.error(t),re({title:`Error initializing`,description:t,variant:`danger`});return}e.set(C,{kind:`error`,message:t}),this.initialized.reject(Error(t))}),this.rpc.addMessageListener(`kernelMessage`,({message:e})=>{this.messageConsumer?.(new MessageEvent(`message`,{data:e}))})}async startSession(){let t=await V.readFile(),n=await H.readFile(),r=e.get(l)??s.getFilename(),i=e.get(f),a={},o=new URLSearchParams(window.location.search);for(let e of o.keys()){let t=o.getAll(e);a[e]=t.length===1?t[0]:t}await this.rpc.proxy.request.startSession({queryParameters:a,code:t||n||``,filename:r,userConfig:{...i,runtime:{...i.runtime,auto_instantiate:_()===`read`||i.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):m.warn(`Not running in a secure context; interrupts are not available.`)}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}sendRename=async({filename:e})=>e===null?null:(s.setFilename(e),await this.rpc.proxy.request.bridge({functionName:`rename_file`,payload:e}),null);sendSave=async e=>{if(!this.saveRpc)return m.warn(`Save RPC not initialized`),null;let t=this.saveRpc.saveNotebook(e);this.pendingSessionSave=this.pendingSessionSave.catch(()=>void 0).then(async()=>{await t,await this.rpc.proxy.request.saveNotebook(e)}),this.pendingSessionSave.catch(e=>{m.error(e)}),await t;let n=await this.readCode();return n.contents&&(V.saveFile(n.contents),H.saveFile(n.contents)),null};sendCopy=async()=>{h()};sendStdin=async e=>(await this.rpc.proxy.request.bridge({functionName:`put_input`,payload:e.text}),null);sendPdb=async()=>{h()};sendSetBreakpoints=async()=>{h()};sendRun=async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
- `)),await this.putControlRequest({type:`execute-cells`,...e}),null);sendRunScratchpad=async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:`execute-scratchpad`,...e}),null);sendInterrupt=async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null);sendShutdown=async()=>(window.close(),null);sendFormat=async e=>await this.rpc.proxy.request.bridge({functionName:`format`,payload:e});sendDeleteCell=async e=>(await this.putControlRequest({type:`delete-cell`,...e}),null);sendInstallMissingPackages=async e=>(this.putControlRequest({type:`install-packages`,...e}),null);sendCodeCompletionRequest=async t=>(e.get(c)||await this.rpc.proxy.request.bridge({functionName:`code_complete`,payload:t}),null);saveUserConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_user_config`,payload:e}),pe.post(`/kernel/save_user_config`,e,{baseUrl:`/`}).catch(e=>(m.error(e),null)));saveAppConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_app_config`,payload:e}),null);saveCellConfig=async e=>(await this.putControlRequest({type:`update-cell-config`,...e}),null);sendRestart=async()=>{let e=await this.readCode();return e.contents&&(V.saveFile(e.contents),H.saveFile(e.contents)),fe(),null};readCode=async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(m.warn(`Save RPC not initialized`),{contents:``});readSnippets=async()=>await this.rpc.proxy.request.bridge({functionName:`read_snippets`,payload:void 0});openFile=async({path:e})=>{let t=he({code:null,baseUrl:window.location.origin});return window.open(t,`_blank`),null};sendListFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`list_files`,payload:e});getFileRoots=async()=>await this.rpc.proxy.request.bridge({functionName:`file_roots`,payload:void 0});sendSearchFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`search_files`,payload:e});sendComponentValues=async e=>(await this.putControlRequest({type:`update-ui-element`,...e,token:se()}),null);sendInstantiate=async e=>null;sendFunctionRequest=async e=>(await this.putControlRequest({type:`invoke-function`,...e}),null);sendCreateFileOrFolder=async e=>{let t=null;return e.file&&(t=(await ue(e.file)).split(`,`)[1]??``),await this.rpc.proxy.request.bridge({functionName:`create_file_or_directory`,payload:{path:e.path,type:e.type,name:e.name,contents:t}})};sendDeleteFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`delete_file_or_directory`,payload:e});sendCopyFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`copy_file_or_directory`,payload:e});sendRenameFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`move_file_or_directory`,payload:e});sendUpdateFile=async e=>await this.rpc.proxy.request.bridge({functionName:`update_file`,payload:e});sendFileDetails=async e=>await this.rpc.proxy.request.bridge({functionName:`file_details`,payload:e});exportAsHTML=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_html`,payload:A(e)}));exportAsMarkdown=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_markdown`,payload:e}));exportAsScript=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_script`,payload:e}));previewDatasetColumn=async e=>(await this.putControlRequest({type:`preview-dataset-column`,...e}),null);previewSQLTable=async e=>(await this.putControlRequest({type:`preview-sql-table`,...e}),null);previewSQLTableList=async e=>(await this.putControlRequest({type:`list-sql-tables`,...e}),null);previewSQLSchemaList=async e=>(await this.putControlRequest({type:`list-sql-schemas`,...e}),null);previewDataSourceConnection=async e=>(await this.putControlRequest({type:`list-data-source-connection`,...e}),null);validateSQL=async e=>(await this.putControlRequest({type:`validate-sql`,...e}),null);sendModelValue=async e=>(await this.putControlRequest({type:`model`,...e}),null);sendDocumentTransaction=()=>Promise.resolve(null);addPackage=async e=>this.rpc.proxy.request.addPackage(e);removePackage=async e=>this.rpc.proxy.request.removePackage(e);getPackageList=async()=>await this.rpc.proxy.request.listPackages();getSandbox=async()=>({backend:null,manifest:null,filename:null});updateManifest=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};syncSandbox=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};getDependencyTree=async()=>({tree:{dependencies:[],name:``,tags:[],version:null},context:{kind:`package-manager`,name:`micropip`}});listSecretKeys=async e=>(await this.putControlRequest({type:`list-secret-keys`,...e}),null);discoverDataSources=async e=>(await this.putControlRequest({type:`discover-data-sources`,...e}),null);getUsageStats=h;getEnvironmentInfo=async()=>await this.rpc.proxy.request.bridge({functionName:`get_environment_info`,payload:void 0});openTutorial=h;getRecentFiles=h;getWorkspaceFiles=h;getRunningNotebooks=h;shutdownSession=h;getExportAvailability=h;installExportRequirements=h;exportAsIPYNB=h;exportAsPDF=h;autoExportAsHTML=h;autoExportAsMarkdown=h;autoExportAsIPYNB=h;updateCellOutputs=h;writeSecret=h;invokeAiTool=h;clearCache=h;getCacheInfo=h;listStorageEntries=h;downloadStorage=h;async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:`put_control_request`,payload:e})}};function Ie(){return M.withProducerCallback(e=>{U.INSTANCE.attachMessageConsumer(e)})}function Le(){return`marimo${typeof window<`u`&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0?Ee:``}`}function Re(e=x()){let t=window.fetch;return window.fetch=async(n,r)=>{let i=n instanceof Request?n.url:n.toString();if(i.startsWith(`data:`))return t(n,r);try{let a=W(i,e);if(a){let e=await(await t(a)).arrayBuffer();return new Response(e,{headers:{"Content-Type":ze(i)}})}return t(n,r)}catch(e){return m.error(`Error parsing URL`,e),t(n,r)}},()=>{window.fetch=t}}function ze(e){return e.endsWith(`.csv`)?`text/csv`:e.endsWith(`.json`)?`application/json`:e.endsWith(`.txt`)?`text/plain`:`application/octet-stream`}function Be(e,t=x()){let n=e.http.bind(e),r=e.load.bind(e);return e.http=async e=>{let r=W(e,t);if(r)return await window.fetch(r).then(e=>e.text());try{return await n(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},e.load=async e=>{let n=W(e,t);if(n)return await window.fetch(n).then(e=>e.text());try{return await r(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},()=>{e.http=n,e.load=r}}function Ve(e){return e.startsWith(`.`)?e.slice(1):e}function He(e,t=x()){let n=W(e,t);if(!n)return e;let r=de(n);return URL.createObjectURL(r)}function W(e,t){let n=document.baseURI;n.startsWith(`blob:`)&&(n=n.replace(`blob:`,``));let r=new URL(e,n).pathname,i=Ue(e),a=Ue(r);return t[e]||t[Ve(e)]||t[r]||t[Ve(r)]||i&&t[i]||a&&t[a]}function Ue(e){let t=e.indexOf(`/@file/`);return t===-1?null:e.slice(t)}function G(e,t){return{get(t){return e.get(t)},set(t,n){e.set(t,n)},save_changes(){e.save_changes()},send:e.send.bind(e),on(n,r){t.aborted||(e.on(n,r),t.addEventListener(`abort`,()=>e.off(n,r),{once:!0}))},off(t,n){e.off(t??null,n??null)},widget_manager:{async get_model(n){return G(await e.widget_manager.get_model(n),t)}}}}function K(e){return typeof e==`string`&&e.length>0}function We(e){if(typeof e==`string`&&e.startsWith(`anywidget:`)){let t=e.slice(10);if(K(t))return t}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(e)}`)}function Ge(e,t){return{async getModel(n){let r=We(n);return G(await e.getModel(r),t)},async getWidget(n){let r=We(n),i=await e.getWidget(r);return{exports:i.exports,async render({el:e,signal:n}){await i.render({el:e,signal:n??t})}}}}}var Ke=Symbol(`marimo`);function q(e){return e[Ke]}var qe=class e{#e=`change`;#t;#n;#r;#i={};static _modelManager;constructor(e,t,n){this.#n=e,this.#r=t,this.#t=new Set,n&&n.addEventListener(`abort`,()=>{m.debug(`[Model] Signal aborted, clearing all listeners`),this.#i={}})}[Ke]={updateAndEmitDiffs:e=>this.#o(e),emitCustomMessage:(e,t)=>this.#s(e,t)};off(e,t){if(!e){this.#i={};return}if(!t){this.#i[e]=new Set;return}this.#i[e]?.delete(t)}send(e,t,n){let r=(n??[]).map(e=>e instanceof ArrayBuffer?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength));return this.#r.sendCustomMessage(e,r).then(()=>t?.())}widget_manager={async get_model(t){let n=await e._modelManager.getModel(t);if(!n)throw Error(`Model not found with id: ${t}. This is likely because the model was not registered.`);return n}};get(e){return this.#n[e]}set(e,t){this.#n={...this.#n,[e]:t},this.#t.add(e),this.#a(`change:${e}`,t),this.#c()}save_changes(){if(this.#t.size===0)return;let e=Object.fromEntries([...this.#t].map(e=>[e,this.#n[e]]));this.#t.clear(),this.#r.sendUpdate(e)}on(e,t,n){let r=n?.signal;r?.aborted||(this.#i[e]||(this.#i[e]=new Set),this.#i[e].add(t),r?.addEventListener(`abort`,()=>this.off(e,t),{once:!0}))}#a(e,t){let n=this.#i[e];if(n)for(let e of[...n])try{e(t)}catch(e){m.error(`Error emitting event`,e)}}#o(e){e!=null&&Object.keys(e).forEach(t=>{let n=t;this.#t.delete(n),this.#n[n]!==e[n]&&(this.#n={...this.#n,[n]:e[n]},this.#a(`change:${n}`,e[n]),this.#c())})}#s(e,t=[]){let n=this.#i[`msg:custom`];if(n)for(let r of[...n])try{r(e.content,t)}catch(e){m.error(`Error emitting event`,e)}}#c=d(()=>{let e=this.#i[this.#e];if(e)for(let t of[...e])try{t()}catch(e){m.error(`Error emitting event`,e)}},0)};function Je(e){return typeof e==`function`}function Ye(e){return typeof e==`function`}function Xe(e){return t(e)&&(Je(e.render)||Ye(e.initialize))}function Ze(e){return typeof e==`function`||Xe(e)}function Qe(e){return t(e)&&Ze(e.default)}var $e=new Set,et=new WeakMap;function tt(e,n){if(Qe(e))return e.default;if(!t(e)||e.default!==void 0)return null;let r=Je(e.render)?e.render:void 0,i=Ye(e.initialize)?e.initialize:void 0;if(r===void 0&&i===void 0)return null;let a=et.get(e);if(a)return a;$e.has(n)||($e.add(n),m.warn(`Anywidget module at ${n} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let o={render:r,initialize:i};return et.set(e,o),o}function nt(e,n){let r=`https://anywidget.dev/en/afm/`,a=t(e)&&i(e,`render`),o=t(e)&&i(e,`initialize`);if(t(e)&&e.default!==void 0)return Error(`Anywidget module at ${n} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${r}`);if(a||o){let e=[a?"`render`":null,o?"`initialize`":null].filter(Boolean).join(` and `),t=[a?`render`:null,o?`initialize`:null].filter(e=>e!==null),i=`export default { ${t.join(`, `)} }`,s=t.length===1?`export function ${t[0]}`:`named export function ...`;return Error(`Anywidget module at ${n} uses named exports (${e}). Per the AFM spec, use a default export instead: \`${i}\` (not \`${s}\`). See ${r}`)}return Error(`Anywidget module at ${n} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${r}`)}function rt(e){return typeof e!=`string`||e.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(e)||at(e))}function it(){return e.get(le)||ce()}function at(e){return e.startsWith(`data:text/javascript;base64,`)||e.startsWith(`data:application/javascript;base64,`)||e.startsWith(`data:text/css;base64,`)?it():!1}var ot={invoke:async()=>{let e=`anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues`;throw m.warn(e),Error(e)}};function st(e){if(typeof AbortSignal.any==`function`)return AbortSignal.any(e);let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(n.reason),t.signal;n.addEventListener(`abort`,()=>t.abort(n.reason),{once:!0})}return t.signal}var ct=class{#e=new Map;getModule(e){let{jsUrl:t,jsHash:n,kernelAuthored:r=!1}=e,i=this.#e.get(n);if(i)return i;let a=this.#t(t,{kernelAuthored:r}).catch(e=>{throw this.#e.delete(n),e});return this.#e.set(n,a),a}invalidate(e){this.#e.delete(e)}async#t(e,t={}){if(!(rt(e)||t.kernelAuthored===!0&&/^(https?:|data:)/.test(e)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(e)}`);let n=ee(e).toString();return S()&&(n=He(n)),ie(()=>import(n),[],import.meta.url)}};function J(e){return typeof e==`function`}async function Y(e,t){try{await e()}catch(e){m.warn(`[WidgetBinding] ${t} cleanup failed`,e)}}var lt=class e{#e;#t;#n;#r;#i;#a=new Set;#o=new Set;constructor(e){this.#t=e.widget,this.#n=e.model,this.#r=e.exports,this.#e=e.controller,this.#i=e.createHost}static async create({widgetDef:t,model:n,createHost:r,controller:i=new AbortController}){let a=i.signal,o=typeof t==`function`?await t():t,s=Promise.resolve(o.initialize?.({model:G(n,a),experimental:ot,signal:a}));s.then(async e=>{a.aborted&&J(e)&&await Y(e,`late initialize`)}).catch(()=>void 0);let c=await Promise.race([s,new Promise((e,t)=>{let n=()=>t(Error(`[anywidget] binding destroyed`));if(a.aborted){n();return}a.addEventListener(`abort`,n,{once:!0})})]);if(a.aborted)throw Error(`[anywidget] binding destroyed`);let l,u;J(c)?(u=c,l=void 0):l=typeof c==`object`&&c?c:void 0;let d=new e({widget:o,model:n,exports:l,controller:i,createHost:r});return u&&a.addEventListener(`abort`,()=>void d.#c(u,`initialize`),{once:!0}),d}get exports(){return this.#r}async createView(e,t){let n=this.#s(e,t);this.#o.add(n);try{await n}finally{this.#o.delete(n)}}async#s(e,t){let n=this.#t;if(!n.render)return;let r=st([t.signal,this.#e.signal]);if(r.aborted)return;e.el.innerHTML=``;let i=this.#i(r),a=await n.render({model:G(this.#n,r),el:e.el,experimental:ot,signal:r,host:i});if(J(a)){let e=()=>{let e=t.signal.aborted?`view unmount`:`binding destroyed`;return m.debug(`[WidgetBinding] Render cleanup triggered (reason: ${e})`),this.#c(a,`render`)};if(r.aborted){await e();return}r.addEventListener(`abort`,()=>void e(),{once:!0})}}#c(e,t){let n=Y(e,t);return this.#a.add(n),n.finally(()=>this.#a.delete(n)),n}async destroy(){for(m.debug(`[WidgetBinding] Destroying binding generation`),this.#e.abort(),await Promise.allSettled(this.#o);this.#a.size>0;)await Promise.all(this.#a)}},ut=new ct,dt=class{#e;#t;#n;#r;#i;#a=new AbortController;#o=new oe;#s=new Set;#c=new Map;#l;#u;#d;#f=Promise.resolve();#p=``;constructor(e,t){this.#e=e,this.#t=t.timeout,this.#n=t.isEditMode,this.#r=t.createHost,this.#i=t.onModelTimeout}getModel(){return this.#o.status===`pending`&&!this.#l&&(this.#l=setTimeout(()=>{this.#o.status===`pending`&&(this.#l=void 0,this.#o.reject(Error(`Model not found for key: ${this.#e}`)),this.#i())},this.#t)),this.#o.promise}getModelSync(){return this.#o.status===`resolved`?this.#o.value:void 0}createModel(e){this.#o.status===`pending`&&this.#m(e(this.#a.signal))}setModel(e){this.#o.status===`pending`&&this.#m(e)}#m(e){this.#l&&=(clearTimeout(this.#l),void 0),this.#o.resolve(e);let t=e.get(`_css`);this.#p=typeof t==`string`?t:``,e.on(`change:_css`,e=>{this.#p=typeof e==`string`?e:``;for(let e of this.#c.values())e.update(this.#p)},{signal:this.#a.signal})}setSpec(e){if(!this.#u){this.#u=e;return}this.#n()&&(this.#u=e,this.#d&&this.#d.hash!==e.hash&&this.#v(e))}async getWidget(){return{exports:(await this.#h()).exports,render:async({el:e,signal:t})=>{await this.createView({el:e,signal:t??this.#a.signal})}}}async createView(e){if(e.signal.aborted||this.#a.signal.aborted)return;let t={el:e.el,signal:e.signal};this.#s.add(t),this.#x(t),e.signal.addEventListener(`abort`,()=>this.#s.delete(t),{once:!0}),await this.#b(t)}async#h(){for(;!this.#a.signal.aborted;){let e=await this.getModel(),t=this.#d;if(!t){let n=this.#u;if(!n)throw Error(`[anywidget] No ESM spec for model ${this.#e}: nothing ever provided this widget's code`);t=this.#_(n,e)}try{let e=await t.promise;if(t===this.#d)return e}catch(e){if(!this.#d||t===this.#d)throw e}}throw Error(`[anywidget] widget runtime destroyed`)}async#g(e){let{spec:t,model:n,controller:r}=e,i=await ut.getModule({jsUrl:t.url,jsHash:t.hash,kernelAuthored:!0}),a=tt(i,t.url);if(!a)throw ut.invalidate(t.hash),nt(i,t.url);return lt.create({widgetDef:a,model:n,createHost:this.#r,controller:r})}#_(e,t){let n=new AbortController,r={hash:e.hash,controller:n,promise:this.#g({spec:e,model:t,controller:n})};return r.promise.catch(()=>{this.#d===r&&(this.#d=void 0)}),this.#d=r,r}#v(e){let t=this.#d;if(!t)return;m.debug(`[WidgetRuntime] Hot-swapping generation for model=${this.#e}`);let n=this.#y(t),r=this.getModelSync();if(!r)return;let i=this.#_(e,r);for(let e of this.#s)e.generation=void 0,n.then(()=>this.#b(e,i)).catch(e=>{m.error(`[WidgetRuntime] Error replacing widget view`,e)})}#y(e){e.controller.abort();let t=this.#f.then(async()=>{try{await(await e.promise).destroy()}catch{}});return this.#f=t,t}async#b(e,t){if(e.signal.aborted||this.#a.signal.aborted)return;let n=t??this.#d,r=n?await n.promise:await this.#h(),i=this.#d;if(!(!i||i!==(n??i))&&e.generation!==i){e.generation=i;try{await r.createView({el:e.el},{signal:e.signal})}catch(t){if(i!==this.#d){e.generation=void 0;return}throw t}}}#x(e){let t=e.el.getRootNode();if(!X(t)&&!ft(t))return;let n=this.#c.get(t);n||(n=pt(t,this.#p),this.#c.set(t,n)),n.references+=1;let r=!1;e.signal.addEventListener(`abort`,()=>{if(r)return;r=!0;let e=this.#c.get(t);e&&(--e.references,e.references===0&&(e.dispose(),this.#c.delete(t)))},{once:!0})}dispose(){if(!this.#a.signal.aborted){m.debug(`[WidgetRuntime] Disposing model=${this.#e}`),this.#l&&=(clearTimeout(this.#l),void 0),this.#o.status===`pending`&&(this.#o.promise.catch(()=>void 0),this.#o.reject(Error(`[anywidget] widget runtime destroyed`))),this.#d&&this.#y(this.#d),this.#a.abort(),this.#s.clear();for(let e of this.#c.values())e.dispose();this.#c.clear()}}};function X(e){return e.nodeType===Node.DOCUMENT_NODE}function ft(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}function pt(e,t){let n=X(e)?e:e.ownerDocument??document,r=n.defaultView??window;if(`adoptedStyleSheets`in e&&r.CSSStyleSheet!==void 0&&typeof r.CSSStyleSheet.prototype.replaceSync==`function`)try{let n=new r.CSSStyleSheet;return n.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],{references:0,update(e){n.replaceSync(e)},dispose(){e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>e!==n)}}}catch{}let i=n.createElement(`style`);return i.textContent=t,X(e)?n.head.append(i):e.append(i),{references:0,update(e){i.textContent=e},dispose(){i.remove()}}}function Z(e,t=[]){let n=[];if(e instanceof DataView)n.push(t);else if(Array.isArray(e))for(let[r,i]of e.entries())n.push(...Z(i,[...t,r]));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))n.push(...Z(i,[...t,r]));return n}function mt(e){let t=Z(e);if(t.length===0)return{state:e,buffers:[],bufferPaths:[]};let n=structuredClone(e),r=[],i=[];for(let a of t){let t=u(e,a);if(t instanceof DataView){let e=w(t);r.push(e),i.push(a),O(n,a,e)}}return{state:n,buffers:r,bufferPaths:i}}function ht(e){let{state:t,bufferPaths:n,buffers:r}=e;if(!n||n.length===0)return t;r&&g(r.length===n.length,`Buffers and buffer paths not the same length`);let i=t;for(let[e,t]of n.entries()){let n=r?.[e];if(n==null){m.warn(`[anywidget] Could not find buffer at path`,t);continue}typeof n==`string`?O(i,t,T(n)):O(i,t,n)}return i}function gt(){let t=e.get(v).mode;return t===`edit`||t===`present`}var Q=new class{#e=new Map;#t;#n;constructor(e=1e4,t=gt){this.#t=e,this.#n=t}#r(e){let t=this.#e.get(e);if(!t){let n=new dt(e,{timeout:this.#t,isEditMode:this.#n,createHost:e=>Ge(this,e),onModelTimeout:()=>{this.#e.get(e)===n&&(n.dispose(),this.#e.delete(e))}});t=n,this.#e.set(e,t)}return t}getModel(e){return this.#r(e).getModel()}getModelSync(e){return this.#e.get(e)?.getModelSync()}createModel(e,t){this.#r(e).createModel(t)}setModel(e,t){this.#r(e).setModel(t)}setSpec(e,t){this.#r(e).setSpec(t)}getWidget(e){return this.#r(e).getWidget()}createView(e){return this.#r(e.modelId).createView(e)}delete(e){let t=this.#e.get(e);t&&(t.dispose(),this.#e.delete(e))}};qe._modelManager=Q;async function _t(e,t){let n=t.model_id;if(!K(n))throw Error(`[anywidget] Invalid model id: ${String(n)}`);let r=t.message,i=(`buffers`in r?r.buffers:[]).map(T);switch(r.method){case`open`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=ht({state:t,bufferPaths:a,buffers:i}),s=e.getModelSync(n);if(s){q(s).updateAndEmitDiffs(o);return}e.createModel(n,e=>{let t=S()?{sendUpdate:async()=>void 0,sendCustomMessage:async()=>void 0}:{async sendUpdate(t){if(e.aborted){m.debug(`[Model] sendUpdate suppressed for model=${n} (signal aborted)`);return}let{state:r,buffers:i,bufferPaths:a}=mt(t);await E().sendModelValue({modelId:n,message:{method:`update`,state:r,bufferPaths:a},buffers:i})},async sendCustomMessage(t,r){if(e.aborted){m.debug(`[Model] sendCustomMessage suppressed for model=${n} (signal aborted)`);return}await E().sendModelValue({modelId:n,message:{method:`custom`,content:t},buffers:r.map(w)})}};return new qe(o,t,e)});return}case`custom`:q(await e.getModel(n)).emitCustomMessage({method:`custom`,content:r.content},i);return;case`close`:e.delete(n);return;case`update`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=ht({state:t,bufferPaths:a,buffers:i});q(await e.getModel(n)).updateAndEmitDiffs(o);return}default:ae(r)}}o(Q,`WIDGET_REGISTRY`);function vt(e){return typeof e!=`object`||!e?!1:`type`in e&&e.type===`marimo-ui-value-update`}var $=class e{entries;static get INSTANCE(){let t=`_marimo_private_UIElementRegistry`;return window[t]||(window[t]=new e),window[t]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,t){this.entries.has(e)&&m.debug(`UIElementRegistry overwriting entry for objectId.`,e),this.entries.set(e,{objectId:e,value:t,elements:new Set})}registerInstance(e,t){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:a(t,this),elements:new Set([t])}):n.elements.add(t)}removeInstance(e,t){let n=this.entries.get(e);n?.elements.has(t)&&n.elements.delete(t)}removeElementsByCell(e){[...this.entries.keys()].filter(t=>t.startsWith(`${e}-`)).forEach(e=>{this.entries.delete(e)})}lookupValue(e){let t=this.entries.get(e);return t===void 0?void 0:t.value}broadcastMessage(e,t,n){let r=this.entries.get(e);if(r===void 0){m.warn(`UIElementRegistry missing entry`,e);return}if(vt(t)){r.value=t.value,r.elements.forEach(e=>{e.dispatchEvent(D.create({bubbles:!1,composed:!0,detail:{value:t.value,element:e}}))});return}r.elements.forEach(r=>{r.dispatchEvent(_e.create({bubbles:!1,composed:!0,detail:{objectId:e,message:t,buffers:n}}))})}broadcastValueUpdate(e,t,n){let r=this.entries.get(t);r===void 0?m.warn(`UIElementRegistry missing entry`,t):(r.value=n,r.elements.forEach(t=>{t!==e&&t.dispatchEvent(D.create({bubbles:!1,composed:!0,detail:{value:n,element:t}}))}),document.dispatchEvent(ge.create({bubbles:!0,composed:!0,detail:{objectId:t}})))}},yt=$.INSTANCE,bt=new ne(`function-call-result`,async(e,t)=>{await E().sendFunctionRequest({functionCallId:e,...t})}),xt=`68px`,St=`288px`,Ct=e=>e?/^\d+$/.test(e)?`${e}px`:e:St,wt=y({isOpen:!0},(e,t)=>{if(!t)return e;switch(t.type){case`toggle`:return{...e,isOpen:t.isOpen??e.isOpen};case`setWidth`:return{...e,width:t.width};default:return e}});export{j as _,$ as a,_t as c,Re as d,Be as f,M as g,V as h,bt as i,rt as l,Ie as m,Ct as n,yt as o,U as p,wt as r,Q as s,xt as t,K as u,A as v,O as y};
@@ -1,61 +0,0 @@
1
- import{g as e}from"./useEventListener-D9cftcHj.js";import{t}from"./objects-snlMn4yk.js";import{a as n,c as r,et as i,o as a,tt as o,z as s}from"./vega-loader.browser-CLRkNgm7.js";var c=Uint8Array.of(65,82,82,79,87,49),l={V1:0,V2:1,V3:2,V4:3,V5:4},u={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},d={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},f={HALF:0,SINGLE:1,DOUBLE:2},p={DAY:0,MILLISECOND:1},m={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},h={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},g={Sparse:0,Dense:1},ee=Uint8Array,te=Uint16Array,ne=Uint32Array,re=BigUint64Array,ie=Int8Array,ae=Int16Array,_=Int32Array,v=BigInt64Array,oe=Float32Array,y=Float64Array;function se(e,t){let n=Math.log2(e)-3;return(t?[ie,ae,_,v]:[ee,te,ne,re])[n]}Object.getPrototypeOf(Int8Array);function b(e,t){let n=0,r=e.length;if(r<=2147483648)do{let i=n+r>>>1;e[i]<=t?n=i+1:r=i}while(n<r);else do{let i=Math.trunc((n+r)/2);e[i]<=t?n=i+1:r=i}while(n<r);return n}function x(e,t,n){if(t(e))return e;throw Error(n(e))}function S(e,t,n){return t=Array.isArray(t)?t:Object.values(t),x(e,e=>t.includes(e),n??(()=>`${e} must be one of ${t}`))}function ce(e,t){for(let[n,r]of Object.entries(e))if(r===t)return n;return`<Unknown>`}var C=e=>`Unsupported data type: "${ce(d,e)}" (id ${e})`,le=(e,t,n=!0,r=null)=>({name:e,type:t,nullable:n,metadata:r});function ue(e){return Object.hasOwn(e,`name`)&&de(e.type)}function de(e){return typeof e?.typeId==`number`}function w(e,t=``,n=!0){return ue(e)?e:le(t,x(e,de,()=>`Data type expected.`),n)}var fe=(e,t,n=!1,r=-1)=>({typeId:d.Dictionary,id:r,dictionary:e,indices:t||me(),ordered:n}),pe=(e=32,t=!0)=>({typeId:d.Int,bitWidth:S(e,[8,16,32,64]),signed:t,values:se(e,t)}),me=()=>pe(32),he=(e=2)=>({typeId:d.Float,precision:S(e,f),values:[te,oe,y][e]}),ge=()=>({typeId:d.Binary,offsets:_}),_e=()=>({typeId:d.Utf8,offsets:_}),ve=(e,t,n=128)=>({typeId:d.Decimal,precision:e,scale:t,bitWidth:S(n,[128,256]),values:re}),ye=e=>({typeId:d.Date,unit:S(e,p),values:e===p.DAY?_:v}),be=(e=m.MILLISECOND,t=32)=>({typeId:d.Time,unit:S(e,m),bitWidth:S(t,[32,64]),values:t===32?_:v}),xe=(e=m.MILLISECOND,t=null)=>({typeId:d.Timestamp,unit:S(e,m),timezone:t,values:v}),Se=(e=h.MONTH_DAY_NANO)=>({typeId:d.Interval,unit:S(e,h),values:e===h.MONTH_DAY_NANO?void 0:_}),Ce=e=>({typeId:d.List,children:[w(e)],offsets:_}),we=e=>({typeId:d.Struct,children:Array.isArray(e)&&ue(e[0])?e:Object.entries(e).map(([e,t])=>le(e,t))}),Te=(e,t,n,r)=>(n??=t.map((e,t)=>t),{typeId:d.Union,mode:S(e,g),typeIds:n,typeMap:n.reduce((e,t,n)=>(e[t]=n,e),{}),children:t.map((e,t)=>w(e,`_${t}`)),typeIdForValue:r,offsets:_}),Ee=e=>({typeId:d.FixedSizeBinary,stride:e}),De=(e,t)=>({typeId:d.FixedSizeList,stride:t,children:[w(e)]}),Oe=(e,t)=>({typeId:d.Map,keysSorted:e,children:[t],offsets:_}),ke=(e=m.MILLISECOND)=>({typeId:d.Duration,unit:S(e,m),values:v}),Ae=()=>({typeId:d.LargeBinary,offsets:v}),je=()=>({typeId:d.LargeUtf8,offsets:v}),Me=e=>({typeId:d.LargeList,children:[w(e)],offsets:v}),Ne=(e,t)=>({typeId:d.RunEndEncoded,children:[x(w(e,`run_ends`),e=>e.type.typeId===d.Int,()=>`Run-ends must have an integer type.`),w(t,`values`)]}),Pe=e=>({typeId:d.ListView,children:[w(e,`value`)],offsets:_}),Fe=e=>({typeId:d.LargeListView,children:[w(e,`value`)],offsets:v}),T=new y(2).buffer;new v(T),new ne(T),new _(T),new ee(T);function E(e){if(e>2**53-1||e<-(2**53-1))throw Error(`BigInt exceeds integer number representation: ${e}`);return Number(e)}function D(e,t){return Number(e/t)+Number(e%t)/Number(t)}var O=e=>BigInt.asUintN(64,e);function Ie(e,t){let n=t<<1,r;return BigInt.asIntN(64,e[n+1])<0?(r=O(~e[n])|O(~e[n+1])<<64n,r=-(r+1n)):r=e[n]|e[n+1]<<64n,r}function Le(e,t){let n=t<<2,r;return BigInt.asIntN(64,e[n+3])<0?(r=O(~e[n])|O(~e[n+1])<<64n|O(~e[n+2])<<128n|O(~e[n+3])<<192n,r=-(r+1n)):r=e[n]|e[n+1]<<64n|e[n+2]<<128n|e[n+3]<<192n,r}var Re=new TextDecoder(`utf-8`);new TextEncoder;function k(e){return Re.decode(e)}function ze(e,t){return!!(e[t>>3]&1<<t%8)}function A(e,t){let n=t+F(e,t),r=n-F(e,n),i=P(e,r);return(t,a,o=null)=>{if(t<i){let i=P(e,r+t);if(i)return a(e,n+i)}return o}}function j(e,t){return t}function M(e,t){return!!Be(e,t)}function Be(e,t){return N(e,t)<<24>>24}function N(e,t){return e[t]}function P(e,t){return Ve(e,t)<<16>>16}function Ve(e,t){return e[t]|e[t+1]<<8}function F(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function He(e,t){return F(e,t)>>>0}function I(e,t){return E(BigInt.asIntN(64,BigInt(He(e,t))+(BigInt(He(e,t+4))<<32n)))}function L(e,t){let n=t+F(e,t),r=F(e,n);return n+=4,k(e.subarray(n,n+r))}function R(e,t,n,r){if(!t)return[];let i=t+F(e,t);return Array.from({length:F(e,i)},(t,a)=>r(e,i+4+a*n))}var z=Symbol(`rowIndex`);function B(e,t){class n{constructor(e){this[z]=e}toJSON(){return We(e,t,this[z])}}let r=n.prototype;for(let n=0;n<e.length;++n){if(Object.hasOwn(r,e[n]))continue;let i=t[n];Object.defineProperty(r,e[n],{get(){return i.at(this[z])},enumerable:!0})}return e=>new n(e)}function Ue(e,t){return n=>We(e,t,n)}function We(e,t,n){let r={};for(let i=0;i<e.length;++i)r[e[i]]=t[i].at(n);return r}function Ge(e){return e instanceof H}var V=class{static ArrayType=null;constructor({length:e,nullCount:t,type:n,validity:r,values:i,offsets:a,sizes:o,children:s}){this.length=e,this.nullCount=t,this.type=n,this.validity=r,this.values=i,this.offsets=a,this.sizes=o,this.children=s,(!t||!this.validity)&&(this.at=e=>this.value(e))}get[Symbol.toStringTag](){return`Batch`}at(e){return this.isValid(e)?this.value(e):null}isValid(e){return ze(this.validity,e)}value(e){return this.values[e]}slice(e,t){let n=t-e,r=Array(n);for(let t=0;t<n;++t)r[t]=this.at(e+t);return r}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.at(e)}},H=class extends V{constructor(e){super(e);let{length:t,values:n}=this;this.values=n.subarray(0,t)}slice(e,t){return this.nullCount?super.slice(e,t):this.values.subarray(e,t)}[Symbol.iterator](){return this.nullCount?super[Symbol.iterator]():this.values[Symbol.iterator]()}},U=class extends V{static ArrayType=y},W=class extends V{static ArrayType=Array},Ke=class extends W{value(e){return null}},G=class extends U{value(e){return E(this.values[e])}},qe=class extends U{value(e){let t=this.values[e],n=(t&31744)>>10,r=(t&1023)/1024,i=(-1)**((t&32768)>>15);switch(n){case 31:return i*(r?NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*2**(n-15)*(1+r)}},Je=class extends W{value(e){return ze(this.values,e)}},Ye=class extends V{constructor(e){super(e);let{bitWidth:t,scale:n}=this.type;this.decimal=t===128?Ie:Le,this.scale=10n**BigInt(n)}},Xe=class extends Ye{static ArrayType=y;value(e){return D(this.decimal(this.values,e),this.scale)}},Ze=class extends Ye{static ArrayType=Array;value(e){return this.decimal(this.values,e)}},Qe=class extends W{constructor(e){super(e),this.source=e}value(e){return new Date(this.source.value(e))}},$e=class extends U{value(e){return 864e5*this.values[e]}},et=G,tt=class extends G{value(e){return super.value(e)*1e3}},nt=G,rt=class extends G{value(e){return D(this.values[e],1000n)}},it=class extends G{value(e){return D(this.values[e],1000000n)}},at=class extends W{value(e){return this.values.subarray(e<<1,e+1<<1)}},ot=class extends W{value(e){let t=this.values,n=e<<4;return Float64Array.of(F(t,n),F(t,n+4),I(t,n+8))}},st=({values:e,offsets:t},n)=>e.subarray(t[n],t[n+1]),ct=({values:e,offsets:t},n)=>e.subarray(E(t[n]),E(t[n+1])),lt=class extends W{value(e){return st(this,e)}},ut=class extends W{value(e){return ct(this,e)}},dt=class extends W{value(e){return k(st(this,e))}},ft=class extends W{value(e){return k(ct(this,e))}},pt=class extends W{value(e){let t=this.offsets;return this.children[0].slice(t[e],t[e+1])}},mt=class extends W{value(e){let t=this.offsets;return this.children[0].slice(E(t[e]),E(t[e+1]))}},ht=class extends W{value(e){let t=this.offsets[e],n=t+this.sizes[e];return this.children[0].slice(t,n)}},gt=class extends W{value(e){let t=this.offsets[e],n=t+this.sizes[e];return this.children[0].slice(E(t),E(n))}},_t=class extends W{constructor(e){super(e),this.stride=this.type.stride}},vt=class extends _t{value(e){let{stride:t,values:n}=this;return n.subarray(e*t,(e+1)*t)}},yt=class extends _t{value(e){let{children:t,stride:n}=this;return t[0].slice(e*n,(e+1)*n)}};function bt({children:e,offsets:t},n){let[r,i]=e[0].children,a=t[n],o=t[n+1],s=[];for(let e=a;e<o;++e)s.push([r.at(e),i.at(e)]);return s}var xt=class extends W{value(e){return bt(this,e)}},St=class extends W{value(e){return new Map(bt(this,e))}},Ct=class extends W{constructor({typeIds:e,...t}){super(t),this.typeIds=e,this.typeMap=this.type.typeMap}value(e,t=e){let{typeIds:n,children:r,typeMap:i}=this;return r[i[n[e]]].at(t)}},wt=class extends Ct{value(e){return super.value(e,this.offsets[e])}},Tt=class extends W{constructor(e,t=Ue){super(e),this.names=this.type.children.map(e=>e.name),this.factory=t(this.names,this.children)}value(e){return this.factory(e)}},Et=class extends Tt{constructor(e){super(e,B)}},Dt=class extends W{value(e){let[{values:t},n]=this.children;return n.at(b(t,e))}},Ot=class extends W{setDictionary(e){return this.dictionary=e,this.cache=e.cache(),this}value(e){return this.cache[this.key(e)]}key(e){return this.values[e]}},kt=class extends W{constructor({data:e,...t}){super(t),this.data=e}view(e){let{values:t,data:n}=this,r=e<<4,i=r+4,a=t,o=F(a,r);return o>12&&(i=F(a,r+12),a=n[F(a,r+8)]),a.subarray(i,i+o)}},At=class extends kt{value(e){return this.view(e)}},jt=class extends kt{value(e){return k(this.view(e))}};function Mt(e){let t=[];return{add(e){return t.push(e),this},clear:()=>t=[],done:()=>new Nt(t,e)}}var Nt=class{constructor(e,t=e[0]?.type){this.type=t,this.length=e.reduce((e,t)=>e+t.length,0),this.nullCount=e.reduce((e,t)=>e+t.nullCount,0),this.data=e;let n=e.length,r=new Int32Array(n+1);if(n===1){let[t]=e;r[1]=t.length,this.at=e=>t.at(e)}else for(let t=0,i=0;t<n;++t)r[t+1]=i+=e[t].length;this.offsets=r}get[Symbol.toStringTag](){return`Column`}[Symbol.iterator](){let e=this.data;return e.length===1?e[0][Symbol.iterator]():Pt(e)}at(e){let{data:t,offsets:n}=this,r=b(n,e)-1;return t[r]?.at(e-n[r])}get(e){return this.at(e)}toArray(){let{length:e,nullCount:t,data:n}=this,r=!t&&Ge(n[0]),i=n.length;if(r&&i===1)return n[0].values;let a=new(!i||t>0?Array:n[0].constructor.ArrayType??n[0].values.constructor)(e);return r?Ft(a,n):It(a,n)}cache(){return this._cache??=this.toArray()}};function*Pt(e){for(let t=0;t<e.length;++t){let n=e[t][Symbol.iterator]();for(let e=n.next();!e.done;e=n.next())yield e.value}}function Ft(e,t){for(let n=0,r=0;n<t.length;++n){let{values:i}=t[n];e.set(i,r),r+=i.length}return e}function It(e,t){let n=-1;for(let r=0;r<t.length;++r){let i=t[r];for(let t=0;t<i.length;++t)e[++n]=i.at(t)}return e}var Lt=class e{constructor(e,t,n=!1){let r=e.fields.map(e=>e.name);this.schema=e,this.names=r,this.children=t,this.factory=n?B:Ue;let i=[];this.getFactory=e=>i[e]??(i[e]=this.factory(r,t.map(t=>t.data[e])))}get[Symbol.toStringTag](){return`Table`}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(e){return this.children[e]}getChild(e){let t=this.names.findIndex(t=>t===e);return t>-1?this.children[t]:void 0}selectAt(t,n=[]){let{children:r,factory:i,schema:a}=this,{fields:o}=a;return new e({...a,fields:t.map((e,t)=>Rt(o[e],n[t]))},t.map(e=>r[e]),i===B)}select(e,t){let n=this.names,r=e.map(e=>n.indexOf(e));return this.selectAt(r,t)}toColumns(){let{children:e,names:t}=this,n={};return t.forEach((t,r)=>n[t]=e[r]?.toArray()??[]),n}toArray(){let{children:e,getFactory:t,numRows:n}=this,r=e[0]?.data??[],i=Array(n);for(let e=0,n=-1;e<r.length;++e){let a=t(e);for(let t=0;t<r[e].length;++t)i[++n]=a(t)}return i}*[Symbol.iterator](){let{children:e,getFactory:t}=this,n=e[0]?.data??[];for(let e=0;e<n.length;++e){let r=t(e);for(let t=0;t<n[e].length;++t)yield r(t)}}at(e){let{children:t,getFactory:n,numRows:r}=this;if(e<0||e>=r)return null;let[{offsets:i}]=t,a=b(i,e)-1;return n(a)(e-i[a])}get(e){return this.at(e)}};function Rt(e,t){return t!=null&&t!==e.name?{...e,name:t}:e}function zt(e,t={}){let{typeId:n,bitWidth:r,precision:i,unit:a}=e,{useBigInt:o,useDate:s,useDecimalBigInt:c,useMap:l,useProxy:u}=t;switch(n){case d.Null:return Ke;case d.Bool:return Je;case d.Int:case d.Time:case d.Duration:return o||r<64?H:G;case d.Float:return i?H:qe;case d.Date:return Bt(a===p.DAY?$e:et,s&&Qe);case d.Timestamp:return Bt(a===m.SECOND?tt:a===m.MILLISECOND?nt:a===m.MICROSECOND?rt:it,s&&Qe);case d.Decimal:return c?Ze:Xe;case d.Interval:return a===h.DAY_TIME?at:a===h.YEAR_MONTH?H:ot;case d.FixedSizeBinary:return vt;case d.Utf8:return dt;case d.LargeUtf8:return ft;case d.Binary:return lt;case d.LargeBinary:return ut;case d.BinaryView:return At;case d.Utf8View:return jt;case d.List:return pt;case d.LargeList:return mt;case d.Map:return l?St:xt;case d.ListView:return ht;case d.LargeListView:return gt;case d.FixedSizeList:return yt;case d.Struct:return u?Et:Tt;case d.RunEndEncoded:return Dt;case d.Dictionary:return Ot;case d.Union:return e.mode?wt:Ct}throw Error(C(n))}function Bt(e,t){return t?class extends t{constructor(t){super(new e(t))}}:e}function Vt(e,t){return{offset:I(e,t),metadataLength:F(e,t+8),bodyLength:I(e,t+16)}}function Ht(e,t){return R(e,t,24,Vt)}function Ut(e,t,n){let r=A(e,t);if(r(10,j,0))throw Error(`Record batch compression not implemented`);let i=n<l.V4?8:0;return{length:r(4,I,0),nodes:R(e,r(6,j),16,(e,t)=>({length:I(e,t),nullCount:I(e,t+8)})),regions:R(e,r(8,j),16+i,(e,t)=>({offset:I(e,t+i),length:I(e,t+i+8)})),variadic:R(e,r(12,j),8,I)}}function Wt(e,t,n){let r=A(e,t);return{id:r(4,I,0),data:r(6,(e,t)=>Ut(e,t,n)),isDelta:r(8,M,!1)}}function Gt(e,t,n,r){S(n,d,C);let i=A(e,t);switch(n){case d.Binary:return ge();case d.Utf8:return _e();case d.LargeBinary:return Ae();case d.LargeUtf8:return je();case d.List:return Ce(r[0]);case d.ListView:return Pe(r[0]);case d.LargeList:return Me(r[0]);case d.LargeListView:return Fe(r[0]);case d.Struct:return we(r);case d.RunEndEncoded:return Ne(r[0],r[1]);case d.Int:return pe(i(4,F,0),i(6,M,!1));case d.Float:return he(i(4,P,f.HALF));case d.Decimal:return ve(i(4,F,0),i(6,F,0),i(8,F,128));case d.Date:return ye(i(4,P,p.MILLISECOND));case d.Time:return be(i(4,P,m.MILLISECOND),i(6,F,32));case d.Timestamp:return xe(i(4,P,m.SECOND),i(6,L));case d.Interval:return Se(i(4,P,h.YEAR_MONTH));case d.Duration:return ke(i(4,P,m.MILLISECOND));case d.FixedSizeBinary:return Ee(i(4,F,0));case d.FixedSizeList:return De(r[0],i(4,F,0));case d.Map:return Oe(i(4,M,!1),r[0]);case d.Union:return Te(i(4,P,g.Sparse),r,R(e,i(6,j),4,F))}return{typeId:n}}function K(e,t){let n=R(e,t,4,(e,t)=>{let n=A(e,t);return[n(4,L),n(6,L)]});return n.length?new Map(n):null}function Kt(e,t,n){let r=A(e,t);return{version:n,endianness:r(4,P,0),fields:r(6,qt,[]),metadata:r(8,K)}}function qt(e,t){return R(e,t,4,Jt)}function Jt(e,t){let n=A(e,t),r=n(8,N,d.NONE),i=n(10,j,0),a=n(12,Xt),o=Gt(e,i,r,n(14,(e,t)=>Yt(e,t)));return a&&(a.dictionary=o,o=a),{name:n(4,L),type:o,nullable:n(6,M,!1),metadata:n(16,K)}}function Yt(e,t){let n=R(e,t,4,Jt);return n.length?n:null}function Xt(e,t){if(!t)return null;let n=A(e,t);return fe(null,n(6,Zt,me()),n(8,M,!1),n(4,I,0))}function Zt(e,t){return Gt(e,t,d.Int)}var Qt=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,$t=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,en=e=>`Unsupported message type: ${e} (${ce(u,e)})`;function q(e,t){let n=F(e,t)||0;if(t+=4,n===-1&&(n=F(e,t)||0,t+=4),n===0)return null;let r=e.subarray(t,t+=n);if(r.byteLength<n)throw Error(Qt(n,r.byteLength));let i=A(r,0),a=i(4,P,l.V1),o=i(6,N,u.NONE),s=i(8,j,0),c=i(10,I,0),d;if(s){let n=o===u.Schema?Kt:o===u.DictionaryBatch?Wt:o===u.RecordBatch?Ut:null;if(!n)throw Error(en(o));if(d=n(r,s,a),c>0){let n=e.subarray(t,t+=c);if(n.byteLength<c)throw Error($t(c,n.byteLength));d.body=n}}return{version:a,type:o,index:t,content:d}}function tn(e){let t=e instanceof ArrayBuffer?new Uint8Array(e):e;return t instanceof Uint8Array&&nn(t)?an(t):rn(t)}function nn(e){if(!e||e.length<4)return!1;for(let t=0;t<6;++t)if(c[t]!==e[t])return!1;return!0}function rn(e){let t=[e].flat(),n,r=[],i=[];for(let e of t){if(!(e instanceof Uint8Array))throw Error(`IPC data batch was not a Uint8Array.`);let t=0;for(;;){let a=q(e,t);if(a===null)break;if(t=a.index,a.content)switch(a.type){case u.Schema:n||=a.content;break;case u.RecordBatch:r.push(a.content);break;case u.DictionaryBatch:i.push(a.content)}}}return{schema:n,dictionaries:i,records:r,metadata:null}}function an(e){let t=e.byteLength-(c.length+4),n=A(e,t-F(e,t)),r=n(4,P,l.V1),i=n(8,Ht,[]),a=n(10,Ht,[]);return{schema:n(6,(e,t)=>Kt(e,t,r)),dictionaries:i.map(({offset:t})=>q(e,t).content),records:a.map(({offset:t})=>q(e,t).content),metadata:n(12,K)}}function J(e,t){return on(tn(e),t)}function on(e,t={}){let{schema:n={fields:[]},dictionaries:r,records:i}=e,{version:a,fields:o}=n,s=new Map,c=cn(t,a,s),l=new Map;sn(n,e=>{let t=e.type;t.typeId===d.Dictionary&&l.set(t.id,t.dictionary)});let u=new Map;for(let e of r){let{id:t,data:n,isDelta:r,body:i}=e,a=l.get(t),o=Y(a,c({...n,body:i}));if(u.has(t)){let e=u.get(t);r||e.clear(),e.add(o)}else{if(r)throw Error(`Delta update can not be first dictionary batch.`);u.set(t,Mt(a).add(o))}}u.forEach((e,t)=>s.set(t,e.done()));let f=o.map(e=>Mt(e.type));for(let e of i){let t=c(e);o.forEach((e,n)=>f[n].add(Y(e.type,t)))}return new Lt(n,f.map(e=>e.done()),t.useProxy)}function sn(e,t){e.fields.forEach(function e(n){t(n),n.type.dictionary?.children?.forEach(e),n.type.children?.forEach(e)})}function cn(e,t,n){let r={version:t,options:e,dictionary:e=>n.get(e)};return e=>{let{length:t,nodes:n,regions:i,variadic:a,body:o}=e,s=-1,c=-1,l=-1;return{...r,length:t,node:()=>n[++s],buffer:e=>{let{length:t,offset:n}=i[++c];return e?new e(o.buffer,o.byteOffset+n,t/e.BYTES_PER_ELEMENT):o.subarray(n,n+t)},variadic:()=>a[++l],visit(e){return e.map(e=>Y(e.type,this))}}}}function Y(e,t){let{typeId:n}=e,{length:r,options:i,node:a,buffer:o,variadic:s,version:c}=t,u=zt(e,i);if(n===d.Null)return new u({length:r,nullCount:r,type:e});let f={...a(),type:e};switch(n){case d.Bool:case d.Int:case d.Time:case d.Duration:case d.Float:case d.Decimal:case d.Date:case d.Timestamp:case d.Interval:case d.FixedSizeBinary:return new u({...f,validity:o(),values:o(e.values)});case d.Utf8:case d.LargeUtf8:case d.Binary:case d.LargeBinary:return new u({...f,validity:o(),offsets:o(e.offsets),values:o()});case d.BinaryView:case d.Utf8View:return new u({...f,validity:o(),values:o(),data:Array.from({length:s()},()=>o())});case d.List:case d.LargeList:case d.Map:return new u({...f,validity:o(),offsets:o(e.offsets),children:t.visit(e.children)});case d.ListView:case d.LargeListView:return new u({...f,validity:o(),offsets:o(e.offsets),sizes:o(e.offsets),children:t.visit(e.children)});case d.FixedSizeList:case d.Struct:return new u({...f,validity:o(),children:t.visit(e.children)});case d.RunEndEncoded:return new u({...f,children:t.visit(e.children)});case d.Dictionary:{let{id:n,indices:r}=e;return new u({...f,validity:o(),values:o(r.values)}).setDictionary(t.dictionary(n))}case d.Union:return c<l.V5&&o(),new u({...f,typeIds:o(ie),offsets:e.mode===g.Sparse?null:o(e.offsets),children:t.visit(e.children)});default:throw Error(C(n))}}new Uint16Array(new Uint8Array([1,0]).buffer)[0];function X(e,t){let n=new Map;return(...r)=>{let i=t(...r);if(n.has(i))return n.get(i);let a=e(...r).finally(()=>{n.delete(i)});return n.set(i,a),a}}function Z(e,t){return a(e,t)}function ln(){return n()}var Q=r;function un(){let e=dn(ln()),t=e=>JSON.stringify(e);return{load:X(e.load.bind(e),t),sanitize:X(e.sanitize.bind(e),t),http:X(e.http.bind(e),t),file:X(e.file.bind(e),t)}}function dn(e){return{...e,async load(t,n){return t.endsWith(`.arrow`)?J(await fn(t),{useProxy:!1}).toArray():e.load(t,n)}}}var fn=X(e=>fetch(e).then(e=>e.arrayBuffer()),e=>e),pn=Q.integer,$=Q.number,mn=Q.date,hn=Q.boolean,gn=()=>{let e=e=>e===`inf`||e===`+inf`?1/0:e===`-inf`?-1/0:$(e);return Q.integer=e,Q.number=e,()=>{Q.integer=pn,Q.number=$}},_n=()=>(Q.integer=e=>{if(e===``)return``;if(e===`-inf`||e===`inf`)return e;function t(e){let t=pn(e);return Number.isNaN(t)?e:t}let n=Number.parseInt(e,10);if(Number.isNaN(n))return e;if(!(Math.abs(n)>2**53-1))return t(e);try{return BigInt(e)}catch{return t(e)}},Q.number=e=>{if(e===`-inf`||e===`inf`)return e;let t=$(e);return Number.isNaN(t)?e:t},()=>{Q.integer=pn,Q.number=$}),vn=()=>(Q.date=t=>{if(t===``)return``;if(t==null)return null;if(!/^\d{4}-\d{2}-\d{2}(T[\d.:]+(Z|[+-]\d{2}:?\d{2})?)?$/.test(t))return t;try{let e=new Date(t);return Number.isNaN(e.getTime())?t:e}catch{return e.warn(`Failed to parse date: ${t}`),t}},()=>{Q.date=mn});Q.boolean=e=>e===`True`||e!==`False`&&hn(e);var yn=un();async function bn(e,n,r={}){let{handleBigIntAndNumberLike:i=!1,replacePeriod:a=!1}=r;if(e.endsWith(`.arrow`)||n?.type===`arrow`)return J(await fn(e),{useProxy:!0,useDate:!0,useBigInt:i}).toArray();let o=[vn];i?o.push(_n):o.push(gn);let s=[];try{let r=await yn.load(e);if(!n){if(typeof r==`string`)try{JSON.parse(r),n={type:`json`}}catch{n={type:`csv`,parse:`auto`}}typeof r==`object`&&(n={type:`json`})}let i=n?.type===`csv`;i&&typeof r==`string`&&(r=Sn(r)),i&&typeof r==`string`&&a&&(r=Cn(r));let c=n?.parse||`auto`;return typeof c==`object`&&(c=t.mapValues(c,e=>e===`time`?`string`:e===`datetime`?`date`:e)),s=o.map(e=>e()),i?Z(r,{...n,parse:c}):Z(r,n)}finally{s.forEach(e=>e())}}function xn(e,t=!0){let n=[vn];t&&n.push(_n);let r=n.map(e=>e()),i=Z(e,{type:`csv`,parse:`auto`});return r.forEach(e=>e()),i}function Sn(e){return e?.includes(`,`)?wn(e,e=>{let t=new Set;return e.map(e=>{let n=En(e,t);return t.add(n),n})}):e}function Cn(e){return e?.includes(`.`)?wn(e,e=>e.map(e=>e.replaceAll(`.`,`․`))):e}function wn(e,t){let n=e.split(`
2
- `);return n[0]=t(n[0].split(`,`)).join(`,`),n.join(`
3
- `)}var Tn=`​`;function En(e,t){let n=e,r=1;for(;t.has(n);)n=`${e}${Tn.repeat(r)}`,r++;return n}var Dn={version:`1.1.0`};function On(e,t,n,r){if(o(e))return`[${e.map(e=>t(s(e)?e:An(e,n))).join(`, `)}]`;if(i(e)){let a=``,{title:o,image:s,...c}=e;o&&(a+=`<h2>${t(o)}</h2>`),s&&(a+=`<img src="${new URL(t(s),r||location.href).href}">`);let l=Object.keys(c);if(l.length>0){a+=`<table>`;for(let e of l){let r=c[e];r!==void 0&&(i(r)&&(r=An(r,n)),a+=`<tr><td class="key">${t(e)}</td><td class="value">${t(r)}</td></tr>`)}a+=`</table>`}return a||`{}`}return t(e)}function kn(e){let t=[];return function(n,r){if(typeof r!=`object`||!r)return r;let i=t.indexOf(this)+1;return t.length=i,t.length>e?`[Object]`:t.indexOf(r)>=0?`[Circular]`:(t.push(r),r)}}function An(e,t){return JSON.stringify(e,kn(t))}var jn=`#vg-tooltip-element {
4
- visibility: hidden;
5
- padding: 8px;
6
- position: fixed;
7
- z-index: 1000;
8
- font-family: sans-serif;
9
- font-size: 11px;
10
- border-radius: 3px;
11
- box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
12
- white-space: pre-line;
13
- }
14
- #vg-tooltip-element.visible {
15
- visibility: visible;
16
- }
17
- #vg-tooltip-element h2 {
18
- margin-top: 0;
19
- margin-bottom: 10px;
20
- font-size: 13px;
21
- }
22
- #vg-tooltip-element table {
23
- border-spacing: 0;
24
- }
25
- #vg-tooltip-element table tr {
26
- border: none;
27
- }
28
- #vg-tooltip-element table tr td {
29
- overflow: hidden;
30
- text-overflow: ellipsis;
31
- padding-top: 2px;
32
- padding-bottom: 2px;
33
- vertical-align: text-top;
34
- }
35
- #vg-tooltip-element table tr td.key {
36
- color: #808080;
37
- max-width: 150px;
38
- text-align: right;
39
- padding-right: 4px;
40
- }
41
- #vg-tooltip-element table tr td.value {
42
- display: block;
43
- max-width: 300px;
44
- max-height: 7em;
45
- text-align: left;
46
- }
47
- #vg-tooltip-element {
48
- /* The default theme is the light theme. */
49
- background-color: rgba(255, 255, 255, 0.95);
50
- border: 1px solid #d9d9d9;
51
- color: black;
52
- }
53
- #vg-tooltip-element.dark-theme {
54
- background-color: rgba(32, 32, 32, 0.9);
55
- border: 1px solid #f5f5f5;
56
- color: white;
57
- }
58
- #vg-tooltip-element.dark-theme td.key {
59
- color: #bfbfbf;
60
- }
61
- `,Mn=`vg-tooltip-element`,Nn={offsetX:10,offsetY:10,id:Mn,styleId:`vega-tooltip-style`,theme:`light`,disableDefaultStyle:!1,sanitize:Pn,maxDepth:2,formatTooltip:On,baseURL:``,anchor:`cursor`,position:[`top`,`bottom`,`left`,`right`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]};function Pn(e){return String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`)}function Fn(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error(`Invalid HTML ID`);return jn.toString().replaceAll(Mn,e)}function In(e,t,{offsetX:n,offsetY:r}){let i=zn({x1:e.clientX,x2:e.clientX,y1:e.clientY,y2:e.clientY},t,n,r);for(let e of[`bottom-right`,`bottom-left`,`top-right`,`top-left`])if(Bn(i[e],t))return i[e];return i[`top-left`]}function Ln(e,t,n,r,i){let{position:a,offsetX:o,offsetY:s}=i,c=e._el.getBoundingClientRect(),l=e._origin,u=zn(Rn(c,l,n),r,o,s),d=Array.isArray(a)?a:[a];for(let e of d)if(Bn(u[e],r)&&!Vn(t,u[e],r))return u[e];return In(t,r,i)}function Rn(e,t,n){let r=n.isVoronoi?n.datum.bounds:n.bounds,i=e.left+t[0]+r.x1,a=e.top+t[1]+r.y1,o=n;for(;o.mark.group;)o=o.mark.group,i+=o.x??0,a+=o.y??0;let s=r.x2-r.x1,c=r.y2-r.y1;return{x1:i,x2:i+s,y1:a,y2:a+c}}function zn(e,t,n,r){let i=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,o=e.x1-t.width-n,s=i-t.width/2,c=e.x2+n,l=e.y1-t.height-r,u=a-t.height/2,d=e.y2+r;return{top:{x:s,y:l},bottom:{x:s,y:d},left:{x:o,y:u},right:{x:c,y:u},"top-left":{x:o,y:l},"top-right":{x:c,y:l},"bottom-left":{x:o,y:d},"bottom-right":{x:c,y:d}}}function Bn(e,t){return e.x>=0&&e.y>=0&&e.x+t.width<=window.innerWidth&&e.y+t.height<=window.innerHeight}function Vn(e,t,n){return e.clientX>=t.x&&e.clientX<=t.x+n.width&&e.clientY>=t.y&&e.clientY<=t.y+n.height}var Hn=class{call;options;el;constructor(e){this.options={...Nn,...e};let t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){let e=document.createElement(`style`);e.setAttribute(`id`,this.options.styleId),e.innerHTML=Fn(t);let n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}}tooltipHandler(e,t,n,r){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement(`div`),this.el.setAttribute(`id`,this.options.id),this.el.classList.add(`vg-tooltip`),(document.fullscreenElement??document.body).appendChild(this.el)),r==null||r===``){this.el.classList.remove(`visible`,`${this.options.theme}-theme`);return}this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add(`visible`,`${this.options.theme}-theme`);let{x:i,y:a}=this.options.anchor===`mark`?Ln(e,t,n,this.el.getBoundingClientRect(),this.options):In(t,this.el.getBoundingClientRect(),this.options);this.el.style.top=`${a}px`,this.el.style.left=`${i}px`}};Dn.version;var Un=new Hn;export{un as a,yn as i,xn as n,J as o,bn as r,Un as t};
@@ -1 +0,0 @@
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-Dfcbgjhg.js";import{t as a}from"./react-DVplv7_D.js";import{D as o,E as s,Hr as c,Jr as l,Ka as u,Kr as d,Mt as f,Xr as p,Zr as m,_ as h,ai as g,an as _,co as v,er as y,h as b,in as x,oo as ee,qa as S,qr as te,ra as C,ro as w,t as ne,xo as T,yt as re}from"./cells-BRkCaSsh.js";import{S as E,_ as D,j as O}from"./schemas-Dv42wLFq.js";import{t as k}from"./compiler-runtime-BrajqUja.js";import{C as A,n as j}from"./config-VPSq73n8.js";import{g as M}from"./useEventListener-D9cftcHj.js";import{t as N}from"./objects-snlMn4yk.js";import{n as P,r as F}from"./utils-B4K466FK.js";import{_ as I,g as L,h as R,m as ie,s as z,v as B}from"./session-DqoWmb7X.js";import{M as V,O as H}from"./config-DX8Y2WbJ.js";import{t as U}from"./cn-ldLVeaqm.js";import{t as ae}from"./jsx-runtime-B74pBk57.js";import{$ as oe,It as se,Lt as ce}from"./JsonOutput-D6HIIsCb.js";import{a as le,c as ue,i as de,n as fe,r as pe,s as me,t as W}from"./select-DTBn5eTb.js";import{a as he,c as ge,d as G,o as _e,t as ve}from"./download-DCJXy66H.js";import{t as ye}from"./switch-CTaiAjrz.js";import{i as be,n as xe,r as Se,t as Ce}from"./tabs-BuQlZFbt.js";import{n as we,t as K}from"./button-COI-NGrx.js";import{t as q}from"./createLucideIcon-DfJ2oMlA.js";import{a as Te,i as Ee,n as De,r as Oe,t as ke}from"./paths-bkIFVj8h.js";import{F as Ae,I as je,L as Me,c as Ne,t as Pe}from"./layout-DmcNEu3P.js";import{E as Fe,h as Ie,n as Le,r as Re}from"./ai-model-dropdown-B0z6-zhp.js";import{t as ze}from"./check-BQNapYaf.js";import{r as Be}from"./useCellActionButton-B-9eG5z_.js";import{s as Ve}from"./tree-actions-GM5E_bUs.js";import{f as He,n as Ue}from"./markdown-renderer-BG3sp2rs.js";import{t as We}from"./code-BEiQP4pS.js";import{t as Ge}from"./eye-off-CxVozGAC.js";import{t as Ke}from"./external-link-UrX9KO36.js";import{t as qe}from"./file-BPBVl9pl.js";import{t as Je}from"./globe-UdPdIbF7.js";import{n as Ye,r as Xe,t as Ze}from"./youtube-CbJhsgLy.js";import{n as Qe}from"./components-CP_UoFtT.js";import{t as $e}from"./house-CpsMWsLL.js";import{t as et}from"./image-wZvTj8WY.js";import{b as tt}from"./write-secret-modal-DzKAInL2.js";import{t as nt}from"./link-NuFVR7G9.js";import{t as rt}from"./spinner-DyNE-o8o.js";import{c as it,l as at,u as ot}from"./readonly-python-code-DCSMIsTX.js";import{Qt as st,Xt as ct,Yt as lt,Zt as ut,tn as dt}from"./input-BoBxR50a.js";import{t as ft}from"./settings-BpdQZRgT.js";import{t as pt}from"./square-BPmgQFnh.js";import{n as mt}from"./copy-D8O_CYCG.js";import{t as ht}from"./use-toast-Wu434mLr.js";import{t as gt}from"./copy-icon-BIiRXh_3.js";import{i as _t,r as vt,t as yt}from"./strings-B2vv-ENv.js";import{r as J}from"./requests-lt0JK8Jt.js";import{t as bt}from"./shell-Fj8a65ii.js";import{n as xt}from"./useAsyncData-C7aJJz0Y.js";import{r as St}from"./useRunCells-B2vUhREg.js";import{s as Ct}from"./useInstallPackage-iX1eufdl.js";import{t as wt}from"./share-BZW3tzEX.js";import{n as Tt,r as Et}from"./markdown-export-DzhB1FrN.js";import{n as Dt,t as Ot}from"./alert-DTaqCu_d.js";import{a as kt}from"./cell-link-LSth_8hT.js";import{t as At}from"./icons-CiZ_8zS-.js";import{n as jt}from"./feedback-button-Bik2-e33.js";import{i as Mt,n as Nt,r as Pt}from"./add-connection-dialog-DXQnd6eB.js";import{t as Ft}from"./github-DQZhN3La.js";import{n as It}from"./marimo-icons-CqliHyTr.js";import{t as Lt}from"./links-DkkL9DVa.js";import{r as Rt,t as zt}from"./hooks-93IwHd2u.js";var Bt=q(`circle-chevron-down`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 10-4 4-4-4`,key:`894hmk`}]]),Vt=q(`circle-chevron-right`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m10 8 4 4-4 4`,key:`1wy4r4`}]]),Ht=q(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ut=q(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),Wt=q(`diamond-plus`,[[`path`,{d:`M12 8v8`,key:`napkw2`}],[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z`,key:`1ey20j`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),Gt=q(`fast-forward`,[[`path`,{d:`M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z`,key:`b19h5q`}],[`path`,{d:`M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z`,key:`h7h5ge`}]]),Kt=q(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),qt=q(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Jt=q(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Yt=q(`notebook`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M16 2v20`,key:`rotuqe`}]]),Xt=q(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Zt=q(`presentation`,[[`path`,{d:`M2 3h20`,key:`91anmk`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`,key:`2k9sn8`}],[`path`,{d:`m7 21 5-5 5 5`,key:`bip4we`}]]),Qt=q(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),$t=q(`square-power`,[[`path`,{d:`M12 7v4`,key:`xawao1`}],[`path`,{d:`M7.998 9.003a5 5 0 1 0 8-.005`,key:`1pek45`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]),en=q(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),Y=e(a(),1),X=k();async function tn(e,t){let n=new Blob([t],{type:`text/html`});if(n.size>104857600)throw Error(`File is too large. Maximum size is 100 MB.`);let r=await fetch(`${F.molab}/api/artifacts/pending`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({fileName:e,fileSize:n.size})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??(r.status===429?`Too many uploads, try again later`:`Failed to prepare the upload`))}let{presignedUrl:i,claimUrl:a}=await r.json();if(!(await fetch(i,{method:`PUT`,body:n})).ok)throw Error(`Failed to upload the notebook export`);return a}var Z=ae(),nn=e=>{let t=(0,X.c)(33),{onClose:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={kind:`idle`},t[0]=r):r=t[0];let[i,a]=(0,Y.useState)(r),{exportAsHTML:o}=J(),s;t[1]===o?s=t[2]:(s=async()=>{a({kind:`publishing`});try{let{contents:e,filename:t}=await o({download:!1,includeCode:!0,files:Ne.INSTANCE.filenames(),layout:await Pe(),assetUrl:`https://cdn.jsdelivr.net/npm/@marimo-team/frontend@{version}/dist`}),n=await tn(t,e);window.open(n,`_blank`,`noopener,noreferrer`),a({kind:`staged`,claimUrl:n})}catch(e){let t=e;a({kind:`failed`,message:t instanceof Error?t.message:`Something went wrong`})}},t[1]=o,t[2]=s);let c=s;if(i.kind===`staged`){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsxs)(st,{children:[(0,Z.jsx)(dt,{children:`Finish publishing`}),(0,Z.jsx)(ct,{children:`If the confirmation page didn't open in a new tab, open it below.`})]}),t[3]=e):e=t[3];let r;t[4]===n?r=t[5]:(r=(0,Z.jsx)(K,{"data-testid":`done-share-static-notebook-button`,variant:`secondary`,onClick:n,children:`Done`}),t[4]=n,t[5]=r);let a;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(Ke,{size:14,strokeWidth:1.5,className:`mr-2`}),t[6]=a):a=t[6];let o;t[7]===i.claimUrl?o=t[8]:(o=(0,Z.jsx)(K,{asChild:!0,variant:`default`,children:(0,Z.jsxs)(`a`,{"data-testid":`open-claim-page-link`,href:i.claimUrl,target:`_blank`,rel:`noopener noreferrer`,children:[a,`Open confirmation page`]})}),t[7]=i.claimUrl,t[8]=o);let s;return t[9]!==r||t[10]!==o?(s=(0,Z.jsxs)(lt,{className:`sm:max-w-[480px]`,children:[e,(0,Z.jsxs)(ut,{children:[r,o]})]}),t[9]=r,t[10]=o,t[11]=s):s=t[11],s}let l=i.kind===`publishing`,u;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(dt,{children:`Publish HTML to web`}),t[12]=u):u=t[12];let d;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsxs)(st,{children:[u,(0,Z.jsxs)(ct,{children:[`Publish a static snapshot of this notebook to`,` `,(0,Z.jsx)(`a`,{href:F.molab,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:`molab`}),`. Snapshots can be viewed by anyone on the internet.`]})]}),t[13]=d):d=t[13];let f;t[14]!==i.kind||t[15]!==i.message?(f=i.kind===`failed`&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-destructive`,"data-testid":`share-static-notebook-error`,children:[`Publish failed: `,i.message]}),t[14]=i.kind,t[15]=i.message,t[16]=f):f=t[16];let p;t[17]!==l||t[18]!==n?(p=(0,Z.jsx)(K,{"data-testid":`cancel-share-static-notebook-button`,variant:`secondary`,onClick:n,disabled:l,children:`Cancel`}),t[17]=l,t[18]=n,t[19]=p):p=t[19];let m;t[20]!==l||t[21]!==i.kind?(m=l?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(rt,{className:`mr-2`,size:`small`}),`Snapshotting notebook ...`]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ke,{size:14,strokeWidth:1.5,className:`mr-2`}),i.kind===`failed`?`Try again`:`Publish`]}),t[20]=l,t[21]=i.kind,t[22]=m):m=t[22];let h;t[23]!==c||t[24]!==l||t[25]!==m?(h=(0,Z.jsx)(K,{"data-testid":`share-static-notebook-button`,variant:`default`,disabled:l,onClick:c,children:m}),t[23]=c,t[24]=l,t[25]=m,t[26]=h):h=t[26];let g;t[27]!==p||t[28]!==h?(g=(0,Z.jsxs)(ut,{children:[p,h]}),t[27]=p,t[28]=h,t[29]=g):g=t[29];let _;return t[30]!==f||t[31]!==g?(_=(0,Z.jsxs)(lt,{className:`sm:max-w-[480px]`,children:[d,f,g]}),t[30]=f,t[31]=g,t[32]=_):_=t[32],_};function rn(){let e=document.getElementsByClassName(P.outputArea);for(let t of e){let e=t.getBoundingClientRect();if(e.bottom>0&&e.top<window.innerHeight){let e=T.findElement(t);if(!e){M.warn(`Could not find HTMLCellId for visible output area`,t);continue}return{cellId:T.parse(e.id)}}}return M.warn(`No visible output area found for scroll anchor`),null}function an(e){if(!e){M.warn(`No scroll anchor provided to restore scroll position`);return}let t=document.getElementById(T.create(e.cellId));if(!t){M.warn(`Could not find cell element to restore scroll position`,e.cellId);return}if(!t.querySelector(`.${P.outputArea}`)){M.warn(`Could not find output area to restore scroll position`,e.cellId);return}t.scrollIntoView({block:`start`,behavior:`auto`})}function on(){let e=(0,X.c)(2),t=i(B),n;return e[0]===t?n=e[1]:(n=()=>{let e=rn();t(t=>({mode:L(t.mode),cellAnchor:e?.cellId??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{an(e)})})},e[0]=t,e[1]=n),n}var sn=n(!1),cn=()=>{let e=(0,X.c)(7),{selectedLayout:t}=at(),{setLayoutView:n}=it();if(V()&&!g(`wasm_layouts`))return null;let r;e[0]===n?r=e[1]:(r=e=>n(e),e[0]=n,e[1]=r);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Z.jsx)(me,{className:`min-w-[110px] border-border bg-background`,"data-testid":`layout-select`,children:(0,Z.jsx)(ue,{placeholder:`Select a view`})}),e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(fe,{children:(0,Z.jsxs)(pe,{children:[(0,Z.jsx)(le,{children:`View as`}),ot.map(fn)]})}),e[3]=a):a=e[3];let o;return e[4]!==t||e[5]!==r?(o=(0,Z.jsxs)(W,{"data-testid":`layout-select`,value:t,onValueChange:r,children:[i,a]}),e[4]=t,e[5]=r,e[6]=o):o=e[6],o};function ln(e){let t=un(e);return(0,Z.jsx)(t,{className:`h-4 w-4`})}function un(e){switch(e){case`vertical`:return qt;case`grid`:return Xe;case`slides`:return Zt;default:return _t(e),pt}}function dn(e){return yt.startCase(e)}function fn(e){return(0,Z.jsx)(de,{value:e,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 leading-5`,children:[ln(e),(0,Z.jsx)(`span`,{children:dn(e)})]})},e)}var pn=[`html`,`markdown`,`ipynb`,`pdf`,`script`,`png`],mn=[`pymdown`,`qmd`,`mystmd`,`mdx`],hn=[`topological`,`top-down`],gn=[`document`,`slides`],_n=[`source`,`flat`];function vn(e){return typeof e==`string`&&pn.some(t=>t===e)}var Q={html:{includeCode:!0},markdown:{flavor:null},ipynb:{sortMode:`topological`,includeOutputs:!1},pdf:{preset:`document`,includeInputs:!0,includeOutputs:!0,webpdf:!0},script:{type:`source`}};function $(e,t){return e.default(t).catch(t)}function yn(e){return O(e).optional().catch(void 0)}var bn=O({html:yn({includeCode:$(E(),Q.html.includeCode)}),markdown:yn({flavor:$(D(mn).nullable(),Q.markdown.flavor)}),ipynb:yn({sortMode:$(D(hn),Q.ipynb.sortMode),includeOutputs:$(E(),Q.ipynb.includeOutputs)}),pdf:yn({preset:$(D(gn),Q.pdf.preset),includeInputs:$(E(),Q.pdf.includeInputs),includeOutputs:$(E(),Q.pdf.includeOutputs),webpdf:$(E(),Q.pdf.webpdf)}),script:yn({type:$(D(_n),Q.script.type)})}).catch({});function xn(e,t){let n={...e},r=r=>{n[r]={...e[r],...t[r]}};for(let e of Object.keys(t))r(e);return n}function Sn(e){return xn(Q,bn.parse(e))}var Cn=m({toSerializable:e=>e,fromSerializable:Sn}),wn=H(`marimo:export:options:v1`,Q,Cn,{getOnInit:!0}),Tn=H(`marimo:export:last-format:v1`,`html`,m({toSerializable:e=>e,fromSerializable:e=>vn(e)?e:`html`}),{getOnInit:!0}),En={html:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!1,checksServerAvailability:!1},markdown:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!1,checksServerAvailability:!1},ipynb:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!0,checksServerAvailability:!0},pdf:{requiresNamedNotebookOnServer:!0,requiresServerRuntime:!0,checksServerAvailability:!0},script:{requiresNamedNotebookOnServer:!1,requiresServerRuntime:!1,checksServerAvailability:!1},png:{requiresNamedNotebookOnServer:!1,requiresServerRuntime:!1,checksServerAvailability:!1}};function Dn(e,t){return e===`wasm`&&t===`pdf`}function On({format:e,options:t,runtime:n,filename:r,availability:i}){let a=e===`script`&&t.script.type===`source`?{...En.script,requiresNamedNotebookOnServer:!0}:En[e],o=Dn(n,e);if(n===`wasm`&&a.requiresServerRuntime)return{available:o,reason:{type:`wasm-runtime`}};if(n===`server`&&a.requiresNamedNotebookOnServer&&!r)return{available:!1,reason:{type:`notebook-must-be-named`}};if(n===`wasm`||!a.checksServerAvailability)return{available:!0};if(i.status===`pending`)return{available:!1,reason:{type:`checking-requirements`}};if(i.status===`error`||!i.data)return{available:!0,availabilityCheckFailed:!0};let s=i.data.formats.find(t=>t.format===e);return s?s.dependenciesAvailable?{available:!0}:s.missingPackages.length>0?{available:!1,reason:{type:`missing-packages`,packages:s.missingPackages}}:s.missingSetup.length>0?{available:!1,reason:{type:`missing-setup`,requirements:s.missingSetup}}:{available:!0,availabilityCheckFailed:!0}:{available:!0,availabilityCheckFailed:!0}}function kn(e,t){return e.map(e=>({value:e,...t[e]}))}var An=kn([`automatic`,...mn],{automatic:{label:`Automatic`,description:`Chooses a format from the notebook filename. Defaults to Markdown (.md).`},pymdown:{label:`Markdown (.md)`,description:`Creates a .md file with Python code blocks.`},qmd:{label:`Quarto (.qmd)`,description:`Creates a .qmd file for Quarto.`},mystmd:{label:`MyST (.myst.md)`,description:`Creates a .myst.md file for MyST.`},mdx:{label:`MDX (.mdx)`,description:`Creates a .mdx file for MDX.`}}),jn=kn(hn,{"top-down":{label:`Top to bottom`,description:`Keeps cells in the same order as this notebook.`},topological:{label:`Dependency order`,description:`Reorders cells so each cell appears after the cells it depends on.`}}),Mn=kn(gn,{document:{label:`Document`,description:`Creates pages for reading or printing.`},slides:{label:`Slides`,description:`Creates presentation slides from the notebook.`}}),Nn=kn([`browser`,`latex`],{browser:{label:`Browser`,description:`Uses browser rendering to preserve the notebook's visual output.`},latex:{label:`LaTeX first`,description:`Uses Pandoc and TeX when available, then falls back to browser rendering.`}}),Pn=kn(_n,{source:{label:`Notebook source`,description:`Downloads the saved notebook source for continued editing in marimo.`},flat:{label:`Flat script`,description:`Reorders cells so the Python script runs from top to bottom.`}}),Fn={html:{label:`HTML`,actionLabel:`Export HTML`,description:`Save the current notebook as an HTML page.`,Icon:Je,Options:In},markdown:{label:`Markdown`,actionLabel:`Export Markdown`,description:`Save code and text in a Markdown-based file. Cell outputs are not included.`,Icon:Oe,Options:Ln},ipynb:{label:`Jupyter`,actionLabel:`Export Jupyter notebook`,description:`Open the notebook in Jupyter and other compatible tools.`,Icon:Yt,Options:Rn},pdf:{label:`PDF`,actionLabel:`Export PDF`,description:`Save the notebook as a PDF for printing or sharing.`,Icon:qe,Options:zn},script:{label:`Python`,actionLabel:`Export flat script`,description:`Save the notebook as a Python file.`,Icon:We,Options:Bn},png:{label:`PNG`,actionLabel:`Export PNG`,description:`Capture the current app view as an image.`,Icon:et,Options:Vn}};function In(e){let t=(0,X.c)(7),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={checked:`Includes code cells in the webpage.`,unchecked:`Leaves code cells out of the webpage.`},t[0]=a):a=t[0];let o;t[1]===r?o=t[2]:(o=e=>r(`html`,{includeCode:e}),t[1]=r,t[2]=o);let s;return t[3]!==i||t[4]!==n.html.includeCode||t[5]!==o?(s=(0,Z.jsx)(Hn,{children:(0,Z.jsx)(Un,{label:`Include code`,descriptions:a,checked:n.html.includeCode,disabled:i,onCheckedChange:o})}),t[3]=i,t[4]=n.html.includeCode,t[5]=o,t[6]=s):s=t[6],s}function Ln(e){let t=(0,X.c)(6),{options:n,updateOptions:r,disabled:i}=e,a=n.markdown.flavor??`automatic`,o;t[0]===r?o=t[1]:(o=e=>r(`markdown`,{flavor:e===`automatic`?null:e}),t[0]=r,t[1]=o);let s;return t[2]!==i||t[3]!==a||t[4]!==o?(s=(0,Z.jsx)(Hn,{children:(0,Z.jsx)(Kn,{label:`Format`,value:a,disabled:i,onValueChange:o,options:An})}),t[2]=i,t[3]=a,t[4]=o,t[5]=s):s=t[5],s}function Rn(e){let t=(0,X.c)(16),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(`ipynb`,{sortMode:e}),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.ipynb.sortMode||t[4]!==a?(o=(0,Z.jsx)(Wn,{label:`Cell order`,value:n.ipynb.sortMode,disabled:i,onValueChange:a,options:jn}),t[2]=i,t[3]=n.ipynb.sortMode,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s={checked:`Keeps the outputs currently shown in the notebook.`,unchecked:`Leaves cell outputs out of the Jupyter notebook.`},t[6]=s):s=t[6];let c;t[7]===r?c=t[8]:(c=e=>r(`ipynb`,{includeOutputs:e}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==n.ipynb.includeOutputs||t[11]!==c?(l=(0,Z.jsx)(Un,{label:`Include outputs`,descriptions:s,checked:n.ipynb.includeOutputs,disabled:i,onCheckedChange:c}),t[9]=i,t[10]=n.ipynb.includeOutputs,t[11]=c,t[12]=l):l=t[12];let u;return t[13]!==o||t[14]!==l?(u=(0,Z.jsxs)(Hn,{children:[o,l]}),t[13]=o,t[14]=l,t[15]=u):u=t[15],u}function zn(e){let t=(0,X.c)(30),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(`pdf`,{preset:e}),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.pdf.preset||t[4]!==a?(o=(0,Z.jsx)(Wn,{label:`Layout`,value:n.pdf.preset,disabled:i,onValueChange:a,options:Mn}),t[2]=i,t[3]=n.pdf.preset,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s={checked:`Includes code cells in the PDF.`,unchecked:`Leaves code cells out of the PDF.`},t[6]=s):s=t[6];let c;t[7]===r?c=t[8]:(c=e=>r(`pdf`,{includeInputs:e}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==n.pdf.includeInputs||t[11]!==c?(l=(0,Z.jsx)(Un,{label:`Include code`,descriptions:s,checked:n.pdf.includeInputs,disabled:i,onCheckedChange:c}),t[9]=i,t[10]=n.pdf.includeInputs,t[11]=c,t[12]=l):l=t[12];let u;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(u={checked:`Keeps the outputs currently shown in the notebook.`,unchecked:`Leaves cell outputs out of the PDF.`},t[13]=u):u=t[13];let d;t[14]===r?d=t[15]:(d=e=>r(`pdf`,{includeOutputs:e}),t[14]=r,t[15]=d);let f;t[16]!==i||t[17]!==n.pdf.includeOutputs||t[18]!==d?(f=(0,Z.jsx)(Un,{label:`Include outputs`,descriptions:u,checked:n.pdf.includeOutputs,disabled:i,onCheckedChange:d}),t[16]=i,t[17]=n.pdf.includeOutputs,t[18]=d,t[19]=f):f=t[19];let p;t[20]!==i||t[21]!==n.pdf.preset||t[22]!==n.pdf.webpdf||t[23]!==r?(p=n.pdf.preset===`document`?(0,Z.jsx)(Wn,{label:`Method`,value:n.pdf.webpdf?`browser`:`latex`,disabled:i,onValueChange:e=>r(`pdf`,{webpdf:e===`browser`}),options:Nn}):null,t[20]=i,t[21]=n.pdf.preset,t[22]=n.pdf.webpdf,t[23]=r,t[24]=p):p=t[24];let m;return t[25]!==o||t[26]!==l||t[27]!==f||t[28]!==p?(m=(0,Z.jsxs)(Hn,{children:[o,l,f,p]}),t[25]=o,t[26]=l,t[27]=f,t[28]=p,t[29]=m):m=t[29],m}function Bn(e){let t=(0,X.c)(6),{options:n,updateOptions:r,disabled:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(`script`,{type:e}),t[0]=r,t[1]=a);let o;return t[2]!==i||t[3]!==n.script.type||t[4]!==a?(o=(0,Z.jsx)(Hn,{children:(0,Z.jsx)(Wn,{label:`Format`,value:n.script.type,disabled:i,onValueChange:a,options:Pn})}),t[2]=i,t[3]=n.script.type,t[4]=a,t[5]=o):o=t[5],o}function Vn(){return null}function Hn(e){let t=(0,X.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Z.jsx)(`div`,{className:`divide-y rounded-md border`,children:n}),t[0]=n,t[1]=r),r}function Un(e){let t=(0,X.c)(26),{label:n,descriptions:r,descriptionOverride:i,checked:a,disabled:o,onCheckedChange:s}=e,c=(0,Y.useId)(),l=`${c}-description`,u=i??(a?r.checked:r.unchecked),d;t[0]===i?d=t[1]:(d=i?[i]:[],t[0]=i,t[1]=d);let f;t[2]!==r.checked||t[3]!==r.unchecked||t[4]!==d?(f=[r.checked,r.unchecked,...d],t[2]=r.checked,t[3]=r.unchecked,t[4]=d,t[5]=f):f=t[5];let p=f,m;t[6]!==c||t[7]!==n?(m=(0,Z.jsx)(`label`,{htmlFor:c,className:`text-sm font-medium leading-5`,children:n}),t[6]=c,t[7]=n,t[8]=m):m=t[8];let h;t[9]!==u||t[10]!==l||t[11]!==p?(h=(0,Z.jsx)(Yn,{id:l,description:u,possibleDescriptions:p}),t[9]=u,t[10]=l,t[11]=p,t[12]=h):h=t[12];let g;t[13]!==m||t[14]!==h?(g=(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[m,h]}),t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;t[16]!==a||t[17]!==l||t[18]!==o||t[19]!==c||t[20]!==n||t[21]!==s?(_=(0,Z.jsx)(ye,{id:c,size:`sm`,checked:a,disabled:o,onCheckedChange:s,"aria-label":n,"aria-describedby":l}),t[16]=a,t[17]=l,t[18]=o,t[19]=c,t[20]=n,t[21]=s,t[22]=_):_=t[22];let v;return t[23]!==g||t[24]!==_?(v=(0,Z.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-4 px-3 py-2`,children:[g,_]}),t[23]=g,t[24]=_,t[25]=v):v=t[25],v}function Wn(e){let t=(0,X.c)(31),{label:n,value:r,disabled:i,onValueChange:a,options:o}=e,s=(0,Y.useId)(),c=`${s}-description`,l;t[0]!==o||t[1]!==r?(l=o.find(e=>e.value===r)?.description,t[0]=o,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]===n?d=t[4]:(d=(0,Z.jsx)(`div`,{className:`text-sm font-medium leading-5`,children:n}),t[3]=n,t[4]=d);let f=u??``,p;t[5]===o?p=t[6]:(p=o.map(Gn),t[5]=o,t[6]=p);let m;t[7]!==c||t[8]!==f||t[9]!==p?(m=(0,Z.jsx)(Yn,{id:c,description:f,possibleDescriptions:p}),t[7]=c,t[8]=f,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==d||t[12]!==m?(h=(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[d,m]}),t[11]=d,t[12]=m,t[13]=h):h=t[13];let g;t[14]===a?g=t[15]:(g=e=>a(e),t[14]=a,t[15]=g);let v;if(t[16]!==s||t[17]!==o){let e;t[19]===s?e=t[20]:(e=(e,t)=>{let n=`${s}-${t}`;return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(_,{id:n,value:e.value}),(0,Z.jsx)(`label`,{htmlFor:n,className:`text-sm`,children:e.label})]},e.value)},t[19]=s,t[20]=e),v=o.map(e),t[16]=s,t[17]=o,t[18]=v}else v=t[18];let y;t[21]!==c||t[22]!==i||t[23]!==n||t[24]!==g||t[25]!==v||t[26]!==r?(y=(0,Z.jsx)(x,{value:r,onValueChange:g,className:`flex shrink-0 flex-wrap gap-x-5 gap-y-2 sm:justify-end`,"aria-label":n,"aria-describedby":c,disabled:i,children:v}),t[21]=c,t[22]=i,t[23]=n,t[24]=g,t[25]=v,t[26]=r,t[27]=y):y=t[27];let b;return t[28]!==h||t[29]!==y?(b=(0,Z.jsxs)(`div`,{className:`flex min-h-14 flex-col items-stretch gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[h,y]}),t[28]=h,t[29]=y,t[30]=b):b=t[30],b}function Gn(e){return e.description}function Kn(e){let t=(0,X.c)(34),{label:n,value:r,disabled:i,onValueChange:a,options:o}=e,s=(0,Y.useId)(),c=`${s}-description`,l;t[0]!==o||t[1]!==r?(l=o.find(e=>e.value===r)?.description,t[0]=o,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]!==s||t[4]!==n?(d=(0,Z.jsx)(`label`,{htmlFor:s,className:`text-sm font-medium leading-5`,children:n}),t[3]=s,t[4]=n,t[5]=d):d=t[5];let f=u??``,p;t[6]===o?p=t[7]:(p=o.map(Jn),t[6]=o,t[7]=p);let m;t[8]!==c||t[9]!==f||t[10]!==p?(m=(0,Z.jsx)(Yn,{id:c,description:f,possibleDescriptions:p}),t[8]=c,t[9]=f,t[10]=p,t[11]=m):m=t[11];let h;t[12]!==d||t[13]!==m?(h=(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[d,m]}),t[12]=d,t[13]=m,t[14]=h):h=t[14];let g;t[15]===a?g=t[16]:(g=e=>a(e),t[15]=a,t[16]=g);let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Z.jsx)(ue,{}),t[17]=_):_=t[17];let v;t[18]!==c||t[19]!==s?(v=(0,Z.jsx)(me,{id:s,"aria-describedby":c,className:`h-8 w-full shrink-0 sm:w-44`,children:_}),t[18]=c,t[19]=s,t[20]=v):v=t[20];let y;t[21]===o?y=t[22]:(y=o.map(qn),t[21]=o,t[22]=y);let b;t[23]===y?b=t[24]:(b=(0,Z.jsx)(fe,{children:y}),t[23]=y,t[24]=b);let x;t[25]!==i||t[26]!==b||t[27]!==g||t[28]!==v||t[29]!==r?(x=(0,Z.jsxs)(W,{value:r,disabled:i,onValueChange:g,children:[v,b]}),t[25]=i,t[26]=b,t[27]=g,t[28]=v,t[29]=r,t[30]=x):x=t[30];let ee;return t[31]!==x||t[32]!==h?(ee=(0,Z.jsxs)(`div`,{className:`flex min-h-14 flex-col items-stretch gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[h,x]}),t[31]=x,t[32]=h,t[33]=ee):ee=t[33],ee}function qn(e){return(0,Z.jsx)(de,{value:e.value,children:e.label},e.value)}function Jn(e){return e.description}function Yn(e){let t=(0,X.c)(15),{id:n,description:r,possibleDescriptions:i}=e,a;t[0]===i?a=t[1]:(a=new Set(i),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=[...a],t[2]=a,t[3]=o);let s;t[4]!==r||t[5]!==o?(s=o.filter(e=>e!==r),t[4]=r,t[5]=o,t[6]=s):s=t[6];let c=s,l;t[7]!==r||t[8]!==n?(l=(0,Z.jsx)(`p`,{id:n,"aria-live":`polite`,className:`col-start-1 row-start-1`,children:r}),t[7]=r,t[8]=n,t[9]=l):l=t[9];let u;t[10]===c?u=t[11]:(u=c.map(Xn),t[10]=c,t[11]=u);let d;return t[12]!==l||t[13]!==u?(d=(0,Z.jsxs)(`div`,{className:`mt-0.5 grid text-xs leading-4 text-muted-foreground`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function Xn(e){return(0,Z.jsx)(`p`,{"aria-hidden":!0,className:`invisible col-start-1 row-start-1`,children:e},e)}var Zn={"playwright-chromium":{description:`PDF export requires Playwright Chromium.`}};function Qn(e){let t=(0,X.c)(10),{status:n}=e;if(n.available&&!n.availabilityCheckFailed)return null;if(n.reason?.type===`checking-requirements`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0`,children:[(0,Z.jsx)(rt,{size:`small`,className:`size-3`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Checking requirements`})]}),t[0]=e):e=t[0],e}let r=n.availabilityCheckFailed?`Requirements unknown`:`Unavailable`,i=n.availabilityCheckFailed?`text-muted-foreground`:`text-(--yellow-11)`,a;t[1]===i?a=t[2]:(a=U(`size-3`,i),t[1]=i,t[2]=a);let o;t[3]===a?o=t[4]:(o=(0,Z.jsx)(v,{className:a}),t[3]=a,t[4]=o);let s;t[5]===r?s=t[6]:(s=(0,Z.jsx)(`span`,{className:`sr-only`,children:r}),t[5]=r,t[6]=s);let c;return t[7]!==o||t[8]!==s?(c=(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0`,children:[o,s]}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function $n(e){let t=(0,X.c)(7),{format:n,formatLabel:r,status:i,onInstall:a,isInstalling:o}=e,s=o!==void 0&&o;if(i.availabilityCheckFailed){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`div`,{className:`mb-2.5`,children:(0,Z.jsx)(er,{children:`Couldn't check whether this export is available. You can still try it.`})}),t[0]=e):e=t[0],e}if(!i.reason)return null;let c;return t[1]!==n||t[2]!==r||t[3]!==s||t[4]!==a||t[5]!==i.reason?(c=(0,Z.jsx)(`div`,{className:`mb-2.5`,children:(0,Z.jsx)(tr,{format:n,formatLabel:r,reason:i.reason,onInstall:a,isInstalling:s})}),t[1]=n,t[2]=r,t[3]=s,t[4]=a,t[5]=i.reason,t[6]=c):c=t[6],c}function er(e){let t=(0,X.c)(9),{children:n,onInstall:r,isInstalling:i}=e,a=i!==void 0&&i,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Z.jsx)(v,{className:`size-4 shrink-0`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,Z.jsx)(`span`,{className:`min-w-0 flex-1`,children:n}),t[1]=n,t[2]=s);let c;t[3]!==a||t[4]!==r?(c=r?(0,Z.jsxs)(K,{type:`button`,variant:`outline`,size:`xs`,className:`shrink-0 border-input bg-background text-foreground hover:border-input hover:bg-muted hover:text-foreground`,disabled:a,"aria-busy":a,onClick:r,children:[a?(0,Z.jsx)(rt,{size:`small`,className:`mr-1.5 size-3.5`}):(0,Z.jsx)(Ht,{className:`mr-1.5 size-3.5`}),`Install`]}):null,t[3]=a,t[4]=r,t[5]=c):c=t[5];let l;return t[6]!==s||t[7]!==c?(l=(0,Z.jsxs)(Ot,{variant:`warning`,className:`flex items-center gap-2.5 px-3 py-2 text-(--yellow-12) has-[svg]:pl-3 [&>svg]:static [&>svg+div]:translate-y-0`,children:[o,(0,Z.jsxs)(Dt,{className:`flex min-w-0 flex-1 items-center gap-3 text-sm leading-5`,children:[s,c]})]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l}function tr(e){let t=(0,X.c)(22),{format:n,formatLabel:r,reason:i,onInstall:a,isInstalling:o}=e;switch(i.type){case`checking-requirements`:{let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(rt,{className:`size-4 shrink-0`,size:`small`}),t[0]=e):e=t[0];let n;return t[1]===r?n=t[2]:(n=(0,Z.jsxs)(Ot,{role:`status`,variant:`info`,className:`flex items-center gap-2.5 p-3 has-[svg]:pl-3 [&>svg]:static [&>svg+div]:translate-y-0`,children:[e,(0,Z.jsxs)(Dt,{className:`min-w-0 flex-1 text-sm leading-5`,children:[`Checking `,r,` requirements…`]})]}),t[1]=r,t[2]=n),n}case`notebook-must-be-named`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(er,{children:`Name and save this notebook before exporting.`}),t[3]=e):e=t[3],e}case`missing-packages`:{let e;t[4]===i.packages?e=t[5]:(e=i.packages.join(`, `),t[4]=i.packages,t[5]=e);let n;t[6]===e?n=t[7]:(n=(0,Z.jsx)(`code`,{className:`break-words font-mono`,children:e}),t[6]=e,t[7]=n);let s;return t[8]!==r||t[9]!==o||t[10]!==a||t[11]!==n?(s=(0,Z.jsxs)(er,{onInstall:a,isInstalling:o,children:[r,` export requires`,` `,n,`.`]}),t[8]=r,t[9]=o,t[10]=a,t[11]=n,t[12]=s):s=t[12],s}case`missing-setup`:{let e;t[13]!==a||t[14]!==i.requirements?(e=a?i.requirements.map(rr).join(` `):(0,Z.jsx)(`span`,{className:`block min-w-0`,children:i.requirements.map(nr)}),t[13]=a,t[14]=i.requirements,t[15]=e):e=t[15];let n;return t[16]!==o||t[17]!==a||t[18]!==e?(n=(0,Z.jsx)(er,{onInstall:a,isInstalling:o,children:e}),t[16]=o,t[17]=a,t[18]=e,t[19]=n):n=t[19],n}case`wasm-runtime`:{let e=n===`pdf`?`Use your browser's print dialog to save the current app view as a PDF.`:`Open this notebook in a local marimo session to use this export.`,r;return t[20]===e?r=t[21]:(r=(0,Z.jsx)(er,{children:e}),t[20]=e,t[21]=r),r}default:vt(i)}}function nr(e){let t=Zn[e.name];return(0,Z.jsxs)(`span`,{className:`block`,children:[t.description,(0,Z.jsx)(`code`,{className:`mt-1 block break-all font-mono`,children:e.command})]},e.name)}function rr(e){return Zn[e.name].description}function ir(e){return e.endsWith(`.myst.md`)?`mystmd`:e.endsWith(`.qmd`)?`qmd`:e.endsWith(`.mdx`)?`mdx`:`pymdown`}function ar(e,t){let n=t??ir(e),r=Tt[n],i=Et.find(t=>e.endsWith(t)),a=G.withoutExtension(e);i&&(a=e.slice(0,-i.length));let o=`${a}.${r}`;return o===e?`${e.slice(0,-(r.length+1))}.export.${r}`:o}function or(e){return Object.entries(e).flatMap(([e,t])=>t===null?[]:t===!0?[`--${e}`]:t===!1?[`--no-${e}`]:[`--${e}=${t}`])}function sr(e){return e.preset===`document`?e.webpdf:null}var cr={html:{subcommand:`html`,flags:({html:e})=>({"include-code":e.includeCode}),outputFilename:e=>G.toHTML(e)},markdown:{subcommand:`md`,flags:({markdown:e})=>({flavor:e.flavor}),outputFilename:(e,{markdown:t})=>ar(e,t.flavor)},ipynb:{subcommand:`ipynb`,flags:({ipynb:e})=>({sort:e.sortMode,"include-outputs":e.includeOutputs}),outputFilename:e=>G.toIPYNB(e)},pdf:{subcommand:`pdf`,flags:({pdf:e})=>({as:e.preset,"include-inputs":e.includeInputs,"include-outputs":e.includeOutputs,webpdf:sr(e)}),outputFilename:e=>G.toPDF(e)},script:{subcommand:`script`,flags:()=>({}),outputFilename:e=>`${G.withoutExtension(e)}.script.py`}};function lr({format:e,filename:t,options:n}){if(e===`png`||e===`script`&&n.script.type===`source`||!t)return null;let r=cr[e];return[`marimo`,`export`,r.subcommand,bt(t),...or(r.flags(n)),`-o`,bt(r.outputFilename(t,n))].join(` `)}async function ur(e){let{exportOptions:t,captureOutputs:n,downloadPDF:r}=e;t.includeOutputs&&await n(),await r(t)}async function dr({format:e,options:t,requests:n,sourceFilename:r,htmlFiles:i,getLayout:a,captureOutputs:o,capturePNG:s,downloadFile:c}){switch(e){case`html`:c(await n.exportAsHTML({download:!1,files:i,includeCode:t.html.includeCode,layout:await a()}));return;case`markdown`:c(await n.exportAsMarkdown({download:!1,flavor:t.markdown.flavor}));return;case`ipynb`:t.ipynb.includeOutputs&&await o(),c(await n.exportAsIPYNB({download:!1,sortMode:t.ipynb.sortMode,includeOutputs:t.ipynb.includeOutputs}));return;case`pdf`:await ur({exportOptions:t.pdf,captureOutputs:o,downloadPDF:async e=>{c(await n.exportAsPDF(e))}});return;case`script`:if(t.script.type===`source`){c({contents:(await n.readCode()).contents,filename:r,mediaType:`text/plain`});return}c(await n.exportAsScript({download:!1}));return;case`png`:await s();return;default:vt(e)}}var fr={source:{actionLabel:`Export notebook source`,progressLabel:`notebook source`},flat:{actionLabel:`Export flat script`,progressLabel:`flat script`}};function pr(e,t){if(e===`wasm`)return{status:`success`,data:null};switch(t.status){case`pending`:case`loading`:return{status:`pending`};case`error`:return{status:`error`};case`success`:return{status:`success`,data:t.data}}}function mr(e,t){return e===`server`&&t?De.basename(t):G.toPY(document.title)}function hr({usesBrowserPrint:e,hasCommand:t,format:n,isNotebookSource:r}){return e?`Uses the browser's print settings for page size and filename.`:t?`Uses the current session state. The copied command exports the saved notebook.`:n!==`png`&&!r?`Save the notebook to copy an equivalent shell command.`:null}function gr(e){let n=kt(),[r,i]=t(wn),[a,o]=t(Tn),[s,c]=(0,Y.useState)(e??a),l=V()?`wasm`:`server`,u=J(),d=I(),[f,p]=(0,Y.useState)(!1),m=xt(async()=>l===`wasm`?null:u.getExportAvailability(),[l,u]),h=pr(l,m),g=e=>On({format:e,options:r,runtime:l,filename:n,availability:h}),_=g(s),v=d&&(_.reason?.type===`missing-packages`||_.reason?.type===`missing-setup`),y=pn.map(e=>({format:e,status:g(e)})),b=Dn(l,s),x=Fn[s],ee=s===`script`&&r.script.type===`source`,{actionLabel:S,progressLabel:te}=s===`script`?fr[r.script.type]:{actionLabel:x.actionLabel,progressLabel:x.label},C=b?null:lr({format:s,filename:n,options:r}),w=hr({usesBrowserPrint:b,hasCommand:!!C,format:s,isNotebookSource:ee});return(0,Y.useEffect)(()=>{e&&o(e)},[e,o]),{formats:y,options:r,selected:{format:s,status:_,usesBrowserPrint:b,actionLabel:S,command:C,footerDescription:w},exportRequest:{format:s,options:r,sourceFilename:mr(l,n),available:_.available,usesBrowserPrint:b,progressLabel:te},selectFormat:e=>{vn(e)&&(c(e),o(e))},updateOptions:(e,t)=>{i(n=>{let r={...n};return r[e]={...n[e],...t},r})},canInstall:v,isInstalling:f,installRequirements:async()=>{if(!(!v||f||s===`png`)){p(!0);try{let e=await u.installExportRequirements({format:s});m.setData(e)}catch{}finally{p(!1)}}}}}async function _r(e){let t=document.getElementById(`App`);if(!t){let e=`The current app view could not be captured.`;throw ht({title:`Failed to download as PNG`,description:e,variant:`danger`}),Error(e)}let n=e?.style.visibility,r=e?.classList.contains(`print:hidden`);if(!await _e({element:t,filename:document.title,prepare:()=>{let t=ve();return e&&(e.classList.add(`print:hidden`),e.style.visibility=`hidden`),()=>{t(),e&&(r||e.classList.remove(`print:hidden`),e.style.visibility=n??``)}}}))throw Error(`Failed to capture the current app view.`)}function vr(e){e(),requestAnimationFrame(()=>{setTimeout(()=>{window.print()},0)})}function yr({format:e,options:t,sourceFilename:n,available:r,usesBrowserPrint:i,progressLabel:a,onClose:o}){let s=J(),c=Rt(),[l,u]=(0,Y.useState)(!1),d=(0,Y.useRef)(null),f=(0,Y.useRef)(!0);(0,Y.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=async e=>{await zt({takeScreenshots:()=>c({progress:e}),updateCellOutputs:s.updateCellOutputs})},m=async()=>{await R(()=>_r(d.current?.parentElement??null))};return{dialogRef:d,isExporting:l,submit:async()=>{if(!(!r||l)){if(i){vr(o);return}u(!0);try{await ge(`Exporting ${a}…`,async r=>{await dr({format:e,options:t,requests:s,sourceFilename:n,htmlFiles:Ne.INSTANCE.filenames(),getLayout:Pe,captureOutputs:()=>p(r),capturePNG:m,downloadFile:he})}),f.current&&o()}catch(e){M.error(`Export failed`,e)}finally{f.current&&u(!1)}}}}}function br(e){let t=(0,X.c)(15),{initialFormat:n,onClose:r}=e,i=gr(n),a,o,s;t[0]===i?(a=t[1],o=t[2],s=t[3]):({exportRequest:a,selectFormat:o,...s}=i,t[0]=i,t[1]=a,t[2]=o,t[3]=s);let c;t[4]!==a||t[5]!==r?(c={...a,onClose:r},t[4]=a,t[5]=r,t[6]=c):c=t[6];let l=yr(c),u;t[7]!==l||t[8]!==o||t[9]!==s?(u=e=>{!l.isExporting&&!s.isInstalling&&o(e)},t[7]=l,t[8]=o,t[9]=s,t[10]=u):u=t[10];let d;return t[11]!==l||t[12]!==s||t[13]!==u?(d={...s,...l,selectFormat:u},t[11]=l,t[12]=s,t[13]=u,t[14]=d):d=t[14],d}var xr=`(min-width: 640px)`,Sr=e=>{let t=(0,X.c)(75),{initialFormat:n,onClose:r,returnFocusRef:i}=e,a;t[0]!==n||t[1]!==r?(a={initialFormat:n,onClose:r},t[0]=n,t[1]=r,t[2]=a):a=t[2];let{dialogRef:o,isExporting:s,isInstalling:c,canInstall:l,formats:u,options:d,selected:f,selectFormat:p,updateOptions:m,installRequirements:h,submit:g}=br(a),_=s||c,v=oe(xr),{format:y,status:b,usesBrowserPrint:x,actionLabel:ee,command:S,footerDescription:te}=f,C=Fn[y],w=C.Options,ne;t[3]===i?ne=t[4]:(ne=i?{onCloseAutoFocus:e=>{e.preventDefault(),i.current?.focus()}}:{},t[3]=i,t[4]=ne);let T=ne,re;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,Z.jsxs)(st,{className:`border-b px-5 py-4 pr-12`,children:[(0,Z.jsx)(dt,{children:`Export notebook`}),(0,Z.jsx)(ct,{children:`Choose a format and adjust its options.`})]}),t[5]=re):re=t[5];let E=v?`vertical`:`horizontal`,D;if(t[6]!==u||t[7]!==_){let e;t[9]===_?e=t[10]:(e=e=>{let{format:t,status:n}=e,r=Fn[t];return(0,Z.jsxs)(be,{value:t,disabled:_,className:`min-w-0 justify-start gap-2 px-2.5 py-2 text-xs data-[state=active]:shadow-xs sm:w-full sm:text-sm`,"data-testid":`export-format-${t}`,children:[(0,Z.jsx)(r.Icon,{className:`size-3.5 shrink-0`,strokeWidth:1.5}),(0,Z.jsx)(`span`,{className:`truncate`,children:r.label}),(0,Z.jsx)(Qn,{status:n})]},t)},t[9]=_,t[10]=e),D=u.map(e),t[6]=u,t[7]=_,t[8]=D}else D=t[8];let O;t[11]===D?O=t[12]:(O=(0,Z.jsx)(Se,{"aria-label":`Export format`,className:`grid max-h-none shrink-0 grid-cols-2 items-stretch justify-start gap-1 overflow-auto rounded-none border-b bg-muted/20 p-2 min-[360px]:grid-cols-3 sm:flex sm:h-full sm:flex-col sm:border-b-0 sm:border-r`,children:D}),t[11]=D,t[12]=O);let k;if(t[13]!==w||t[14]!==l||t[15]!==C.description||t[16]!==C.label||t[17]!==y||t[18]!==u||t[19]!==h||t[20]!==_||t[21]!==c||t[22]!==d||t[23]!==b||t[24]!==m||t[25]!==x){let e;t[27]!==w||t[28]!==l||t[29]!==C.description||t[30]!==C.label||t[31]!==y||t[32]!==h||t[33]!==_||t[34]!==c||t[35]!==d||t[36]!==b||t[37]!==m||t[38]!==x?(e=e=>{let{format:t}=e;return(0,Z.jsxs)(xe,{value:t,className:`mt-0 min-h-0 min-w-0 overflow-y-auto px-4 py-3`,children:[(0,Z.jsxs)(`div`,{className:`mb-3`,children:[(0,Z.jsx)(`h3`,{className:`text-base font-semibold`,children:C.label}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-sm text-muted-foreground`,children:C.description})]}),(0,Z.jsx)($n,{format:y,formatLabel:C.label,status:b,onInstall:l?h:void 0,isInstalling:c}),x?null:(0,Z.jsx)(w,{options:d,updateOptions:m,disabled:_})]},t)},t[27]=w,t[28]=l,t[29]=C.description,t[30]=C.label,t[31]=y,t[32]=h,t[33]=_,t[34]=c,t[35]=d,t[36]=b,t[37]=m,t[38]=x,t[39]=e):e=t[39],k=u.map(e),t[13]=w,t[14]=l,t[15]=C.description,t[16]=C.label,t[17]=y,t[18]=u,t[19]=h,t[20]=_,t[21]=c,t[22]=d,t[23]=b,t[24]=m,t[25]=x,t[26]=k}else k=t[26];let A;t[40]!==y||t[41]!==p||t[42]!==E||t[43]!==O||t[44]!==k?(A=(0,Z.jsxs)(Ce,{value:y,onValueChange:p,orientation:E,className:`flex min-h-0 min-w-0 flex-col overflow-hidden sm:grid sm:grid-cols-[168px_minmax(0,1fr)]`,children:[O,k]}),t[40]=y,t[41]=p,t[42]=E,t[43]=O,t[44]=k,t[45]=A):A=t[45];let j;t[46]===S?j=t[47]:(j=S?(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-background px-2.5 py-2 font-mono text-xs`,children:[(0,Z.jsx)(`span`,{className:`select-none text-muted-foreground`,"aria-hidden":!0,children:`$`}),(0,Z.jsx)(`code`,{className:`min-w-0 flex-1 overflow-x-auto whitespace-nowrap`,"data-testid":`export-cli-command`,"aria-label":`Equivalent POSIX shell command`,children:S}),(0,Z.jsx)(gt,{value:S,className:`size-3.5`,buttonClassName:U(we({variant:`ghost`,size:`icon`}),`shrink-0`),tooltip:`Copy POSIX shell command`,ariaLabel:`Copy POSIX shell command`,toastTitle:`Command copied`})]}):null,t[46]=S,t[47]=j);let M=S&&`mt-3`,N;t[48]===M?N=t[49]:(N=U(`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,M),t[48]=M,t[49]=N);let P;t[50]===te?P=t[51]:(P=te?(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:te}):null,t[50]=te,t[51]=P);let F=!b.available||_,I=!te&&`sm:ml-auto`,L;t[52]===I?L=t[53]:(L=U(`border-(--blue-11) bg-(--blue-11) hover:border-(--blue-12) hover:bg-(--blue-12) sm:min-w-36 dark:border-(--blue-7) dark:bg-(--blue-5) dark:text-(--blue-12) dark:hover:border-(--blue-8) dark:hover:bg-(--blue-6)`,I),t[52]=I,t[53]=L);let R;t[54]===s?R=t[55]:(R=s&&(0,Z.jsx)(rt,{size:`small`,className:`mr-2`,"aria-hidden":!0}),t[54]=s,t[55]=R);let ie=x?`Print to PDF`:ee,z;t[56]!==s||t[57]!==g||t[58]!==F||t[59]!==L||t[60]!==R||t[61]!==ie?(z=(0,Z.jsxs)(K,{type:`button`,disabled:F,"aria-busy":s,onClick:g,className:L,"data-testid":`export-submit`,children:[R,ie]}),t[56]=s,t[57]=g,t[58]=F,t[59]=L,t[60]=R,t[61]=ie,t[62]=z):z=t[62];let B;t[63]!==N||t[64]!==P||t[65]!==z?(B=(0,Z.jsxs)(`div`,{className:N,children:[P,z]}),t[63]=N,t[64]=P,t[65]=z,t[66]=B):B=t[66];let V;t[67]!==B||t[68]!==j?(V=(0,Z.jsxs)(`footer`,{className:`min-w-0 border-t bg-muted/20 px-4 py-3`,children:[j,B]}),t[67]=B,t[68]=j,t[69]=V):V=t[69];let H;return t[70]!==o||t[71]!==T||t[72]!==V||t[73]!==A?(H=(0,Z.jsxs)(lt,{ref:o,className:`grid h-dvh max-h-[760px] min-w-0 w-[calc(100vw-2rem)] grid-rows-[auto_minmax(0,1fr)_auto] gap-0 overflow-hidden p-0 sm:top-[5vh] sm:h-[90vh] sm:max-h-[640px] sm:max-w-3xl`,"data-testid":`export-dialog`,...T,children:[re,A,V]}),t[70]=o,t[71]=T,t[72]=V,t[73]=A,t[74]=H):H=t[74],H};function Cr(e){let t=(0,X.c)(5),{openPrompt:n,closeModal:r}=tt(),{sendCopy:i}=J(),a;return t[0]!==r||t[1]!==n||t[2]!==i||t[3]!==e?(a=()=>{if(!e)return null;let t=ke.guessDeliminator(e),a=De.basename(e);n({title:`Copy notebook`,description:`Enter a new filename for the notebook copy.`,defaultValue:`_${a}`,confirmText:`Copy notebook`,spellCheck:!1,onConfirm:n=>{let a=t.join(De.dirname(e),n);i({source:e,destination:a}).then(()=>{r(),ht({title:`Notebook copied`,description:`A copy of the notebook has been created.`}),Lt(a)})}})},t[0]=r,t[1]=n,t[2]=i,t[3]=e,t[4]=a):a=t[4],a}var wr=new y,Tr=e=>wr.isSupported(e)?`markdown`:`code`,Er=()=>{let e=(0,X.c)(3),{updateCellConfig:t}=o(),{saveCellConfig:n}=J(),r;return e[0]!==n||e[1]!==t?(r=async(e,r)=>{let i=b(),a={};for(let t of i.cellIds.inOrderIds){let n=i.cellData[t];n!==void 0&&n.config.hide_code!==e&&Tr(n.code)===r&&(a[t]={hide_code:e})}let o=N.entries(a);if(o.length!==0){await n({configs:a});for(let[e,n]of o)t({cellId:e,config:n})}},e[0]=n,e[1]=t,e[2]=r):r=e[2],r};function Dr(e,t){let n={};for(let r of e.cellIds.inOrderIds){let i=e.cellData[r];i!==void 0&&(i.config.expand_output??!1)!==t&&(Ue(e.cellRuntime[r]?.output)||(n[r]={expand_output:t}))}return n}var Or=()=>{let e=(0,X.c)(3),{updateCellConfig:t}=o(),{saveCellConfig:n}=J(),r;return e[0]!==n||e[1]!==t?(r=async e=>{let r=Dr(b(),e),i=N.entries(r);if(i.length!==0){await n({configs:r});for(let[e,n]of i)t({cellId:e,config:n})}},e[0]=n,e[1]=t,e[2]=r):r=e[2],r},kr=e=>{e?.preventDefault(),e?.stopPropagation()};function Ar(e){let n=(0,X.c)(44),a;n[0]===e?a=n[1]:(a=e===void 0?{}:e,n[0]=e,n[1]=a);let{exportDialogReturnFocusRef:m}=a,g=kt(),{openModal:_,closeModal:v}=tt(),{toggleApplication:y}=d(),{selectedPanel:x}=te(),[T]=t(B),E=r(ie),D=Er(),O=Or(),[k]=A(),M=r(c),P=r(j),{updateCellConfig:I,undoDeleteCell:L,clearAllCellOutputs:R,addSetupCellIfDoesntExist:z,collapseAllCells:H,expandAllCells:U}=o(),ae=Ct(),oe=St(),le=Cr(g),ue=i(sn),de=i(Le),{handleClick:fe}=Re(),pe=i(Fe),me=i(wn),{readCode:W,saveCellConfig:he}=J(),ge=re(`database`),G=re(`storage`),_e=f(),ve=r(h),ye=r(ne),be=r(s),{selectedLayout:xe}=at(),{setLayoutView:Se}=it(),Ce=on(),we=k.sharing?.html??!0,K=k.sharing?.wasm??!0,q=k.sharing?.molab??!0,De=xe===`slides`,ke;if(n[2]!==_e||n[3]!==z||n[4]!==P||n[5]!==ye||n[6]!==M||n[7]!==R||n[8]!==v||n[9]!==H||n[10]!==le||n[11]!==ge||n[12]!==G||n[13]!==U||n[14]!==m||n[15]!==g||n[16]!==ve||n[17]!==De||n[18]!==E||n[19]!==_||n[20]!==fe||n[21]!==W||n[22]!==ae||n[23]!==oe||n[24]!==he||n[25]!==xe||n[26]!==x||n[27]!==D||n[28]!==ue||n[29]!==me||n[30]!==pe||n[31]!==Se||n[32]!==O||n[33]!==de||n[34]!==we||n[35]!==q||n[36]!==K||n[37]!==y||n[38]!==Ce||n[39]!==L||n[40]!==be||n[41]!==I||n[42]!==T.mode){let e=[`db`,`sql`,...Mt],t=[`bucket`,`object storage`,...Pt],r=Gr,i=(e,t)=>{t&&me(e=>xn(e,t)),_((0,Z.jsx)(Sr,{initialFormat:e,onClose:v,returnFocusRef:m}))};ke=[{icon:(0,Z.jsx)(se,{size:14,strokeWidth:1.5}),label:`Export…`,additionalKeywords:[`download`,`html`,`markdown`,`ipynb`,`pdf`,`script`,`png`],handle:()=>i()},{icon:(0,Z.jsx)(se,{size:14,strokeWidth:1.5}),label:`Download`,redundant:!0,handle:kr,dropdown:[{icon:(0,Z.jsx)(Me,{size:14,strokeWidth:1.5}),label:`Download as HTML`,handle:()=>i(`html`,{html:{includeCode:!0}})},{icon:(0,Z.jsx)(Me,{size:14,strokeWidth:1.5}),label:`Download as HTML (exclude code)`,handle:()=>i(`html`,{html:{includeCode:!1}})},{icon:(0,Z.jsx)(At,{strokeWidth:1.5,style:{width:14,height:14}}),label:`Download as Markdown`,handle:()=>i(`markdown`)},{icon:(0,Z.jsx)(Yt,{size:14,strokeWidth:1.5}),label:`Download as ipynb`,handle:()=>i(`ipynb`)},{icon:(0,Z.jsx)(We,{size:14,strokeWidth:1.5}),label:`Download notebook source`,handle:()=>i(`script`,{script:{type:`source`}})},{icon:(0,Z.jsx)(We,{size:14,strokeWidth:1.5}),label:`Download flat script`,handle:()=>i(`script`,{script:{type:`flat`}})},{divider:!0,icon:(0,Z.jsx)(et,{size:14,strokeWidth:1.5}),label:`Download as PNG`,handle:()=>i(`png`)},De?{divider:!0,icon:(0,Z.jsx)(qe,{size:14,strokeWidth:1.5}),label:`Download as PDF`,handle:kr,dropdown:[{icon:(0,Z.jsx)(qe,{size:14,strokeWidth:1.5}),label:`Document Layout`,handle:()=>i(`pdf`,{pdf:{preset:`document`}})},{icon:(0,Z.jsx)(qe,{size:14,strokeWidth:1.5}),label:`Slides Layout`,hidden:V(),rightElement:(0,Z.jsx)(`span`,{className:`ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700`,children:`Recommended`}),handle:()=>i(`pdf`,{pdf:{preset:`slides`}})}]}:{divider:!0,icon:(0,Z.jsx)(qe,{size:14,strokeWidth:1.5}),label:`Download as PDF`,handle:()=>i(`pdf`,{pdf:{preset:`document`}})}]},{icon:(0,Z.jsx)(S,{size:14,strokeWidth:1.5}),label:`Connect your agent`,hidden:V(),handle:async()=>{_((0,Z.jsx)(Ie,{onClose:v}))},additionalKeywords:[`connect`]},{icon:(0,Z.jsx)(Qt,{size:14,strokeWidth:1.5}),label:`Share`,handle:kr,hidden:!we&&!K&&!q,dropdown:[{icon:(0,Z.jsx)(Je,{size:14,strokeWidth:1.5}),label:`Publish HTML to web`,hidden:!we,handle:async()=>{_((0,Z.jsx)(nn,{onClose:v}))}},{icon:(0,Z.jsx)(nt,{size:14,strokeWidth:1.5}),label:`Create WebAssembly link`,hidden:!K,handle:async()=>{let e=await W(),t=wt({code:e.contents});await mt(t),ht({title:`Copied`,description:`Link copied to clipboard.`})}},{icon:(0,Z.jsx)(It,{size:14,strokeWidth:1.5}),label:`Create molab notebook`,hidden:!q,handle:async()=>{let e=await W(),t=wt({code:e.contents,baseUrl:`${F.molab}/new`});window.open(t,`_blank`)}}]},{icon:(0,Z.jsx)(Xt,{size:14,strokeWidth:1.5}),label:`Helper panel`,redundant:!0,handle:kr,dropdown:l.flatMap(e=>{let t=e.type===`ai`&&!P;if(p({panel:e,capabilities:M,aiEnabled:P})&&!t)return[];let{type:n,Icon:i,additionalKeywords:a}=e;return{label:yt.startCase(n),rightElement:r(x===n),icon:(0,Z.jsx)(i,{size:14,strokeWidth:1.5}),handle:()=>{if(t){fe(`ai`,`ai-features`);return}y(n)},additionalKeywords:a}})},{icon:(0,Z.jsx)(Zt,{size:14,strokeWidth:1.5}),label:`Present as`,handle:kr,dropdown:[{icon:T.mode===`present`?(0,Z.jsx)(u,{size:14,strokeWidth:1.5}):(0,Z.jsx)(Ae,{size:14,strokeWidth:1.5}),label:`Toggle app view`,hotkey:`global.hideCode`,handle:()=>{Ce()}},...ot.map((e,t)=>{let n=un(e);return{divider:t===0,label:dn(e),icon:(0,Z.jsx)(n,{size:14,strokeWidth:1.5}),rightElement:(0,Z.jsx)(`div`,{className:`w-8 flex justify-end`,children:xe===e&&(0,Z.jsx)(ze,{size:14})}),handle:()=>{Se(e),T.mode===`edit`&&Ce()}}})]},{icon:(0,Z.jsx)(Kt,{size:14,strokeWidth:1.5}),label:`Duplicate notebook`,hidden:!g||V(),handle:le},{icon:(0,Z.jsx)(ce,{size:14,strokeWidth:1.5}),label:`Copy code to clipboard`,hidden:!g,handle:async()=>{let e=await W();await mt(e.contents),ht({title:`Copied`,description:`Code copied to clipboard.`})}},{icon:(0,Z.jsx)(Be,{size:14,strokeWidth:1.5}),label:`Enable all cells`,hidden:!ve||E,handle:async()=>{let e=b(),t=C(e),n=N.fromEntries(t.map(Wr));await he({configs:n});for(let e of t)I({cellId:e,config:{disabled:!1}})}},{divider:!0,icon:(0,Z.jsx)(Wt,{size:14,strokeWidth:1.5}),label:`Add setup cell`,handle:()=>{z({})}},{icon:(0,Z.jsx)(Ee,{size:14,strokeWidth:1.5}),label:`Add database connection`,additionalKeywords:e,handle:()=>{_((0,Z.jsx)(Nt,{onClose:v}))},dropdown:ge.length===0?void 0:[...ge.map(e=>({icon:(0,Z.jsx)(S,{size:14,strokeWidth:1.5}),label:`Add ${e.displayName}`,description:`Detected in your environment`,handle:()=>_e(e)})),{divider:!0,icon:(0,Z.jsx)(Ee,{size:14,strokeWidth:1.5}),label:`Browse all connections`,additionalKeywords:e,handle:()=>{_((0,Z.jsx)(Nt,{onClose:v}))}}]},{icon:(0,Z.jsx)(Qe,{size:14,strokeWidth:1.5}),label:`Add remote storage`,additionalKeywords:t,handle:()=>{_((0,Z.jsx)(Nt,{defaultTab:`storage`,onClose:v}))},dropdown:G.length===0?void 0:[...G.map(e=>({icon:(0,Z.jsx)(S,{size:14,strokeWidth:1.5}),label:`Add ${e.displayName}`,description:`Detected in your environment`,handle:()=>_e(e)})),{divider:!0,icon:(0,Z.jsx)(Qe,{size:14,strokeWidth:1.5}),label:`Browse all connections`,additionalKeywords:t,handle:()=>{_((0,Z.jsx)(Nt,{defaultTab:`storage`,onClose:v}))}}]},{icon:(0,Z.jsx)(en,{size:14,strokeWidth:1.5}),label:be,hidden:!ye||E,handle:()=>{L()}},{icon:(0,Z.jsx)($t,{size:14,strokeWidth:1.5}),label:`Restart kernel`,variant:`danger`,handle:ae,additionalKeywords:[`reset`,`reload`,`restart`]},{icon:(0,Z.jsx)(Gt,{size:14,strokeWidth:1.5}),label:`Re-run all cells`,redundant:!0,hotkey:`global.runAll`,handle:async()=>{oe()}},{icon:(0,Z.jsx)(ee,{size:14,strokeWidth:1.5}),label:`Clear all outputs`,redundant:!0,handle:()=>{R()}},{icon:(0,Z.jsx)(w,{size:14,strokeWidth:1.5}),label:`Show all code`,hotkey:`global.showAllCode`,handle:()=>D(!1,`code`),redundant:!0},{icon:(0,Z.jsx)(Ge,{size:14,strokeWidth:1.5}),label:`Hide all code`,hotkey:`global.hideAllCode`,handle:()=>D(!0,`code`),redundant:!0},{icon:(0,Z.jsx)(w,{size:14,strokeWidth:1.5}),label:`Show all markdown code`,hotkey:`global.showAllMarkdownCode`,handle:()=>D(!1,`markdown`),redundant:!0},{icon:(0,Z.jsx)(Ge,{size:14,strokeWidth:1.5}),label:`Hide all markdown code`,hotkey:`global.hideAllMarkdownCode`,handle:()=>D(!0,`markdown`),redundant:!0},{icon:(0,Z.jsx)(He,{size:14,strokeWidth:1.5}),label:`Expand all outputs`,hotkey:`global.expandAllOutputs`,hidden:T.mode!==`edit`,handle:()=>O(!0),redundant:!0},{icon:(0,Z.jsx)(Ve,{size:14,strokeWidth:1.5}),label:`Clamp all outputs`,hotkey:`global.clampAllOutputs`,hidden:T.mode!==`edit`,handle:()=>O(!1),redundant:!0},{icon:(0,Z.jsx)(Vt,{size:14,strokeWidth:1.5}),label:`Collapse all sections`,hotkey:`global.collapseAllSections`,handle:H,redundant:!0},{icon:(0,Z.jsx)(Bt,{size:14,strokeWidth:1.5}),label:`Expand all sections`,hotkey:`global.expandAllSections`,handle:U,redundant:!0},{divider:!0,icon:(0,Z.jsx)(Ut,{size:14,strokeWidth:1.5}),label:`Command palette`,hotkey:`global.commandPalette`,handle:()=>ue(Ur)},{icon:(0,Z.jsx)(je,{size:14,strokeWidth:1.5}),label:`Keyboard shortcuts`,hotkey:`global.showHelp`,handle:()=>pe(Hr)},{icon:(0,Z.jsx)(ft,{size:14,strokeWidth:1.5}),label:`User settings`,handle:()=>de(Vr),redundant:!0,additionalKeywords:[`preferences`,`options`,`configuration`]},{icon:(0,Z.jsx)(Jt,{size:14,strokeWidth:1.5}),label:`Report an issue`,additionalKeywords:[`feedback`,`bug`,`issue`,`report`,`diagnostics`],handle:()=>_((0,Z.jsx)(jt,{onClose:v}))},{icon:(0,Z.jsx)(Ke,{size:14,strokeWidth:1.5}),label:`Resources`,handle:kr,dropdown:[{icon:(0,Z.jsx)(Te,{size:14,strokeWidth:1.5}),label:`Documentation`,handle:Br},{icon:(0,Z.jsx)(Ft,{className:`h-3.5 w-3.5`}),label:`GitHub`,handle:zr},{icon:(0,Z.jsx)(Ye,{size:14,strokeWidth:1.5}),label:`Discord Community`,handle:Rr},{icon:(0,Z.jsx)(Ze,{className:`h-3.5 w-3.5`}),label:`YouTube`,handle:Lr},{icon:(0,Z.jsx)(Oe,{size:14,strokeWidth:1.5}),label:`Changelog`,handle:Ir}]},{divider:!0,icon:(0,Z.jsx)($e,{size:14,strokeWidth:1.5}),label:`Open home`,hidden:!location.search.includes(`file`),handle:Fr},{icon:(0,Z.jsx)(It,{size:14,strokeWidth:1.5}),label:`New notebook`,hidden:!location.search.includes(`file`),handle:Pr}].filter(Nr).map(jr),n[2]=_e,n[3]=z,n[4]=P,n[5]=ye,n[6]=M,n[7]=R,n[8]=v,n[9]=H,n[10]=le,n[11]=ge,n[12]=G,n[13]=U,n[14]=m,n[15]=g,n[16]=ve,n[17]=De,n[18]=E,n[19]=_,n[20]=fe,n[21]=W,n[22]=ae,n[23]=oe,n[24]=he,n[25]=xe,n[26]=x,n[27]=D,n[28]=ue,n[29]=me,n[30]=pe,n[31]=Se,n[32]=O,n[33]=de,n[34]=we,n[35]=q,n[36]=K,n[37]=y,n[38]=Ce,n[39]=L,n[40]=be,n[41]=I,n[42]=T.mode,n[43]=ke}else ke=n[43];return ke}function jr(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(Mr)}:e}function Mr(e){return!e.hidden}function Nr(e){return!e.hidden}function Pr(){let e=z();window.open(e,`_blank`)}function Fr(){let e=document.baseURI.split(`?`)[0];window.open(e,`_blank`,`noopener`)}function Ir(){window.open(F.releasesPage,`_blank`)}function Lr(){window.open(F.youtube,`_blank`)}function Rr(){window.open(F.discordLink,`_blank`)}function zr(){window.open(F.githubPage,`_blank`)}function Br(){window.open(F.docsPage,`_blank`)}function Vr(e){return!e}function Hr(e){return!e}function Ur(e){return!e}function Wr(e){return[e,{disabled:!1}]}function Gr(e){return(0,Z.jsx)(`div`,{className:`w-8 flex justify-end`,children:e&&(0,Z.jsx)(ze,{size:14})})}export{sn as a,Jt as c,Ht as d,cn as i,Wt as l,Or as n,on as o,Er as r,en as s,Ar as t,Ut as u};
@@ -1,6 +0,0 @@
1
- import{a as e,n as t,r as n,s as r,t as i}from"./precisionRound-Bq_nmf5u.js";import{i as a,n as o,r as s,t as c}from"./defaultLocale-CNPGWpMu.js";import{C as l,E as u,P as d,S as f,T as p,_ as m,a as ee,c as h,d as g,i as te,l as ne,n as re,o as ie,p as ae,r as oe,s as se,t as ce,v as le,w as ue,x as _,y as v}from"./defaultLocale-D5bOh7g6.js";function y(e,t,n){return Object.assign(e,{fields:t||[],fname:n})}function de(e){return e==null?null:e.fname}function fe(e){return e==null?null:e.fields}function pe(e){return e.length===1?me(e[0]):he(e)}var me=e=>function(t){return t[e]},he=e=>{let t=e.length;return function(n){for(let r=0;r<t;++r)n=n[e[r]];return n}};function b(e){throw Error(e)}function ge(e){let t=[],n=e.length,r=null,i=0,a=``,o,s,c;e+=``;function l(){t.push(a+e.substring(o,s)),a=``,o=s+1}for(o=s=0;s<n;++s)if(c=e[s],c===`\\`)a+=e.substring(o,s++),o=s;else if(c===r)l(),r=null,i=-1;else if(r)continue;else o===i&&c===`"`||o===i&&c===`'`?(o=s+1,r=c):c===`.`&&!i?s>o?l():o=s+1:c===`[`?(s>o&&l(),i=o=s+1):c===`]`&&(i||b(`Access path missing open bracket: `+e),i>0&&l(),i=0,o=s+1);return i&&b(`Access path missing closing bracket: `+e),r&&b(`Access path missing closing quote: `+e),s>o&&(s++,l()),t}function x(e,t,n){let r=ge(e),i=r.length===1?r[0]:e;return y((n&&n.get||pe)(r),[i],t||i)}var _e=x(`id`),ve=y(e=>e,[],`identity`),S=y(()=>0,[],`zero`),ye=y(()=>1,[],`one`),be=y(()=>!0,[],`true`),xe=y(()=>!1,[],`false`),Se=new Set([...Object.getOwnPropertyNames(Object.prototype).filter(e=>typeof Object.prototype[e]==`function`),`__proto__`,`then`]),C=Array.isArray;function w(e){return e===Object(e)}var Ce=e=>e!==`__proto__`&&e!==`constructor`&&e!==`prototype`;function we(...e){return e.reduce((e,t)=>{for(let n in t)if(n===`signals`)e.signals=Ee(e.signals,t.signals);else{let r=n===`legend`?{layout:1}:n===`style`||null;Te(e,n,t[n],r)}return e},{})}function Te(e,t,n,r){if(!Ce(t))return;let i=e,a,o;if(w(n)&&!C(n)){let e=n;for(a in o=w(i[t])?i[t]:i[t]={},e)r&&(r===!0||r[a])?Te(o,a,e[a]):Ce(a)&&(o[a]=e[a])}else i[t]=n}function Ee(e,t){if(e==null)return t;if(t==null)return e;let n={},r=[];function i(e){n[e.name]||(n[e.name]=1,r.push(e))}return t.forEach(i),e.forEach(i),r}function De(e){return e[e.length-1]}function Oe(e){return e==null||e===``?null:+e}function T(e){return e==null?[]:C(e)?e:[e]}function E(e){return typeof e==`function`}var ke=`descending`;function Ae(e,t,n){let r=n||{},i=T(t)||[],a=[],o=[],s={},c=r.comparator||Me;return T(e).forEach((e,t)=>{if(e==null)return;a.push(i[t]===ke?-1:1);let n=E(e)?e:x(e,void 0,r);o.push(n),(fe(n)||[]).forEach(e=>s[e]=1)}),o.length===0?null:y(c(o,a),Object.keys(s))}var je=(e,t)=>{let n=e,r=t;return(n<r||n==null)&&r!=null?-1:(n>r||r==null)&&n!=null?1:(r=r instanceof Date?+r:r,(n=n instanceof Date?+n:n)!==n&&r===r?-1:+(r!==r&&n===n))},Me=(e,t)=>e.length===1?Ne(e[0],t[0]):Pe(e,t,e.length),Ne=(e,t)=>function(n,r){return je(e(n),e(r))*t},Pe=(e,t,n)=>(t.push(0),function(r,i){let a,o=0,s=-1;for(;o===0&&++s<n;)a=e[s],o=je(a(r),a(i));return o*t[s]});function Fe(e){return E(e)?e:()=>e}function D(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}function O(e,t){return Object.hasOwn(e,t)}function Ie(e){return Object.prototype.toString.call(e)===`[object Date]`}function Le(e){return e!=null&&E(e[Symbol.iterator])}function Re(e){return typeof e==`number`}function k(e){return typeof e==`string`}function ze(e,t,n){let r=e?t?T(e).map(e=>e.replace(/\\(.)/g,`$1`)):T(e):void 0,i=r?.length,a=n&&n.get||pe,o=e=>a(t?[e]:ge(e)),s;if(!i||!r)s=function(){return``};else if(i===1){let e=o(r[0]);s=function(t){return``+e(t)}}else{let e=r.map(o);s=function(t){let n=``+e[0](t),r=0;for(;++r<i;)n+=`|`+e[r](t);return n}}return y(s,r,`key`)}function Be(e){return e&&De(e)-e[0]||0}function Ve(e){return C(e)?`[${e.map(e=>e===null?`null`:Ve(e))}]`:w(e)||k(e)?JSON.stringify(e).replaceAll(`\u2028`,`\\u2028`).replaceAll(`\u2029`,`\\u2029`):e}function He(e){return e==null||e===``?null:!e||e===`false`||e===`0`?!1:!!e}var Ue=e=>Re(e)||Ie(e)?e:Date.parse(e);function We(e,t){return t||=Ue,e==null||e===``?null:t(e)}function Ge(e){return e==null||e===``?null:e+``}function Ke(e){let t={},n=e.length;for(let r=0;r<n;++r)t[e[r]+``]=!0;return t}var qe={},Je={},Ye=34,A=10,Xe=13;function Ze(e){return Function(`d`,`return {`+e.map(function(e,t){return JSON.stringify(e)+`: d[`+t+`] || ""`}).join(`,`)+`}`)}function Qe(e,t){var n=Ze(e);return function(r,i){return t(n(r),i,e)}}function $e(e){var t=Object.create(null),n=[];return e.forEach(function(e){for(var r in e)r in t||n.push(t[r]=r)}),n}function j(e,t){var n=e+``,r=n.length;return r<t?Array(t-r+1).join(0)+n:n}function et(e){return e<0?`-`+j(-e,6):e>9999?`+`+j(e,6):j(e,4)}function tt(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?`Invalid Date`:et(e.getUTCFullYear(),4)+`-`+j(e.getUTCMonth()+1,2)+`-`+j(e.getUTCDate(),2)+(i?`T`+j(t,2)+`:`+j(n,2)+`:`+j(r,2)+`.`+j(i,3)+`Z`:r?`T`+j(t,2)+`:`+j(n,2)+`:`+j(r,2)+`Z`:n||t?`T`+j(t,2)+`:`+j(n,2)+`Z`:``)}function nt(e){var t=RegExp(`["`+e+`
2
- \r]`),n=e.charCodeAt(0);function r(e,t){var n,r,a=i(e,function(e,i){if(n)return n(e,i-1);r=e,n=t?Qe(e,t):Ze(e)});return a.columns=r||[],a}function i(e,t){var r=[],i=e.length,a=0,o=0,s,c=i<=0,l=!1;e.charCodeAt(i-1)===A&&--i,e.charCodeAt(i-1)===Xe&&--i;function u(){if(c)return Je;if(l)return l=!1,qe;var t,r=a,o;if(e.charCodeAt(r)===Ye){for(;a++<i&&e.charCodeAt(a)!==Ye||e.charCodeAt(++a)===Ye;);return(t=a)>=i?c=!0:(o=e.charCodeAt(a++))===A?l=!0:o===Xe&&(l=!0,e.charCodeAt(a)===A&&++a),e.slice(r+1,t-1).replace(/""/g,`"`)}for(;a<i;){if((o=e.charCodeAt(t=a++))===A)l=!0;else if(o===Xe)l=!0,e.charCodeAt(a)===A&&++a;else if(o!==n)continue;return e.slice(r,t)}return c=!0,e.slice(r,i)}for(;(s=u())!==Je;){for(var d=[];s!==qe&&s!==Je;)d.push(s),s=u();t&&(d=t(d,o++))==null||r.push(d)}return r}function a(t,n){return t.map(function(t){return n.map(function(e){return u(t[e])}).join(e)})}function o(t,n){return n??=$e(t),[n.map(u).join(e)].concat(a(t,n)).join(`
3
- `)}function s(e,t){return t??=$e(e),a(e,t).join(`
4
- `)}function c(e){return e.map(l).join(`
5
- `)}function l(t){return t.map(u).join(e)}function u(e){return e==null?``:e instanceof Date?tt(e):t.test(e+=``)?`"`+e.replace(/"/g,`""`)+`"`:e}return{parse:r,parseRows:i,format:o,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}function rt(e){return e}function it(e){if(e==null)return rt;var t,n,r=e.scale[0],i=e.scale[1],a=e.translate[0],o=e.translate[1];return function(e,s){s||(t=n=0);var c=2,l=e.length,u=Array(l);for(u[0]=(t+=e[0])*r+a,u[1]=(n+=e[1])*i+o;c<l;)u[c]=e[c],++c;return u}}function at(e,t){for(var n,r=e.length,i=r-t;i<--r;)n=e[i],e[i++]=e[r],e[r]=n}function ot(e,t){return typeof t==`string`&&(t=e.objects[t]),t.type===`GeometryCollection`?{type:`FeatureCollection`,features:t.geometries.map(function(t){return st(e,t)})}:st(e,t)}function st(e,t){var n=t.id,r=t.bbox,i=t.properties==null?{}:t.properties,a=ct(e,t);return n==null&&r==null?{type:`Feature`,properties:i,geometry:a}:r==null?{type:`Feature`,id:n,properties:i,geometry:a}:{type:`Feature`,id:n,bbox:r,properties:i,geometry:a}}function ct(e,t){var n=it(e.transform),r=e.arcs;function i(e,t){t.length&&t.pop();for(var i=r[e<0?~e:e],a=0,o=i.length;a<o;++a)t.push(n(i[a],a));e<0&&at(t,o)}function a(e){return n(e)}function o(e){for(var t=[],n=0,r=e.length;n<r;++n)i(e[n],t);return t.length<2&&t.push(t[0]),t}function s(e){for(var t=o(e);t.length<4;)t.push(t[0]);return t}function c(e){return e.map(s)}function l(e){var t=e.type,n;switch(t){case`GeometryCollection`:return{type:t,geometries:e.geometries.map(l)};case`Point`:n=a(e.coordinates);break;case`MultiPoint`:n=e.coordinates.map(a);break;case`LineString`:n=o(e.arcs);break;case`MultiLineString`:n=e.arcs.map(o);break;case`Polygon`:n=c(e.arcs);break;case`MultiPolygon`:n=e.arcs.map(c);break;default:return null}return{type:t,coordinates:n}}return l(t)}function lt(e,t){var n={},r={},i={},a=[],o=-1;t.forEach(function(n,r){var i=e.arcs[n<0?~n:n],a;i.length<3&&!i[1][0]&&!i[1][1]&&(a=t[++o],t[o]=n,t[r]=a)}),t.forEach(function(e){var t=s(e),n=t[0],a=t[1],o,c;if(o=i[n]){if(delete i[o.end],o.push(e),o.end=a,c=r[a]){delete r[c.start];var l=c===o?o:o.concat(c);r[l.start=o.start]=i[l.end=c.end]=l}else r[o.start]=i[o.end]=o}else if(o=r[a]){if(delete r[o.start],o.unshift(e),o.start=n,c=i[n]){delete i[c.end];var u=c===o?o:c.concat(o);r[u.start=c.start]=i[u.end=o.end]=u}else r[o.start]=i[o.end]=o}else o=[e],r[o.start=n]=i[o.end=a]=o});function s(t){var n=e.arcs[t<0?~t:t],r=n[0],i;return e.transform?(i=[0,0],n.forEach(function(e){i[0]+=e[0],i[1]+=e[1]})):i=n[n.length-1],t<0?[i,r]:[r,i]}function c(e,t){for(var r in e){var i=e[r];delete t[i.start],delete i.start,delete i.end,i.forEach(function(e){n[e<0?~e:e]=1}),a.push(i)}}return c(i,r),c(r,i),t.forEach(function(e){n[e<0?~e:e]||a.push([e])}),a}function ut(e){return ct(e,dt.apply(this,arguments))}function dt(e,t,n){var r,i,a;if(arguments.length>1)r=ft(e,t,n);else for(i=0,r=Array(a=e.arcs.length);i<a;++i)r[i]=i;return{type:`MultiLineString`,arcs:lt(e,r)}}function ft(e,t,n){var r=[],i=[],a;function o(e){var t=e<0?~e:e;(i[t]||(i[t]=[])).push({i:e,g:a})}function s(e){e.forEach(o)}function c(e){e.forEach(s)}function l(e){e.forEach(c)}function u(e){switch(a=e,e.type){case`GeometryCollection`:e.geometries.forEach(u);break;case`LineString`:s(e.arcs);break;case`MultiLineString`:case`Polygon`:c(e.arcs);break;case`MultiPolygon`:l(e.arcs)}}return u(t),i.forEach(n==null?function(e){r.push(e[0].i)}:function(e){n(e[0].g,e[e.length-1].g)&&r.push(e[0].i)}),r}var M=`year`,N=`quarter`,P=`month`,F=`week`,I=`isoweek`,L=`date`,R=`dayofyear`,z=`hours`,B=`minutes`,V=`seconds`,H=`milliseconds`,pt=[M,N,P,F,I,L,`day`,R,z,B,V,H],mt=pt.reduce((e,t,n)=>(e[t]=1+n,e),{});function ht(e){let t=T(e).slice(),n={};return t.length||b(`Missing time unit.`),t.forEach(e=>{O(mt,e)?n[e]=1:b(`Invalid time unit: ${e}.`)}),((n.week||n.isoweek||n.day?1:0)+(n.quarter||n.month||n.date?1:0)+ +!!n.dayofyear>1||n.week&&n.isoweek)&&b(`Incompatible time units: ${e}`),t.sort((e,t)=>mt[e]-mt[t]),t}var gt={[M]:`%Y `,[N]:`Q%q `,[P]:`%b `,[L]:`%d `,[F]:`W%U `,[I]:`W%V `,day:`%a `,[R]:`%j `,[z]:`%H:00`,[B]:`00:%M`,[V]:`:%S`,[H]:`.%L`,[`${M}-${I}`]:`%G W%V `,[`${M}-${P}`]:`%Y-%m `,[`${M}-${P}-${L}`]:`%Y-%m-%d `,[`${z}-${B}`]:`%H:%M`};function _t(e,t){let n=D({},gt,t),r=ht(e),i=r.length,a=``,o=0,s,c;for(o=0;o<i;)for(s=r.length;s>o;--s)if(c=r.slice(o,s).join(`-`),n[c]!=null){a+=n[c],o=s;break}return a.trim()}var U=new Date;function vt(e){return U.setFullYear(e),U.setMonth(0),U.setDate(1),U.setHours(0,0,0,0),U}function yt(e){return St(new Date(e))}function bt(e){return Ct(new Date(e))}function xt(e){return Tt(new Date(e))}function St(e){return v.count(vt(e.getFullYear())-1,e)}function Ct(e){return ae.count(vt(e.getFullYear())-1,e)}function wt(e){return v.offset(g.floor(e),3).getFullYear()}function Tt(e){return 1+g.count(Et(wt(e)),e)}function Et(e){return g.floor(v.offset(vt(e),3))}function Dt(e){let t=Et(e);return t.getMonth()?t.getDate()-31:t.getDate()}function Ot(e){return vt(e).getDay()}function kt(e,t,n,r,i,a,o){if(0<=e&&e<100){let s=new Date(-1,t,n,r,i,a,o);return s.setFullYear(e),s}return new Date(e,t,n,r,i,a,o)}function At(e){return Nt(new Date(e))}function jt(e){return Pt(new Date(e))}function Mt(e){return It(new Date(e))}function Nt(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return _.count(t-1,e)}function Pt(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return le.count(t-1,e)}function Ft(e){return _.offset(m.floor(e),3).getUTCFullYear()}function It(e){return 1+m.count(Lt(Ft(e)),e)}function Lt(e){return m.floor(_.offset(Date.UTC(e,0,1),3))}function Rt(e){let t=Lt(e);return t.getUTCMonth()?t.getUTCDate()-31:t.getUTCDate()}function zt(e){return U.setTime(Date.UTC(e,0,1)),U.getUTCDay()}function Bt(e,t,n,r,i,a,o){if(0<=e&&e<100){let e=new Date(Date.UTC(-1,t,n,r,i,a,o));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,i,a,o))}var Vt=2012,Ht=2015;function Ut(e,t,n,r,i){let a=t||1,o=De(e),s=(e,t,i)=>(i||=e,Wt(n[i],r[i],e===o&&a,t)),c=new Date,l=Ke(e),u=l.year?s(M,null,l.isoweek?M+I:M):Fe(l.isoweek?Ht:Vt),d=l.month?s(P):l.quarter?s(N):S,f=l.week&&l.day?s(`day`,1,F+`day`):l.isoweek&&l.day?s(`day`,1,I+`day`):l.week?s(F,1):l.isoweek?s(I,1):l.day?s(`day`,1):l.date?s(L,1):l.dayofyear?s(R,1):ye,p=l.hours?s(z):S,m=l.minutes?s(B):S,ee=l.seconds?s(V):S,h=l.milliseconds?s(H):S;return function(e){c.setTime(+e);let t=u(c);return i(t,d(c),f(c,t),p(c),m(c),ee(c),h(c))}}function Wt(e,t,n,r){let i=n<=1?e:r?(t,i)=>r+n*Math.floor((e(t,i)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(i(e,n),n):i}function W(e,t,n){return t+e*7-(n+6)%7}function Gt(e){return(e+6)%7}function Kt(e,t,n){return e+(t-1)*7+n}var qt={[M]:e=>e.getFullYear(),[N]:e=>Math.floor(e.getMonth()/3),[P]:e=>e.getMonth(),[L]:e=>e.getDate(),[z]:e=>e.getHours(),[B]:e=>e.getMinutes(),[V]:e=>e.getSeconds(),[H]:e=>e.getMilliseconds(),[R]:e=>St(e),[F]:e=>Ct(e),[F+`day`]:(e,t)=>W(Ct(e),e.getDay(),Ot(t)),day:(e,t)=>W(1,e.getDay(),Ot(t)),[I]:e=>Tt(e),[M+I]:e=>wt(e),[I+`day`]:(e,t)=>Kt(Dt(t),Tt(e),Gt(e.getDay()))},Jt={[N]:e=>3*e,[F]:(e,t)=>W(e,0,Ot(t)),[I]:(e,t)=>Kt(Dt(t),e,0)};function Yt(e,t){return Ut(e,t||1,qt,Jt,kt)}var Xt={[M]:e=>e.getUTCFullYear(),[N]:e=>Math.floor(e.getUTCMonth()/3),[P]:e=>e.getUTCMonth(),[L]:e=>e.getUTCDate(),[z]:e=>e.getUTCHours(),[B]:e=>e.getUTCMinutes(),[V]:e=>e.getUTCSeconds(),[H]:e=>e.getUTCMilliseconds(),[R]:e=>Nt(e),[F]:e=>Pt(e),day:(e,t)=>W(1,e.getUTCDay(),zt(t)),[F+`day`]:(e,t)=>W(Pt(e),e.getUTCDay(),zt(t)),[I]:e=>It(e),[M+I]:e=>Ft(e),[I+`day`]:(e,t)=>Kt(Rt(t),It(e),Gt(e.getUTCDay()))},Zt={[N]:e=>3*e,[F]:(e,t)=>W(e,0,zt(t)),[I]:(e,t)=>Kt(Rt(t),e,0)};function Qt(e,t){return Ut(e,t||1,Xt,Zt,Bt)}var $t={[M]:ie,[N]:h.every(3),[P]:h,[F]:ae,[I]:g,[L]:v,day:v,[R]:v,[z]:f,[B]:ue,[V]:u,[H]:d},en={[M]:se,[N]:ne.every(3),[P]:ne,[F]:le,[I]:m,[L]:_,day:_,[R]:_,[z]:l,[B]:p,[V]:u,[H]:d};function tn(e){return $t[e]}function nn(e){return en[e]}function rn(e,t,n){return e?e.offset(t,n):void 0}function an(e,t,n){return rn(tn(e),t,n)}function on(e,t,n){return rn(nn(e),t,n)}function sn(e,t,n,r){return e?e.range(t,n,r):void 0}function cn(e,t,n,r){return sn(tn(e),t,n,r)}function ln(e,t,n,r){return sn(nn(e),t,n,r)}var G=1e3,K=G*60,q=K*60,un=q*24,dn=un*7,fn=un*30,pn=un*365,mn=[M,P,L,z,B,V,H],J=mn.slice(0,-1),Y=J.slice(0,-1),X=Y.slice(0,-1),hn=X.slice(0,-1),gn=[M,F],_n=[M,P],vn=[M],Z=[[J,1,G],[J,5,5*G],[J,15,15*G],[J,30,30*G],[Y,1,K],[Y,5,5*K],[Y,15,15*K],[Y,30,30*K],[X,1,q],[X,3,3*q],[X,6,6*q],[X,12,12*q],[hn,1,un],[gn,1,dn],[_n,1,fn],[_n,3,3*fn],[vn,1,pn]];function yn(t){let n=t.extent,i=t.maxbins||40,a=Math.abs(Be(n))/i,o=r(e=>e[2]).right(Z,a),s,c;return o===Z.length?(s=vn,c=e(n[0]/pn,n[1]/pn,i)):o?(o=Z[a/Z[o-1][2]<Z[o][2]/a?o-1:o],s=o[0],c=o[1]):(s=mn,c=Math.max(e(n[0],n[1],i),1)),{units:s,step:c}}function Q(e){let t={};return n=>t[n]||(t[n]=e(n))}function bn(e,t){return n=>{let r=e(n),i=r.indexOf(t);if(i<0)return r;let a=xn(r,i),o=a<r.length?r.slice(a):``;for(;--a>i;)if(r[a]!==`0`){++a;break}return r.slice(0,a)+o}}function xn(e,t){let n=e.lastIndexOf(`e`),r;if(n>0)return n;for(n=e.length;--n>t;)if(r=e.charCodeAt(n),r>=48&&r<=57)return n+1}function Sn(r){let o=Q(r.format),s=r.formatPrefix;return{format:o,formatPrefix:s,formatFloat(e){let t=a(e||`,`);if(t.precision==null){switch(t.precision=12,t.type){case`%`:t.precision-=2;break;case`e`:--t.precision}return bn(o(t),o(`.1f`)(1)[1])}return o(t)},formatSpan(r,c,l,u){u=a(u??`,f`);let d=e(r,c,l),f=Math.max(Math.abs(r),Math.abs(c)),p;if(u.precision==null)switch(u.type){case`s`:return isNaN(p=t(d,f))||(u.precision=p),s(u,f);case``:case`e`:case`g`:case`p`:case`r`:isNaN(p=i(d,f))||(u.precision=p-(u.type===`e`));break;case`f`:case`%`:isNaN(p=n(d))||(u.precision=p-(u.type===`%`)*2)}return o(u)}}}var Cn;wn();function wn(){return Cn=Sn({format:c,formatPrefix:o})}function Tn(e){return Sn(s(e))}function En(e){return arguments.length?Cn=Tn(e):Cn}function Dn(e,t,n){n||={},w(n)||b(`Invalid time multi-format specifier: ${n}`);let r=t(V),i=t(B),a=t(z),o=t(L),s=t(F),c=t(P),l=t(N),u=t(M),d=e(n.milliseconds||`.%L`),f=e(n.seconds||`:%S`),p=e(n.minutes||`%I:%M`),m=e(n.hours||`%I %p`),ee=e(n.date||n.day||`%a %d`),h=e(n.week||`%b %d`),g=e(n.month||`%B`),te=e(n.quarter||`%B`),ne=e(n.year||`%Y`);return e=>(r(e)<e?d:i(e)<e?f:a(e)<e?p:o(e)<e?m:c(e)<e?s(e)<e?ee:h:u(e)<e?l(e)<e?g:te:ne)(e)}function On(e){let t=Q(e.format),n=Q(e.utcFormat);return{timeFormat:e=>k(e)?t(e):Dn(t,tn,e),utcFormat:e=>k(e)?n(e):Dn(n,nn,e),timeParse:Q(e.parse),utcParse:Q(e.utcParse)}}var kn;An();function An(){return kn=On({format:ce,parse:re,utcFormat:oe,utcParse:te})}function jn(e){return On(ee(e))}function $(e){return arguments.length?kn=jn(e):kn}var Mn=(e,t)=>D({},e,t);function Nn(e,t){return Mn(e?Tn(e):En(),t?jn(t):$())}function Pn(e,t){let n=arguments.length;return n&&n!==2&&b(`defaultLocale expects either zero or two arguments.`),n?Mn(En(e),$(t)):Mn(En(),$())}function Fn(){return wn(),An(),Pn()}var In=/^(data:|([A-Za-z]+:)?\/\/)/,Ln=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,Rn=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,zn=`file://`;function Bn(e){return t=>({options:t||{},sanitize:Hn,load:Vn,fileAccess:!1,file:Un(e),http:Gn})}async function Vn(e,t){let n=await this.sanitize(e,t),r=n.href;return n.localFile?this.file(r):this.http(r,t?.http)}async function Hn(e,t){t=D({},this.options,t);let n=this.fileAccess,r={href:null},i,a,o,s=Ln.test(e.replace(Rn,``));(e==null||typeof e!=`string`||!s)&&b(`Sanitize failure, invalid URI: `+Ve(e));let c=In.test(e);return(o=t.baseURL)&&!c&&(!e.startsWith(`/`)&&!o.endsWith(`/`)&&(e=`/`+e),e=o+e),a=(i=e.startsWith(zn))||t.mode===`file`||t.mode!==`http`&&!c&&n,i?e=e.slice(7):e.startsWith(`//`)&&(t.defaultProtocol===`file`?(e=e.slice(2),a=!0):e=(t.defaultProtocol||`http`)+`:`+e),Object.defineProperty(r,"localFile",{value:!!a}),r.href=e,t.target&&(r.target=t.target+``),t.rel&&(r.rel=t.rel+``),t.context===`image`&&t.crossOrigin&&(r.crossOrigin=t.crossOrigin+``),r}function Un(e){return e?t=>new Promise((n,r)=>{e.readFile(t,(e,t)=>{e?r(e):n(t)})}):Wn}async function Wn(){b(`No file system access.`)}async function Gn(e,t){let n=D({},this.options.http,t),r=t&&t.response,i=await fetch(e,n);return i.ok?E(i[r])?i[r]():i.text():b(i.status+``+i.statusText)}var Kn=e=>e!=null&&e===e,qn=e=>e===`true`||e===`false`||e===!0||e===!1,Jn=e=>!Number.isNaN(Date.parse(e)),Yn=e=>!Number.isNaN(+e)&&!(e instanceof Date),Xn=e=>Yn(e)&&Number.isInteger(+e),Zn={boolean:He,integer:Oe,number:Oe,date:We,string:Ge,unknown:ve},Qn=[qn,Xn,Yn,Jn],$n=[`boolean`,`integer`,`number`,`date`];function er(e,t){if(!e||!e.length)return`unknown`;let n=e.length,r=Qn.length,i=Qn.map((e,t)=>t+1);for(let a=0,o=0,s,c;a<n;++a)for(c=t?e[a][t]:e[a],s=0;s<r;++s)if(i[s]&&Kn(c)&&!Qn[s](c)&&(i[s]=0,++o,o===Qn.length))return`string`;return $n[i.reduce((e,t)=>e===0?t:e,0)-1]}function tr(e,t){return t.reduce((t,n)=>(t[n]=er(e,n),t),{})}function nr(e){let t=function(t,n){let r={delimiter:e};return rr(t,n?D(n,r):r)};return t.responseType=`text`,t}function rr(e,t){return t.header&&(e=t.header.map(Ve).join(t.delimiter)+`
6
- `+e),nt(t.delimiter).parse(e+``)}rr.responseType=`text`;function ir(e){return typeof Buffer==`function`&&E(Buffer.isBuffer)?Buffer.isBuffer(e):!1}function ar(e,t){let n=t&&t.property?x(t.property):ve;return w(e)&&!ir(e)?or(n(e),t):n(JSON.parse(e))}ar.responseType=`json`;function or(e,t){return!C(e)&&Le(e)&&(e=[...e]),t&&t.copy?JSON.parse(JSON.stringify(e)):e}var sr={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function cr(e,t){let n,r,i,a;return e=ar(e,t),t&&t.feature?(n=ot,i=t.feature):t&&t.mesh?(n=ut,i=t.mesh,a=sr[t.filter]):b(`Missing TopoJSON feature or mesh parameter.`),r=(r=e.objects[i])?n(e,r,a):b(`Invalid TopoJSON object: `+i),r&&r.features||[r]}cr.responseType=`json`;var lr={dsv:rr,csv:nr(`,`),tsv:nr(` `),json:ar,topojson:cr};function ur(e,t){return arguments.length>1?(lr[e]=t,this):O(lr,e)?lr[e]:null}function dr(e){let t=ur(e);return t&&t.responseType||`text`}function fr(e,t,n,r){t||={};let i=ur(t.type||`json`);return i||b(`Unknown data format type: `+t.type),e=i(e,t),t.parse&&pr(e,t.parse,n,r),O(e,`columns`)&&delete e.columns,e}function pr(e,t,n,r){if(!e.length)return;let i=$();n||=i.timeParse,r||=i.utcParse;let a=e.columns||Object.keys(e[0]),o,s,c,l,u,d;t===`auto`&&(t=tr(e,a)),a=Object.keys(t);let f=a.map(e=>{let i=t[e],a,o;if(i&&(i.startsWith(`date:`)||i.startsWith(`utc:`)))return a=i.split(/:(.+)?/,2),o=a[1],(o[0]===`'`&&o[o.length-1]===`'`||o[0]===`"`&&o[o.length-1]===`"`)&&(o=o.slice(1,-1)),(a[0]===`utc`?r:n)(o);if(!Zn[i])throw Error(`Illegal format pattern: `+e+`:`+i);return Zn[i]});for(c=0,u=e.length,d=a.length;c<u;++c)for(o=e[c],l=0;l<d;++l)s=a[l],o[s]=f[l](o[s])}var mr=Bn(null);export{Te as $,jt as A,Re as B,ht as C,ln as D,on as E,He as F,Fe as G,Ie as H,Ve as I,E as J,je as K,Be as L,Ke as M,Ge as N,At as O,We as P,we as Q,ze as R,_t as S,nn as T,O as U,Le as V,D as W,Oe as X,T as Y,De as Z,xt as _,mr as a,ve as at,an as b,Zn as c,S as ct,En as d,b as dt,w as et,Fn as f,y as ft,yt as g,yn as h,tr as i,_e as it,bt as j,Mt as k,Pn as l,x as lt,pt as m,de as mt,ur as n,Se as nt,fr as o,ye as ot,$ as p,fe as pt,Ae as q,er as r,xe as rt,dr as s,be as st,lr as t,C as tt,Nn as u,ge as ut,Yt as v,Qt as w,cn as x,tn as y,k as z};
@@ -1,88 +0,0 @@
1
- /* Copyright 2026 Marimo. All rights reserved. */
2
-
3
- import { useEffect, useState } from "react";
4
- import { Logger } from "@/utils/Logger";
5
- import { createPyodideConnection } from "../wasm/bridge";
6
- import { isWasm } from "../wasm/utils";
7
- import { BasicTransport } from "./transports/basic";
8
- import { SseTransport } from "./transports/sse";
9
- import { WsTransport } from "./transports/ws";
10
- import type { IConnectionTransport } from "./transports/transport";
11
-
12
- interface UseConnectionTransportOptions {
13
- url: () => string;
14
- static: boolean;
15
- transportType: "websocket" | "sse";
16
- /** Request headers for the SSE transport (auth); unused by WebSockets. */
17
- headers: () => Record<string, string>;
18
- waitToConnect: () => Promise<void>;
19
- onOpen: (event: WebSocketEventMap["open"]) => void;
20
- onMessage: (event: WebSocketEventMap["message"]) => void;
21
- onClose: (event: WebSocketEventMap["close"]) => void;
22
- onError: (event: WebSocketEventMap["error"]) => void;
23
- }
24
-
25
- export function createConnectionTransport(
26
- options: Pick<
27
- UseConnectionTransportOptions,
28
- "url" | "static" | "transportType" | "headers"
29
- >,
30
- ): IConnectionTransport {
31
- if (options.static) {
32
- return BasicTransport.empty();
33
- }
34
- if (isWasm()) {
35
- return createPyodideConnection();
36
- }
37
- // urlProvider is passed lazily; it may change after a runtime redirect.
38
- if (options.transportType === "sse") {
39
- return new SseTransport(options.url, options.headers);
40
- }
41
- return new WsTransport(options.url);
42
- }
43
-
44
- /**
45
- * A hook for creating a connection transport with React.
46
- */
47
- export function useConnectionTransport(options: UseConnectionTransportOptions) {
48
- const { onOpen, onMessage, onClose, onError, waitToConnect } = options;
49
-
50
- // oxlint-disable-next-line react/hook-use-state
51
- const [transport] = useState<IConnectionTransport>(() => {
52
- const socket = createConnectionTransport(options);
53
-
54
- socket.addEventListener("open", onOpen);
55
- socket.addEventListener("close", onClose);
56
- socket.addEventListener("error", onError);
57
- socket.addEventListener("message", onMessage);
58
-
59
- return socket;
60
- });
61
-
62
- useEffect(() => {
63
- // If it's closed, reconnect
64
- // This starts closed, so we need to connect for the first time
65
- if (transport.readyState === WebSocket.CLOSED) {
66
- void waitToConnect()
67
- .then(() => transport.reconnect())
68
- .catch((error) => {
69
- Logger.error("Healthy connection never made", error);
70
- transport.close();
71
- });
72
- }
73
-
74
- return () => {
75
- Logger.warn(
76
- "useConnectionTransport is unmounting. This likely means there is a bug.",
77
- );
78
- transport.close();
79
- transport.removeEventListener("open", onOpen);
80
- transport.removeEventListener("close", onClose);
81
- transport.removeEventListener("error", onError);
82
- transport.removeEventListener("message", onMessage);
83
- };
84
- // oxlint-disable-next-line react-hooks/exhaustive-deps
85
- }, [transport]);
86
-
87
- return transport;
88
- }