@marimo-team/frontend 0.19.3-dev8 → 0.19.4-dev0

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 (179) hide show
  1. package/dist/assets/{CellStatus-BwPGnX3z.js → CellStatus--kUu6N2K.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-KlUs_Sz3.js → ConnectedDataExplorerComponent-BKJwCHu7.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-Drf1manw.js → ErrorBoundary-C7JBxSzd.js} +1 -1
  4. package/dist/assets/{ImperativeModal-q6QlC2aZ.js → ImperativeModal-DVhvP4lH.js} +1 -1
  5. package/dist/assets/{JsonOutput--AuyEErr.js → JsonOutput-BSGE-MRo.js} +5 -5
  6. package/dist/assets/{LazyAnyLanguageCodeMirror-jpEDlD0M.js → LazyAnyLanguageCodeMirror-Cp2punaU.js} +2 -2
  7. package/dist/assets/{MarimoErrorOutput-BZjY8e2w.js → MarimoErrorOutput-CX0SCJOZ.js} +2 -2
  8. package/dist/assets/{RenderHTML-BTLaM20B.js → RenderHTML-Do_PVqRy.js} +1 -1
  9. package/dist/assets/VisuallyHidden-B9t3FhTP.js +1 -0
  10. package/dist/assets/{add-cell-with-ai-BWWVs9qV.js → add-cell-with-ai-manh7kBT.js} +21 -21
  11. package/dist/assets/{add-database-form-Bw_YRH1r.js → add-database-form-CgkV0MRs.js} +2 -2
  12. package/dist/assets/agent-panel-D-OmT-rw.js +287 -0
  13. package/dist/assets/{ai-model-dropdown-BrUOgnWS.js → ai-model-dropdown-DzyBY5VA.js} +1 -1
  14. package/dist/assets/{alert-dialog-k5KxevGr.js → alert-dialog-jcHA5geR.js} +1 -1
  15. package/dist/assets/{any-language-editor-DQu1Tt2N.js → any-language-editor-Cm83E7D_.js} +1 -1
  16. package/dist/assets/{app-config-button-B8CXELx0.js → app-config-button-DC3alCuB.js} +1 -1
  17. package/dist/assets/button-B8cGZzP5.js +1 -0
  18. package/dist/assets/{cache-panel-C1So4Zu3.js → cache-panel-1FqnpB9y.js} +1 -1
  19. package/dist/assets/cell-editor-RHFZmO74.js +23 -0
  20. package/dist/assets/cell-link-Dqj_nfXA.js +1 -0
  21. package/dist/assets/{cells-DU3EySUd.js → cells-BNQUQiDS.js} +49 -49
  22. package/dist/assets/{chat-components-Bc9j9ls4.js → chat-components-CWiXtKu6.js} +1 -1
  23. package/dist/assets/{chat-display-BrTi6c8V.js → chat-display-CGnOamQG.js} +1 -1
  24. package/dist/assets/{chat-panel-8Dym5Gv3.js → chat-panel-Dh1M55c9.js} +2 -2
  25. package/dist/assets/client-CDjmJmVw.js +4 -0
  26. package/dist/assets/{column-preview-Ck6B_-sQ.js → column-preview-CKxT2s-S.js} +1 -1
  27. package/dist/assets/{command-B_minI8b.js → command-YPFTinLj.js} +1 -1
  28. package/dist/assets/{command-palette-BT3u6JBB.js → command-palette-7fVEhKGc.js} +1 -1
  29. package/dist/assets/common-DJkPpBxC.js +1 -0
  30. package/dist/assets/config-D6nhy4FA.js +1 -0
  31. package/dist/assets/context-DHfVoQfl.js +1 -0
  32. package/dist/assets/{copy-icon-B69c-352.js → copy-icon-jWsqdLn1.js} +1 -1
  33. package/dist/assets/{datasource-DCvPlnaJ.js → datasource-DerBLc6V.js} +2 -2
  34. package/dist/assets/{dependency-graph-panel-C9jYZ6pA.js → dependency-graph-panel-Vd-OsVLa.js} +4 -4
  35. package/dist/assets/{dialog-DUEuLcT2.js → dialog-CF5DtF1E.js} +1 -1
  36. package/dist/assets/{dist-DOFFh6Ii.js → dist-Dg7UO_Vw.js} +1 -1
  37. package/dist/assets/{documentation-panel-AsatrTfg.js → documentation-panel-xG2-zpwg.js} +1 -1
  38. package/dist/assets/{download-PR1bF3g_.js → download-B6EJS7Ar.js} +1 -1
  39. package/dist/assets/edit-page-7Hkti2j_.js +12 -0
  40. package/dist/assets/{error-banner-DU5Qb8a8.js → error-banner-DvT0IGDZ.js} +1 -1
  41. package/dist/assets/{error-panel-D_wVKV6I.js → error-panel-BxBpZYvt.js} +1 -1
  42. package/dist/assets/{es-CEE_7T0w.js → es-BoHEdemq.js} +1 -1
  43. package/dist/assets/{field-DDKGFzpC.js → field-Clr_fqUr.js} +1 -1
  44. package/dist/assets/{file-explorer-panel-DltK8JVp.js → file-explorer-panel-C9K0vIPl.js} +1 -1
  45. package/dist/assets/{floating-outline-BfdazXWm.js → floating-outline-DCrTuu2G.js} +1 -1
  46. package/dist/assets/{focus-CtlWIiQr.js → focus-DM53w5BH.js} +1 -1
  47. package/dist/assets/{form-Cy5TkLzh.js → form-BcKfhfZc.js} +2 -2
  48. package/dist/assets/{glide-data-editor-D_bRnWfy.js → glide-data-editor-CRb9AiCG.js} +1 -1
  49. package/dist/assets/{globals-BSLm1nlz.js → globals-Bf30kOQF.js} +1 -1
  50. package/dist/assets/{home-page-CEnaUutq.js → home-page-BRyNf7fl.js} +2 -2
  51. package/dist/assets/index-CBMqMxiq.js +43 -0
  52. package/dist/assets/index-DDc_1b-N.css +2 -0
  53. package/dist/assets/input-B80Yt1uu.js +1 -0
  54. package/dist/assets/{kiosk-mode-BnTZR6mM.js → kiosk-mode-P-NYHJID.js} +1 -1
  55. package/dist/assets/{label-qwandMoh.js → label-CNZLffHW.js} +1 -1
  56. package/dist/assets/{layout-BTiWDrbh.js → layout-DT91GUei.js} +4 -4
  57. package/dist/assets/links-D529u6GQ.js +1 -0
  58. package/dist/assets/{logs-panel-Cnp9tO_1.js → logs-panel-C2dfrRig.js} +1 -1
  59. package/dist/assets/{markdown-renderer-BSrbBHwX.js → markdown-renderer-BPnVa0ym.js} +2 -2
  60. package/dist/assets/{mermaid-BPkO79lo.js → mermaid--ZwxKP7u.js} +1 -1
  61. package/dist/assets/mode-Dq8MKjNR.js +1 -0
  62. package/dist/assets/{multi-map-fjX9ImVF.js → multi-map-CQd4MZr5.js} +1 -1
  63. package/dist/assets/name-cell-input-BaEPC7ON.js +1 -0
  64. package/dist/assets/{outline-panel-DCfj1bI-.js → outline-panel-Cca864H0.js} +1 -1
  65. package/dist/assets/{packages-panel-BiEckVdM.js → packages-panel-Cy_KAYmq.js} +1 -1
  66. package/dist/assets/{panels-BXRys72u.js → panels-BzlLZfye.js} +1 -1
  67. package/dist/assets/{process-output-wGlHkL-Q.js → process-output-Dn1rOp26.js} +1 -1
  68. package/dist/assets/{readonly-python-code-xbh7G2Y2.js → readonly-python-code-CXeF74Iq.js} +1 -1
  69. package/dist/assets/{renderShortcut-D0Pei-OA.js → renderShortcut-eU5Hsfml.js} +1 -1
  70. package/dist/assets/{run-page-BCwJRhCq.js → run-page-CM_n6pXD.js} +1 -1
  71. package/dist/assets/scratchpad-panel-XCkVY3Hp.js +1 -0
  72. package/dist/assets/{secrets-panel-CDWmmmBS.js → secrets-panel-BMY6PPth.js} +1 -1
  73. package/dist/assets/{select-D0g5GnIs.js → select-D9lTzMzP.js} +1 -1
  74. package/dist/assets/{session-panel-DuQl_oQp.js → session-panel-BDt6Y_mU.js} +1 -1
  75. package/dist/assets/{slides-component-MkPkpql1.js → slides-component-Dp0Yv5b0.js} +1 -1
  76. package/dist/assets/{snippets-panel-R_ql6HGu.js → snippets-panel-K-JKJQBf.js} +1 -1
  77. package/dist/assets/state-DWRZTH2y.js +1 -0
  78. package/dist/assets/state-JzO-Ni5T.js +1 -0
  79. package/dist/assets/{switch-CWzL-0WF.js → switch-RowEjq0T.js} +1 -1
  80. package/dist/assets/{terminal-BWM0fOMh.js → terminal-BhbNfCNw.js} +1 -1
  81. package/dist/assets/{textarea-CfvBt_Xm.js → textarea-Di1KKcL4.js} +1 -1
  82. package/dist/assets/{tracing-Kscqc1t3.js → tracing-nvbrZdpf.js} +1 -1
  83. package/dist/assets/{tracing-panel-BEzOflWc.js → tracing-panel-CTXJaO-A.js} +2 -2
  84. package/dist/assets/{types-DhuSHMNQ.js → types-CT2U5Ljy.js} +1 -1
  85. package/dist/assets/{useAddCell-C9lbOVO1.js → useAddCell-COb93CUl.js} +1 -1
  86. package/dist/assets/{useBoolean-B-A0dyIW.js → useBoolean-B_S7yTZz.js} +1 -1
  87. package/dist/assets/{useCellActionButton-fsh9MTAX.js → useCellActionButton-D5Zt1dDz.js} +1 -1
  88. package/dist/assets/{useDateFormatter-CV0QXb5P.js → useDateFormatter-DsANziQR.js} +1 -1
  89. package/dist/assets/useDeleteCell-DHF_xvAh.js +1 -0
  90. package/dist/assets/{useDependencyPanelTab-CngFbla0.js → useDependencyPanelTab-D59iW_MD.js} +1 -1
  91. package/dist/assets/useInterval-BGPIviJp.js +1 -0
  92. package/dist/assets/{useNotebookActions-D01w160c.js → useNotebookActions-DEl-rH-3.js} +1 -1
  93. package/dist/assets/{useNumberFormatter-D8ks3oPN.js → useNumberFormatter-FoXhpyAb.js} +1 -1
  94. package/dist/assets/usePress-DTwIUo40.js +7 -0
  95. package/dist/assets/useRunCells-CKEmgeKM.js +1 -0
  96. package/dist/assets/useSplitCell-D9YiO-z5.js +1 -0
  97. package/dist/assets/{useTheme-DfP1CWaW.js → useTheme-CNj0G_ol.js} +1 -1
  98. package/dist/assets/utilities.esm-DG4qccZc.js +3 -0
  99. package/dist/assets/utils-pfqq9IdB.js +1 -0
  100. package/dist/assets/{vega-component-B8ghmMYW.js → vega-component-C1voDf5W.js} +1 -1
  101. package/dist/assets/{write-secret-modal-CLm48gMe.js → write-secret-modal-hOetwavI.js} +1 -1
  102. package/dist/index.html +56 -56
  103. package/package.json +5 -5
  104. package/src/__mocks__/requests.ts +1 -0
  105. package/src/__tests__/mount.test.ts +128 -0
  106. package/src/components/app-config/__tests__/get-dirty-values.test.ts +1 -1
  107. package/src/components/app-config/ai-config.tsx +328 -28
  108. package/src/components/app-config/user-config-form.tsx +10 -3
  109. package/src/components/chat/acp/agent-panel.tsx +56 -43
  110. package/src/components/chat/chat-utils.ts +0 -19
  111. package/src/components/data-table/column-header.tsx +1 -1
  112. package/src/components/editor/KernelStartupErrorModal.tsx +2 -2
  113. package/src/components/editor/actions/name-cell-input.tsx +10 -4
  114. package/src/components/editor/ai/completion-handlers.tsx +1 -1
  115. package/src/components/editor/alerts/connecting-alert.tsx +33 -6
  116. package/src/components/editor/chrome/types.ts +2 -4
  117. package/src/components/editor/chrome/wrapper/app-chrome.tsx +55 -58
  118. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +150 -96
  119. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +27 -0
  120. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +6 -0
  121. package/src/components/utils/lazy-mount.tsx +29 -8
  122. package/src/core/ai/ids/ids.ts +12 -4
  123. package/src/core/cells/cells.ts +2 -0
  124. package/src/core/cells/scrollCellIntoView.ts +3 -2
  125. package/src/core/codemirror/cm.ts +2 -0
  126. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +123 -0
  127. package/src/core/codemirror/lsp/notebook-lsp.ts +44 -4
  128. package/src/core/codemirror/misc/__tests__/string-braces.test.ts +200 -0
  129. package/src/core/codemirror/misc/string-braces.ts +37 -0
  130. package/src/core/config/__tests__/config-schema.test.ts +36 -0
  131. package/src/core/config/config-schema.ts +1 -0
  132. package/src/core/export/__tests__/hooks.test.ts +504 -0
  133. package/src/core/export/hooks.ts +93 -4
  134. package/src/core/islands/bridge.ts +1 -0
  135. package/src/core/kernel/__tests__/handlers.test.ts +2 -2
  136. package/src/core/kernel/state.ts +1 -0
  137. package/src/core/network/__tests__/requests-lazy.test.ts +1 -1
  138. package/src/core/network/__tests__/requests-network.test.ts +0 -18
  139. package/src/core/network/requests-lazy.ts +3 -2
  140. package/src/core/network/requests-network.ts +10 -7
  141. package/src/core/network/requests-static.ts +1 -0
  142. package/src/core/network/requests-toasting.tsx +1 -0
  143. package/src/core/network/types.ts +2 -0
  144. package/src/core/wasm/bridge.ts +1 -0
  145. package/src/css/globals.css +2 -0
  146. package/src/hooks/__tests__/useInterval.test.tsx +104 -0
  147. package/src/hooks/useInterval.ts +32 -6
  148. package/src/mount.tsx +6 -0
  149. package/src/plugins/impl/chat/ChatPlugin.tsx +2 -4
  150. package/src/plugins/impl/chat/chat-ui.tsx +62 -191
  151. package/src/plugins/impl/chat/types.ts +5 -12
  152. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +3 -1
  153. package/src/utils/events.ts +1 -0
  154. package/dist/assets/VisuallyHidden-BodIky8L.js +0 -1
  155. package/dist/assets/agent-panel-Bm-vW8YL.js +0 -287
  156. package/dist/assets/button-DuYGqRtX.js +0 -1
  157. package/dist/assets/cell-editor-Cdtc1m3g.js +0 -23
  158. package/dist/assets/cell-link-CFAPzUg5.js +0 -1
  159. package/dist/assets/client-DfkWorYM.js +0 -4
  160. package/dist/assets/common-jorbwXZC.js +0 -1
  161. package/dist/assets/config-Ba3eeYri.js +0 -1
  162. package/dist/assets/context-BAYdLMF_.js +0 -1
  163. package/dist/assets/edit-page-B1Ed6RKp.js +0 -12
  164. package/dist/assets/index-DNg7_e7t.js +0 -43
  165. package/dist/assets/index-__6MNWbe.css +0 -2
  166. package/dist/assets/input-CaEtLL8p.js +0 -1
  167. package/dist/assets/links-Bpd4gqTj.js +0 -1
  168. package/dist/assets/mode-yhfN-4ye.js +0 -1
  169. package/dist/assets/name-cell-input-CmuWqgFR.js +0 -1
  170. package/dist/assets/scratchpad-panel-C6PpCYtK.js +0 -1
  171. package/dist/assets/state-DEHWsmkM.js +0 -1
  172. package/dist/assets/state-DXAf-ejz.js +0 -1
  173. package/dist/assets/useDeleteCell-ByImoTpm.js +0 -1
  174. package/dist/assets/useInterval-DpipYmgs.js +0 -1
  175. package/dist/assets/usePress-C2LPFxyv.js +0 -7
  176. package/dist/assets/useRunCells-CmnSPQtM.js +0 -1
  177. package/dist/assets/useSplitCell-BTH64tve.js +0 -1
  178. package/dist/assets/utilities.esm-CMQs6YPp.js +0 -3
  179. package/dist/assets/utils-CJJIceVn.js +0 -1
@@ -1,7 +0,0 @@
1
- import{s as Ge}from"./chunk-LvLJmgfZ.js";import{t as Ve}from"./react-BGmjiNul.js";import{t as Be}from"./react-dom-C9fstfnp.js";import{n as We}from"./clsx-D0MtrJOx.js";import{n as _e}from"./SSRProvider-DD7JA3RM.js";var f=Ge(Ve(),1),A=typeof document<"u"?f.useLayoutEffect:()=>{},Ye=f.useInsertionEffect??A;function T(e){let t=(0,f.useRef)(null);return Ye(()=>{t.current=e},[e]),(0,f.useCallback)((...n)=>{let r=t.current;return r==null?void 0:r(...n)},[])}function Xe(e){let[t,n]=(0,f.useState)(e),r=(0,f.useRef)(null),a=T(()=>{if(!r.current)return;let l=r.current.next();if(l.done){r.current=null;return}t===l.value?a():n(l.value)});return A(()=>{r.current&&a()}),[t,T(l=>{r.current=l(t),a()})]}var qe=!!(typeof window<"u"&&window.document&&window.document.createElement),O=new Map,U;typeof FinalizationRegistry<"u"&&(U=new FinalizationRegistry(e=>{O.delete(e)}));function me(e){let[t,n]=(0,f.useState)(e),r=(0,f.useRef)(null),a=_e(t),l=(0,f.useRef)(null);if(U&&U.register(l,a),qe){let u=O.get(a);u&&!u.includes(r)?u.push(r):O.set(a,[r])}return A(()=>{let u=a;return()=>{U&&U.unregister(l),O.delete(u)}},[a]),(0,f.useEffect)(()=>{let u=r.current;return u&&n(u),()=>{u&&(r.current=null)}}),a}function $e(e,t){if(e===t)return e;let n=O.get(e);if(n)return n.forEach(a=>a.current=t),t;let r=O.get(t);return r?(r.forEach(a=>a.current=e),e):t}function Je(e=[]){let t=me(),[n,r]=Xe(t),a=(0,f.useCallback)(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return A(a,[t,a,...e]),n}function Z(...e){return(...t)=>{for(let n of e)typeof n=="function"&&n(...t)}}var L=e=>(e==null?void 0:e.ownerDocument)??document,j=e=>e&&"window"in e&&e.window===e?e:L(e).defaultView||window;function Qe(e){return typeof e=="object"&&!!e&&"nodeType"in e&&typeof e.nodeType=="number"}function Ze(e){return Qe(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}var et=!1;function V(){return et}function w(e,t){if(!V())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n=n.tagName==="SLOT"&&n.assignedSlot?n.assignedSlot.parentNode:Ze(n)?n.host:n.parentNode}return!1}var tt=(e=document)=>{var n;if(!V())return e.activeElement;let t=e.activeElement;for(;t&&"shadowRoot"in t&&((n=t.shadowRoot)!=null&&n.activeElement);)t=t.shadowRoot.activeElement;return t};function b(e){return V()&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}function ee(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let a in r){let l=t[a],u=r[a];typeof l=="function"&&typeof u=="function"&&a[0]==="o"&&a[1]==="n"&&a.charCodeAt(2)>=65&&a.charCodeAt(2)<=90?t[a]=Z(l,u):(a==="className"||a==="UNSAFE_className")&&typeof l=="string"&&typeof u=="string"?t[a]=We(l,u):a==="id"&&l&&u?t.id=$e(l,u):t[a]=u===void 0?l:u}}return t}function z(e){if(nt())e.focus({preventScroll:!0});else{let t=rt(e);e.focus(),it(t)}}var B=null;function nt(){if(B==null){B=!1;try{document.createElement("div").focus({get preventScroll(){return B=!0,!0}})}catch{}}return B}function rt(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function it(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function W(e){var n;if(typeof window>"u"||window.navigator==null)return!1;let t=(n=window.navigator.userAgentData)==null?void 0:n.brands;return Array.isArray(t)&&t.some(r=>e.test(r.brand))||e.test(window.navigator.userAgent)}function te(e){var t;return typeof window<"u"&&window.navigator!=null?e.test(((t=window.navigator.userAgentData)==null?void 0:t.platform)||window.navigator.platform):!1}function P(e){let t=null;return()=>(t??(t=e()),t)}var x=P(function(){return te(/^Mac/i)}),Ee=P(function(){return te(/^iPhone/i)}),ne=P(function(){return te(/^iPad/i)||x()&&navigator.maxTouchPoints>1}),_=P(function(){return Ee()||ne()}),at=P(function(){return x()||_()}),be=P(function(){return W(/AppleWebKit/i)&&!he()}),he=P(function(){return W(/Chrome/i)}),re=P(function(){return W(/Android/i)}),ot=P(function(){return W(/Firefox/i)}),st=(0,f.createContext)({isNative:!0,open:ut,useHref:e=>e});function ie(){return(0,f.useContext)(st)}function M(e,t,n=!0){var E;var r;let{metaKey:a,ctrlKey:l,altKey:u,shiftKey:d}=t;ot()&&(r=window.event)!=null&&((E=r.type)!=null&&E.startsWith("key"))&&e.target==="_blank"&&(x()?a=!0:l=!0);let v=be()&&x()&&!ne()?new KeyboardEvent("keydown",{keyIdentifier:"Enter",metaKey:a,ctrlKey:l,altKey:u,shiftKey:d}):new MouseEvent("click",{metaKey:a,ctrlKey:l,altKey:u,shiftKey:d,bubbles:!0,cancelable:!0});M.isOpening=n,z(e),e.dispatchEvent(v),M.isOpening=!1}M.isOpening=!1;function lt(e,t){if(e instanceof HTMLAnchorElement)t(e);else if(e.hasAttribute("data-href")){let n=document.createElement("a");n.href=e.getAttribute("data-href"),e.hasAttribute("data-target")&&(n.target=e.getAttribute("data-target")),e.hasAttribute("data-rel")&&(n.rel=e.getAttribute("data-rel")),e.hasAttribute("data-download")&&(n.download=e.getAttribute("data-download")),e.hasAttribute("data-ping")&&(n.ping=e.getAttribute("data-ping")),e.hasAttribute("data-referrer-policy")&&(n.referrerPolicy=e.getAttribute("data-referrer-policy")),e.appendChild(n),t(n),e.removeChild(n)}}function ut(e,t){lt(e,n=>M(n,t))}function ct(e){let t=ie().useHref(e.href??"");return{"data-href":e.href?t:void 0,"data-target":e.target,"data-rel":e.rel,"data-download":e.download,"data-ping":e.ping,"data-referrer-policy":e.referrerPolicy}}function dt(e){let t=ie().useHref((e==null?void 0:e.href)??"");return{href:e!=null&&e.href?t:void 0,target:e==null?void 0:e.target,rel:e==null?void 0:e.rel,download:e==null?void 0:e.download,ping:e==null?void 0:e.ping,referrerPolicy:e==null?void 0:e.referrerPolicy}}var S=new Map,ae=new Set;function Te(){if(typeof window>"u")return;function e(r){return"propertyName"in r}let t=r=>{if(!e(r)||!r.target)return;let a=S.get(r.target);a||(a=new Set,S.set(r.target,a),r.target.addEventListener("transitioncancel",n,{once:!0})),a.add(r.propertyName)},n=r=>{if(!e(r)||!r.target)return;let a=S.get(r.target);if(a&&(a.delete(r.propertyName),a.size===0&&(r.target.removeEventListener("transitioncancel",n),S.delete(r.target)),S.size===0)){for(let l of ae)l();ae.clear()}};document.body.addEventListener("transitionrun",t),document.body.addEventListener("transitionend",n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Te):Te());function ft(){for(let[e]of S)"isConnected"in e&&!e.isConnected&&S.delete(e)}function we(e){requestAnimationFrame(()=>{ft(),S.size===0?e():ae.add(e)})}function Pe(){let e=(0,f.useRef)(new Map),t=(0,f.useCallback)((a,l,u,d)=>{let v=d!=null&&d.once?(...E)=>{e.current.delete(u),u(...E)}:u;e.current.set(u,{type:l,eventTarget:a,fn:v,options:d}),a.addEventListener(l,v,d)},[]),n=(0,f.useCallback)((a,l,u,d)=>{var E;let v=((E=e.current.get(u))==null?void 0:E.fn)||u;a.removeEventListener(l,v,d),e.current.delete(u)},[]),r=(0,f.useCallback)(()=>{e.current.forEach((a,l)=>{n(a.eventTarget,a.type,l,a.options)})},[n]);return(0,f.useEffect)(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function Le(e,t){A(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function Se(e){return e.pointerType===""&&e.isTrusted?!0:re()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function ke(e){return!re()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"}var pt=typeof Element<"u"&&"checkVisibility"in Element.prototype;function gt(e){let t=j(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,a=n!=="none"&&r!=="hidden"&&r!=="collapse";if(a){let{getComputedStyle:l}=e.ownerDocument.defaultView,{display:u,visibility:d}=l(e);a=u!=="none"&&d!=="hidden"&&d!=="collapse"}return a}function vt(e,t){return!e.hasAttribute("hidden")&&!e.hasAttribute("data-react-aria-prevent-focus")&&(e.nodeName==="DETAILS"&&t&&t.nodeName!=="SUMMARY"?e.hasAttribute("open"):!0)}function oe(e,t){return pt?e.checkVisibility({visibilityProperty:!0})&&!e.closest("[data-react-aria-prevent-focus]"):e.nodeName!=="#comment"&&gt(e)&&vt(e,t)&&(!e.parentElement||oe(e.parentElement,e))}var se=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable^="false"])',"permission"],yt=se.join(":not([hidden]),")+",[tabindex]:not([disabled]):not([hidden])";se.push('[tabindex]:not([tabindex="-1"]):not([disabled])');var mt=se.join(':not([hidden]):not([tabindex="-1"]),');function Ae(e){return e.matches(yt)&&oe(e)&&!Me(e)}function Et(e){return e.matches(mt)&&oe(e)&&!Me(e)}function Me(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}function bt(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")}function Ke(e,t,n){bt(e,t),t.set(e,n)}function le(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Ce(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}function ht(e){let t=(0,f.useRef)({isFocused:!1,observer:null});A(()=>{let r=t.current;return()=>{r.observer&&(r.observer=(r.observer.disconnect(),null))}},[]);let n=T(r=>{e==null||e(r)});return(0,f.useCallback)(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){t.current.isFocused=!0;let a=r.target;a.addEventListener("focusout",l=>{t.current.isFocused=!1,a.disabled&&n(le(l)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)},{once:!0}),t.current.observer=new MutationObserver(()=>{if(t.current.isFocused&&a.disabled){var l;(l=t.current.observer)==null||l.disconnect();let u=a===document.activeElement?null:document.activeElement;a.dispatchEvent(new FocusEvent("blur",{relatedTarget:u})),a.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:u}))}}),t.current.observer.observe(a,{attributes:!0,attributeFilter:["disabled"]})}},[n])}var ue=!1;function Tt(e){for(;e&&!Ae(e);)e=e.parentElement;let t=j(e),n=t.document.activeElement;if(!n||n===e)return;ue=!0;let r=!1,a=h=>{(h.target===n||r)&&h.stopImmediatePropagation()},l=h=>{(h.target===n||r)&&(h.stopImmediatePropagation(),!e&&!r&&(r=!0,z(n),v()))},u=h=>{(h.target===e||r)&&h.stopImmediatePropagation()},d=h=>{(h.target===e||r)&&(h.stopImmediatePropagation(),r||(r=!0,z(n),v()))};t.addEventListener("blur",a,!0),t.addEventListener("focusout",l,!0),t.addEventListener("focusin",d,!0),t.addEventListener("focus",u,!0);let v=()=>{cancelAnimationFrame(E),t.removeEventListener("blur",a,!0),t.removeEventListener("focusout",l,!0),t.removeEventListener("focusin",d,!0),t.removeEventListener("focus",u,!0),ue=!1,r=!1},E=requestAnimationFrame(v);return v}var F="default",ce="",Y=new WeakMap;function wt(e){if(_()){if(F==="default"){let t=L(e);ce=t.documentElement.style.webkitUserSelect,t.documentElement.style.webkitUserSelect="none"}F="disabled"}else if(e instanceof HTMLElement||e instanceof SVGElement){let t="userSelect"in e.style?"userSelect":"webkitUserSelect";Y.set(e,e.style[t]),e.style[t]="none"}}function Ie(e){if(_()){if(F!=="disabled")return;F="restoring",setTimeout(()=>{we(()=>{if(F==="restoring"){let t=L(e);t.documentElement.style.webkitUserSelect==="none"&&(t.documentElement.style.webkitUserSelect=ce||""),ce="",F="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&e&&Y.has(e)){let t=Y.get(e),n="userSelect"in e.style?"userSelect":"webkitUserSelect";e.style[n]==="none"&&(e.style[n]=t),e.getAttribute("style")===""&&e.removeAttribute("style"),Y.delete(e)}}var de=f.createContext({register:()=>{}});de.displayName="PressResponderContext";function Pt(e,t){return t.get?t.get.call(e):t.value}function Oe(e,t,n){if(!t.has(e))throw TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function Lt(e,t){return Pt(e,Oe(e,t,"get"))}function St(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw TypeError("attempted to set read only private field");t.value=n}}function xe(e,t,n){return St(e,Oe(e,t,"set"),n),n}Be();function kt(e){let t=(0,f.useContext)(de);if(t){let{register:n,...r}=t;e=ee(r,e),n()}return Le(t,e.ref),e}var X=new WeakMap,q=class{continuePropagation(){xe(this,X,!1)}get shouldStopPropagation(){return Lt(this,X)}constructor(e,t,n,r){var E;Ke(this,X,{writable:!0,value:void 0}),xe(this,X,!0);let a=(E=(r==null?void 0:r.target)??n.currentTarget)==null?void 0:E.getBoundingClientRect(),l,u=0,d,v=null;n.clientX!=null&&n.clientY!=null&&(d=n.clientX,v=n.clientY),a&&(d!=null&&v!=null?(l=d-a.left,u=v-a.top):(l=a.width/2,u=a.height/2)),this.type=e,this.pointerType=t,this.target=n.currentTarget,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.x=l,this.y=u}},Fe=Symbol("linkClicked"),He="react-aria-pressable-style",Ne="data-react-aria-pressable";function At(e){let{onPress:t,onPressChange:n,onPressStart:r,onPressEnd:a,onPressUp:l,onClick:u,isDisabled:d,isPressed:v,preventFocusOnPress:E,shouldCancelOnPointerExit:h,allowTextSelectionOnPress:H,ref:$,...Ue}=kt(e),[je,ge]=(0,f.useState)(!1),C=(0,f.useRef)({isPressed:!1,ignoreEmulatedMouseEvents:!1,didFirePressStart:!1,isTriggeringEvent:!1,activePointerId:null,target:null,isOverTarget:!1,pointerType:null,disposables:[]}),{addGlobalListener:N,removeAllGlobalListeners:J}=Pe(),D=T((i,c)=>{let m=C.current;if(d||m.didFirePressStart)return!1;let o=!0;if(m.isTriggeringEvent=!0,r){let p=new q("pressstart",c,i);r(p),o=p.shouldStopPropagation}return n&&n(!0),m.isTriggeringEvent=!1,m.didFirePressStart=!0,ge(!0),o}),I=T((i,c,m=!0)=>{let o=C.current;if(!o.didFirePressStart)return!1;o.didFirePressStart=!1,o.isTriggeringEvent=!0;let p=!0;if(a){let s=new q("pressend",c,i);a(s),p=s.shouldStopPropagation}if(n&&n(!1),ge(!1),t&&m&&!d){let s=new q("press",c,i);t(s),p&&(p=s.shouldStopPropagation)}return o.isTriggeringEvent=!1,p}),R=T((i,c)=>{let m=C.current;if(d)return!1;if(l){m.isTriggeringEvent=!0;let o=new q("pressup",c,i);return l(o),m.isTriggeringEvent=!1,o.shouldStopPropagation}return!0}),k=T(i=>{let c=C.current;if(c.isPressed&&c.target){c.didFirePressStart&&c.pointerType!=null&&I(K(c.target,i),c.pointerType,!1),c.isPressed=!1,c.isOverTarget=!1,c.activePointerId=null,c.pointerType=null,J(),H||Ie(c.target);for(let m of c.disposables)m();c.disposables=[]}}),ve=T(i=>{h&&k(i)}),Q=T(i=>{d||(u==null||u(i))}),ye=T((i,c)=>{if(!d&&u){let m=new MouseEvent("click",i);Ce(m,c),u(le(m))}}),ze=(0,f.useMemo)(()=>{let i=C.current,c={onKeyDown(o){if(pe(o.nativeEvent,o.currentTarget)&&w(o.currentTarget,b(o.nativeEvent))){var p;De(b(o.nativeEvent),o.key)&&o.preventDefault();let s=!0;if(!i.isPressed&&!o.repeat){i.target=o.currentTarget,i.isPressed=!0,i.pointerType="keyboard",s=D(o,"keyboard");let g=o.currentTarget;N(L(o.currentTarget),"keyup",Z(y=>{pe(y,g)&&!y.repeat&&w(g,b(y))&&i.target&&R(K(i.target,y),"keyboard")},m),!0)}s&&o.stopPropagation(),o.metaKey&&x()&&((p=i.metaKeyEvents)==null||p.set(o.key,o.nativeEvent))}else o.key==="Meta"&&(i.metaKeyEvents=new Map)},onClick(o){if(!(o&&!w(o.currentTarget,b(o.nativeEvent)))&&o&&o.button===0&&!i.isTriggeringEvent&&!M.isOpening){let p=!0;if(d&&o.preventDefault(),!i.ignoreEmulatedMouseEvents&&!i.isPressed&&(i.pointerType==="virtual"||Se(o.nativeEvent))){let s=D(o,"virtual"),g=R(o,"virtual"),y=I(o,"virtual");Q(o),p=s&&g&&y}else if(i.isPressed&&i.pointerType!=="keyboard"){let s=i.pointerType||o.nativeEvent.pointerType||"virtual",g=R(K(o.currentTarget,o),s),y=I(K(o.currentTarget,o),s,!0);p=g&&y,i.isOverTarget=!1,Q(o),k(o)}i.ignoreEmulatedMouseEvents=!1,p&&o.stopPropagation()}}},m=o=>{var g;if(i.isPressed&&i.target&&pe(o,i.target)){var p;De(b(o),o.key)&&o.preventDefault();let y=b(o),G=w(i.target,b(o));I(K(i.target,o),"keyboard",G),G&&ye(o,i.target),J(),o.key!=="Enter"&&fe(i.target)&&w(i.target,y)&&!o[Fe]&&(o[Fe]=!0,M(i.target,o,!1)),i.isPressed=!1,(p=i.metaKeyEvents)==null||p.delete(o.key)}else if(o.key==="Meta"&&((g=i.metaKeyEvents)!=null&&g.size)){var s;let y=i.metaKeyEvents;i.metaKeyEvents=void 0;for(let G of y.values())(s=i.target)==null||s.dispatchEvent(new KeyboardEvent("keyup",G))}};if(typeof PointerEvent<"u"){c.onPointerDown=s=>{if(s.button!==0||!w(s.currentTarget,b(s.nativeEvent)))return;if(ke(s.nativeEvent)){i.pointerType="virtual";return}i.pointerType=s.pointerType;let g=!0;if(!i.isPressed){i.isPressed=!0,i.isOverTarget=!0,i.activePointerId=s.pointerId,i.target=s.currentTarget,H||wt(i.target),g=D(s,i.pointerType);let y=b(s.nativeEvent);"releasePointerCapture"in y&&y.releasePointerCapture(s.pointerId),N(L(s.currentTarget),"pointerup",o,!1),N(L(s.currentTarget),"pointercancel",p,!1)}g&&s.stopPropagation()},c.onMouseDown=s=>{if(w(s.currentTarget,b(s.nativeEvent))&&s.button===0){if(E){let g=Tt(s.target);g&&i.disposables.push(g)}s.stopPropagation()}},c.onPointerUp=s=>{!w(s.currentTarget,b(s.nativeEvent))||i.pointerType==="virtual"||s.button===0&&!i.isPressed&&R(s,i.pointerType||s.pointerType)},c.onPointerEnter=s=>{s.pointerId===i.activePointerId&&i.target&&!i.isOverTarget&&i.pointerType!=null&&(i.isOverTarget=!0,D(K(i.target,s),i.pointerType))},c.onPointerLeave=s=>{s.pointerId===i.activePointerId&&i.target&&i.isOverTarget&&i.pointerType!=null&&(i.isOverTarget=!1,I(K(i.target,s),i.pointerType,!1),ve(s))};let o=s=>{if(s.pointerId===i.activePointerId&&i.isPressed&&s.button===0&&i.target){if(w(i.target,b(s))&&i.pointerType!=null){let g=!1,y=setTimeout(()=>{i.isPressed&&i.target instanceof HTMLElement&&(g?k(s):(z(i.target),i.target.click()))},80);N(s.currentTarget,"click",()=>g=!0,!0),i.disposables.push(()=>clearTimeout(y))}else k(s);i.isOverTarget=!1}},p=s=>{k(s)};c.onDragStart=s=>{w(s.currentTarget,b(s.nativeEvent))&&k(s)}}return c},[N,d,E,J,H,k,ve,I,D,R,Q,ye]);return(0,f.useEffect)(()=>{if(!$)return;let i=L($.current);if(!i||!i.head||i.getElementById(He))return;let c=i.createElement("style");c.id=He,c.textContent=`
2
- @layer {
3
- [${Ne}] {
4
- touch-action: pan-x pan-y pinch-zoom;
5
- }
6
- }
7
- `.trim(),i.head.prepend(c)},[$]),(0,f.useEffect)(()=>{let i=C.current;return()=>{H||Ie(i.target??void 0);for(let c of i.disposables)c();i.disposables=[]}},[H]),{isPressed:v||je,pressProps:ee(Ue,ze,{[Ne]:!0})}}function fe(e){return e.tagName==="A"&&e.hasAttribute("href")}function pe(e,t){let{key:n,code:r}=e,a=t,l=a.getAttribute("role");return(n==="Enter"||n===" "||n==="Spacebar"||r==="Space")&&!(a instanceof j(a).HTMLInputElement&&!Re(a,n)||a instanceof j(a).HTMLTextAreaElement||a.isContentEditable)&&!((l==="link"||!l&&fe(a))&&n!=="Enter")}function K(e,t){let n=t.clientX,r=t.clientY;return{currentTarget:e,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,altKey:t.altKey,clientX:n,clientY:r}}function Mt(e){return e instanceof HTMLInputElement?!1:e instanceof HTMLButtonElement?e.type!=="submit"&&e.type!=="reset":!fe(e)}function De(e,t){return e instanceof HTMLInputElement?!Re(e,t):Mt(e)}var Kt=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function Re(e,t){return e.type==="checkbox"||e.type==="radio"?t===" ":Kt.has(e.type)}export{tt as A,x as C,z as D,_ as E,Z as F,Je as I,me as L,V as M,L as N,ee as O,j as P,T as R,ne as S,at as T,ie as _,Ce as a,he as b,Ae as c,Se as d,Le as f,M as g,dt as h,ht as i,b as j,w as k,Et as l,we as m,de as n,ue as o,Pe as p,le as r,Ke as s,At as t,ke as u,ct as v,re as w,be as x,Ee as y,A as z};
@@ -1 +0,0 @@
1
- import{d as g,n as i,p as k}from"./useEvent-DlWF5OMa.js";import{C as v,_n as w,hr as F,p as f,rt as b,yr as _}from"./cells-DU3EySUd.js";import{t as x}from"./compiler-runtime-DeeZ7FnK.js";import{d as C}from"./hotkeys-uKX61F1_.js";import{o as D}from"./dist-DKNOF5xd.js";import{r as H}from"./requests-C0HaHO6a.js";var u=x();const y=k(!1);function V(){let r=(0,u.c)(2),n=p(),t;return r[0]===n?t=r[1]:(t=()=>n(_(f())),r[0]=n,r[1]=t),i(t)}function j(r){let n=(0,u.c)(3),t=p(),e;return n[0]!==r||n[1]!==t?(e=()=>{r!==void 0&&t([r])},n[0]=r,n[1]=t,n[2]=e):e=n[2],i(e)}function q(){let r=(0,u.c)(2),n=p(),t;return r[0]===n?t=r[1]:(t=()=>n(F(f())),r[0]=n,r[1]=t),i(t)}function p(){let r=(0,u.c)(4),{prepareForRun:n}=v(),{sendRun:t}=H(),e=g(y),o;return r[0]!==n||r[1]!==t||r[2]!==e?(o=async s=>{if(s.length===0)return;let c=f();return e(!0),I({cellIds:s,sendRun:t,prepareForRun:n,notebook:c})},r[0]=n,r[1]=t,r[2]=e,r[3]=o):o=r[3],i(o)}async function I({cellIds:r,sendRun:n,prepareForRun:t,notebook:e}){var m,h,R;if(r.length===0)return;let{cellHandles:o,cellData:s}=e,c=[];for(let a of r){let l=(h=(m=o[a])==null?void 0:m.current)==null?void 0:h.editorView,d;l?(w(l)!=="markdown"&&D(l),d=b(l)):d=((R=s[a])==null?void 0:R.code)||"",c.push(d),t({cellId:a})}await n({cellIds:r,codes:c}).catch(a=>{C.error(a)})}export{p as a,j as i,I as n,V as o,q as r,y as t};
@@ -1 +0,0 @@
1
- import{s as m}from"./chunk-LvLJmgfZ.js";import{n as p}from"./useEvent-DlWF5OMa.js";import{C as d,d as f,rt as u}from"./cells-DU3EySUd.js";import{t as c}from"./compiler-runtime-DeeZ7FnK.js";import{t as C}from"./jsx-runtime-DN_bIXfG.js";import{t as h}from"./use-toast-Bzf3rpev.js";import{r as v}from"./useDeleteCell-ByImoTpm.js";var x=c(),b=m(C(),1);function j(){let t=(0,x.c)(3),{splitCell:r,undoSplitCell:i}=d(),o;return t[0]!==r||t[1]!==i?(o=s=>{let l=f(s.cellId);if(!l)return;let a=u(l);r(s);let{dismiss:n}=h({title:"Cell split",action:(0,b.jsx)(v,{"data-testid":"undo-split-button",size:"sm",variant:"outline",onClick:()=>{i({...s,snapshot:a}),e()},children:"Undo"})}),e=n},t[0]=r,t[1]=i,t[2]=o):o=t[2],p(o)}export{j as t};
@@ -1,3 +0,0 @@
1
- var it=Object.defineProperty;var ot=(t,e,n)=>e in t?it(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var a=(t,e,n)=>ot(t,typeof e!="symbol"?e+"":e,n);var j;import{s as ce}from"./chunk-LvLJmgfZ.js";import{i as Q,l as D,o as lt,p as q,u as ut}from"./useEvent-DlWF5OMa.js";import{t as ct}from"./react-BGmjiNul.js";import{Gr as dt,Xr as ft,Zr as z,v as mt,y as pt,zr as ht}from"./cells-DU3EySUd.js";import{B as gt,C as de,D as yt,I as bt,N as wt,P as O,R as fe,k as W,w as me}from"./zod-Cg4WLWh2.js";import{t as pe}from"./compiler-runtime-DeeZ7FnK.js";import{t as vt}from"./get-CyLJYAfP.js";import{r as xt}from"./useLifecycle-CmDXEyIC.js";import{t as Et}from"./debounce-BbFlGgjv.js";import{t as _t}from"./_baseSet-6FYvpjrm.js";import{d as E,p as y}from"./hotkeys-uKX61F1_.js";import{t as Ct}from"./invariant-C6yE60hi.js";import{x as kt}from"./utils-CJJIceVn.js";import{M as Rt}from"./config-Ba3eeYri.js";import{a as Ft}from"./switch-CWzL-0WF.js";import{n as he}from"./globals-BSLm1nlz.js";import{t as ge}from"./ErrorBoundary-Drf1manw.js";import{t as Nt}from"./jsx-runtime-DN_bIXfG.js";import{t as St}from"./button-DuYGqRtX.js";import{t as qt}from"./cn-C1rgT0yh.js";import{Z as Pt}from"./JsonOutput--AuyEErr.js";import{t as Mt}from"./createReducer-DDa-hVe3.js";import{t as ye}from"./requests-C0HaHO6a.js";import{t as be}from"./createLucideIcon-CW2xpJ57.js";import{h as jt}from"./select-D0g5GnIs.js";import{c as At,i as Tt,l as It,r as Lt,u as Ut}from"./markdown-renderer-BSrbBHwX.js";import{t as zt}from"./DeferredRequestRegistry-B3BENoUa.js";import{t as K}from"./Deferred-DzyBMRsy.js";import{t as we}from"./uuid-ClFZlR7U.js";import{t as Ot}from"./use-toast-Bzf3rpev.js";import{t as ve}from"./tooltip-CvjcEpZC.js";import{t as xe}from"./mode-yhfN-4ye.js";import{n as Wt,r as Dt,t as Ht}from"./share-CXQVxivL.js";import{r as Bt,t as Vt}from"./react-resizable-panels.browser.esm-BqxQegSf.js";import{t as Ee}from"./toggle-G1t0cQyf.js";function Xt(t,e,n){return t==null?t:_t(t,e,n)}var H=Xt,$t=be("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),Yt=be("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);function Gt(t){return{all:t||(t=new Map),on:function(e,n){var r=t.get(e);r?r.push(n):t.set(e,[n])},off:function(e,n){var r=t.get(e);r&&(n?r.splice(r.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var r=t.get(e);r&&r.slice().map(function(s){s(n)}),(r=t.get("*"))&&r.slice().map(function(s){s(e,n)})}}}var u=ce(ct(),1),Z=(0,u.createContext)(null),Qt=t=>{let{controller:e}=(0,u.useContext)(Z),n=u.useRef(Symbol("fill"));return(0,u.useEffect)(()=>(e.mount({name:t.name,ref:n.current,children:t.children}),()=>{e.unmount({name:t.name,ref:n.current})}),[]),(0,u.useEffect)(()=>{e.update({name:t.name,ref:n.current,children:t.children})}),null},Kt=Object.defineProperty,Zt=(t,e,n)=>e in t?Kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,_e=(t,e,n)=>(Zt(t,typeof e=="symbol"?e:e+"",n),n),Ce=console,Jt=class{constructor(t){_e(this,"_bus"),_e(this,"_db"),this._bus=t,this.handleFillMount=this.handleFillMount.bind(this),this.handleFillUpdated=this.handleFillUpdated.bind(this),this.handleFillUnmount=this.handleFillUnmount.bind(this),this._db={byName:new Map,byFill:new Map}}mount(){this._bus.on("fill-mount",this.handleFillMount),this._bus.on("fill-updated",this.handleFillUpdated),this._bus.on("fill-unmount",this.handleFillUnmount)}unmount(){this._bus.off("fill-mount",this.handleFillMount),this._bus.off("fill-updated",this.handleFillUpdated),this._bus.off("fill-unmount",this.handleFillUnmount)}handleFillMount({fill:t}){let e=u.Children.toArray(t.children),n=t.name,r={fill:t,children:e,name:n},s=this._db.byName.get(n);s?(s.components.push(r),s.listeners.forEach(i=>i([...s.components]))):this._db.byName.set(n,{listeners:[],components:[r]}),this._db.byFill.set(t.ref,r)}handleFillUpdated({fill:t}){let e=this._db.byFill.get(t.ref),n=u.Children.toArray(t.children);if(e){e.children=n;let r=this._db.byName.get(e.name);if(r)r.listeners.forEach(s=>s([...r.components]));else throw Error("registration was expected to be defined")}else{Ce.error("[handleFillUpdated] component was expected to be defined");return}}handleFillUnmount({fill:t}){let e=this._db.byFill.get(t.ref);if(!e){Ce.error("[handleFillUnmount] component was expected to be defined");return}let n=e.name,r=this._db.byName.get(n);if(!r)throw Error("registration was expected to be defined");r.components=r.components.filter(s=>s!==e),this._db.byFill.delete(t.ref),r.listeners.length===0&&r.components.length===0?this._db.byName.delete(n):r.listeners.forEach(s=>s([...r.components]))}onComponentsChange(t,e){let n=this._db.byName.get(t);n?(n.listeners.push(e),e(n.components)):(this._db.byName.set(t,{listeners:[e],components:[]}),e([]))}getFillsByName(t){let e=this._db.byName.get(t);return e?e.components.map(n=>n.fill):[]}getChildrenByName(t){let e=this._db.byName.get(t);return e?e.components.map(n=>n.children).reduce((n,r)=>n.concat(r),[]):[]}removeOnComponentsChange(t,e){let n=this._db.byName.get(t);if(!n)throw Error("expected registration to be defined");let r=n.listeners;r.splice(r.indexOf(e),1)}},en=Object.defineProperty,tn=(t,e,n)=>e in t?en(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,nn=(t,e,n)=>(tn(t,typeof e=="symbol"?e:e+"",n),n),ke=class{constructor(){nn(this,"bus",Gt())}mount(t){this.bus.emit("fill-mount",{fill:t})}unmount(t){this.bus.emit("fill-unmount",{fill:t})}update(t){this.bus.emit("fill-updated",{fill:t})}};function rn(t){let e=t||new ke;return{controller:e,manager:new Jt(e.bus)}}var sn=({controller:t,children:e})=>{let[n]=u.useState(()=>{let r=rn(t);return r.manager.mount(),r});return u.useEffect(()=>()=>{n.manager.unmount()},[]),u.createElement(Z.Provider,{value:n},e)};function J(t,e){let[n,r]=(0,u.useState)([]),{manager:s}=(0,u.useContext)(Z);return(0,u.useEffect)(()=>(s.onComponentsChange(t,r),()=>{s.removeOnComponentsChange(t,r)}),[t]),n.flatMap((i,d)=>{let{children:l}=i;return l.map((p,b)=>{if(typeof p=="number"||typeof p=="string")throw Error("Only element children will work here");return u.cloneElement(p,{key:d.toString()+b.toString(),...e})})})}var Re=t=>{let e=J(t.name,t.childProps);if(typeof t.children=="function"){let n=t.children(e);if(u.isValidElement(n)||n===null)return n;throw Error("Slot rendered with function must return a valid React Element.")}return e};const an=q(null);var{valueAtom:on,useActions:ln}=Mt(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:we()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(n=>n.id!==e)}),clearBanners:t=>({...t,banners:[]})});const un=()=>ut(on);function cn(){return ln()}const dn=new ke,B={SIDEBAR:"sidebar",CONTEXT_AWARE_PANEL:"context-aware-panel"};var fn=class{constructor(){a(this,"subscriptions",new Map)}addSubscription(t,e){var n;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(n=this.subscriptions.get(t))==null||n.add(e)}removeSubscription(t,e){var n;(n=this.subscriptions.get(t))==null||n.delete(e)}notify(t,e){for(let n of this.subscriptions.get(t)??[])n(e)}},Fe=class ue{constructor(e){a(this,"subscriptions",new fn);this.producer=e}static withProducerCallback(e){return new ue(e)}static empty(){return new ue}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,n){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,n){this.subscriptions.addSubscription(e,n),e==="open"&&n(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,n){this.subscriptions.removeSubscription(e,n)}},mn=1e10,pn=1e3;function V(t,e){let n=t.map(r=>`"${r}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${n}`)}function hn(t={}){let e={};function n(o){e=o}let r={};function s(o){var f;r.unregisterHandler&&r.unregisterHandler(),r=o,(f=r.registerHandler)==null||f.call(r,U)}let i;function d(o){if(typeof o=="function"){i=o;return}i=(f,g)=>{let c=o[f];if(c)return c(g);let h=o._;if(!h)throw Error(`The requested method has no handler: ${f}`);return h(f,g)}}let{maxRequestTime:l=pn}=t;t.transport&&s(t.transport),t.requestHandler&&d(t.requestHandler),t._debugHooks&&n(t._debugHooks);let p=0;function b(){return p<=mn?++p:p=0}let x=new Map,w=new Map;function _(o,...f){let g=f[0];return new Promise((c,h)=>{var T;if(!r.send)throw V(["send"],"make requests");let S=b(),M={type:"request",id:S,method:o,params:g};x.set(S,{resolve:c,reject:h}),l!==1/0&&w.set(S,setTimeout(()=>{w.delete(S),h(Error("RPC request timed out."))},l)),(T=e.onSend)==null||T.call(e,M),r.send(M)})}let F=new Proxy(_,{get:(o,f,g)=>f in o?Reflect.get(o,f,g):c=>_(f,c)}),C=F;function k(o,...f){var h;let g=f[0];if(!r.send)throw V(["send"],"send messages");let c={type:"message",id:o,payload:g};(h=e.onSend)==null||h.call(e,c),r.send(c)}let R=new Proxy(k,{get:(o,f,g)=>f in o?Reflect.get(o,f,g):c=>k(f,c)}),v=R,N=new Map,P=new Set;function A(o,f){var g;if(!r.registerHandler)throw V(["registerHandler"],"register message listeners");if(o==="*"){P.add(f);return}N.has(o)||N.set(o,new Set),(g=N.get(o))==null||g.add(f)}function L(o,f){var g,c;if(o==="*"){P.delete(f);return}(g=N.get(o))==null||g.delete(f),((c=N.get(o))==null?void 0:c.size)===0&&N.delete(o)}async function U(o){var f,g;if((f=e.onReceive)==null||f.call(e,o),!("type"in o))throw Error("Message does not contain a type.");if(o.type==="request"){if(!r.send||!i)throw V(["send","requestHandler"],"handle requests");let{id:c,method:h,params:S}=o,M;try{M={type:"response",id:c,success:!0,payload:await i(h,S)}}catch(T){if(!(T instanceof Error))throw T;M={type:"response",id:c,success:!1,error:T.message}}(g=e.onSend)==null||g.call(e,M),r.send(M);return}if(o.type==="response"){let c=w.get(o.id);c!=null&&clearTimeout(c);let{resolve:h,reject:S}=x.get(o.id)??{};o.success?h==null||h(o.payload):S==null||S(Error(o.error));return}if(o.type==="message"){for(let h of P)h(o.id,o.payload);let c=N.get(o.id);if(!c)return;for(let h of c)h(o.payload);return}throw Error(`Unexpected RPC message type: ${o.type}`)}return{setTransport:s,setRequestHandler:d,request:F,requestProxy:C,send:R,sendProxy:v,addMessageListener:A,removeMessageListener:L,proxy:{send:v,request:C},_setDebugHooks:n}}function gn(t){return hn(t)}var Ne="[transport-id]";function yn(t,e){let{transportId:n}=e;return n==null?t:{[Ne]:n,data:t}}function bn(t,e){let{transportId:n,filter:r}=e,s=r==null?void 0:r();if(n!=null&&s!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let i=t;if(n){if(t[Ne]!==n)return[!0];i=t.data}return s===!1?[!0]:[!1,i]}function wn(t,e={}){let{transportId:n,filter:r,remotePort:s}=e,i=t,d=s??t,l;return{send(p){d.postMessage(yn(p,{transportId:n}))},registerHandler(p){l=b=>{let x=b.data,[w,_]=bn(x,{transportId:n,filter:()=>r==null?void 0:r(b)});w||p(_)},i.addEventListener("message",l)},unregisterHandler(){l&&i.removeEventListener("message",l)}}}function vn(t,e){return wn(t,e)}function Se(t){return gn({transport:vn(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{E.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{E.debug("[rpc] Worker -> Parent",e)}}})}const qe=q("Initializing..."),xn=q(t=>{let e=t(mt),n=Object.values(e.cellRuntime);return n.some(r=>!Ut(r.output))?!0:n.every(r=>r.status==="idle")});var Pe=Wt(),Me="marimo:file",je=new ht(null);const En={saveFile(t){je.set(Me,t)},readFile(){return je.get(Me)}};var _n={saveFile(t){z.setCodeForHash((0,Pe.compressToEncodedURIComponent)(t))},readFile(){let t=z.getCodeFromHash()||z.getCodeFromSearchParam();return t?(0,Pe.decompressFromEncodedURIComponent)(t):null}};const Cn={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var kn={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Rn={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
2
- `)}},Ae=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};const X=new Ae([Cn,_n]),ee=new Ae([En,kn,Rn]);var Te=class st{constructor(){a(this,"initialized",new K);a(this,"sendRename",async({filename:e})=>(e===null||(z.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));a(this,"sendSave",async e=>{if(!this.saveRpc)return E.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let n=await this.readCode();return n.contents&&(X.saveFile(n.contents),ee.saveFile(n.contents)),this.rpc.proxy.request.saveNotebook(e).catch(r=>{E.error(r)}),null});a(this,"sendCopy",async()=>{y()});a(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));a(this,"sendPdb",async()=>{y()});a(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
- `)),await this.putControlRequest({type:"execute-cells",...e}),null));a(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));a(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));a(this,"sendShutdown",async()=>(window.close(),null));a(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));a(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));a(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));a(this,"sendCodeCompletionRequest",async e=>(Q.get(pt)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));a(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),Ft.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(n=>(E.error(n),null))));a(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));a(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));a(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(X.saveFile(e.contents),ee.saveFile(e.contents)),Dt(),null});a(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(E.warn("Save RPC not initialized"),{contents:""}));a(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));a(this,"openFile",async({path:e})=>{let n=Ht({code:null,baseUrl:window.location.origin});return window.open(n,"_blank"),null});a(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));a(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));a(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:we()}),null));a(this,"sendInstantiate",async e=>null);a(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));a(this,"sendCreateFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:e}));a(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));a(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));a(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));a(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));a(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));a(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));a(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));a(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));a(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));a(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));a(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));a(this,"sendModelValue",async e=>(await this.putControlRequest({type:"update-widget-model",...e}),null));a(this,"syncCellIds",()=>Promise.resolve(null));a(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));a(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));a(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());a(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));a(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));a(this,"getUsageStats",y);a(this,"openTutorial",y);a(this,"getRecentFiles",y);a(this,"getWorkspaceFiles",y);a(this,"getRunningNotebooks",y);a(this,"shutdownSession",y);a(this,"autoExportAsHTML",y);a(this,"autoExportAsMarkdown",y);a(this,"autoExportAsIPYNB",y);a(this,"writeSecret",y);a(this,"invokeAiTool",y);a(this,"clearCache",y);a(this,"getCacheInfo",y);Rt()&&(this.rpc=Se(new Worker(new URL(""+new URL("worker-CUL1lW-N.js",import.meta.url).href,""+import.meta.url),{type:"module",name:he()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{Q.set(qe,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(E.error(e),Ot({title:"Error initializing",description:e,variant:"danger"})),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var n;(n=this.messageConsumer)==null||n.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new st),window[e]}getSaveWorker(){return xe()==="read"?(E.debug("Skipping SaveWorker in read-mode"),{readFile:y,readNotebook:y,saveNotebook:y}):Se(new Worker(new URL(""+new URL("save-worker-DtF6B3PS.js",import.meta.url).href,""+import.meta.url),{type:"module",name:he()})).proxy.request}async startSession(){let e=await X.readFile(),n=await ee.readFile(),r=z.getFilename(),s=Q.get(kt),i={},d=new URLSearchParams(window.location.search);for(let l of d.keys()){let p=d.getAll(l);i[l]=p.length===1?p[0]:p}await this.rpc.proxy.request.startSession({queryParameters:i,code:e||n||"",filename:r,userConfig:{...s,runtime:{...s.runtime,auto_instantiate:xe()==="read"?!0:s.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):E.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}};function Fn(){return Fe.withProducerCallback(t=>{Te.INSTANCE.attachMessageConsumer(t)})}const Ie=q({isInstantiated:!1,error:null});function Nn(){return lt(Ie,t=>t.isInstantiated)}function $(t){return()=>({TYPE:t,is(e){return e.type===t},create(e){return new CustomEvent(t,e)}})}const Le=$("marimo-value-input")(),Ue=$("marimo-value-update")(),ze=$("marimo-value-ready")(),Oe=$("marimo-incoming-message")();function Sn(t,e){return Le.create({bubbles:!0,composed:!0,detail:{value:t,element:e}})}var We=class at{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new at),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,n){if(this.entries.has(e))throw Error(`UIElement ${e} already registered`);this.entries.set(e,{objectId:e,value:n,elements:new Set})}registerInstance(e,n){let r=this.entries.get(e);r===void 0?this.entries.set(e,{objectId:e,value:ft(n,this),elements:new Set([n])}):r.elements.add(n)}removeInstance(e,n){let r=this.entries.get(e);r!=null&&r.elements.has(n)&&r.elements.delete(n)}removeElementsByCell(e){[...this.entries.keys()].filter(n=>n.startsWith(`${e}-`)).forEach(n=>{this.entries.delete(n)})}lookupValue(e){let n=this.entries.get(e);return n===void 0?void 0:n.value}broadcastMessage(e,n,r){let s=this.entries.get(e);s===void 0?E.warn("UIElementRegistry missing entry",e):s.elements.forEach(i=>{i.dispatchEvent(Oe.create({bubbles:!1,composed:!0,detail:{objectId:e,message:n,buffers:r}}))})}broadcastValueUpdate(e,n,r){let s=this.entries.get(n);s===void 0?E.warn("UIElementRegistry missing entry",n):(s.value=r,s.elements.forEach(i=>{i!==e&&i.dispatchEvent(Ue.create({bubbles:!1,composed:!0,detail:{value:r,element:i}}))}),document.dispatchEvent(ze.create({bubbles:!0,composed:!0,detail:{objectId:n}})))}};const qn=We.INSTANCE,Pn=new zt("function-call-result",async(t,e)=>{await ye().sendFunctionRequest({functionCallId:t,...e})}),Mn="68px";var jn="288px";const An=t=>t?/^\d+$/.test(t)?`${t}px`:t:jn,Tn=dt({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}});function In(t){return It(Lt(new Uint8Array(t.buffer,t.byteOffset,t.byteLength)))}function te(t,e=[]){let n=[];if(t instanceof DataView)n.push(e);else if(Array.isArray(t))for(let[r,s]of t.entries())n.push(...te(s,[...e,r]));else if(typeof t=="object"&&t)for(let[r,s]of Object.entries(t))n.push(...te(s,[...e,r]));return n}function ne(t){let e=te(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let n=structuredClone(t),r=[],s=[];for(let i of e){let d=vt(t,i);if(d instanceof DataView){let l=In(d);r.push(l),s.push(i),H(n,i,l)}}return{state:n,buffers:r,bufferPaths:s}}function Ln(t){return typeof t=="object"&&!!t&&"state"in t&&"bufferPaths"in t&&"buffers"in t}function Y(t){let{state:e,bufferPaths:n,buffers:r}=t;if(!n||n.length===0)return e;r&&Ct(r.length===n.length,"Buffers and buffer paths not the same length");let s=structuredClone(e);for(let[i,d]of n.entries()){let l=r==null?void 0:r[i];if(l==null){E.warn("[anywidget] Could not find buffer at path",d);continue}if(typeof l=="string"){let p=Tt(At(l));H(s,d,new DataView(p.buffer))}else H(s,d,l)}return s}const De=new class{constructor(t=1e4){a(this,"models",new Map);this.timeout=t}get(t){let e=this.models.get(t);return e||(e=new K,this.models.set(t,e),setTimeout(()=>{e.status==="pending"&&(e.reject(Error(`Model not found for key: ${t}`)),this.models.delete(t))},this.timeout)),e.promise}set(t,e){let n=this.models.get(t);n||(n=new K,this.models.set(t,n)),n.resolve(e)}delete(t){this.models.delete(t)}};var He=(j=class{constructor(e,n,r,s){a(this,"ANY_CHANGE_EVENT","change");a(this,"listeners",{});a(this,"widget_manager",{async get_model(e){let n=await j._modelManager.get(e);if(!n)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return n}});a(this,"emitAnyChange",Et(()=>{var e;(e=this.listeners[this.ANY_CHANGE_EVENT])==null||e.forEach(n=>n())},0));this.data=e,this.onChange=n,this.sendToWidget=r,this.dirtyFields=new Map([...s].map(i=>[i,this.data[i]]))}off(e,n){var r;if(!e){this.listeners={};return}if(!n){this.listeners[e]=new Set;return}(r=this.listeners[e])==null||r.delete(n)}send(e,n,r){let{state:s,bufferPaths:i,buffers:d}=ne(e);this.sendToWidget({content:{state:s,bufferPaths:i},buffers:d}).then(n)}get(e){return this.data[e]}set(e,n){this.data={...this.data,[e]:n},this.dirtyFields.set(e,n),this.emit(`change:${e}`,n),this.emitAnyChange()}save_changes(){if(this.dirtyFields.size===0)return;let e=Object.fromEntries(this.dirtyFields.entries());this.dirtyFields.clear(),this.onChange(e)}updateAndEmitDiffs(e){e!=null&&Object.keys(e).forEach(n=>{let r=n;this.data[r]!==e[r]&&this.set(r,e[r])})}receiveCustomMessage(e,n=[]){var s;let r=Be.safeParse(e);if(r.success){let i=r.data;switch(i.method){case"update":this.updateAndEmitDiffs(Y({state:i.state,bufferPaths:i.buffer_paths??[],buffers:n}));break;case"custom":(s=this.listeners["msg:custom"])==null||s.forEach(d=>d(i.content,n));break;case"open":this.updateAndEmitDiffs(Y({state:i.state,bufferPaths:i.buffer_paths??[],buffers:n}));break;case"echo_update":break;default:E.error("[anywidget] Unknown message method",i.method);break}}else E.error("Failed to parse message",r.error),E.error("Message",e)}on(e,n){this.listeners[e]||(this.listeners[e]=new Set),this.listeners[e].add(n)}emit(e,n){this.listeners[e]&&this.listeners[e].forEach(r=>r(n))}},a(j,"_modelManager",De),j),re=me(me(gt([fe(),wt()]))),se=bt(fe(),de()),Be=yt("method",[O({method:W("open"),state:se,buffer_paths:re.optional()}),O({method:W("update"),state:se,buffer_paths:re.optional()}),O({method:W("custom"),content:de()}),O({method:W("echo_update"),buffer_paths:re,state:se}),O({method:W("close")})]);function Un(t){return t==null?!1:Be.safeParse(t).success}async function zn({modelId:t,msg:e,buffers:n,modelManager:r}){if(e.method==="echo_update")return;if(e.method==="custom"){(await r.get(t)).receiveCustomMessage(e,n);return}if(e.method==="close"){r.delete(t);return}let{method:s,state:i,buffer_paths:d=[]}=e,l=Y({state:i,bufferPaths:d,buffers:n});if(s==="open"){let p=new He(l,b=>{let{state:x,buffers:w,bufferPaths:_}=ne(b);ye().sendModelValue({modelId:t,message:{state:x,bufferPaths:_},buffers:w})},y,new Set);r.set(t,p);return}if(s==="update"){(await r.get(t)).updateAndEmitDiffs(l);return}xt(s)}const Ve=q(null),On=q(null),Xe=q(!1),Wn=q(!1),$e=q(!1);var Dn=pe();const Ye=t=>{let e=(0,Dn.c)(8),{onResize:n,startingWidth:r,minWidth:s,maxWidth:i}=t,d=(0,u.useRef)(null),l=(0,u.useRef)(null),p=(0,u.useRef)(null),b,x;e[0]!==i||e[1]!==s||e[2]!==n?(b=()=>{let C=d.current,k=l.current,R=p.current;if(!C||!k&&!R)return;let v=Number.parseInt(window.getComputedStyle(C).width,10),N=0,P=!1,A=null,L=c=>{if(!C||!P||!A)return;let h=c.clientX-N;N=c.clientX,v=A==="left"?v-h:v+h,s&&(v=Math.max(s,v)),i&&(v=Math.min(i,v)),C.style.width=`${v}px`},U=()=>{P&&(n==null||n(v),P=!1,A=null),document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",U)},o=(c,h)=>{c.preventDefault(),P=!0,A=h,N=c.clientX,document.addEventListener("mousemove",L),document.addEventListener("mouseup",U)},f=c=>o(c,"left"),g=c=>o(c,"right");return k&&k.addEventListener("mousedown",f),R&&R.addEventListener("mousedown",g),()=>{k&&k.removeEventListener("mousedown",f),R&&R.removeEventListener("mousedown",g),document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",U)}},x=[s,i,n],e[0]=i,e[1]=s,e[2]=n,e[3]=b,e[4]=x):(b=e[3],x=e[4]),(0,u.useEffect)(b,x);let w;e[5]===Symbol.for("react.memo_cache_sentinel")?(w={left:l,right:p},e[5]=w):w=e[5];let _=r==="contentWidth"?"var(--content-width-medium)":`${r}px`,F;return e[6]===_?F=e[7]:(F={resizableDivRef:d,handleRefs:w,style:{width:_}},e[6]=_,e[7]=F),F};function Ge(t){t||window.dispatchEvent(new Event("resize"))}var Qe=pe(),m=ce(Nt(),1);const Hn=()=>{let t=(0,Qe.c)(16),[e,n]=D(Ve),[r,s]=D(Xe),[i,d]=D(Wn),[l,p]=D($e),b;t[0]!==s||t[1]!==n?(b=()=>{n(null),s(!1)},t[0]=s,t[1]=n,t[2]=b):b=t[2];let x=b;if(J(B.CONTEXT_AWARE_PANEL).length===0||!e||!r)return null;let w;t[3]!==l||t[4]!==i||t[5]!==p||t[6]!==d?(w=()=>(0,m.jsxs)("div",{className:"flex flex-row items-center gap-3",children:[(0,m.jsx)(ve,{content:i?"Unpin panel":"Pin panel",children:(0,m.jsx)(Ee,{size:"xs",onPressedChange:()=>d(!i),pressed:i,"aria-label":i?"Unpin panel":"Pin panel",children:i?(0,m.jsx)(Yt,{className:"w-4 h-4"}):(0,m.jsx)(Pt,{className:"w-4 h-4"})})}),(0,m.jsx)(ve,{content:l?(0,m.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,m.jsx)("span",{children:"Follow focused table"}),(0,m.jsx)("span",{className:"text-xs text-muted-foreground w-64",children:"The panel updates as cells that output tables are focused. Click to fix to the current cell."})]}):(0,m.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,m.jsx)("span",{children:"Focus on current table"}),(0,m.jsx)("span",{className:"text-xs text-muted-foreground w-64",children:"The panel is focused on the current table. Click to update based on which cell is focused."})]}),children:(0,m.jsx)(Ee,{size:"xs",onPressedChange:()=>p(!l),pressed:l,"aria-label":l?"Follow focused cell":"Fixed",children:(0,m.jsx)($t,{className:qt("w-4 h-4",l&&"text-primary")})})})]}),t[3]=l,t[4]=i,t[5]=p,t[6]=d,t[7]=w):w=t[7];let _=w,F;t[8]!==x||t[9]!==_?(F=()=>(0,m.jsxs)("div",{className:"mt-2 pb-7 mb-4 h-full overflow-auto",children:[(0,m.jsxs)("div",{className:"flex flex-row justify-between items-center mx-2",children:[_(),(0,m.jsx)(St,{variant:"linkDestructive",size:"icon",onClick:x,"aria-label":"Close selection panel",children:(0,m.jsx)(jt,{className:"w-4 h-4"})})]}),(0,m.jsx)(ge,{children:(0,m.jsx)(Re,{name:B.CONTEXT_AWARE_PANEL})})]}),t[8]=x,t[9]=_,t[10]=F):F=t[10];let C=F;if(!i){let v;return t[11]===C?v=t[12]:(v=(0,m.jsx)(Vn,{children:C()}),t[11]=C,t[12]=v),v}let k;t[13]===Symbol.for("react.memo_cache_sentinel")?(k=(0,m.jsx)(Bt,{onDragging:Ge,className:"resize-handle border-border z-20 no-print border-l"}),t[13]=k):k=t[13];let R;return t[14]===C?R=t[15]:(R=(0,m.jsxs)(m.Fragment,{children:[k,(0,m.jsx)(Vt,{defaultSize:20,minSize:15,maxSize:80,children:C()})]}),t[14]=C,t[15]=R),R},Bn=t=>{let e=(0,Qe.c)(2),{children:n}=t,r;return e[0]===n?r=e[1]:(r=(0,m.jsx)(ge,{children:(0,m.jsx)(Qt,{name:B.CONTEXT_AWARE_PANEL,children:n})}),e[0]=n,e[1]=r),r};var Vn=({children:t})=>{let{resizableDivRef:e,handleRefs:n,style:r}=Ye({startingWidth:400,minWidth:300,maxWidth:1500});return(0,m.jsxs)("div",{className:"absolute z-40 right-0 h-full bg-background flex flex-row",children:[(0,m.jsx)("div",{ref:n.left,className:"w-1 h-full cursor-col-resize border-l"}),(0,m.jsx)("div",{ref:e,style:r,children:t})]})};function Xn(){var t=[...arguments];return(0,u.useMemo)(()=>e=>{t.forEach(n=>n(e))},t)}var Ke=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0;function G(t){let e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function ae(t){return"nodeType"in t}function I(t){var e;return t?G(t)?t:ae(t)?((e=t.ownerDocument)==null?void 0:e.defaultView)??window:window:window}function Ze(t){let{Document:e}=I(t);return t instanceof e}function Je(t){return G(t)?!1:t instanceof I(t).HTMLElement}function et(t){return t instanceof I(t).SVGElement}function $n(t){return t?G(t)?t.document:ae(t)?Ze(t)?t:Je(t)||et(t)?t.ownerDocument:document:document:document}var ie=Ke?u.useLayoutEffect:u.useEffect;function tt(t){let e=(0,u.useRef)(t);return ie(()=>{e.current=t}),(0,u.useCallback)(function(){var n=[...arguments];return e.current==null?void 0:e.current(...n)},[])}function Yn(){let t=(0,u.useRef)(null);return[(0,u.useCallback)((e,n)=>{t.current=setInterval(e,n)},[]),(0,u.useCallback)(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[])]}function Gn(t,e){e===void 0&&(e=[t]);let n=(0,u.useRef)(t);return ie(()=>{n.current!==t&&(n.current=t)},e),n}function Qn(t,e){let n=(0,u.useRef)();return(0,u.useMemo)(()=>{let r=t(n.current);return n.current=r,r},[...e])}function Kn(t){let e=tt(t),n=(0,u.useRef)(null);return[n,(0,u.useCallback)(r=>{r!==n.current&&(e==null||e(r,n.current)),n.current=r},[])]}function Zn(t){let e=(0,u.useRef)();return(0,u.useEffect)(()=>{e.current=t},[t]),e.current}var oe={};function Jn(t,e){return(0,u.useMemo)(()=>{if(e)return e;let n=oe[t]==null?0:oe[t]+1;return oe[t]=n,t+"-"+n},[t,e])}function nt(t){return function(e){return[...arguments].slice(1).reduce((n,r)=>{let s=Object.entries(r);for(let[i,d]of s){let l=n[i];l!=null&&(n[i]=l+t*d)}return n},{...e})}}var er=nt(1),tr=nt(-1);function nr(t){return"clientX"in t&&"clientY"in t}function rr(t){if(!t)return!1;let{KeyboardEvent:e}=I(t.target);return e&&t instanceof e}function sr(t){if(!t)return!1;let{TouchEvent:e}=I(t.target);return e&&t instanceof e}function ar(t){if(sr(t)){if(t.touches&&t.touches.length){let{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){let{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return nr(t)?{x:t.clientX,y:t.clientY}:null}var le=Object.freeze({Translate:{toString(t){if(!t)return;let{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;let{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[le.Translate.toString(t),le.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),rt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function ir(t){return t.matches(rt)?t:t.querySelector(rt)}export{Fn as $,On as A,An as B,Jn as C,Ye as D,Ge as E,Un as F,Oe as G,Pn as H,Y as I,Ue as J,Le as K,Ln as L,De as M,He as N,Xe as O,zn as P,Te as Q,ne as R,Zn as S,Bn as T,We as U,Tn as V,qn as W,Ie as X,Sn as Y,Nn as Z,Yn as _,ar as a,dn as at,Qn as b,Ze as c,cn as ct,ae as d,J as dt,X as et,et as f,H as ft,tt as g,Xn as h,ir as i,B as it,$e as j,Ve as k,Je as l,sn as lt,tr as m,er as n,qe as nt,$n as o,an as ot,G as p,ze as q,Ke as r,Fe as rt,I as s,un as st,le as t,xn as tt,rr as u,Re as ut,ie as v,Hn as w,Kn as x,Gn as y,Mn as z};
@@ -1 +0,0 @@
1
- import{d as w,i as x,l as z,p as r,u as B}from"./useEvent-DlWF5OMa.js";import{A as l,B as C,I as D,J as I,N as d,P as h,R as t,T as n,U as J,b as o,w as _}from"./zod-Cg4WLWh2.js";import{t as N}from"./compiler-runtime-DeeZ7FnK.js";import{t as R}from"./merge-BBX6ug-N.js";import{d as m,n as S,u as U}from"./hotkeys-uKX61F1_.js";import{t as F}from"./invariant-C6yE60hi.js";const j=["pip","uv","rye","poetry","pixi"];var M=["normal","compact","medium","full","columns"],$=["auto","native","polars","lazy-polars","pandas"];const G="openai/gpt-4o";var q=["html","markdown","ipynb"];const H=["manual","ask","agent"];var p=h({api_key:t().optional(),base_url:t().optional(),project:t().optional()}).loose(),K=h({chat_model:t().nullish(),edit_model:t().nullish(),autocomplete_model:t().nullish(),displayed_models:_(t()).default([]),custom_models:_(t()).default([])});const v=l({completion:h({activate_on_typing:n().prefault(!0),signature_hint_on_typing:n().prefault(!1),copilot:C([n(),o(["github","codeium","custom"])]).prefault(!1).transform(a=>a===!0?"github":a),codeium_api_key:t().nullish()}).prefault({}),save:l({autosave:o(["off","after_delay"]).prefault("after_delay"),autosave_delay:d().nonnegative().transform(a=>Math.max(a,1e3)).prefault(1e3),format_on_save:n().prefault(!1)}).prefault({}),formatting:l({line_length:d().nonnegative().prefault(79).transform(a=>Math.min(a,1e3))}).prefault({}),keymap:l({preset:o(["default","vim"]).prefault("default"),overrides:D(t(),t()).prefault({}),destructive_delete:n().prefault(!0)}).prefault({}),runtime:l({auto_instantiate:n().prefault(!0),on_cell_change:o(["lazy","autorun"]).prefault("autorun"),auto_reload:o(["off","lazy","autorun"]).prefault("off"),reactive_tests:n().prefault(!0),watcher_on_save:o(["lazy","autorun"]).prefault("lazy"),default_sql_output:o($).prefault("auto"),default_auto_download:_(o(q)).prefault([])}).prefault({}),display:l({theme:o(["light","dark","system"]).prefault("light"),code_editor_font_size:d().nonnegative().prefault(14),cell_output:o(["above","below"]).prefault("below"),dataframes:o(["rich","plain"]).prefault("rich"),default_table_page_size:d().prefault(10),default_table_max_columns:d().prefault(50),default_width:o(M).prefault("medium").transform(a=>a==="normal"?"compact":a),locale:t().nullable().optional(),reference_highlighting:n().prefault(!0)}).prefault({}),package_management:l({manager:o(j).prefault("pip")}).prefault({}),ai:l({rules:t().prefault(""),mode:o(H).prefault("manual"),inline_tooltip:n().prefault(!1),open_ai:p.optional(),anthropic:p.optional(),google:p.optional(),ollama:p.optional(),openrouter:p.optional(),wandb:p.optional(),open_ai_compatible:p.optional(),azure:p.optional(),bedrock:l({region_name:t().optional(),profile_name:t().optional(),aws_access_key_id:t().optional(),aws_secret_access_key:t().optional()}).optional(),models:K.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:l({markdown:n().optional(),rtc:n().optional()}).prefault(()=>({})),server:l({}).prefault(()=>({})),diagnostics:l({enabled:n().optional(),sql_linter:n().optional()}).prefault(()=>({})),sharing:l({html:n().optional(),wasm:n().optional()}).optional(),mcp:l({presets:_(o(["marimo","context7"])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),O=t(),L=o($).prefault("auto"),b=h({width:o(M).prefault("medium").transform(a=>a==="normal"?"compact":a),app_title:O.nullish(),css_file:t().nullish(),html_head_file:t().nullish(),auto_download:_(o(q)).prefault([]),sql_output:L}).prefault(()=>({width:"medium",auto_download:[],sql_output:"auto"}));function E(a){try{return b.parse(a)}catch(e){return m.error(`Marimo got an unexpected value in the configuration file: ${e}`),b.parse({})}}function Q(a){try{let e=v.parse(a);for(let[u,s]of Object.entries(e.experimental??{}))s===!0&&m.log(`\u{1F9EA} Experimental feature "${u}" is enabled.`);return e}catch(e){return e instanceof J?m.error(`Marimo got an unexpected value in the configuration file: ${I(e)}`):m.error(`Marimo got an unexpected value in the configuration file: ${e}`),P()}}function V(a){try{let e=a;return F(typeof e=="object","internal-error: marimo-config-overrides is not an object"),Object.keys(e).length>0&&m.log("\u{1F527} Project configuration overrides:",e),e}catch(e){return m.error(`Marimo got an unexpected configuration overrides: ${e}`),{}}}function P(){return v.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}var W=N();const y=r(P()),T=r({}),i=r(a=>{let e=a(T);return R({},a(y),e)}),X=r(a=>a(i).runtime.auto_instantiate),Y=r(a=>a(i).keymap.overrides??{}),Z=r(U()),aa=r(a=>new S(a(Y),{platform:a(Z)})),ea=r(a=>a(i).save),ta=r(a=>a(i).ai),oa=r(a=>a(i).completion),ra=r(a=>a(i).keymap.preset);function na(){return z(y)}function la(){let a=(0,W.c)(3),e=B(i),u=w(y),s;return a[0]!==e||a[1]!==u?(s=[e,u],a[0]=e,a[1]=u,a[2]=s):s=a[2],s}function ia(){return x.get(i)}const sa=r(a=>A(a(i)));r(a=>a(i).display.code_editor_font_size);const ua=r(a=>a(i).display.locale);function A(a){var e,u,s,f,c,k;return!!((u=(e=a.ai)==null?void 0:e.models)!=null&&u.chat_model)||!!((f=(s=a.ai)==null?void 0:s.models)!=null&&f.edit_model)||!!((k=(c=a.ai)==null?void 0:c.models)!=null&&k.autocomplete_model)}const g=r(E({}));function pa(){return z(g)}function ma(){return w(g)}function fa(){return x.get(g)}const ca=r(a=>a(g).width);r(a=>{var f,c;let e=a(i),u=((f=e.snippets)==null?void 0:f.custom_paths)??[],s=(c=e.snippets)==null?void 0:c.include_default_snippets;return u.length>0||s===!0});function da(){return!1}export{O as C,E as D,v as E,V as O,b as S,j as T,pa as _,ca as a,na as b,oa as c,ia as d,aa as f,i as g,ua as h,g as i,Q as k,T as l,ra as m,ta as n,X as o,A as p,sa as r,ea as s,da as t,fa as u,la as v,G as w,y as x,ma as y};