@marimo-team/frontend 0.18.5-dev168 → 0.18.5-dev171
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.
- package/dist/assets/{CellStatus-C5QfWAQj.js → CellStatus-ClrYbUob.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-B0tKPs5t.js → ConnectedDataExplorerComponent-KlUs_Sz3.js} +1 -1
- package/dist/assets/{ErrorBoundary-BYCO3_zw.js → ErrorBoundary-Drf1manw.js} +1 -1
- package/dist/assets/{ImperativeModal-7Thr73Oo.js → ImperativeModal-q6QlC2aZ.js} +1 -1
- package/dist/assets/{JsonOutput-NOfbbuUx.js → JsonOutput-CkeISXrs.js} +9 -9
- package/dist/assets/{LazyAnyLanguageCodeMirror-DIbHWNF6.js → LazyAnyLanguageCodeMirror-jpEDlD0M.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-usFICLUe.js → MarimoErrorOutput-CO8cm8-0.js} +2 -2
- package/dist/assets/{RenderHTML-LxV1eecf.js → RenderHTML-D6fh5YLC.js} +1 -1
- package/dist/assets/{VisuallyHidden-BLp5kXtE.js → VisuallyHidden-BodIky8L.js} +1 -1
- package/dist/assets/{add-cell-with-ai-CEKGThxQ.js → add-cell-with-ai-B3V6Mgb9.js} +12 -12
- package/dist/assets/{add-database-form-DQyrphh9.js → add-database-form-C-K88iSC.js} +1 -1
- package/dist/assets/{agent-panel-CnTn12AW.js → agent-panel-BvLqBe3U.js} +6 -6
- package/dist/assets/{ai-model-dropdown-CxRols0L.js → ai-model-dropdown-D1nEKS8b.js} +1 -1
- package/dist/assets/{alert-dialog-B3T1GCoD.js → alert-dialog-k5KxevGr.js} +1 -1
- package/dist/assets/any-language-editor-DQu1Tt2N.js +3 -0
- package/dist/assets/{app-config-button-DtMP2_j5.js → app-config-button-BD5l-v4I.js} +1 -1
- package/dist/assets/{button-C9TEIJJh.js → button-DuYGqRtX.js} +1 -1
- package/dist/assets/{cache-panel-C-YLXsti.js → cache-panel-C1So4Zu3.js} +1 -1
- package/dist/assets/{capabilities-h9_pyvFv.js → capabilities-BmAOeMOK.js} +1 -1
- package/dist/assets/{capitalize-D4JsDDXI.js → capitalize-DQeWKRGx.js} +1 -1
- package/dist/assets/{cell-actions-DCZqhhwF.js → cell-actions-CJiaF9Tu.js} +1 -1
- package/dist/assets/cell-link-Hwo1QbqQ.js +1 -0
- package/dist/assets/{cells-DAR6V-0d.js → cells-rr1jjvJk.js} +33 -33
- package/dist/assets/{chat-components-CyY2c7cG.js → chat-components-DXJsXOD8.js} +1 -1
- package/dist/assets/{chat-display-BgCCmGdz.js → chat-display-C08N0rx5.js} +1 -1
- package/dist/assets/{chat-panel-ByuXM3gc.js → chat-panel-CNL6ANh8.js} +2 -2
- package/dist/assets/client-SMzMTiO_.js +4 -0
- package/dist/assets/{column-preview-DBqi4KCj.js → column-preview-BzvHnhPG.js} +1 -1
- package/dist/assets/command-palette-B_md1fzh.js +1 -0
- package/dist/assets/{command-BXWdrTY9.js → command-xU8ykulh.js} +1 -1
- package/dist/assets/{common-D10A9aix.js → common-_RAkDTpe.js} +1 -1
- package/dist/assets/{config-D3ojpe3F.js → config-cCkBQ_ER.js} +1 -1
- package/dist/assets/{copy-Bmkr29w4.js → copy-DRhpWiOq.js} +1 -1
- package/dist/assets/{copy-icon-qVgCqhII.js → copy-icon-B69c-352.js} +1 -1
- package/dist/assets/{createReducer-CaezzNVH.js → createReducer-DDa-hVe3.js} +1 -1
- package/dist/assets/{datasource-CW2RMV2e.js → datasource-DHbNHnua.js} +2 -2
- package/dist/assets/{dates-B2_O0-if.js → dates-CdsE1R40.js} +1 -1
- package/dist/assets/{dependency-graph-panel-CtlDdK0s.js → dependency-graph-panel-BGp5UzmZ.js} +3 -3
- package/dist/assets/{dialog-DIUTtzeB.js → dialog-DUEuLcT2.js} +1 -1
- package/dist/assets/{dist-vrNOUnFF.js → dist-DOFFh6Ii.js} +1 -1
- package/dist/assets/{documentation-panel-Cup0ghBs.js → documentation-panel-CuPlvIjJ.js} +1 -1
- package/dist/assets/{download-D3Uujsn_.js → download-DKRxBkYD.js} +1 -1
- package/dist/assets/edit-page-DAFshpgY.js +13 -0
- package/dist/assets/{error-banner-D2-5vgE4.js → error-banner-DU5Qb8a8.js} +1 -1
- package/dist/assets/{error-panel-DcRvXIwA.js → error-panel-CoYFpNUd.js} +1 -1
- package/dist/assets/{es-DCqUUmrq.js → es-YVwBDiDw.js} +1 -1
- package/dist/assets/{field-D2_0r7wT.js → field-DDKGFzpC.js} +1 -1
- package/dist/assets/{file-explorer-panel-9Bt20tRi.js → file-explorer-panel-BcpntT7Q.js} +1 -1
- package/dist/assets/{floating-outline-BTc4L5BF.js → floating-outline-CHprSkP6.js} +1 -1
- package/dist/assets/{focus-6-St0ai2.js → focus-D3ygI6Sy.js} +1 -1
- package/dist/assets/{form-1WOcPtE8.js → form-B_zRT4QS.js} +2 -2
- package/dist/assets/{formats-nh-sPUUZ.js → formats-B9CrBoaO.js} +1 -1
- package/dist/assets/{glide-data-editor-EdMWe-iv.js → glide-data-editor-Brckuic5.js} +1 -1
- package/dist/assets/{globals-CJb4gcmW.js → globals-D46Vbo5D.js} +1 -1
- package/dist/assets/{home-page-Lqy9A89-.js → home-page-DuPzZzUf.js} +2 -2
- package/dist/assets/hotkeys-uKX61F1_.js +1 -0
- package/dist/assets/{index-CIoUDThG.js → index-CQBtzy-J.js} +9 -9
- package/dist/assets/index-G6ss-VDT.css +2 -0
- package/dist/assets/{input-DP44ewsS.js → input-CaEtLL8p.js} +1 -1
- package/dist/assets/{kiosk-mode-C3lS9kUL.js → kiosk-mode-CTjr_Jn4.js} +1 -1
- package/dist/assets/{label-DJo0Eeb3.js → label-qwandMoh.js} +1 -1
- package/dist/assets/{layout-F63rlsGg.js → layout-CprHgyfx.js} +4 -4
- package/dist/assets/links-Cw9RjHIY.js +1 -0
- package/dist/assets/{logs-panel-fnMYUf4-.js → logs-panel-CFM-1lMP.js} +1 -1
- package/dist/assets/{maps-DELIOfTw.js → maps-s2pQkyf5.js} +1 -1
- package/dist/assets/{markdown-renderer-B9gYLzJX.js → markdown-renderer-DecoaRsV.js} +1 -1
- package/dist/assets/{mermaid-BUMgiGGr.js → mermaid-BPkO79lo.js} +1 -1
- package/dist/assets/{mode-D4GlAyEq.js → mode-BYulXE3t.js} +1 -1
- package/dist/assets/{multi-map-TecGBFLS.js → multi-map-fjX9ImVF.js} +1 -1
- package/dist/assets/{name-cell-input-BMtblyo6.js → name-cell-input-BGJDnv5Z.js} +1 -1
- package/dist/assets/{numbers-Ckcn6C-H.js → numbers-C9_R_vlY.js} +1 -1
- package/dist/assets/outline-panel-C-__7mIh.js +1 -0
- package/dist/assets/{packages-panel-DyC7zUxG.js → packages-panel-B4bQCG8Y.js} +1 -1
- package/dist/assets/{cell-editor-DJ1tY3mU.js → panel-context-Bee798AZ.js} +13 -13
- package/dist/assets/{panels-wYHy1fpG.js → panels-CuLZ4Xjj.js} +1 -1
- package/dist/assets/{process-output-D1GR6Ero.js → process-output-2gz8Uri2.js} +1 -1
- package/dist/assets/{readonly-python-code-CGnOB_RP.js → readonly-python-code-ihKi3Mrq.js} +1 -1
- package/dist/assets/{renderShortcut-CV_tqoEI.js → renderShortcut-D0Pei-OA.js} +1 -1
- package/dist/assets/{run-page-BLnJcKtg.js → run-page-Q1ifcEUY.js} +1 -1
- package/dist/assets/{runs-BbV5uZz6.js → runs-yuOchwkU.js} +1 -1
- package/dist/assets/scratchpad-panel-B75Qsjwz.js +1 -0
- package/dist/assets/{secrets-panel-K7EccfRa.js → secrets-panel-CDWmmmBS.js} +1 -1
- package/dist/assets/{select-BJ18Dxpd.js → select-D0g5GnIs.js} +1 -1
- package/dist/assets/{session-panel-C3rDPyig.js → session-panel-Bn5_JmbT.js} +1 -1
- package/dist/assets/{share-0dWXMs9M.js → share-CXQVxivL.js} +1 -1
- package/dist/assets/{slides-component-CZ76zal6.js → slides-component-DUIqQih1.js} +1 -1
- package/dist/assets/{snippets-panel-s0p4CCoa.js → snippets-panel-CVBBnX9H.js} +1 -1
- package/dist/assets/{spec-D9TFI5I_.js → spec-qp_XZeSS.js} +1 -1
- package/dist/assets/{state-DwSzcmzL.js → state-BHFBtWym.js} +1 -1
- package/dist/assets/{state-CGq6kn1k.js → state-CIznbe1J.js} +1 -1
- package/dist/assets/{state-BK5o1KAL.js → state-DNwec0Uj.js} +1 -1
- package/dist/assets/{switch-C8yab1pC.js → switch-iJj-D3dz.js} +1 -1
- package/dist/assets/{terminal-CA6CqpuO.js → terminal-CRIGvHBN.js} +1 -1
- package/dist/assets/{textarea-DBFtOima.js → textarea-DmNrZcLR.js} +1 -1
- package/dist/assets/{tooltip-BNPhCMFo.js → tooltip-CrRUCOBw.js} +1 -1
- package/dist/assets/tracing-D9h130fg.js +1 -0
- package/dist/assets/{tracing-panel-C-o1Db4W.js → tracing-panel-DaDvGMEN.js} +2 -2
- package/dist/assets/{type-drzC-SxF.js → type-BdyvjzTI.js} +1 -1
- package/dist/assets/{types-Bt3U-XJV.js → types-4-l_7Ws2.js} +1 -1
- package/dist/assets/{useAddCell-CNI3pgez.js → useAddCell-BpMe5DB-.js} +1 -1
- package/dist/assets/{useBoolean-C_vQizET.js → useBoolean-BDG41CyP.js} +1 -1
- package/dist/assets/{useCellActionButton-BbfiHu5s.js → useCellActionButton-Dh4wbVPA.js} +1 -1
- package/dist/assets/{useDeleteCell-B_jFiS1Y.js → useDeleteCell-DBzN8QcP.js} +1 -1
- package/dist/assets/{useIframeCapabilities-ZISlVepl.js → useIframeCapabilities-CU-WWxnz.js} +1 -1
- package/dist/assets/{useInstallPackage-CBvG269f.js → useInstallPackage-RldLPyJs.js} +1 -1
- package/dist/assets/{useLifecycle-BX7GmOQ5.js → useLifecycle-CmDXEyIC.js} +1 -1
- package/dist/assets/{useNotebookActions-BeM5fet2.js → useNotebookActions-DKyQBNlS.js} +1 -1
- package/dist/assets/useRunCells-BGzo-QMk.js +1 -0
- package/dist/assets/{useSplitCell-COPg5dJw.js → useSplitCell-CvKAuKQ_.js} +1 -1
- package/dist/assets/{useTheme-CuOCKnyR.js → useTheme-DfP1CWaW.js} +1 -1
- package/dist/assets/{utilities.esm-B7XtzwiJ.js → utilities.esm-CT3NbLA9.js} +2 -2
- package/dist/assets/{utils-Cxqw03y3.js → utils-CJJIceVn.js} +1 -1
- package/dist/assets/{vega-component-arPQXQS8.js → vega-component-CLrcy81y.js} +1 -1
- package/dist/assets/{write-secret-modal-CIbhcoWF.js → write-secret-modal-CLm48gMe.js} +1 -1
- package/dist/index.html +68 -68
- package/package.json +1 -1
- package/src/components/editor/actions/useNotebookActions.tsx +1 -1
- package/src/components/editor/chrome/panels/panel-context.tsx +34 -0
- package/src/components/editor/chrome/state.ts +30 -15
- package/src/components/editor/chrome/types.ts +67 -77
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +216 -139
- package/src/components/editor/chrome/wrapper/sidebar.tsx +76 -43
- package/src/components/scratchpad/scratchpad.tsx +17 -4
- package/src/components/ui/reorderable-list.tsx +190 -31
- package/src/core/codemirror/cells/extensions.ts +7 -4
- package/src/core/hotkeys/__tests__/shortcuts.test.ts +61 -4
- package/src/core/hotkeys/shortcuts.ts +34 -2
- package/dist/assets/any-language-editor-CTAS1EXW.js +0 -3
- package/dist/assets/cell-link-DjST51KF.js +0 -1
- package/dist/assets/client-BQowSjqE.js +0 -4
- package/dist/assets/command-palette-CjFiCjws.js +0 -1
- package/dist/assets/edit-page-fJ4hHm67.js +0 -13
- package/dist/assets/hotkeys-D3ICc8RW.js +0 -1
- package/dist/assets/index-D-BWugLn.css +0 -2
- package/dist/assets/links-ZVVAwqm7.js +0 -1
- package/dist/assets/outline-panel-Blq76m9b.js +0 -1
- package/dist/assets/scratchpad-panel-CTJDEy90.js +0 -1
- package/dist/assets/tracing-VZVj-gEo.js +0 -1
- package/dist/assets/useRunCells-oeY0TrS1.js +0 -1
- /package/dist/assets/{cell-editor-Iey559K_.css → panel-context-Iey559K_.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as j}from"./chunk-LvLJmgfZ.js";import{t as b}from"./react-BGmjiNul.js";import{t as h}from"./toString-DlRqgfqz.js";import{t as e}from"./_hasUnicode-zBEpxwYe.js";import{
|
|
1
|
+
import{s as j}from"./chunk-LvLJmgfZ.js";import{t as b}from"./react-BGmjiNul.js";import{t as h}from"./toString-DlRqgfqz.js";import{t as e}from"./_hasUnicode-zBEpxwYe.js";import{d as l}from"./hotkeys-uKX61F1_.js";import{t as x}from"./invariant-C6yE60hi.js";function E(r,f,u){var n=-1,o=r.length;f<0&&(f=-f>o?0:o+f),u=u>o?o:u,u<0&&(u+=o),o=f>u?0:u-f>>>0,f>>>=0;for(var a=Array(o);++n<o;)a[n]=r[n+f];return a}var y=E;function A(r,f,u){var n=r.length;return u=u===void 0?n:u,!f&&u>=n?r:y(r,f,u)}var U=A;function w(r){return r.split("")}var C=w,c="\\ud800-\\udfff",N="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",O="\\ufe0e\\ufe0f",R="["+c+"]",t="["+N+"]",i="\\ud83c[\\udffb-\\udfff]",S="(?:"+t+"|"+i+")",d="[^"+c+"]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",m="[\\ud800-\\udbff][\\udc00-\\udfff]",$="\\u200d",p=S+"?",v="["+O+"]?",k="(?:"+$+"(?:"+[d,s,m].join("|")+")"+v+p+")*",z=v+p+k,D="(?:"+[d+t+"?",t,s,m,R].join("|")+")",F=RegExp(i+"(?="+i+")|"+D+z,"g");function I(r){return r.match(F)||[]}var J=I;function L(r){return e(r)?J(r):C(r)}var M=L;function P(r){return function(f){f=h(f);var u=e(f)?M(f):void 0,n=u?u[0]:f.charAt(0),o=u?U(u,1).join(""):f.slice(1);return n[r]()+o}}var T=P("toUpperCase");function _(r){x(!1,`Unexpected object: ${r}`)}function q(r){return l.warn(`Unexpected object: ${JSON.stringify(r)}`),r}var g=j(b(),1);function B(r){(0,g.useEffect)(r,[])}function G(r){(0,g.useEffect)(()=>r(),[])}export{T as a,q as i,G as n,_ as r,B as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as oe}from"./chunk-LvLJmgfZ.js";import{d as N,l as Ie,p as Te,u as K}from"./useEvent-DlWF5OMa.js";import{t as He}from"./react-BGmjiNul.js";import{Bn as Le,C as ie,Et as qe,Jn as Re,Nt as Ve,Pt as ne,Rn as Be,Un as Oe,an as Ue,ei as Q,h as Ye,in as $e,mr as Fe,p as le,sn as Ge,t as Je,un as Ke}from"./cells-DAR6V-0d.js";import{t as W}from"./compiler-runtime-DeeZ7FnK.js";import{i as Qe}from"./useLifecycle-BX7GmOQ5.js";import{a as se}from"./type-drzC-SxF.js";import{n as Xe}from"./add-database-form-DQyrphh9.js";import{a as re,u as E}from"./hotkeys-D3ICc8RW.js";import{y as Ze}from"./utils-Cxqw03y3.js";import{n as _,t as de}from"./constants-Bkp4R3bQ.js";import{M as ce,f as et,j as tt,w as at}from"./config-D3ojpe3F.js";import{t as ot}from"./jsx-runtime-DN_bIXfG.js";import{r as it,t as X}from"./button-C9TEIJJh.js";import{r as P}from"./requests-C0HaHO6a.js";import{t as c}from"./createLucideIcon-CW2xpJ57.js";import{a as he,f as nt,i as pe,m as lt,p as me,u as ue}from"./layout-F63rlsGg.js";import{t as fe}from"./check-CrAQug3q.js";import{a as st,c as rt,i as dt,n as ct,r as ht,s as pt,t as mt}from"./select-BJ18Dxpd.js";import{i as ye,r as ut,t as ke}from"./download-D3Uujsn_.js";import{f as ft}from"./maps-DELIOfTw.js";import{r as yt}from"./useCellActionButton-BbfiHu5s.js";import{t as kt}from"./copy-gBVL4NN-.js";import{d as bt,t as xt}from"./state-BK5o1KAL.js";import{t as wt}from"./download-DobaYJPt.js";import{t as gt}from"./eye-off-D9zAYqG9.js";import{t as jt}from"./file-plus-corner-BO_uS88s.js";import{t as vt}from"./file-BnFXtaZZ.js";import{i as Ct,n as zt,r as Mt,t as Wt}from"./youtube-BJQRl2JC.js";import{t as _t}from"./globe-CY9im410.js";import{n as At}from"./play-BJDBXApx.js";import{t as St}from"./link-54sBkoQp.js";import{r as Nt}from"./input-DP44ewsS.js";import{t as Et}from"./settings-MTlHVxz3.js";import{y as Pt}from"./textarea-DBFtOima.js";import{t as Dt}from"./square-leQTJTJJ.js";import{t as j}from"./use-toast-Bzf3rpev.js";import{t as It}from"./tooltip-CvjcEpZC.js";import{a as be,i as Tt,r as Ht}from"./mode-D4GlAyEq.js";import{o as Lt}from"./alert-dialog-B3T1GCoD.js";import{a as qt,c as Rt,i as Vt,n as Bt,r as Ot}from"./dialog-DIUTtzeB.js";import{n as Z}from"./ImperativeModal-7Thr73Oo.js";import{r as Ut,t as Yt}from"./share-0dWXMs9M.js";import{t as V}from"./copy-Bmkr29w4.js";import{r as $t}from"./useRunCells-oeY0TrS1.js";import{a as Ft}from"./cell-link-DjST51KF.js";import{a as xe}from"./renderShortcut-CV_tqoEI.js";import{t as Gt}from"./icons-D4lB4En9.js";import{t as Jt}from"./links-ZVVAwqm7.js";import{t as we}from"./types-BLEgJ92v.js";var Kt=c("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Qt=c("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),ge=c("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),je=c("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"}]]),ve=c("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"}]]),Xt=c("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"}]]),Zt=c("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"}]]),ea=c("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),ta=c("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Ce=c("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),aa=c("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"}]]),oa=c("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),ze=c("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"}]]),ia=c("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"}]]),na=c("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"}]]),Me=c("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"}]]),We=W(),ee=oe(He(),1),a=oe(ot(),1),B="https://static.marimo.app";const la=e=>{let t=(0,We.c)(25),{onClose:i}=e,[o,l]=(0,ee.useState)(""),{exportAsHTML:r}=P(),s=`${o}-${Math.random().toString(36).slice(2,6)}`,n=`${B}/static/${s}`,d;t[0]!==r||t[1]!==i||t[2]!==s?(d=async v=>{v.preventDefault(),i();let A=await r({download:!1,includeCode:!0,files:nt.INSTANCE.filenames()}),z=j({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${B}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:A,path:s})}).catch(()=>{z.dismiss(),j({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:_.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),z.dismiss(),j({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},t[0]=r,t[1]=i,t[2]=s,t[3]=d):d=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Rt,{children:"Share static notebook"}),t[4]=p):p=t[4];let x;t[5]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsxs)(qt,{children:[p,(0,a.jsxs)(Ot,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:B,target:"_blank",children:B}),"."]})]}),t[5]=x):x=t[5];let w;t[6]===Symbol.for("react.memo_cache_sentinel")?(w=v=>{l(v.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},t[6]=w):w=t[6];let m;t[7]===o?m=t[8]:(m=(0,a.jsx)(Nt,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:w,required:!0,autoComplete:"off"}),t[7]=o,t[8]=m);let u;t[9]===n?u=t[10]:(u=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(sa,{text:n}),(0,a.jsx)("span",{className:"text-primary",children:n})]})]}),t[9]=n,t[10]=u);let f;t[11]!==m||t[12]!==u?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[m,u]}),t[11]=m,t[12]=u,t[13]=f):f=t[13];let y;t[14]===i?y=t[15]:(y=(0,a.jsx)(X,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:i,children:"Cancel"}),t[14]=i,t[15]=y);let k;t[16]===n?k=t[17]:(k=(0,a.jsx)(X,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await V(n)},children:"Create"}),t[16]=n,t[17]=k);let b;t[18]!==y||t[19]!==k?(b=(0,a.jsxs)(Vt,{children:[y,k]}),t[18]=y,t[19]=k,t[20]=b):b=t[20];let g;return t[21]!==d||t[22]!==b||t[23]!==f?(g=(0,a.jsx)(Bt,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[x,f,b]})}),t[21]=d,t[22]=b,t[23]=f,t[24]=g):g=t[24],g};var sa=e=>{let t=(0,We.c)(8),[i,o]=ee.useState(!1),l;t[0]===e.text?l=t[1]:(l=it.stopPropagation(async p=>{p.preventDefault(),await V(e.text),o(!0),setTimeout(()=>o(!1),2e3)}),t[0]=e.text,t[1]=l);let r=l,s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(kt,{size:14,strokeWidth:1.5}),t[2]=s):s=t[2];let n;t[3]===r?n=t[4]:(n=(0,a.jsx)(X,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:s}),t[3]=r,t[4]=n);let d;return t[5]!==i||t[6]!==n?(d=(0,a.jsx)(It,{content:"Copied!",open:i,children:n}),t[5]=i,t[6]=n,t[7]=d):d=t[7],d},ra=W();function da(){let e=document.getElementsByClassName(de.outputArea);for(let t of e){let i=t.getBoundingClientRect();if(i.bottom>0&&i.top<window.innerHeight){let o=Q.findElement(t);if(!o){E.warn("Could not find HTMLCellId for visible output area",t);continue}return{cellId:Q.parse(o.id)}}}return E.warn("No visible output area found for scroll anchor"),null}function ca(e){if(!e){E.warn("No scroll anchor provided to restore scroll position");return}let t=document.getElementById(Q.create(e.cellId));if(!t){E.warn("Could not find cell element to restore scroll position",e.cellId);return}if(!t.querySelector(`.${de.outputArea}`)){E.warn("Could not find output area to restore scroll position",e.cellId);return}t.scrollIntoView({block:"start",behavior:"auto"})}function _e(){let e=(0,ra.c)(2),t=N(be),i;return e[0]===t?i=e[1]:(i=()=>{let o=da();t(l=>({mode:Tt(l.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{ca(o)})})},e[0]=t,e[1]=i),i}const Ae=Te(!1);var ha=W();const pa=()=>{let e=(0,ha.c)(7),{selectedLayout:t}=he(),{setLayoutView:i}=pe();if(ce()&&!Ke("wasm_layouts"))return null;let o;e[0]===i?o=e[1]:(o=n=>i(n),e[0]=i,e[1]=o);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(pt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(rt,{placeholder:"Select a view"})}),e[2]=l):l=e[2];let r;e[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(ct,{children:(0,a.jsxs)(ht,{children:[(0,a.jsx)(st,{children:"View as"}),we.map(ua)]})}),e[3]=r):r=e[3];let s;return e[4]!==t||e[5]!==o?(s=(0,a.jsxs)(mt,{"data-testid":"layout-select",value:t,onValueChange:o,children:[l,r]}),e[4]=t,e[5]=o,e[6]=s):s=e[6],s};function ma(e){return(0,a.jsx)(Se(e),{className:"h-4 w-4"})}function Se(e){switch(e){case"vertical":return aa;case"grid":return Mt;case"slides":return ze;default:return Qe(e),Dt}}function Ne(e){return se(e)}function ua(e){return(0,a.jsx)(dt,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[ma(e),(0,a.jsx)("span",{children:Ne(e)})]})},e)}var fa=W();function ya(e){let t=(0,fa.c)(5),{openPrompt:i,closeModal:o}=Z(),{sendCopy:l}=P(),r;return t[0]!==o||t[1]!==i||t[2]!==l||t[3]!==e?(r=()=>{if(!e)return null;let s=Ve.guessDeliminator(e);i({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${ne.basename(e)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:n=>{let d=s.join(ne.dirname(e),n);l({source:e,destination:d}).then(()=>{o(),j({title:"Notebook copied",description:"A copy of the notebook has been created."}),Jt(d)})}})},t[0]=o,t[1]=i,t[2]=l,t[3]=e,t[4]=r):r=t[4],r}const ka=()=>{let{updateCellConfig:e}=ie(),{saveCellConfig:t}=P();return(0,ee.useCallback)(async()=>{let i=new qe,o=le(),l=o.cellIds.inOrderIds,r={};for(let n of l){if(o.cellData[n]===void 0)continue;let{code:d,config:p}=o.cellData[n];p.hide_code||i.isSupported(d)&&(r[n]={hide_code:!0})}let s=re.entries(r);if(s.length!==0){await t({configs:r});for(let[n,d]of s)e({cellId:n,config:d})}},[e])};var ba=W();function Ee(){let e=(0,ba.c)(4),{openConfirm:t}=Z(),i=N(at),{sendRestart:o}=P(),l;return e[0]!==t||e[1]!==o||e[2]!==i?(l=()=>{t({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Lt,{onClick:async()=>{i({state:tt.CLOSING}),await o(),Ut()},"aria-label":"Confirm Restart",children:"Restart"})})},e[0]=t,e[1]=o,e[2]=i,e[3]=l):l=e[3],l}var xa=W(),D=e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()};function wa(){var te,ae;let e=(0,xa.c)(36),t=Ft(),{openModal:i,closeModal:o}=Z(),{toggleApplication:l}=$e(),{selectedPanel:r}=Ue(),[s]=Ie(be),n=K(Ht),d=ka(),[p]=Ze(),{updateCellConfig:x,undoDeleteCell:w,clearAllCellOutputs:m,addSetupCellIfDoesntExist:u,collapseAllCells:f,expandAllCells:y}=ie(),k=Ee(),b=$t(),g=ya(t),v=N(Ae),A=N(xt),z=N(bt),{exportAsMarkdown:O,readCode:S,saveCellConfig:U}=P(),Y=K(Ye),$=K(Je),{selectedLayout:F}=he(),{setLayoutView:G}=pe(),I=_e(),T=((te=p.sharing)==null?void 0:te.html)??!0,H=((ae=p.sharing)==null?void 0:ae.wasm)??!0,Pe=La,L;e[0]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(wt,{size:14,strokeWidth:1.5}),e[0]=L):L=e[0];let q;e[1]===Symbol.for("react.memo_cache_sentinel")?(q=(0,a.jsx)(me,{size:14,strokeWidth:1.5}),e[1]=q):q=e[1];let M;e[2]===t?M=e[3]:(M=async()=>{if(!t){j({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await ue({filename:t,includeCode:!0})},e[2]=t,e[3]=M);let R;return e[4]!==u||e[5]!==$||e[6]!==m||e[7]!==o||e[8]!==f||e[9]!==g||e[10]!==y||e[11]!==O||e[12]!==t||e[13]!==Y||e[14]!==d||e[15]!==n||e[16]!==i||e[17]!==S||e[18]!==k||e[19]!==b||e[20]!==U||e[21]!==F||e[22]!==r||e[23]!==v||e[24]!==z||e[25]!==G||e[26]!==A||e[27]!==T||e[28]!==H||e[29]!==M||e[30]!==l||e[31]!==I||e[32]!==w||e[33]!==x||e[34]!==s.mode?(R=[{icon:L,label:"Download",handle:D,dropdown:[{icon:q,label:"Download as HTML",handle:M},{icon:(0,a.jsx)(me,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!t){j({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await ue({filename:t,includeCode:!1})}},{icon:(0,a.jsx)(Gt,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let h=await O({download:!1});ke(new Blob([h],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(lt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let h=await S();ke(new Blob([h.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(At,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:s.mode!=="present",tooltip:s.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",xe("global.hideCode",!1)]}),handle:Ha},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Download as PDF",disabled:s.mode!=="present",tooltip:s.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",xe("global.hideCode",!1)]}),handle:Ia}]},{icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Share",handle:D,hidden:!T&&!H,dropdown:[{icon:(0,a.jsx)(_t,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!T,handle:async()=>{i((0,a.jsx)(la,{onClose:o}))}},{icon:(0,a.jsx)(St,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!H,handle:async()=>{await V(Yt({code:(await S()).contents})),j({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:D,dropdown:Ge.flatMap(h=>{let{id:C,Icon:J,hidden:De}=h;return De?[]:{label:se(C),rightElement:Pe(r===C),icon:(0,a.jsx)(J,{size:14,strokeWidth:1.5}),handle:()=>l(C)}})},{icon:(0,a.jsx)(ze,{size:14,strokeWidth:1.5}),label:"Present as",handle:D,dropdown:[{icon:s.mode==="present"?(0,a.jsx)(Pt,{size:14,strokeWidth:1.5}):(0,a.jsx)(Ce,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{I()}},...we.map((h,C)=>{let J=Se(h);return{divider:C===0,label:Ne(h),icon:(0,a.jsx)(J,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:F===h&&(0,a.jsx)(fe,{size:14})}),handle:()=>{G(h),s.mode==="edit"&&I()}}})]},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!t||ce(),handle:g},{icon:(0,a.jsx)(ge,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!t,handle:async()=>{await V((await S()).contents),j({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(yt,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!Y||n,handle:async()=>{let h=Fe(le());await U({configs:re.fromEntries(h.map(Da))});for(let C of h)x({cellId:C,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(ve,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{u({})}},{icon:(0,a.jsx)(Le,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{i((0,a.jsx)(Xe,{onClose:o}))}},{icon:(0,a.jsx)(Me,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!$||n,handle:()=>{w()}},{icon:(0,a.jsx)(na,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:k},{icon:(0,a.jsx)(Xt,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(Oe,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{m()}},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(Qt,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:f,redundant:!0},{icon:(0,a.jsx)(Kt,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:y,redundant:!0},{divider:!0,icon:(0,a.jsx)(je,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>v(Pa)},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>z(Ea)},{icon:(0,a.jsx)(Et,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>A(Na),redundant:!0},{icon:(0,a.jsx)(ft,{size:14,strokeWidth:1.5}),label:"Resources",handle:D,dropdown:[{icon:(0,a.jsx)(Re,{size:14,strokeWidth:1.5}),label:"Documentation",handle:Sa},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"GitHub",handle:Aa},{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:_a},{icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"YouTube",handle:Wa},{icon:(0,a.jsx)(Be,{size:14,strokeWidth:1.5}),label:"Changelog",handle:Ma}]},{divider:!0,icon:(0,a.jsx)(ea,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:za},{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:Ca}].filter(va).map(ga),e[4]=u,e[5]=$,e[6]=m,e[7]=o,e[8]=f,e[9]=g,e[10]=y,e[11]=O,e[12]=t,e[13]=Y,e[14]=d,e[15]=n,e[16]=i,e[17]=S,e[18]=k,e[19]=b,e[20]=U,e[21]=F,e[22]=r,e[23]=v,e[24]=z,e[25]=G,e[26]=A,e[27]=T,e[28]=H,e[29]=M,e[30]=l,e[31]=I,e[32]=w,e[33]=x,e[34]=s.mode,e[35]=R):R=e[35],R}function ga(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(ja)}:e}function ja(e){return!e.hidden}function va(e){return!e.hidden}function Ca(){let e=et();window.open(e,"_blank")}function za(){let e=document.baseURI.split("?")[0];window.open(e,"_self")}function Ma(){window.open(_.releasesPage,"_blank")}function Wa(){window.open(_.youtube,"_blank")}function _a(){window.open(_.discordLink,"_blank")}function Aa(){window.open(_.githubPage,"_blank")}function Sa(){window.open(_.docsPage,"_blank")}function Na(e){return!e}function Ea(e){return!e}function Pa(e){return!e}function Da(e){return[e,{disabled:!1}]}async function Ia(){let e=new Event("export-beforeprint"),t=new Event("export-afterprint");(function(){window.dispatchEvent(e),setTimeout(Ta,0),setTimeout(()=>window.dispatchEvent(t),0)})()}function Ta(){return window.print()}async function Ha(){let e=document.getElementById("App");e&&await ut(e,document.title)}function La(e){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:e&&(0,a.jsx)(fe,{size:14})})}export{_e as a,ve as c,Ae as i,je as l,Ee as n,Me as o,pa as r,Ce as s,wa as t,ge as u};
|
|
1
|
+
import{s as oe}from"./chunk-LvLJmgfZ.js";import{d as S,l as Ie,p as He,u as J}from"./useEvent-DlWF5OMa.js";import{t as Te}from"./react-BGmjiNul.js";import{$r as Q,C as ie,Et as Le,Hn as qe,Ln as Re,Nt as Ve,Pt as ne,an as Oe,h as Be,in as Ue,ln as $e,on as Ye,p as le,pr as Fe,qn as Ge,t as Ke,zn as Je}from"./cells-rr1jjvJk.js";import{t as W}from"./compiler-runtime-DeeZ7FnK.js";import{i as Qe}from"./useLifecycle-CmDXEyIC.js";import{a as se}from"./type-BdyvjzTI.js";import{n as Xe}from"./add-database-form-C-K88iSC.js";import{a as re,d as E}from"./hotkeys-uKX61F1_.js";import{v as Ze}from"./utils-CJJIceVn.js";import{n as _,t as de}from"./constants-Bkp4R3bQ.js";import{M as ce,f as et,j as tt,w as at}from"./config-cCkBQ_ER.js";import{t as ot}from"./jsx-runtime-DN_bIXfG.js";import{r as it,t as X}from"./button-DuYGqRtX.js";import{r as P}from"./requests-C0HaHO6a.js";import{t as c}from"./createLucideIcon-CW2xpJ57.js";import{a as he,f as nt,i as pe,m as lt,p as me,u as ue}from"./layout-CprHgyfx.js";import{t as fe}from"./check-CrAQug3q.js";import{a as st,c as rt,i as dt,n as ct,r as ht,s as pt,t as mt}from"./select-D0g5GnIs.js";import{i as ye,r as ut,t as ke}from"./download-DKRxBkYD.js";import{f as ft}from"./maps-s2pQkyf5.js";import{r as yt}from"./useCellActionButton-Dh4wbVPA.js";import{t as kt}from"./copy-gBVL4NN-.js";import{d as bt,t as xt}from"./state-DNwec0Uj.js";import{t as wt}from"./download-DobaYJPt.js";import{t as gt}from"./eye-off-D9zAYqG9.js";import{t as jt}from"./file-plus-corner-BO_uS88s.js";import{t as vt}from"./file-BnFXtaZZ.js";import{i as Ct,n as zt,r as Mt,t as Wt}from"./youtube-BJQRl2JC.js";import{t as _t}from"./globe-CY9im410.js";import{n as At}from"./play-BJDBXApx.js";import{t as Nt}from"./link-54sBkoQp.js";import{r as St}from"./input-CaEtLL8p.js";import{t as Et}from"./settings-MTlHVxz3.js";import{y as Pt}from"./textarea-DmNrZcLR.js";import{t as Dt}from"./square-leQTJTJJ.js";import{t as j}from"./use-toast-Bzf3rpev.js";import{t as It}from"./tooltip-CvjcEpZC.js";import{a as be,i as Ht,r as Tt}from"./mode-BYulXE3t.js";import{o as Lt}from"./alert-dialog-k5KxevGr.js";import{a as qt,c as Rt,i as Vt,n as Ot,r as Bt}from"./dialog-DUEuLcT2.js";import{n as Z}from"./ImperativeModal-q6QlC2aZ.js";import{r as Ut,t as $t}from"./share-CXQVxivL.js";import{t as V}from"./copy-DRhpWiOq.js";import{r as Yt}from"./useRunCells-BGzo-QMk.js";import{a as Ft}from"./cell-link-Hwo1QbqQ.js";import{a as xe}from"./renderShortcut-D0Pei-OA.js";import{t as Gt}from"./icons-D4lB4En9.js";import{t as Kt}from"./links-Cw9RjHIY.js";import{t as we}from"./types-BLEgJ92v.js";var Jt=c("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Qt=c("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),ge=c("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),je=c("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"}]]),ve=c("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"}]]),Xt=c("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"}]]),Zt=c("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"}]]),ea=c("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),ta=c("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Ce=c("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),aa=c("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"}]]),oa=c("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),ze=c("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"}]]),ia=c("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"}]]),na=c("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"}]]),Me=c("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"}]]),We=W(),ee=oe(Te(),1),a=oe(ot(),1),O="https://static.marimo.app";const la=e=>{let t=(0,We.c)(25),{onClose:i}=e,[o,l]=(0,ee.useState)(""),{exportAsHTML:r}=P(),s=`${o}-${Math.random().toString(36).slice(2,6)}`,n=`${O}/static/${s}`,d;t[0]!==r||t[1]!==i||t[2]!==s?(d=async v=>{v.preventDefault(),i();let A=await r({download:!1,includeCode:!0,files:nt.INSTANCE.filenames()}),z=j({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${O}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:A,path:s})}).catch(()=>{z.dismiss(),j({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:_.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),z.dismiss(),j({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},t[0]=r,t[1]=i,t[2]=s,t[3]=d):d=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Rt,{children:"Share static notebook"}),t[4]=p):p=t[4];let x;t[5]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsxs)(qt,{children:[p,(0,a.jsxs)(Bt,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:O,target:"_blank",children:O}),"."]})]}),t[5]=x):x=t[5];let w;t[6]===Symbol.for("react.memo_cache_sentinel")?(w=v=>{l(v.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},t[6]=w):w=t[6];let m;t[7]===o?m=t[8]:(m=(0,a.jsx)(St,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:w,required:!0,autoComplete:"off"}),t[7]=o,t[8]=m);let u;t[9]===n?u=t[10]:(u=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(sa,{text:n}),(0,a.jsx)("span",{className:"text-primary",children:n})]})]}),t[9]=n,t[10]=u);let f;t[11]!==m||t[12]!==u?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[m,u]}),t[11]=m,t[12]=u,t[13]=f):f=t[13];let y;t[14]===i?y=t[15]:(y=(0,a.jsx)(X,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:i,children:"Cancel"}),t[14]=i,t[15]=y);let k;t[16]===n?k=t[17]:(k=(0,a.jsx)(X,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await V(n)},children:"Create"}),t[16]=n,t[17]=k);let b;t[18]!==y||t[19]!==k?(b=(0,a.jsxs)(Vt,{children:[y,k]}),t[18]=y,t[19]=k,t[20]=b):b=t[20];let g;return t[21]!==d||t[22]!==b||t[23]!==f?(g=(0,a.jsx)(Ot,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[x,f,b]})}),t[21]=d,t[22]=b,t[23]=f,t[24]=g):g=t[24],g};var sa=e=>{let t=(0,We.c)(8),[i,o]=ee.useState(!1),l;t[0]===e.text?l=t[1]:(l=it.stopPropagation(async p=>{p.preventDefault(),await V(e.text),o(!0),setTimeout(()=>o(!1),2e3)}),t[0]=e.text,t[1]=l);let r=l,s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(kt,{size:14,strokeWidth:1.5}),t[2]=s):s=t[2];let n;t[3]===r?n=t[4]:(n=(0,a.jsx)(X,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:s}),t[3]=r,t[4]=n);let d;return t[5]!==i||t[6]!==n?(d=(0,a.jsx)(It,{content:"Copied!",open:i,children:n}),t[5]=i,t[6]=n,t[7]=d):d=t[7],d},ra=W();function da(){let e=document.getElementsByClassName(de.outputArea);for(let t of e){let i=t.getBoundingClientRect();if(i.bottom>0&&i.top<window.innerHeight){let o=Q.findElement(t);if(!o){E.warn("Could not find HTMLCellId for visible output area",t);continue}return{cellId:Q.parse(o.id)}}}return E.warn("No visible output area found for scroll anchor"),null}function ca(e){if(!e){E.warn("No scroll anchor provided to restore scroll position");return}let t=document.getElementById(Q.create(e.cellId));if(!t){E.warn("Could not find cell element to restore scroll position",e.cellId);return}if(!t.querySelector(`.${de.outputArea}`)){E.warn("Could not find output area to restore scroll position",e.cellId);return}t.scrollIntoView({block:"start",behavior:"auto"})}function _e(){let e=(0,ra.c)(2),t=S(be),i;return e[0]===t?i=e[1]:(i=()=>{let o=da();t(l=>({mode:Ht(l.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{ca(o)})})},e[0]=t,e[1]=i),i}const Ae=He(!1);var ha=W();const pa=()=>{let e=(0,ha.c)(7),{selectedLayout:t}=he(),{setLayoutView:i}=pe();if(ce()&&!$e("wasm_layouts"))return null;let o;e[0]===i?o=e[1]:(o=n=>i(n),e[0]=i,e[1]=o);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(pt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(rt,{placeholder:"Select a view"})}),e[2]=l):l=e[2];let r;e[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(ct,{children:(0,a.jsxs)(ht,{children:[(0,a.jsx)(st,{children:"View as"}),we.map(ua)]})}),e[3]=r):r=e[3];let s;return e[4]!==t||e[5]!==o?(s=(0,a.jsxs)(mt,{"data-testid":"layout-select",value:t,onValueChange:o,children:[l,r]}),e[4]=t,e[5]=o,e[6]=s):s=e[6],s};function ma(e){return(0,a.jsx)(Ne(e),{className:"h-4 w-4"})}function Ne(e){switch(e){case"vertical":return aa;case"grid":return Mt;case"slides":return ze;default:return Qe(e),Dt}}function Se(e){return se(e)}function ua(e){return(0,a.jsx)(dt,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[ma(e),(0,a.jsx)("span",{children:Se(e)})]})},e)}var fa=W();function ya(e){let t=(0,fa.c)(5),{openPrompt:i,closeModal:o}=Z(),{sendCopy:l}=P(),r;return t[0]!==o||t[1]!==i||t[2]!==l||t[3]!==e?(r=()=>{if(!e)return null;let s=Ve.guessDeliminator(e);i({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${ne.basename(e)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:n=>{let d=s.join(ne.dirname(e),n);l({source:e,destination:d}).then(()=>{o(),j({title:"Notebook copied",description:"A copy of the notebook has been created."}),Kt(d)})}})},t[0]=o,t[1]=i,t[2]=l,t[3]=e,t[4]=r):r=t[4],r}const ka=()=>{let{updateCellConfig:e}=ie(),{saveCellConfig:t}=P();return(0,ee.useCallback)(async()=>{let i=new Le,o=le(),l=o.cellIds.inOrderIds,r={};for(let n of l){if(o.cellData[n]===void 0)continue;let{code:d,config:p}=o.cellData[n];p.hide_code||i.isSupported(d)&&(r[n]={hide_code:!0})}let s=re.entries(r);if(s.length!==0){await t({configs:r});for(let[n,d]of s)e({cellId:n,config:d})}},[e])};var ba=W();function Ee(){let e=(0,ba.c)(4),{openConfirm:t}=Z(),i=S(at),{sendRestart:o}=P(),l;return e[0]!==t||e[1]!==o||e[2]!==i?(l=()=>{t({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Lt,{onClick:async()=>{i({state:tt.CLOSING}),await o(),Ut()},"aria-label":"Confirm Restart",children:"Restart"})})},e[0]=t,e[1]=o,e[2]=i,e[3]=l):l=e[3],l}var xa=W(),D=e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()};function wa(){var te,ae;let e=(0,xa.c)(36),t=Ft(),{openModal:i,closeModal:o}=Z(),{toggleApplication:l}=Ue(),{selectedPanel:r}=Oe(),[s]=Ie(be),n=J(Tt),d=ka(),[p]=Ze(),{updateCellConfig:x,undoDeleteCell:w,clearAllCellOutputs:m,addSetupCellIfDoesntExist:u,collapseAllCells:f,expandAllCells:y}=ie(),k=Ee(),b=Yt(),g=ya(t),v=S(Ae),A=S(xt),z=S(bt),{exportAsMarkdown:B,readCode:N,saveCellConfig:U}=P(),$=J(Be),Y=J(Ke),{selectedLayout:F}=he(),{setLayoutView:G}=pe(),I=_e(),H=((te=p.sharing)==null?void 0:te.html)??!0,T=((ae=p.sharing)==null?void 0:ae.wasm)??!0,Pe=La,L;e[0]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(wt,{size:14,strokeWidth:1.5}),e[0]=L):L=e[0];let q;e[1]===Symbol.for("react.memo_cache_sentinel")?(q=(0,a.jsx)(me,{size:14,strokeWidth:1.5}),e[1]=q):q=e[1];let M;e[2]===t?M=e[3]:(M=async()=>{if(!t){j({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await ue({filename:t,includeCode:!0})},e[2]=t,e[3]=M);let R;return e[4]!==u||e[5]!==Y||e[6]!==m||e[7]!==o||e[8]!==f||e[9]!==g||e[10]!==y||e[11]!==B||e[12]!==t||e[13]!==$||e[14]!==d||e[15]!==n||e[16]!==i||e[17]!==N||e[18]!==k||e[19]!==b||e[20]!==U||e[21]!==F||e[22]!==r||e[23]!==v||e[24]!==z||e[25]!==G||e[26]!==A||e[27]!==H||e[28]!==T||e[29]!==M||e[30]!==l||e[31]!==I||e[32]!==w||e[33]!==x||e[34]!==s.mode?(R=[{icon:L,label:"Download",handle:D,dropdown:[{icon:q,label:"Download as HTML",handle:M},{icon:(0,a.jsx)(me,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!t){j({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await ue({filename:t,includeCode:!1})}},{icon:(0,a.jsx)(Gt,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let h=await B({download:!1});ke(new Blob([h],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(lt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let h=await N();ke(new Blob([h.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(At,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:s.mode!=="present",tooltip:s.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",xe("global.hideCode",!1)]}),handle:Ta},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Download as PDF",disabled:s.mode!=="present",tooltip:s.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",xe("global.hideCode",!1)]}),handle:Ia}]},{icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Share",handle:D,hidden:!H&&!T,dropdown:[{icon:(0,a.jsx)(_t,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!H,handle:async()=>{i((0,a.jsx)(la,{onClose:o}))}},{icon:(0,a.jsx)(Nt,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!T,handle:async()=>{await V($t({code:(await N()).contents})),j({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:D,dropdown:Ye.flatMap(h=>{let{type:C,Icon:K,hidden:De}=h;return De?[]:{label:se(C),rightElement:Pe(r===C),icon:(0,a.jsx)(K,{size:14,strokeWidth:1.5}),handle:()=>l(C)}})},{icon:(0,a.jsx)(ze,{size:14,strokeWidth:1.5}),label:"Present as",handle:D,dropdown:[{icon:s.mode==="present"?(0,a.jsx)(Pt,{size:14,strokeWidth:1.5}):(0,a.jsx)(Ce,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{I()}},...we.map((h,C)=>{let K=Ne(h);return{divider:C===0,label:Se(h),icon:(0,a.jsx)(K,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:F===h&&(0,a.jsx)(fe,{size:14})}),handle:()=>{G(h),s.mode==="edit"&&I()}}})]},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!t||ce(),handle:g},{icon:(0,a.jsx)(ge,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!t,handle:async()=>{await V((await N()).contents),j({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(yt,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!$||n,handle:async()=>{let h=Fe(le());await U({configs:re.fromEntries(h.map(Da))});for(let C of h)x({cellId:C,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(ve,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{u({})}},{icon:(0,a.jsx)(Je,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{i((0,a.jsx)(Xe,{onClose:o}))}},{icon:(0,a.jsx)(Me,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!Y||n,handle:()=>{w()}},{icon:(0,a.jsx)(na,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:k},{icon:(0,a.jsx)(Xt,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(qe,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{m()}},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(Qt,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:f,redundant:!0},{icon:(0,a.jsx)(Jt,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:y,redundant:!0},{divider:!0,icon:(0,a.jsx)(je,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>v(Pa)},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>z(Ea)},{icon:(0,a.jsx)(Et,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>A(Sa),redundant:!0},{icon:(0,a.jsx)(ft,{size:14,strokeWidth:1.5}),label:"Resources",handle:D,dropdown:[{icon:(0,a.jsx)(Ge,{size:14,strokeWidth:1.5}),label:"Documentation",handle:Na},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"GitHub",handle:Aa},{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:_a},{icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"YouTube",handle:Wa},{icon:(0,a.jsx)(Re,{size:14,strokeWidth:1.5}),label:"Changelog",handle:Ma}]},{divider:!0,icon:(0,a.jsx)(ea,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:za},{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:Ca}].filter(va).map(ga),e[4]=u,e[5]=Y,e[6]=m,e[7]=o,e[8]=f,e[9]=g,e[10]=y,e[11]=B,e[12]=t,e[13]=$,e[14]=d,e[15]=n,e[16]=i,e[17]=N,e[18]=k,e[19]=b,e[20]=U,e[21]=F,e[22]=r,e[23]=v,e[24]=z,e[25]=G,e[26]=A,e[27]=H,e[28]=T,e[29]=M,e[30]=l,e[31]=I,e[32]=w,e[33]=x,e[34]=s.mode,e[35]=R):R=e[35],R}function ga(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(ja)}:e}function ja(e){return!e.hidden}function va(e){return!e.hidden}function Ca(){let e=et();window.open(e,"_blank")}function za(){let e=document.baseURI.split("?")[0];window.open(e,"_self")}function Ma(){window.open(_.releasesPage,"_blank")}function Wa(){window.open(_.youtube,"_blank")}function _a(){window.open(_.discordLink,"_blank")}function Aa(){window.open(_.githubPage,"_blank")}function Na(){window.open(_.docsPage,"_blank")}function Sa(e){return!e}function Ea(e){return!e}function Pa(e){return!e}function Da(e){return[e,{disabled:!1}]}async function Ia(){let e=new Event("export-beforeprint"),t=new Event("export-afterprint");(function(){window.dispatchEvent(e),setTimeout(Ha,0),setTimeout(()=>window.dispatchEvent(t),0)})()}function Ha(){return window.print()}async function Ta(){let e=document.getElementById("App");e&&await ut(e,document.title)}function La(e){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:e&&(0,a.jsx)(fe,{size:14})})}export{_e as a,ve as c,Ae as i,je as l,Ee as n,Me as o,pa as r,Ce as s,wa as t,ge as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as I,n as i,p as k}from"./useEvent-DlWF5OMa.js";import{C as w,gn as y,mr as F,p as f,rt as b,vr as x}from"./cells-rr1jjvJk.js";import{t as C}from"./compiler-runtime-DeeZ7FnK.js";import{d as D}from"./hotkeys-uKX61F1_.js";import{o as H}from"./dist-DKNOF5xd.js";import{r as V}from"./requests-C0HaHO6a.js";var u=C();const g=k(!1);function _(){let r=(0,u.c)(2),n=p(),t;return r[0]===n?t=r[1]:(t=()=>n(x(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}=w(),{sendRun:t}=V(),e=I(g),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),v({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 v({cellIds:r,sendRun:n,prepareForRun:t,notebook:e}){var m,R,h;if(r.length===0)return;let{cellHandles:o,cellData:s}=e,c=[];for(let a of r){let l=(R=(m=o[a])==null?void 0:m.current)==null?void 0:R.editorView,d;l?(y(l)!=="markdown"&&H(l),d=b(l)):d=((h=s[a])==null?void 0:h.code)||"",c.push(d),t({cellId:a})}await n({cellIds:r,codes:c}).catch(a=>{D.error(a)})}export{p as a,j as i,v as n,_ as o,q as r,g as t};
|
|
@@ -1 +1 @@
|
|
|
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-
|
|
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-rr1jjvJk.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-DBzN8QcP.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 +1 @@
|
|
|
1
|
-
import{i as o,p as d,u as h}from"./useEvent-DlWF5OMa.js";import{t as f}from"./compiler-runtime-DeeZ7FnK.js";import{g as k,t as g}from"./utils-
|
|
1
|
+
import{i as o,p as d,u as h}from"./useEvent-DlWF5OMa.js";import{t as f}from"./compiler-runtime-DeeZ7FnK.js";import{g as k,t as g}from"./utils-CJJIceVn.js";var y=f();const b=["light","dark","system"];var p=d(t=>{if(g()){if(document.body.classList.contains("dark-mode")||document.body.classList.contains("dark")||document.body.dataset.theme==="dark"||document.body.dataset.mode==="dark"||s()==="dark")return"dark";let e=window.getComputedStyle(document.body),r=e.getPropertyValue("color-scheme").trim();if(r)return r.includes("dark")?"dark":"light";let a=e.getPropertyValue("background-color").match(/\d+/g);if(a){let[m,u,l]=a.map(Number);return(m*299+u*587+l*114)/1e3<128?"dark":"light"}return"light"}return t(k).display.theme}),n=d(!1);function v(){if(typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia("(prefers-color-scheme: dark)");o.set(n,t.matches),t.addEventListener("change",e=>{o.set(n,e.matches)})}v();function s(){switch(document.body.dataset.vscodeThemeKind){case"vscode-dark":return"dark";case"vscode-high-contrast":return"dark";case"vscode-light":return"light"}}var i=d(s());function w(){let t=new MutationObserver(()=>{let e=s();o.set(i,e)});return t.observe(document.body,{attributes:!0,attributeFilter:["data-vscode-theme-kind"]}),()=>t.disconnect()}w();const c=d(t=>{let e=t(p),r=t(i);if(r!==void 0)return r;let a=t(n);return e==="system"?a?"dark":"light":e});function L(){let t=(0,y.c)(3),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e={store:o},t[0]=e):e=t[0];let r=h(c,e),a;return t[1]===r?a=t[2]:(a={theme:r},t[1]=r,t[2]=a),a}export{c as n,L as r,b as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var at=Object.defineProperty;var it=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var a=(t,e,n)=>it(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 ot,p as P}from"./useEvent-DlWF5OMa.js";import{t as lt}from"./react-BGmjiNul.js";import{Gr as ut,Xr as ct,Zr as z,v as dt,y as ft,zr as mt}from"./cells-DAR6V-0d.js";import{B as pt,C as de,D as ht,I as gt,N as yt,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 bt}from"./get-CyLJYAfP.js";import{r as wt}from"./useLifecycle-BX7GmOQ5.js";import{t as vt}from"./debounce-BbFlGgjv.js";import{t as xt}from"./_baseSet-6FYvpjrm.js";import{f as y,u as E}from"./hotkeys-D3ICc8RW.js";import{t as Et}from"./invariant-C6yE60hi.js";import{S as _t}from"./utils-Cxqw03y3.js";import{M as Ct}from"./config-D3ojpe3F.js";import{a as kt}from"./switch-C8yab1pC.js";import{n as he}from"./globals-CJb4gcmW.js";import{t as ge}from"./ErrorBoundary-BYCO3_zw.js";import{t as Rt}from"./jsx-runtime-DN_bIXfG.js";import{t as Ft}from"./button-C9TEIJJh.js";import{t as Nt}from"./cn-C1rgT0yh.js";import{Z as St}from"./JsonOutput-NOfbbuUx.js";import{t as ye}from"./requests-C0HaHO6a.js";import{t as be}from"./createLucideIcon-CW2xpJ57.js";import{h as qt}from"./select-BJ18Dxpd.js";import{c as Pt,i as Mt,l as jt,r as Tt,u as It}from"./markdown-renderer-B9gYLzJX.js";import{t as At}from"./DeferredRequestRegistry-B3BENoUa.js";import{t as K}from"./Deferred-DzyBMRsy.js";import{t as Lt}from"./uuid-ClFZlR7U.js";import{t as Ut}from"./use-toast-Bzf3rpev.js";import{t as we}from"./tooltip-CvjcEpZC.js";import{t as ve}from"./mode-D4GlAyEq.js";import{n as zt,r as Ot,t as Wt}from"./share-0dWXMs9M.js";import{r as Dt,t as Ht}from"./react-resizable-panels.browser.esm-BqxQegSf.js";import{t as xe}from"./toggle-G1t0cQyf.js";function Bt(t,e,n){return t==null?t:xt(t,e,n)}var H=Bt,Vt=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"}]]),Xt=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 $t(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(lt(),1),Z=(0,u.createContext)(null),Yt=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},Gt=Object.defineProperty,Qt=(t,e,n)=>e in t?Gt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ee=(t,e,n)=>(Qt(t,typeof e=="symbol"?e:e+"",n),n),_e=console,Kt=class{constructor(t){Ee(this,"_bus"),Ee(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{_e.error("[handleFillUpdated] component was expected to be defined");return}}handleFillUnmount({fill:t}){let e=this._db.byFill.get(t.ref);if(!e){_e.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)}},Zt=Object.defineProperty,Jt=(t,e,n)=>e in t?Zt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,en=(t,e,n)=>(Jt(t,typeof e=="symbol"?e:e+"",n),n),Ce=class{constructor(){en(this,"bus",$t())}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 tn(t){let e=t||new Ce;return{controller:e,manager:new Kt(e.bus)}}var nn=({controller:t,children:e})=>{let[n]=u.useState(()=>{let r=tn(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 ke=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 rn=new Ce,B={SIDEBAR:"sidebar",CONTEXT_AWARE_PANEL:"context-aware-panel"};var sn=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)}},Re=class ue{constructor(e){a(this,"subscriptions",new sn);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)}},an=1e10,on=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 ln(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=on}=t;t.transport&&s(t.transport),t.requestHandler&&d(t.requestHandler),t._debugHooks&&n(t._debugHooks);let p=0;function b(){return p<=an?++p:p=0}let x=new Map,w=new Map;function _(o,...f){let g=f[0];return new Promise((c,h)=>{var I;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)),(I=e.onSend)==null||I.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,q=new Set;function T(o,f){var g;if(!r.registerHandler)throw V(["registerHandler"],"register message listeners");if(o==="*"){q.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==="*"){q.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(I){if(!(I instanceof Error))throw I;M={type:"response",id:c,success:!1,error:I.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 q)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:T,removeMessageListener:L,proxy:{send:v,request:C},_setDebugHooks:n}}function un(t){return ln(t)}var Fe="[transport-id]";function cn(t,e){let{transportId:n}=e;return n==null?t:{[Fe]:n,data:t}}function dn(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[Fe]!==n)return[!0];i=t.data}return s===!1?[!0]:[!1,i]}function fn(t,e={}){let{transportId:n,filter:r,remotePort:s}=e,i=t,d=s??t,l;return{send(p){d.postMessage(cn(p,{transportId:n}))},registerHandler(p){l=b=>{let x=b.data,[w,_]=dn(x,{transportId:n,filter:()=>r==null?void 0:r(b)});w||p(_)},i.addEventListener("message",l)},unregisterHandler(){l&&i.removeEventListener("message",l)}}}function mn(t,e){return fn(t,e)}function Ne(t){return un({transport:mn(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{E.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{E.debug("[rpc] Worker -> Parent",e)}}})}const Se=P("Initializing..."),pn=P(t=>{let e=t(dt),n=Object.values(e.cellRuntime);return n.some(r=>!It(r.output))?!0:n.every(r=>r.status==="idle")});var qe=zt(),Pe="marimo:file",Me=new mt(null);const hn={saveFile(t){Me.set(Pe,t)},readFile(){return Me.get(Pe)}};var gn={saveFile(t){z.setCodeForHash((0,qe.compressToEncodedURIComponent)(t))},readFile(){let t=z.getCodeFromHash()||z.getCodeFromSearchParam();return t?(0,qe.decompressFromEncodedURIComponent)(t):null}};const yn={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var bn={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)}},wn={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
|
|
1
|
+
var at=Object.defineProperty;var it=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var a=(t,e,n)=>it(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 ot,p as P}from"./useEvent-DlWF5OMa.js";import{t as lt}from"./react-BGmjiNul.js";import{Rr as ut,Wr as ct,Xr as z,Yr as dt,v as ft,y as mt}from"./cells-rr1jjvJk.js";import{B as pt,C as de,D as ht,I as gt,N as yt,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 bt}from"./get-CyLJYAfP.js";import{r as wt}from"./useLifecycle-CmDXEyIC.js";import{t as vt}from"./debounce-BbFlGgjv.js";import{t as xt}from"./_baseSet-6FYvpjrm.js";import{d as E,p as y}from"./hotkeys-uKX61F1_.js";import{t as Et}from"./invariant-C6yE60hi.js";import{x as _t}from"./utils-CJJIceVn.js";import{M as Ct}from"./config-cCkBQ_ER.js";import{a as kt}from"./switch-iJj-D3dz.js";import{n as he}from"./globals-D46Vbo5D.js";import{t as ge}from"./ErrorBoundary-Drf1manw.js";import{t as Rt}from"./jsx-runtime-DN_bIXfG.js";import{t as Ft}from"./button-DuYGqRtX.js";import{t as Nt}from"./cn-C1rgT0yh.js";import{Z as St}from"./JsonOutput-CkeISXrs.js";import{t as ye}from"./requests-C0HaHO6a.js";import{t as be}from"./createLucideIcon-CW2xpJ57.js";import{h as qt}from"./select-D0g5GnIs.js";import{c as Pt,i as Mt,l as jt,r as Tt,u as It}from"./markdown-renderer-DecoaRsV.js";import{t as At}from"./DeferredRequestRegistry-B3BENoUa.js";import{t as K}from"./Deferred-DzyBMRsy.js";import{t as Lt}from"./uuid-ClFZlR7U.js";import{t as Ut}from"./use-toast-Bzf3rpev.js";import{t as we}from"./tooltip-CvjcEpZC.js";import{t as ve}from"./mode-BYulXE3t.js";import{n as zt,r as Ot,t as Wt}from"./share-CXQVxivL.js";import{r as Dt,t as Ht}from"./react-resizable-panels.browser.esm-BqxQegSf.js";import{t as xe}from"./toggle-G1t0cQyf.js";function Bt(t,e,n){return t==null?t:xt(t,e,n)}var H=Bt,Vt=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"}]]),Xt=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 $t(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(lt(),1),Z=(0,u.createContext)(null),Yt=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},Gt=Object.defineProperty,Qt=(t,e,n)=>e in t?Gt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ee=(t,e,n)=>(Qt(t,typeof e=="symbol"?e:e+"",n),n),_e=console,Kt=class{constructor(t){Ee(this,"_bus"),Ee(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{_e.error("[handleFillUpdated] component was expected to be defined");return}}handleFillUnmount({fill:t}){let e=this._db.byFill.get(t.ref);if(!e){_e.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)}},Zt=Object.defineProperty,Jt=(t,e,n)=>e in t?Zt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,en=(t,e,n)=>(Jt(t,typeof e=="symbol"?e:e+"",n),n),Ce=class{constructor(){en(this,"bus",$t())}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 tn(t){let e=t||new Ce;return{controller:e,manager:new Kt(e.bus)}}var nn=({controller:t,children:e})=>{let[n]=u.useState(()=>{let r=tn(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 ke=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 rn=new Ce,B={SIDEBAR:"sidebar",CONTEXT_AWARE_PANEL:"context-aware-panel"};var sn=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)}},Re=class ue{constructor(e){a(this,"subscriptions",new sn);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)}},an=1e10,on=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 ln(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=on}=t;t.transport&&s(t.transport),t.requestHandler&&d(t.requestHandler),t._debugHooks&&n(t._debugHooks);let p=0;function b(){return p<=an?++p:p=0}let x=new Map,w=new Map;function _(o,...f){let g=f[0];return new Promise((c,h)=>{var I;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)),(I=e.onSend)==null||I.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,q=new Set;function T(o,f){var g;if(!r.registerHandler)throw V(["registerHandler"],"register message listeners");if(o==="*"){q.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==="*"){q.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(I){if(!(I instanceof Error))throw I;M={type:"response",id:c,success:!1,error:I.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 q)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:T,removeMessageListener:L,proxy:{send:v,request:C},_setDebugHooks:n}}function un(t){return ln(t)}var Fe="[transport-id]";function cn(t,e){let{transportId:n}=e;return n==null?t:{[Fe]:n,data:t}}function dn(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[Fe]!==n)return[!0];i=t.data}return s===!1?[!0]:[!1,i]}function fn(t,e={}){let{transportId:n,filter:r,remotePort:s}=e,i=t,d=s??t,l;return{send(p){d.postMessage(cn(p,{transportId:n}))},registerHandler(p){l=b=>{let x=b.data,[w,_]=dn(x,{transportId:n,filter:()=>r==null?void 0:r(b)});w||p(_)},i.addEventListener("message",l)},unregisterHandler(){l&&i.removeEventListener("message",l)}}}function mn(t,e){return fn(t,e)}function Ne(t){return un({transport:mn(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{E.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{E.debug("[rpc] Worker -> Parent",e)}}})}const Se=P("Initializing..."),pn=P(t=>{let e=t(ft),n=Object.values(e.cellRuntime);return n.some(r=>!It(r.output))?!0:n.every(r=>r.status==="idle")});var qe=zt(),Pe="marimo:file",Me=new ut(null);const hn={saveFile(t){Me.set(Pe,t)},readFile(){return Me.get(Pe)}};var gn={saveFile(t){z.setCodeForHash((0,qe.compressToEncodedURIComponent)(t))},readFile(){let t=z.getCodeFromHash()||z.getCodeFromSearchParam();return t?(0,qe.decompressFromEncodedURIComponent)(t):null}};const yn={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var bn={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)}},wn={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
|
|
2
2
|
`)}},je=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 je([yn,gn]),ee=new je([hn,bn,wn]);var Te=class rt{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(ft)||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}),kt.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)),Ot(),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=Wt({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:Lt()}),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);Ct()&&(this.rpc=Ne(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(Se,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(E.error(e),Ut({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 rt),window[e]}getSaveWorker(){return ve()==="read"?(E.debug("Skipping SaveWorker in read-mode"),{readFile:y,readNotebook:y,saveNotebook:y}):Ne(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(_t),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:ve()==="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 vn(){return Re.withProducerCallback(t=>{Te.INSTANCE.attachMessageConsumer(t)})}const Ie=P({isInstantiated:!1,error:null});function xn(){return ot(Ie,t=>t.isInstantiated)}function $(t){return()=>({TYPE:t,is(e){return e.type===t},create(e){return new CustomEvent(t,e)}})}const Ae=$("marimo-value-input")(),Le=$("marimo-value-update")(),Ue=$("marimo-value-ready")(),ze=$("marimo-incoming-message")();function En(t,e){return Ae.create({bubbles:!0,composed:!0,detail:{value:t,element:e}})}var Oe=class st{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new st),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:ct(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(ze.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(Le.create({bubbles:!1,composed:!0,detail:{value:r,element:i}}))}),document.dispatchEvent(Ue.create({bubbles:!0,composed:!0,detail:{objectId:n}})))}};const _n=Oe.INSTANCE,Cn=new At("function-call-result",async(t,e)=>{await ye().sendFunctionRequest({functionCallId:t,...e})}),kn="68px";var Rn="288px";const Fn=t=>t?/^\d+$/.test(t)?`${t}px`:t:Rn,Nn=ut({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 Sn(t){return jt(Tt(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=bt(t,i);if(d instanceof DataView){let l=Sn(d);r.push(l),s.push(i),H(n,i,l)}}return{state:n,buffers:r,bufferPaths:s}}function qn(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&&Et(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=Mt(Pt(l));H(s,d,new DataView(p.buffer))}else H(s,d,l)}return s}const We=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 De=(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",vt(()=>{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=He.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",We),j),re=me(me(pt([fe(),yt()]))),se=gt(fe(),de()),He=ht("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 Pn(t){return t==null?!1:He.safeParse(t).success}async function Mn({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 De(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}wt(s)}const Be=P(null),jn=P(null),Ve=P(!1),Tn=P(!1),Xe=P(!1);var In=pe();const $e=t=>{let e=(0,In.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,q=!1,T=null,L=c=>{if(!C||!q||!T)return;let h=c.clientX-N;N=c.clientX,v=T==="left"?v-h:v+h,s&&(v=Math.max(s,v)),i&&(v=Math.min(i,v)),C.style.width=`${v}px`},U=()=>{q&&(n==null||n(v),q=!1,T=null),document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",U)},o=(c,h)=>{c.preventDefault(),q=!0,T=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 Ye(t){t||window.dispatchEvent(new Event("resize"))}var Ge=pe(),m=ce(Rt(),1);const An=()=>{let t=(0,Ge.c)(16),[e,n]=D(Be),[r,s]=D(Ve),[i,d]=D(Tn),[l,p]=D(Xe),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)(we,{content:i?"Unpin panel":"Pin panel",children:(0,m.jsx)(xe,{size:"xs",onPressedChange:()=>d(!i),pressed:i,"aria-label":i?"Unpin panel":"Pin panel",children:i?(0,m.jsx)(Xt,{className:"w-4 h-4"}):(0,m.jsx)(St,{className:"w-4 h-4"})})}),(0,m.jsx)(we,{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)(xe,{size:"xs",onPressedChange:()=>p(!l),pressed:l,"aria-label":l?"Follow focused cell":"Fixed",children:(0,m.jsx)(Vt,{className:Nt("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)(Ft,{variant:"linkDestructive",size:"icon",onClick:x,"aria-label":"Close selection panel",children:(0,m.jsx)(qt,{className:"w-4 h-4"})})]}),(0,m.jsx)(ge,{children:(0,m.jsx)(ke,{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)(Un,{children:C()}),t[11]=C,t[12]=v),v}let k;t[13]===Symbol.for("react.memo_cache_sentinel")?(k=(0,m.jsx)(Dt,{onDragging:Ye,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)(Ht,{defaultSize:20,minSize:15,maxSize:80,children:C()})]}),t[14]=C,t[15]=R),R},Ln=t=>{let e=(0,Ge.c)(2),{children:n}=t,r;return e[0]===n?r=e[1]:(r=(0,m.jsx)(ge,{children:(0,m.jsx)(Yt,{name:B.CONTEXT_AWARE_PANEL,children:n})}),e[0]=n,e[1]=r),r};var Un=({children:t})=>{let{resizableDivRef:e,handleRefs:n,style:r}=$e({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 zn(){var t=[...arguments];return(0,u.useMemo)(()=>e=>{t.forEach(n=>n(e))},t)}var Qe=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 A(t){var e;return t?G(t)?t:ae(t)?((e=t.ownerDocument)==null?void 0:e.defaultView)??window:window:window}function Ke(t){let{Document:e}=A(t);return t instanceof e}function Ze(t){return G(t)?!1:t instanceof A(t).HTMLElement}function Je(t){return t instanceof A(t).SVGElement}function On(t){return t?G(t)?t.document:ae(t)?Ke(t)?t:Ze(t)||Je(t)?t.ownerDocument:document:document:document}var ie=Qe?u.useLayoutEffect:u.useEffect;function et(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 Wn(){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 Dn(t,e){e===void 0&&(e=[t]);let n=(0,u.useRef)(t);return ie(()=>{n.current!==t&&(n.current=t)},e),n}function Hn(t,e){let n=(0,u.useRef)();return(0,u.useMemo)(()=>{let r=t(n.current);return n.current=r,r},[...e])}function Bn(t){let e=et(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 Vn(t){let e=(0,u.useRef)();return(0,u.useEffect)(()=>{e.current=t},[t]),e.current}var oe={};function Xn(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 tt(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 $n=tt(1),Yn=tt(-1);function Gn(t){return"clientX"in t&&"clientY"in t}function Qn(t){if(!t)return!1;let{KeyboardEvent:e}=A(t.target);return e&&t instanceof e}function Kn(t){if(!t)return!1;let{TouchEvent:e}=A(t.target);return e&&t instanceof e}function Zn(t){if(Kn(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 Gn(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}}}),nt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Jn(t){return t.matches(nt)?t:t.querySelector(nt)}export{vn as $,jn as A,Fn as B,Xn as C,$e as D,Ye as E,Pn as F,ze as G,Cn as H,Y as I,Le as J,Ae as K,qn as L,We as M,De as N,Ve as O,Mn as P,Te as Q,ne as R,Vn as S,Ln as T,Oe as U,Nn as V,_n as W,Ie as X,En as Y,xn as Z,Wn as _,Zn as a,rn as at,Hn as b,Ke as c,J as ct,ae as d,X as et,Je as f,et as g,zn as h,Jn as i,B as it,Xe as j,Be as k,Ze as l,H as lt,Yn as m,$n as n,Se as nt,On as o,nn as ot,G as p,Ue as q,Qe as r,Re as rt,A as s,ke as st,le as t,pn as tt,Qn as u,ie as v,An as w,Bn as x,Dn as y,kn as z};
|
|
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(mt)||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}),kt.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)),Ot(),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=Wt({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:Lt()}),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);Ct()&&(this.rpc=Ne(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(Se,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(E.error(e),Ut({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 rt),window[e]}getSaveWorker(){return ve()==="read"?(E.debug("Skipping SaveWorker in read-mode"),{readFile:y,readNotebook:y,saveNotebook:y}):Ne(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(_t),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:ve()==="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 vn(){return Re.withProducerCallback(t=>{Te.INSTANCE.attachMessageConsumer(t)})}const Ie=P({isInstantiated:!1,error:null});function xn(){return ot(Ie,t=>t.isInstantiated)}function $(t){return()=>({TYPE:t,is(e){return e.type===t},create(e){return new CustomEvent(t,e)}})}const Ae=$("marimo-value-input")(),Le=$("marimo-value-update")(),Ue=$("marimo-value-ready")(),ze=$("marimo-incoming-message")();function En(t,e){return Ae.create({bubbles:!0,composed:!0,detail:{value:t,element:e}})}var Oe=class st{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new st),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:dt(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(ze.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(Le.create({bubbles:!1,composed:!0,detail:{value:r,element:i}}))}),document.dispatchEvent(Ue.create({bubbles:!0,composed:!0,detail:{objectId:n}})))}};const _n=Oe.INSTANCE,Cn=new At("function-call-result",async(t,e)=>{await ye().sendFunctionRequest({functionCallId:t,...e})}),kn="68px";var Rn="288px";const Fn=t=>t?/^\d+$/.test(t)?`${t}px`:t:Rn,Nn=ct({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 Sn(t){return jt(Tt(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=bt(t,i);if(d instanceof DataView){let l=Sn(d);r.push(l),s.push(i),H(n,i,l)}}return{state:n,buffers:r,bufferPaths:s}}function qn(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&&Et(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=Mt(Pt(l));H(s,d,new DataView(p.buffer))}else H(s,d,l)}return s}const We=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 De=(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",vt(()=>{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=He.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",We),j),re=me(me(pt([fe(),yt()]))),se=gt(fe(),de()),He=ht("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 Pn(t){return t==null?!1:He.safeParse(t).success}async function Mn({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 De(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}wt(s)}const Be=P(null),jn=P(null),Ve=P(!1),Tn=P(!1),Xe=P(!1);var In=pe();const $e=t=>{let e=(0,In.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,q=!1,T=null,L=c=>{if(!C||!q||!T)return;let h=c.clientX-N;N=c.clientX,v=T==="left"?v-h:v+h,s&&(v=Math.max(s,v)),i&&(v=Math.min(i,v)),C.style.width=`${v}px`},U=()=>{q&&(n==null||n(v),q=!1,T=null),document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",U)},o=(c,h)=>{c.preventDefault(),q=!0,T=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 Ye(t){t||window.dispatchEvent(new Event("resize"))}var Ge=pe(),m=ce(Rt(),1);const An=()=>{let t=(0,Ge.c)(16),[e,n]=D(Be),[r,s]=D(Ve),[i,d]=D(Tn),[l,p]=D(Xe),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)(we,{content:i?"Unpin panel":"Pin panel",children:(0,m.jsx)(xe,{size:"xs",onPressedChange:()=>d(!i),pressed:i,"aria-label":i?"Unpin panel":"Pin panel",children:i?(0,m.jsx)(Xt,{className:"w-4 h-4"}):(0,m.jsx)(St,{className:"w-4 h-4"})})}),(0,m.jsx)(we,{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)(xe,{size:"xs",onPressedChange:()=>p(!l),pressed:l,"aria-label":l?"Follow focused cell":"Fixed",children:(0,m.jsx)(Vt,{className:Nt("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)(Ft,{variant:"linkDestructive",size:"icon",onClick:x,"aria-label":"Close selection panel",children:(0,m.jsx)(qt,{className:"w-4 h-4"})})]}),(0,m.jsx)(ge,{children:(0,m.jsx)(ke,{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)(Un,{children:C()}),t[11]=C,t[12]=v),v}let k;t[13]===Symbol.for("react.memo_cache_sentinel")?(k=(0,m.jsx)(Dt,{onDragging:Ye,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)(Ht,{defaultSize:20,minSize:15,maxSize:80,children:C()})]}),t[14]=C,t[15]=R),R},Ln=t=>{let e=(0,Ge.c)(2),{children:n}=t,r;return e[0]===n?r=e[1]:(r=(0,m.jsx)(ge,{children:(0,m.jsx)(Yt,{name:B.CONTEXT_AWARE_PANEL,children:n})}),e[0]=n,e[1]=r),r};var Un=({children:t})=>{let{resizableDivRef:e,handleRefs:n,style:r}=$e({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 zn(){var t=[...arguments];return(0,u.useMemo)(()=>e=>{t.forEach(n=>n(e))},t)}var Qe=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 A(t){var e;return t?G(t)?t:ae(t)?((e=t.ownerDocument)==null?void 0:e.defaultView)??window:window:window}function Ke(t){let{Document:e}=A(t);return t instanceof e}function Ze(t){return G(t)?!1:t instanceof A(t).HTMLElement}function Je(t){return t instanceof A(t).SVGElement}function On(t){return t?G(t)?t.document:ae(t)?Ke(t)?t:Ze(t)||Je(t)?t.ownerDocument:document:document:document}var ie=Qe?u.useLayoutEffect:u.useEffect;function et(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 Wn(){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 Dn(t,e){e===void 0&&(e=[t]);let n=(0,u.useRef)(t);return ie(()=>{n.current!==t&&(n.current=t)},e),n}function Hn(t,e){let n=(0,u.useRef)();return(0,u.useMemo)(()=>{let r=t(n.current);return n.current=r,r},[...e])}function Bn(t){let e=et(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 Vn(t){let e=(0,u.useRef)();return(0,u.useEffect)(()=>{e.current=t},[t]),e.current}var oe={};function Xn(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 tt(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 $n=tt(1),Yn=tt(-1);function Gn(t){return"clientX"in t&&"clientY"in t}function Qn(t){if(!t)return!1;let{KeyboardEvent:e}=A(t.target);return e&&t instanceof e}function Kn(t){if(!t)return!1;let{TouchEvent:e}=A(t.target);return e&&t instanceof e}function Zn(t){if(Kn(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 Gn(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}}}),nt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Jn(t){return t.matches(nt)?t:t.querySelector(nt)}export{vn as $,jn as A,Fn as B,Xn as C,$e as D,Ye as E,Pn as F,ze as G,Cn as H,Y as I,Le as J,Ae as K,qn as L,We as M,De as N,Ve as O,Mn as P,Te as Q,ne as R,Vn as S,Ln as T,Oe as U,Nn as V,_n as W,Ie as X,En as Y,xn as Z,Wn as _,Zn as a,rn as at,Hn as b,Ke as c,J as ct,ae as d,X as et,Je as f,et as g,zn as h,Jn as i,B as it,Xe as j,Be as k,Ze as l,H as lt,Yn as m,$n as n,Se as nt,On as o,nn as ot,G as p,Ue as q,Qe as r,Re as rt,A as s,ke as st,le as t,pn as tt,Qn as u,ie as v,An as w,Bn as x,Dn as y,kn as z};
|
|
@@ -1 +1 @@
|
|
|
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{
|
|
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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as Z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-DlWF5OMa.js";import{t as R}from"./react-BGmjiNul.js";import"./react-dom-C9fstfnp.js";import{t as tt}from"./compiler-runtime-DeeZ7FnK.js";import{t as nt}from"./_baseUniq-CsutM-S0.js";import{t as et}from"./debounce-BbFlGgjv.js";import{r as rt,t as at}from"./tooltip-BNPhCMFo.js";import{a as V,u as _}from"./hotkeys-D3ICc8RW.js";import{n as z}from"./config-D3ojpe3F.js";import{t as it}from"./jsx-runtime-DN_bIXfG.js";import{r as ot}from"./button-C9TEIJJh.js";import{u as lt}from"./toDate-5JckKRQn.js";import{r as ct}from"./useTheme-CuOCKnyR.js";import"./Combination-D1TsGrBC.js";import{t as st}from"./tooltip-CvjcEpZC.js";import{t as mt}from"./isValid-DhzaK-Y1.js";import{n as ut}from"./error-banner-D2-5vgE4.js";import{n as pt}from"./vega-loader.browser-C8wT63Va.js";import{t as ft}from"./react-vega-ENLQ2Qtg.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{r as dt,t as ht}from"./alert-BEdExd6A.js";import{n as gt}from"./useAsyncData-BJJJOr9W.js";import{t as yt}from"./formats-nh-sPUUZ.js";import{t as H}from"./useDeepCompareMemoize-gzLRYatP.js";function vt(t){return t&&t.length?nt(t):[]}var N=vt,kt=tt(),x=Z(R(),1);function bt(t){return t.data&&"url"in t.data&&(t.data.url=z(t.data.url).href),t}const p={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var F=new Set(["boxplot","errorband","errorbar"]);const S={getMarkType(t){let n=typeof t=="string"?t:t.type;if(F.has(n))throw Error("Not supported");return n},isInteractive(t){let n=typeof t=="string"?t:t.type;return!F.has(n)},makeClickable(t){let n=typeof t=="string"?t:t.type;return n in p?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:n,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(n=>n.startsWith("select_point"))},hasInterval(t){return t.some(n=>n.startsWith("select_interval"))},hasLegend(t){return t.some(n=>n.startsWith("legend_selection"))},hasPanZoom(t){return t.some(n=>n.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},j={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,n){return{name:y.interval(n),select:{type:"interval",encodings:W(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,n){return{name:y.point(n),select:{type:"point",encodings:W(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function W(t){switch(S.getMarkType(t.mark)){case p.image:case p.trail:return;case p.area:case p.arc:return["color"];case p.bar:{let n=wt(t);return n==="horizontal"?["y"]:n==="vertical"?["x"]:void 0}case p.circle:case p.geoshape:case p.line:case p.point:case p.rect:case p.rule:case p.square:case p.text:case p.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(n=>n==null?!1:"select"in n&&n.select!==void 0).map(n=>n.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function wt(t){var a,r;if(!t||!("mark"in t))return;let n=(a=t.encoding)==null?void 0:a.x,e=(r=t.encoding)==null?void 0:r.y;if(n&&"type"in n&&n.type==="nominal")return"vertical";if(e&&"type"in e&&e.type==="nominal"||n&&"aggregate"in n)return"horizontal";if(e&&"aggregate"in e)return"vertical"}function xt(t){if(!t.encoding)return[];let n=[];for(let e of Object.values(t.encoding))e&&typeof e=="object"&&"bin"in e&&e.bin&&"field"in e&&typeof e.field=="string"&&n.push(e.field);return n}function D(t){if(!t||!("encoding"in t))return[];let{encoding:n}=t;return n?Object.entries(n).flatMap(e=>{let[a,r]=e;return!r||!St.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var St=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function G(t,n,e,a){let r=e.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:e).map(o=>({param:o}))};if(t==="opacity"){let o=S.getOpacity(a)||1;return{...n,opacity:{condition:{test:i,value:o},value:o/5}}}else return n}function At(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let n=t.select;if(typeof n=="string")return JSON.stringify({type:n,bind:t.bind});let e={type:n.type,encodings:"encodings"in n&&n.encodings?[...n.encodings].sort():void 0,fields:"fields"in n&&n.fields?[...n.fields].sort():void 0,bind:t.bind};return JSON.stringify(e)}function $(t){let n=E(t);if(n.length===0)return t;let e=_t(n);return e.length===0?t:{...L(K(t,new Set(e.map(a=>a.name))),e.map(a=>a.name)),params:[...t.params||[],...e]}}function E(t){let n=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let e of t.vconcat)n.push(...E(e));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let e of t.hconcat)n.push(...E(e));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&n.push({params:t.params})}return n}function _t(t){if(t.length===0)return[];let n=new Map,e=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=At(o);i.has(l)||(i.add(l),n.has(l)||n.set(l,{count:0,param:o}),n.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of n)r===e&&a.push(i);return a}function K(t,n){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(e=>K(e,n))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(e=>K(e,n))};if("mark"in t&&"params"in t&&t.params){let e=t.params,a=[];for(let r of e){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}n.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,n){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(e=>L(e,n))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(e=>L(e,n))}:"layer"in t?t:"mark"in t&&S.isInteractive(t.mark)?{...t,mark:S.makeClickable(t.mark),encoding:G("opacity",t.encoding||{},n,t.mark)}:t}function T(t,n){var l,k;let{chartSelection:e=!0,fieldSelection:a=!0}=n;if(!e&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(e=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return $({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return $({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let u=t.layer.flatMap(f=>"mark"in f?D(f):[]);v=[...new Set(u)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((u,f)=>{if(!("mark"in u))return u;let h=u;if(f===0&&v.length>0){let O=v.map(M=>j.legend(M));h={...h,params:[...h.params||[],...O]}}return h=q(h,e,f),h=J(h),f===0&&(h=B(h)),h});return{...t,layer:w}}if(!("mark"in t)||!S.isInteractive(t.mark))return t;let o=t;return o=jt(o,a),o=q(o,e,void 0),o=J(o),o=B(o),o}function jt(t,n){if(n===!1)return t;let e=D(t);Array.isArray(n)&&(e=e.filter(i=>n.includes(i)));let a=e.map(i=>j.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function q(t,n,e){if(n===!1)return t;let a;try{a=S.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=xt(t),i=n===!0?r.length>0?["point"]:Ot(a):[n];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?j.interval(t,e):j.point(t,e)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(j.binColoring(e)),{...t,params:l}}function B(t){let n;try{n=S.getMarkType(t.mark)}catch{}if(n==="geoshape")return t;let e=t.params||[];return e.some(a=>a.bind==="scales")?t:{...t,params:[...e,j.panZoom()]}}function J(t){let n="encoding"in t?t.encoding:void 0,e=t.params||[],a=e.map(r=>r.name);return e.length===0||!S.isInteractive(t.mark)?t:{...t,mark:S.makeClickable(t.mark),encoding:G("opacity",n||{},a,t.mark)}}function Ot(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function Mt(t){if(!t)return t;let n="datasets"in t?{...t.datasets}:{},e=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(e));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(e));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(e));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await e(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=z(r.data.url)}catch{return r}let o=await rt(i.href,r.data.format);return n[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await e(t);return Object.keys(n).length===0?a:{...a,datasets:n}}var d=Z(it(),1);pt("arrow",yt);var Nt=t=>{let n=(0,kt.c)(12),{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;n[0]===o?(k=n[1],s=n[2]):(k=async()=>Mt(o),s=[o],n[0]=o,n[1]=k,n[2]=s);let{data:m,error:v}=gt(k,s);if(v){let u;return n[3]===v?u=n[4]:(u=(0,d.jsx)(ut,{error:v}),n[3]=v,n[4]=u),u}if(!m)return null;let w;return n[5]!==r||n[6]!==l||n[7]!==i||n[8]!==m||n[9]!==a||n[10]!==e?(w=(0,d.jsx)(Pt,{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),n[5]=r,n[6]=l,n[7]=i,n[8]=m,n[9]=a,n[10]=e,n[11]=w):w=n[11],w},Pt=({value:t,setValue:n,chartSelection:e,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=ct(),l=(0,x.useRef)(null),k=(0,x.useRef)(void 0),[s,m]=(0,x.useState)(),v=(0,x.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),u=(0,x.useMemo)(()=>T(bt(w),{chartSelection:e,fieldSelection:a}),[w,e,a]),f=(0,x.useMemo)(()=>P(u),[u]),h=C(c=>{n({...t,...c})}),O=(0,x.useMemo)(()=>et((c,g)=>{_.debug("[Vega signal]",c,g);let b=V.mapValues(g,Ct);b=V.mapValues(b,It),h({[c]:b})},100),[h]),M=H(f),I=(0,x.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,Y)=>O(b,Y)}),c),[]),[M,O]),Q=C(c=>{_.error(c),_.debug(u),m(c)}),U=C(c=>{_.debug("[Vega view] created",c),k.current=c,m(void 0)}),X=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(st,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(lt,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ft({ref:l,spec:u,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:at.call,renderer:"canvas"},onError:Q,onEmbed:U});return(0,x.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){_.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){_.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(ht,{variant:"destructive",children:[(0,d.jsx)(dt,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:"relative",onPointerDown:ot.stopPropagation(),children:[(0,d.jsx)("div",{ref:l}),X()]})]})};function It(t){return t instanceof Set?[...t]:t}function Ct(t){return Array.isArray(t)?t.map(n=>n instanceof Date&&mt(n)?new Date(n).getTime():n):t}var Et=Nt;export{Et as default};
|
|
1
|
+
import{s as Z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-DlWF5OMa.js";import{t as R}from"./react-BGmjiNul.js";import"./react-dom-C9fstfnp.js";import{t as tt}from"./compiler-runtime-DeeZ7FnK.js";import{t as nt}from"./_baseUniq-CsutM-S0.js";import{t as et}from"./debounce-BbFlGgjv.js";import{r as rt,t as at}from"./tooltip-CrRUCOBw.js";import{a as V,d as _}from"./hotkeys-uKX61F1_.js";import{n as z}from"./config-cCkBQ_ER.js";import{t as it}from"./jsx-runtime-DN_bIXfG.js";import{r as ot}from"./button-DuYGqRtX.js";import{u as lt}from"./toDate-5JckKRQn.js";import{r as ct}from"./useTheme-DfP1CWaW.js";import"./Combination-D1TsGrBC.js";import{t as st}from"./tooltip-CvjcEpZC.js";import{t as mt}from"./isValid-DhzaK-Y1.js";import{n as pt}from"./error-banner-DU5Qb8a8.js";import{n as ut}from"./vega-loader.browser-C8wT63Va.js";import{t as ft}from"./react-vega-ENLQ2Qtg.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{r as dt,t as ht}from"./alert-BEdExd6A.js";import{n as gt}from"./useAsyncData-BJJJOr9W.js";import{t as yt}from"./formats-B9CrBoaO.js";import{t as H}from"./useDeepCompareMemoize-gzLRYatP.js";function vt(t){return t&&t.length?nt(t):[]}var N=vt,kt=tt(),x=Z(R(),1);function bt(t){return t.data&&"url"in t.data&&(t.data.url=z(t.data.url).href),t}const u={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var F=new Set(["boxplot","errorband","errorbar"]);const S={getMarkType(t){let n=typeof t=="string"?t:t.type;if(F.has(n))throw Error("Not supported");return n},isInteractive(t){let n=typeof t=="string"?t:t.type;return!F.has(n)},makeClickable(t){let n=typeof t=="string"?t:t.type;return n in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:n,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(n=>n.startsWith("select_point"))},hasInterval(t){return t.some(n=>n.startsWith("select_interval"))},hasLegend(t){return t.some(n=>n.startsWith("legend_selection"))},hasPanZoom(t){return t.some(n=>n.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},j={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,n){return{name:y.interval(n),select:{type:"interval",encodings:W(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,n){return{name:y.point(n),select:{type:"point",encodings:W(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function W(t){switch(S.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let n=wt(t);return n==="horizontal"?["y"]:n==="vertical"?["x"]:void 0}case u.circle:case u.geoshape:case u.line:case u.point:case u.rect:case u.rule:case u.square:case u.text:case u.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(n=>n==null?!1:"select"in n&&n.select!==void 0).map(n=>n.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function wt(t){var a,r;if(!t||!("mark"in t))return;let n=(a=t.encoding)==null?void 0:a.x,e=(r=t.encoding)==null?void 0:r.y;if(n&&"type"in n&&n.type==="nominal")return"vertical";if(e&&"type"in e&&e.type==="nominal"||n&&"aggregate"in n)return"horizontal";if(e&&"aggregate"in e)return"vertical"}function xt(t){if(!t.encoding)return[];let n=[];for(let e of Object.values(t.encoding))e&&typeof e=="object"&&"bin"in e&&e.bin&&"field"in e&&typeof e.field=="string"&&n.push(e.field);return n}function D(t){if(!t||!("encoding"in t))return[];let{encoding:n}=t;return n?Object.entries(n).flatMap(e=>{let[a,r]=e;return!r||!St.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var St=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function G(t,n,e,a){let r=e.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:e).map(o=>({param:o}))};if(t==="opacity"){let o=S.getOpacity(a)||1;return{...n,opacity:{condition:{test:i,value:o},value:o/5}}}else return n}function At(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let n=t.select;if(typeof n=="string")return JSON.stringify({type:n,bind:t.bind});let e={type:n.type,encodings:"encodings"in n&&n.encodings?[...n.encodings].sort():void 0,fields:"fields"in n&&n.fields?[...n.fields].sort():void 0,bind:t.bind};return JSON.stringify(e)}function $(t){let n=E(t);if(n.length===0)return t;let e=_t(n);return e.length===0?t:{...L(K(t,new Set(e.map(a=>a.name))),e.map(a=>a.name)),params:[...t.params||[],...e]}}function E(t){let n=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let e of t.vconcat)n.push(...E(e));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let e of t.hconcat)n.push(...E(e));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&n.push({params:t.params})}return n}function _t(t){if(t.length===0)return[];let n=new Map,e=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=At(o);i.has(l)||(i.add(l),n.has(l)||n.set(l,{count:0,param:o}),n.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of n)r===e&&a.push(i);return a}function K(t,n){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(e=>K(e,n))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(e=>K(e,n))};if("mark"in t&&"params"in t&&t.params){let e=t.params,a=[];for(let r of e){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}n.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,n){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(e=>L(e,n))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(e=>L(e,n))}:"layer"in t?t:"mark"in t&&S.isInteractive(t.mark)?{...t,mark:S.makeClickable(t.mark),encoding:G("opacity",t.encoding||{},n,t.mark)}:t}function T(t,n){var l,k;let{chartSelection:e=!0,fieldSelection:a=!0}=n;if(!e&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(e=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return $({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return $({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let p=t.layer.flatMap(f=>"mark"in f?D(f):[]);v=[...new Set(p)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((p,f)=>{if(!("mark"in p))return p;let h=p;if(f===0&&v.length>0){let O=v.map(M=>j.legend(M));h={...h,params:[...h.params||[],...O]}}return h=q(h,e,f),h=J(h),f===0&&(h=B(h)),h});return{...t,layer:w}}if(!("mark"in t)||!S.isInteractive(t.mark))return t;let o=t;return o=jt(o,a),o=q(o,e,void 0),o=J(o),o=B(o),o}function jt(t,n){if(n===!1)return t;let e=D(t);Array.isArray(n)&&(e=e.filter(i=>n.includes(i)));let a=e.map(i=>j.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function q(t,n,e){if(n===!1)return t;let a;try{a=S.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=xt(t),i=n===!0?r.length>0?["point"]:Ot(a):[n];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?j.interval(t,e):j.point(t,e)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(j.binColoring(e)),{...t,params:l}}function B(t){let n;try{n=S.getMarkType(t.mark)}catch{}if(n==="geoshape")return t;let e=t.params||[];return e.some(a=>a.bind==="scales")?t:{...t,params:[...e,j.panZoom()]}}function J(t){let n="encoding"in t?t.encoding:void 0,e=t.params||[],a=e.map(r=>r.name);return e.length===0||!S.isInteractive(t.mark)?t:{...t,mark:S.makeClickable(t.mark),encoding:G("opacity",n||{},a,t.mark)}}function Ot(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function Mt(t){if(!t)return t;let n="datasets"in t?{...t.datasets}:{},e=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(e));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(e));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(e));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await e(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=z(r.data.url)}catch{return r}let o=await rt(i.href,r.data.format);return n[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await e(t);return Object.keys(n).length===0?a:{...a,datasets:n}}var d=Z(it(),1);ut("arrow",yt);var Nt=t=>{let n=(0,kt.c)(12),{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;n[0]===o?(k=n[1],s=n[2]):(k=async()=>Mt(o),s=[o],n[0]=o,n[1]=k,n[2]=s);let{data:m,error:v}=gt(k,s);if(v){let p;return n[3]===v?p=n[4]:(p=(0,d.jsx)(pt,{error:v}),n[3]=v,n[4]=p),p}if(!m)return null;let w;return n[5]!==r||n[6]!==l||n[7]!==i||n[8]!==m||n[9]!==a||n[10]!==e?(w=(0,d.jsx)(Pt,{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),n[5]=r,n[6]=l,n[7]=i,n[8]=m,n[9]=a,n[10]=e,n[11]=w):w=n[11],w},Pt=({value:t,setValue:n,chartSelection:e,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=ct(),l=(0,x.useRef)(null),k=(0,x.useRef)(void 0),[s,m]=(0,x.useState)(),v=(0,x.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,x.useMemo)(()=>T(bt(w),{chartSelection:e,fieldSelection:a}),[w,e,a]),f=(0,x.useMemo)(()=>P(p),[p]),h=C(c=>{n({...t,...c})}),O=(0,x.useMemo)(()=>et((c,g)=>{_.debug("[Vega signal]",c,g);let b=V.mapValues(g,Ct);b=V.mapValues(b,It),h({[c]:b})},100),[h]),M=H(f),I=(0,x.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,Y)=>O(b,Y)}),c),[]),[M,O]),Q=C(c=>{_.error(c),_.debug(p),m(c)}),U=C(c=>{_.debug("[Vega view] created",c),k.current=c,m(void 0)}),X=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(st,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(lt,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ft({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:at.call,renderer:"canvas"},onError:Q,onEmbed:U});return(0,x.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){_.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){_.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(ht,{variant:"destructive",children:[(0,d.jsx)(dt,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:"relative",onPointerDown:ot.stopPropagation(),children:[(0,d.jsx)("div",{ref:l}),X()]})]})};function It(t){return t instanceof Set?[...t]:t}function Ct(t){return Array.isArray(t)?t.map(n=>n instanceof Date&&mt(n)?new Date(n).getTime():n):t}var Et=Nt;export{Et as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as V}from"./chunk-LvLJmgfZ.js";import{t as B}from"./react-BGmjiNul.js";import{t as G}from"./compiler-runtime-DeeZ7FnK.js";import{t as H}from"./jsx-runtime-DN_bIXfG.js";import{t as W}from"./button-
|
|
1
|
+
import{s as V}from"./chunk-LvLJmgfZ.js";import{t as B}from"./react-BGmjiNul.js";import{t as G}from"./compiler-runtime-DeeZ7FnK.js";import{t as H}from"./jsx-runtime-DN_bIXfG.js";import{t as W}from"./button-DuYGqRtX.js";import{r as I}from"./requests-C0HaHO6a.js";import{c as J,i as O,n as Q,s as U,t as X}from"./select-D0g5GnIs.js";import{r as D}from"./input-CaEtLL8p.js";import{t as E}from"./use-toast-Bzf3rpev.js";import{a as Z,c as $,i as ee,n as te,r as re}from"./dialog-DUEuLcT2.js";import{t as ae}from"./links-DNmjkr65.js";import{t as P}from"./label-qwandMoh.js";import{r as L}from"./field-DDKGFzpC.js";var oe=G(),T=V(B(),1),t=V(H(),1);function ne(a){return a.sort((e,r)=>e.provider==="env"?1:r.provider==="env"?-1:0)}const le=a=>{let e=(0,oe.c)(43),{providerNames:r,onClose:A,onSuccess:F}=a,{writeSecret:Y}=I(),[o,M]=T.useState(""),[l,R]=T.useState(""),[n,z]=T.useState(r[0]),g;e[0]!==o||e[1]!==n||e[2]!==F||e[3]!==l||e[4]!==Y?(g=async s=>{if(s.preventDefault(),!n){E({title:"Error",description:"No location selected for the secret.",variant:"danger"});return}if(!o||!l||!n){E({title:"Error",description:"Please fill in all fields.",variant:"danger"});return}try{await Y({key:o,value:l,provider:"dotenv",name:n}),E({title:"Secret created",description:"The secret has been created successfully."}),F(o)}catch{E({title:"Error",description:"Failed to create secret. Please try again.",variant:"danger"})}},e[0]=o,e[1]=n,e[2]=F,e[3]=l,e[4]=Y,e[5]=g):g=e[5];let q=g,j;e[6]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsxs)(Z,{children:[(0,t.jsx)($,{children:"Add Secret"}),(0,t.jsx)(re,{children:"Add a new secret to your environment variables."})]}),e[6]=j):j=e[6];let y;e[7]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)(P,{htmlFor:"key",children:"Key"}),e[7]=y):y=e[7];let S;e[8]===Symbol.for("react.memo_cache_sentinel")?(S=s=>{M(se(s.target.value))},e[8]=S):S=e[8];let i;e[9]===o?i=e[10]:(i=(0,t.jsxs)("div",{className:"grid gap-2",children:[y,(0,t.jsx)(D,{id:"key",value:o,onChange:S,placeholder:"MY_SECRET_KEY",required:!0})]}),e[9]=o,e[10]=i);let _;e[11]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(P,{htmlFor:"value",children:"Value"}),e[11]=_):_=e[11];let b;e[12]===Symbol.for("react.memo_cache_sentinel")?(b=s=>R(s.target.value),e[12]=b):b=e[12];let c;e[13]===l?c=e[14]:(c=(0,t.jsx)(D,{id:"value",type:"password",value:l,onChange:b,required:!0,autoComplete:"off"}),e[13]=l,e[14]=c);let C;e[15]===Symbol.for("react.memo_cache_sentinel")?(C=ie()&&(0,t.jsx)(L,{children:"Note: You are sending this key over http."}),e[15]=C):C=e[15];let d;e[16]===c?d=e[17]:(d=(0,t.jsxs)("div",{className:"grid gap-2",children:[_,c,C]}),e[16]=c,e[17]=d);let N;e[18]===Symbol.for("react.memo_cache_sentinel")?(N=(0,t.jsx)(P,{htmlFor:"location",children:"Location"}),e[18]=N):N=e[18];let m;e[19]===r.length?m=e[20]:(m=r.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No dotenv locations configured."}),e[19]=r.length,e[20]=m);let h;e[21]!==n||e[22]!==r?(h=r.length>0&&(0,t.jsxs)(X,{value:n,onValueChange:s=>z(s),children:[(0,t.jsx)(U,{children:(0,t.jsx)(J,{placeholder:"Select a provider"})}),(0,t.jsx)(Q,{children:r.map(ce)})]}),e[21]=n,e[22]=r,e[23]=h):h=e[23];let k;e[24]===Symbol.for("react.memo_cache_sentinel")?(k=(0,t.jsxs)(L,{children:["You can configure the location by setting the"," ",(0,t.jsx)(ae,{href:"https://links.marimo.app/dotenv",children:"dotenv configuration"}),"."]}),e[24]=k):k=e[24];let p;e[25]!==m||e[26]!==h?(p=(0,t.jsxs)("div",{className:"grid gap-2",children:[N,m,h,k]}),e[25]=m,e[26]=h,e[27]=p):p=e[27];let u;e[28]!==d||e[29]!==p||e[30]!==i?(u=(0,t.jsxs)("div",{className:"grid gap-4 py-4",children:[i,d,p]}),e[28]=d,e[29]=p,e[30]=i,e[31]=u):u=e[31];let f;e[32]===A?f=e[33]:(f=(0,t.jsx)(W,{type:"button",variant:"outline",onClick:A,children:"Cancel"}),e[32]=A,e[33]=f);let K=!o||!l||!n,v;e[34]===K?v=e[35]:(v=(0,t.jsx)(W,{type:"submit",disabled:K,children:"Add Secret"}),e[34]=K,e[35]=v);let x;e[36]!==f||e[37]!==v?(x=(0,t.jsxs)(ee,{children:[f,v]}),e[36]=f,e[37]=v,e[38]=x):x=e[38];let w;return e[39]!==q||e[40]!==u||e[41]!==x?(w=(0,t.jsx)(te,{children:(0,t.jsxs)("form",{onSubmit:q,children:[j,u,x]})}),e[39]=q,e[40]=u,e[41]=x,e[42]=w):w=e[42],w};function se(a){return a.replaceAll(/\W/g,"_")}function ie(){return window.location.href.startsWith("http://")}function ce(a){return(0,t.jsx)(O,{value:a,children:a},a)}export{ne as n,le as t};
|