@marimo-team/frontend 0.25.3-dev125 → 0.25.3-dev129
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-_Aw9_foI.js → CellStatus-6xDEj3Hs.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-BRgqbAsc.js → ConnectedDataExplorerComponent-DCcLAktu.js} +1 -1
- package/dist/assets/{ErrorBoundary-DxSzjvbx.js → ErrorBoundary-98Xo04DS.js} +2 -2
- package/dist/assets/{JsonOutput-B7pGj79O.js → JsonOutput-V47aiTIK.js} +5 -5
- package/dist/assets/{LazyAnyLanguageCodeMirror-BPYE76jR.js → LazyAnyLanguageCodeMirror-DoxWX_Wp.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-Bzo6Bkp5.js → MarimoErrorOutput-DeWZNBgL.js} +1 -1
- package/dist/assets/{RenderHTML-D6AC0IhC.js → RenderHTML-Bjvcs70-.js} +1 -1
- package/dist/assets/{RunButton-BjYsPiKa.js → RunButton-CnvvXD9d.js} +1 -1
- package/dist/assets/{add-cell-with-ai-CFrR1iW4.js → add-cell-with-ai-BbuqzITi.js} +1 -1
- package/dist/assets/{add-connection-dialog-CyNAB_W2.js → add-connection-dialog-DIC7owvZ.js} +1 -1
- package/dist/assets/{agent-panel-VOrccb5q.js → agent-panel-D8hO2P1x.js} +1 -1
- package/dist/assets/{ai-model-dropdown-Bfxv_zvu.js → ai-model-dropdown-DgmiG_5j.js} +1 -1
- package/dist/assets/alert-dialog-8YiYLrfr.js +1 -0
- package/dist/assets/{any-language-editor-DUMe1UCk.js → any-language-editor-BWmz0P_C.js} +1 -1
- package/dist/assets/{app-config-button-BRcjv8A_.js → app-config-button-UZHv1Iim.js} +1 -1
- package/dist/assets/{blob-DTYOX-m5.js → blob-BPknzzkY.js} +1 -1
- package/dist/assets/{button-D8gVKwe-.js → button-Cl7haVNh.js} +1 -1
- package/dist/assets/{cache-panel-BV-c7ed0.js → cache-panel-DuBsA6oO.js} +1 -1
- package/dist/assets/{capabilities-Pq1YNPlK.js → capabilities-DcB-Dd0T.js} +1 -1
- package/dist/assets/{cell-editor-eKgYK8Bd.js → cell-editor-CM-K1_wq.js} +1 -1
- package/dist/assets/{cell-link-D3rkqgbU.js → cell-link-CAjuFcLK.js} +1 -1
- package/dist/assets/cells-BypTg035.js +220 -0
- package/dist/assets/{chat-display-BrT4VJJK.js → chat-display-BRLNOoTF.js} +1 -1
- package/dist/assets/chat-panel-D02Rk9we.js +4 -0
- package/dist/assets/{chat-ui-SAdJxg-k.js → chat-ui-DFN_RwxF.js} +1 -1
- package/dist/assets/circle-B0vOU-Dh.js +1 -0
- package/dist/assets/{code-visibility-DYDagVy7.js → code-visibility-D1Wf7-vD.js} +1 -1
- package/dist/assets/{column-preview-yI7-INkZ.js → column-preview-85ORMhfB.js} +1 -1
- package/dist/assets/{command-palette-DF-B_YpW.js → command-palette-CtyjjdsA.js} +1 -1
- package/dist/assets/{common-DgXKwblm.js → common-J265II7i.js} +1 -1
- package/dist/assets/{components-DCo7mAWO.js → components-9p_w2C6e.js} +1 -1
- package/dist/assets/{components-CBE8cOLK.js → components-B6gDDccL.js} +1 -1
- package/dist/assets/{components-CuMhY4Sf.js → components-Bd3Dpi92.js} +1 -1
- package/dist/assets/{config-CD1IuZFJ.js → config-7IjqNuVp.js} +1 -1
- package/dist/assets/config-BC32AAdw.js +1 -0
- package/dist/assets/{config-DpY86_Yq.js → config-CXnC3MRv.js} +1 -1
- package/dist/assets/{copy-KlhazlhB.js → copy-74EjuZso.js} +1 -1
- package/dist/assets/{copy-icon-8-a5vovc.js → copy-icon-Craaocbu.js} +1 -1
- package/dist/assets/{createReducer-CaI_Oa0v.js → createReducer-B04CIO-e.js} +1 -1
- package/dist/assets/{datasource-D9JMcEAP.js → datasource-Dy4rzzSP.js} +1 -1
- package/dist/assets/{dates-CQMwFko2.js → dates-CaPZVGtm.js} +1 -1
- package/dist/assets/{dependency-graph-panel-BVJWPCvw.js → dependency-graph-panel-ByGFFT4E.js} +1 -1
- package/dist/assets/dist-gaK_BThd.js +1 -0
- package/dist/assets/{documentation-panel--wI4XHso.js → documentation-panel-LxuJCY3M.js} +1 -1
- package/dist/assets/download-BsBJWH_j.js +9 -0
- package/dist/assets/dropdown-menu-Cwi17BoX.js +1 -0
- package/dist/assets/{edit-page-Uj9YSRMX.js → edit-page--d6X-OO9.js} +4 -4
- package/dist/assets/{error-banner-B5kzVf_0.js → error-banner-m3mastc-.js} +1 -1
- package/dist/assets/{error-entries-D00nWhWE.js → error-entries-0wTSSuK9.js} +1 -1
- package/dist/assets/{error-panel-CcN_1PWf.js → error-panel-ZNdbE3Fo.js} +1 -1
- package/dist/assets/{es-N9SHpmG7.js → es-Rg27gAEy.js} +1 -1
- package/dist/assets/feedback-button-Bt89tGG2.js +1 -0
- package/dist/assets/{feedback-button-ByGgqUsX.js → feedback-button-C6asPmsh.js} +1 -1
- package/dist/assets/{file-explorer-panel-eTEqtMPW.js → file-explorer-panel-0fUP_ptL.js} +1 -1
- package/dist/assets/{file-name-input-D5SfTNWh.js → file-name-input-B8lzI5iS.js} +1 -1
- package/dist/assets/{floating-outline-B-k3P_AO.js → floating-outline-CRpmOv32.js} +1 -1
- package/dist/assets/{formats-zylfwejq.js → formats-CYyvbiZA.js} +1 -1
- package/dist/assets/{formatting-uom1es4b.js → formatting-DW2u7HXI.js} +1 -1
- package/dist/assets/fullscreen-D-ldV-19.js +41 -0
- package/dist/assets/{gallery-page-BzbMhDHi.js → gallery-page-ClR8U-km.js} +1 -1
- package/dist/assets/{glide-data-editor-BMqhUrHI.js → glide-data-editor-B6QQBQwS.js} +1 -1
- package/dist/assets/{glide-utils-HFqhvWHI.js → glide-utils-DsTeJ7WA.js} +1 -1
- package/dist/assets/{home-page-DJcYWiga.js → home-page-CJnqDcT9.js} +1 -1
- package/dist/assets/{hooks-CGLb_CCz.js → hooks-CCek4i9f.js} +1 -1
- package/dist/assets/{html-to-image-D_0rd3_B.js → html-to-image-BW0fcUS8.js} +1 -1
- package/dist/assets/{index-bSIORW11.js → index-B5pWkt7a.js} +18 -18
- package/dist/assets/{input-DmHMEZGh.js → input-DLA5Dhn3.js} +2 -2
- package/dist/assets/{kiosk-mode-DFS6HopF.js → kiosk-mode-Cbxffiz9.js} +1 -1
- package/dist/assets/{layout-C2XnLAfO.js → layout-66Urh4Zg.js} +3 -3
- package/dist/assets/links-UwsB2RA1.js +1 -0
- package/dist/assets/{logs-panel-B3T1GFBk.js → logs-panel-DFhkIcge.js} +1 -1
- package/dist/assets/{markdown-renderer-BhiTvxtL.js → markdown-renderer-mYYQYD2m.js} +1 -1
- package/dist/assets/menu-items-yD7IV3V4.js +1 -0
- package/dist/assets/{mermaid-BKXlWk4F.js → mermaid-DmekSy8J.js} +1 -1
- package/dist/assets/{name-cell-input-CgAObR6N.js → name-cell-input-Crcu3i2z.js} +1 -1
- package/dist/assets/{numbers-CsZVw3Dc.js → numbers-DJK15_4S.js} +1 -1
- package/dist/assets/{outline-panel-BhBb7Vqw.js → outline-panel-BFIPK0H_.js} +1 -1
- package/dist/assets/{packages-panel-Bt0xNpFl.js → packages-panel-B4KtjgkF.js} +1 -1
- package/dist/assets/{panel-accordion-state-ZsUdpAYn.js → panel-accordion-state-D6KtwSF8.js} +1 -1
- package/dist/assets/panels-DiwGKPzK.js +1 -0
- package/dist/assets/process-output-DDvMd6Jh.js +1 -0
- package/dist/assets/{readonly-code-display-TvOC7ESE.js → readonly-code-display-VDqYn2d0.js} +1 -1
- package/dist/assets/{readonly-python-code-Cqkfdeyo.js → readonly-python-code-CZUKLXJ4.js} +1 -1
- package/dist/assets/{renderShortcut-rUwGqKgC.js → renderShortcut-Bxv9ZLnD.js} +1 -1
- package/dist/assets/{reveal-component-CwE6U9oJ.js → reveal-component-BMmDU1uN.js} +1 -1
- package/dist/assets/{run-page-CtonWTtJ.js → run-page-BmOPPh2Y.js} +1 -1
- package/dist/assets/{runs-C49hleBy.js → runs-C8uOPNAW.js} +1 -1
- package/dist/assets/{runtime-details-state-CKqJSfSR.js → runtime-details-state-CipqynUD.js} +1 -1
- package/dist/assets/{scratchpad-panel-CwVBedfZ.js → scratchpad-panel-Drr_kuwb.js} +1 -1
- package/dist/assets/{scroll-to-bottom-button-CIkON2WJ.js → scroll-to-bottom-button-CidjyqiH.js} +1 -1
- package/dist/assets/{secrets-panel-bcfEKxRx.js → secrets-panel-D-W1PL76.js} +1 -1
- package/dist/assets/select-CgWQvW1F.js +1 -0
- package/dist/assets/{session-CMLIzZKw.js → session-BHgGkjDm.js} +1 -1
- package/dist/assets/{session-panel-CdHdKUCF.js → session-panel-W7JOcog_.js} +1 -1
- package/dist/assets/{snippets-panel-DYLWOLYw.js → snippets-panel-cUPEdm66.js} +1 -1
- package/dist/assets/{spec-DlH4Mp7d.js → spec-DFtwOyXT.js} +1 -1
- package/dist/assets/{state-DgECPVFs.js → state-BLGvzMB6.js} +3 -3
- package/dist/assets/{state-B_MCKzBL.js → state-BYETGwDZ.js} +1 -1
- package/dist/assets/{state-3mcyTS9q.js → state-CZu2E2Lb.js} +1 -1
- package/dist/assets/{state-C5WAeuTu.js → state-ClBFtZxn.js} +1 -1
- package/dist/assets/{state-Cv2JW3l9.js → state-CrLrURYG.js} +1 -1
- package/dist/assets/{state-DZN9vZ6z.js → state-QfGh3m2G.js} +1 -1
- package/dist/assets/{strings-C25fhMR_.js → strings-3lNX212T.js} +1 -1
- package/dist/assets/{swiper-component-CRGRy5_O.js → swiper-component-BwGv-Pu1.js} +1 -1
- package/dist/assets/switch-D2gdC_ep.js +1 -0
- package/dist/assets/tabs-BLczoY3k.js +1 -0
- package/dist/assets/{terminal-Ca-kubKb.js → terminal-DLgGyFIP.js} +1 -1
- package/dist/assets/toast-trUlkvx3.js +1 -0
- package/dist/assets/tooltip-B5lAA_jn.js +1 -0
- package/dist/assets/{tooltip-Brya4Ghn.js → tooltip-BiQdpXA0.js} +1 -1
- package/dist/assets/{tracing-B0J2ctTm.js → tracing-BNFynaTu.js} +1 -1
- package/dist/assets/{tracing-panel-C1OCpoeE.js → tracing-panel-CsHuzRGP.js} +2 -2
- package/dist/assets/{tree-actions-sjBxIglc.js → tree-actions-BQw_utcj.js} +1 -1
- package/dist/assets/use-restore-focus-DMSzeuUr.js +1 -0
- package/dist/assets/{useAddCell-CaXnFGki.js → useAddCell-_b8InOZC.js} +1 -1
- package/dist/assets/{useBoolean-Dd2nWXFJ.js → useBoolean-BkeUcn1n.js} +1 -1
- package/dist/assets/{useCellActionButton-CJ90CMEj.js → useCellActionButton-BbgMzBdk.js} +1 -1
- package/dist/assets/{useDeleteCell-D9N85822.js → useDeleteCell-DhoFbEkU.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-CzAE0cm-.js → useDependencyPanelTab-COTULhoH.js} +1 -1
- package/dist/assets/{useEventListener-CjDeLqFC.js → useEventListener-DPOTkksd.js} +1 -1
- package/dist/assets/{useIframeCapabilities-Czr9e4uG.js → useIframeCapabilities-sHeZt_EA.js} +1 -1
- package/dist/assets/{useInstallPackage-wcDq9hYT.js → useInstallPackage-BfNKN33w.js} +1 -1
- package/dist/assets/{useInterval-DJdQmXnq.js → useInterval-BcdwHHB5.js} +1 -1
- package/dist/assets/{useNotebookActions-CAMEQ38y.js → useNotebookActions-xnA_l3nY.js} +1 -1
- package/dist/assets/{useRunCells-DGakx8hj.js → useRunCells-VBCe6CLn.js} +1 -1
- package/dist/assets/{useSplitCell-AK5BKPGM.js → useSplitCell-AvSpVAmq.js} +1 -1
- package/dist/assets/{useTheme-BAA27lh7.js → useTheme-C2dnh2vM.js} +1 -1
- package/dist/assets/{vega-component-BeyxAJad.js → vega-component-DJf6ho22.js} +1 -1
- package/dist/assets/{write-secret-modal-BEx-EUlh.js → write-secret-modal-CBi2vNK_.js} +1 -1
- package/dist/index.html +62 -62
- package/package.json +3 -3
- package/src/core/host/__tests__/notebook-client.test.ts +18 -6
- package/src/core/host/__tests__/static.test.ts +4 -2
- package/src/core/host/__tests__/wasm.test.ts +12 -10
- package/src/core/host/backend.ts +8 -3
- package/src/core/host/notebook-client.ts +15 -15
- package/src/core/host/static.ts +2 -2
- package/src/core/host/wasm.ts +4 -3
- package/src/core/runtime/__tests__/runtime.test.ts +17 -0
- package/src/core/runtime/runtime.ts +13 -0
- package/src/core/websocket/__tests__/backend.test.ts +111 -0
- package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +32 -27
- package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +7 -4
- package/src/core/websocket/backend.ts +68 -0
- package/src/core/websocket/transports/__tests__/notebook.test.ts +9 -56
- package/src/core/websocket/transports/notebook.ts +15 -38
- package/src/core/websocket/useNotebookClient.ts +6 -6
- package/src/core/websocket/useNotebookSession.tsx +3 -2
- package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
- package/dist/assets/alert-dialog-C-sWmKva.js +0 -1
- package/dist/assets/cells-2HETnlvE.js +0 -220
- package/dist/assets/chat-panel-qpPNEwxV.js +0 -4
- package/dist/assets/circle-B6D_6D8w.js +0 -1
- package/dist/assets/config-DMz7oN0r.js +0 -1
- package/dist/assets/dist-jlhMTKo_.js +0 -1
- package/dist/assets/download-Dod42wfD.js +0 -9
- package/dist/assets/dropdown-menu-DS6umAnH.js +0 -1
- package/dist/assets/feedback-button-tbWwJ_t6.js +0 -1
- package/dist/assets/fullscreen-BWTs8pYZ.js +0 -41
- package/dist/assets/links-DX2w97N9.js +0 -1
- package/dist/assets/menu-items-BgUyNUpu.js +0 -1
- package/dist/assets/panels-DJghvIKo.js +0 -1
- package/dist/assets/process-output-CeOMwE17.js +0 -1
- package/dist/assets/select-3CVGlYrC.js +0 -1
- package/dist/assets/switch-DYjBfpNJ.js +0 -1
- package/dist/assets/tabs-CY8E4r9U.js +0 -1
- package/dist/assets/toast-Gzxi-le_.js +0 -1
- package/dist/assets/tooltip-CkGm8X7m.js +0 -1
- package/dist/assets/use-restore-focus-DdS7Tl0F.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n,r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./compiler-runtime-BrajqUja.js";import{g as a}from"./useEventListener-CjDeLqFC.js";import{t as o}from"./invariant-Ci2dTZ72.js";import{i as s,t as c}from"./utils-B4K466FK.js";function l(e,t){if(e==null)throw Error(t||`Expected value but got ${e}`)}var u=i();function d(){let e=r.get(h);return l(e,`internal-error: initial mode not found`),o(e!==`present`,`internal-error: initial mode cannot be 'present'`),e}function f(e){return e===`read`||e===`home`||e===`gallery`?e:e===`edit`?`present`:`edit`}async function p(e){let t=r.get(m);if(t.mode!==`edit`){await e();return}r.set(m,{...t,mode:`present`});try{await new Promise(e=>setTimeout(e,100)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await e()}finally{r.set(m,t)}}var m=t({mode:c()?`read`:`not-set`,cellAnchor:null}),h=t(void 0);function g(){let e=r.get(h);return e!==`home`&&e!==`gallery`}var _=t(!1);function v(){let e=(0,u.c)(1),{mode:t}=n(m),r=n(_),i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new URLSearchParams(window.location.search).get(s.kiosk),e[0]=i):i=e[0],t!==`read`&&!r&&i!==`true`}var y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.toBig=e.shrSL=e.shrSH=e.rotrSL=e.rotrSH=e.rotrBL=e.rotrBH=e.rotr32L=e.rotr32H=e.rotlSL=e.rotlSH=e.rotlBL=e.rotlBH=e.add5L=e.add5H=e.add4L=e.add4H=e.add3L=e.add3H=void 0,e.add=v,e.fromBig=r,e.split=i;var t=BigInt(2**32-1),n=BigInt(32);function r(e,r=!1){return r?{h:Number(e&t),l:Number(e>>n&t)}:{h:Number(e>>n&t)|0,l:Number(e&t)|0}}function i(e,t=!1){let n=e.length,i=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){let{h:n,l:s}=r(e[o],t);[i[o],a[o]]=[n,s]}return[i,a]}var a=(e,t)=>BigInt(e>>>0)<<n|BigInt(t>>>0);e.toBig=a;var o=(e,t,n)=>e>>>n;e.shrSH=o;var s=(e,t,n)=>e<<32-n|t>>>n;e.shrSL=s;var c=(e,t,n)=>e>>>n|t<<32-n;e.rotrSH=c;var l=(e,t,n)=>e<<32-n|t>>>n;e.rotrSL=l;var u=(e,t,n)=>e<<64-n|t>>>n-32;e.rotrBH=u;var d=(e,t,n)=>e>>>n-32|t<<64-n;e.rotrBL=d;var f=(e,t)=>t;e.rotr32H=f;var p=(e,t)=>e;e.rotr32L=p;var m=(e,t,n)=>e<<n|t>>>32-n;e.rotlSH=m;var h=(e,t,n)=>t<<n|e>>>32-n;e.rotlSL=h;var g=(e,t,n)=>t<<n-32|e>>>64-n;e.rotlBH=g;var _=(e,t,n)=>e<<n-32|t>>>64-n;e.rotlBL=_;function v(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var y=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);e.add3L=y;var b=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;e.add3H=b;var x=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);e.add4L=x;var S=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;e.add4H=S;var C=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);e.add5L=C;var w=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;e.add5H=w,e.default={fromBig:r,split:i,toBig:a,shrSH:o,shrSL:s,rotrSH:c,rotrSL:l,rotrBH:u,rotrBL:d,rotr32H:f,rotr32L:p,rotlSH:m,rotlSL:h,rotlBH:g,rotlBL:_,add:v,add3L:y,add3H:b,add4L:x,add4H:S,add5H:w,add5L:C}})),b=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0})),x=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=i,e.ahash=a,e.aexists=o,e.aoutput=s,e.u8=c,e.u32=l,e.clean=u,e.createView=d,e.rotr=f,e.rotl=p,e.byteSwap=m,e.byteSwap32=h,e.bytesToHex=v,e.hexToBytes=S,e.asyncLoop=C,e.utf8ToBytes=w,e.bytesToUtf8=T,e.toBytes=E,e.kdfInputToBytes=D,e.concatBytes=O,e.checkOpts=k,e.createHasher=A,e.createOptHasher=j,e.createXOFer=M,e.randomBytes=N;var t=b();function n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function r(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function i(e,...t){if(!n(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function a(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);r(e.outputLen),r(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function s(e,t){i(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function c(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function l(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function u(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function d(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function f(e,t){return e<<32-t|e>>>t}function p(e,t){return e<<t|e>>>32-t>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}e.swap8IfBE=e.isLE?e=>e:e=>m(e),e.byteSwapIfBE=e.swap8IfBE;function h(e){for(let t=0;t<e.length;t++)e[t]=m(e[t]);return e}e.swap32IfBE=e.isLE?e=>e:h;var g=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function v(e){if(i(e),g)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=_[e[n]];return t}var y={_0:48,_9:57,A:65,F:70,a:97,f:102};function x(e){if(e>=y._0&&e<=y._9)return e-y._0;if(e>=y.A&&e<=y.F)return e-(y.A-10);if(e>=y.a&&e<=y.f)return e-(y.a-10)}function S(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(g)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=x(e.charCodeAt(i)),a=x(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}e.nextTick=async()=>{};async function C(t,n,r){let i=Date.now();for(let a=0;a<t;a++){r(a);let t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}}function w(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function T(e){return new TextDecoder().decode(e)}function E(e){return typeof e==`string`&&(e=w(e)),i(e),e}function D(e){return typeof e==`string`&&(e=w(e)),i(e),e}function O(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];i(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function k(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw Error(`options should be object or undefined`);return Object.assign(e,t)}e.Hash=class{};function A(e){let t=t=>e().update(E(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function j(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function M(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}e.wrapConstructor=A,e.wrapConstructorWithOpts=j,e.wrapXOFConstructorWithOpts=M;function N(e=32){if(t.crypto&&typeof t.crypto.getRandomValues==`function`)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&typeof t.crypto.randomBytes==`function`)return Uint8Array.from(t.crypto.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}})),S=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.shake256=e.shake128=e.keccak_512=e.keccak_384=e.keccak_256=e.keccak_224=e.sha3_512=e.sha3_384=e.sha3_256=e.sha3_224=e.Keccak=void 0,e.keccakP=_;var t=y(),n=x(),r=BigInt(0),i=BigInt(1),a=BigInt(2),o=BigInt(7),s=BigInt(256),c=BigInt(113),l=[],u=[],d=[];for(let e=0,t=i,n=1,f=0;e<24;e++){[n,f]=[f,(2*n+3*f)%5],l.push(2*(5*f+n)),u.push((e+1)*(e+2)/2%64);let p=r;for(let e=0;e<7;e++)t=(t<<i^(t>>o)*c)%s,t&a&&(p^=i<<(i<<BigInt(e))-i);d.push(p)}var f=(0,t.split)(d,!0),p=f[0],m=f[1],h=(e,n,r)=>r>32?(0,t.rotlBH)(e,n,r):(0,t.rotlSH)(e,n,r),g=(e,n,r)=>r>32?(0,t.rotlBL)(e,n,r):(0,t.rotlSL)(e,n,r);function _(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let n=(t+8)%10,i=(t+2)%10,a=r[i],o=r[i+1],s=h(a,o,1)^r[n],c=g(a,o,1)^r[n+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=u[n],a=h(t,i,r),o=g(t,i,r),s=l[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=p[n],e[1]^=m[n]}(0,n.clean)(r)}var v=class e extends n.Hash{constructor(e,t,r,i=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=a,(0,n.anumber)(r),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=(0,n.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,n.swap32IfBE)(this.state32),_(this.state32,this.rounds),(0,n.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(e){(0,n.aexists)(this),e=(0,n.toBytes)(e),(0,n.abytes)(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let a=Math.min(t-this.pos,i-n);for(let t=0;t<a;t++)r[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){(0,n.aexists)(this,!1),(0,n.abytes)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return(0,n.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.aoutput)(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.clean)(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}};e.Keccak=v;var b=(e,t,r)=>(0,n.createHasher)(()=>new v(t,e,r));e.sha3_224=b(6,144,28),e.sha3_256=b(6,136,32),e.sha3_384=b(6,104,48),e.sha3_512=b(6,72,64),e.keccak_224=b(1,144,28),e.keccak_256=b(1,136,32),e.keccak_384=b(1,104,48),e.keccak_512=b(1,72,64);var S=(e,t,r)=>(0,n.createXOFer)((n={})=>new v(t,e,n.dkLen===void 0?r:n.dkLen,!0));e.shake128=S(31,168,16),e.shake256=S(31,136,32)})),C=e(((e,t)=>{var{sha3_512:n}=S(),r=24,i=32,a=(e=4,t=Math.random)=>{let n=``;for(;n.length<e;)n+=Math.floor(t()*36).toString(36);return n};function o(e){let t=0n;for(let n of e.values()){let e=BigInt(n);t=(t<<8n)+e}return t}var s=(e=``)=>o(n(e)).toString(36).slice(1),c=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),l=e=>c[Math.floor(e()*c.length)],u=({globalObj:e=typeof global<`u`?global:typeof window<`u`?window:{},random:t=Math.random}={})=>{let n=Object.keys(e).toString();return s(n.length?n+a(i,t):a(i,t)).substring(0,i)},d=e=>()=>e++,f=476782367,p=({random:e=Math.random,counter:t=d(Math.floor(e()*f)),length:n=r,fingerprint:i=u({random:e})}={})=>function(){let r=l(e),o=Date.now().toString(36),c=t().toString(36);return`${r+s(`${o+a(n,e)+c+i}`).substring(1,n)}`},m=p(),h=(e,{minLength:t=2,maxLength:n=i}={})=>{let r=e.length,a=/^[0-9a-z]+$/;try{if(typeof e==`string`&&r>=t&&r<=n&&a.test(e))return!0}finally{}return!1};t.exports.getConstants=()=>({defaultLength:r,bigLength:i}),t.exports.init=p,t.exports.createId=m,t.exports.bufToBigInt=o,t.exports.createCounter=d,t.exports.createFingerprint=u,t.exports.isCuid=h})),w=e(((e,t)=>{var{createId:n,init:r,getConstants:i,isCuid:a}=C();t.exports.createId=n,t.exports.init=r,t.exports.getConstants=i,t.exports.isCuid=a}));function T(e){return new URL(e,document.baseURI)}function E(e){let t=new URL(window.location.href);e(t.searchParams),window.history.replaceState({},``,t.toString())}function D(e,t){if(typeof window>`u`)return!1;let n=new URLSearchParams(window.location.search);return t===void 0?n.has(e):n.get(e)===t}function O(){let e=`__new__${F()}`;return T(`?file=${encodeURIComponent(e)}`).toString()}var k=/^(https?:\/\/\S+)$/;function A(e){return typeof e==`string`&&k.test(e)}function j({href:e,queryParams:t,keys:n}){let r=typeof t==`string`?new URLSearchParams(t):t;if(r.size===0||e.startsWith(`http://`)||e.startsWith(`https://`))return e;let i=e.startsWith(`#`),a=i&&e.includes(`?`);if(i&&!a){let t=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()],i=new URLSearchParams;for(let[e,n]of t)i.set(e,n);let a=i.toString();return a?`/?${a}${e}`:e}let o=e,s=``,c=new URLSearchParams,l=+!!i,u=e.indexOf(`#`,l);u!==-1&&(s=e.slice(u),o=e.slice(0,u));let d=o.indexOf(`?`);d!==-1&&(c=new URLSearchParams(o.slice(d+1)),o=o.slice(0,d));let f=new URLSearchParams(c),p=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()];for(let[e,t]of p)f.set(e,t);let m=f.toString();return m?`${o}?${m}${s}`:e}var M=w(),N=t(null),P=(0,M.init)({length:6});function F(){return`s_${P()}`}function I(e){return e?/^s_[\da-z]{6}$/.test(e):!1}var L=null;function R(){let e=r.get(h)===`edit`,t=new URL(window.location.href).searchParams.get(s.sessionId),n=I(t)?t:null;return E(t=>{if(!e){t.delete(s.sessionId),t.delete(s.kiosk);return}t.has(s.kiosk)||t.delete(s.sessionId)}),n===null?(a.debug(`Starting a new session`,{sessionId:t}),F()):e?(a.debug(`Connecting to existing session`,{sessionId:n}),n):(a.debug(`Ignoring session_id from URL outside the editor`,{sessionId:n}),F())}function z(){return L===null&&(L=R()),L}export{v as _,D as a,E as c,d,h as f,f as g,p as h,j as i,T as l,_ as m,I as n,A as o,g as p,N as r,O as s,z as t,w as u,m as v,l as y};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,l as n,r}from"./useEvent-BDjgaBtz.js";import{t as i}from"./compiler-runtime-BrajqUja.js";import{g as a}from"./useEventListener-DPOTkksd.js";import{t as o}from"./invariant-Ci2dTZ72.js";import{i as s,t as c}from"./utils-B4K466FK.js";function l(e,t){if(e==null)throw Error(t||`Expected value but got ${e}`)}var u=i();function d(){let e=r.get(h);return l(e,`internal-error: initial mode not found`),o(e!==`present`,`internal-error: initial mode cannot be 'present'`),e}function f(e){return e===`read`||e===`home`||e===`gallery`?e:e===`edit`?`present`:`edit`}async function p(e){let t=r.get(m);if(t.mode!==`edit`){await e();return}r.set(m,{...t,mode:`present`});try{await new Promise(e=>setTimeout(e,100)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await e()}finally{r.set(m,t)}}var m=t({mode:c()?`read`:`not-set`,cellAnchor:null}),h=t(void 0);function g(){let e=r.get(h);return e!==`home`&&e!==`gallery`}var _=t(!1);function v(){let e=(0,u.c)(1),{mode:t}=n(m),r=n(_),i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new URLSearchParams(window.location.search).get(s.kiosk),e[0]=i):i=e[0],t!==`read`&&!r&&i!==`true`}var y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.toBig=e.shrSL=e.shrSH=e.rotrSL=e.rotrSH=e.rotrBL=e.rotrBH=e.rotr32L=e.rotr32H=e.rotlSL=e.rotlSH=e.rotlBL=e.rotlBH=e.add5L=e.add5H=e.add4L=e.add4H=e.add3L=e.add3H=void 0,e.add=v,e.fromBig=r,e.split=i;var t=BigInt(2**32-1),n=BigInt(32);function r(e,r=!1){return r?{h:Number(e&t),l:Number(e>>n&t)}:{h:Number(e>>n&t)|0,l:Number(e&t)|0}}function i(e,t=!1){let n=e.length,i=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){let{h:n,l:s}=r(e[o],t);[i[o],a[o]]=[n,s]}return[i,a]}var a=(e,t)=>BigInt(e>>>0)<<n|BigInt(t>>>0);e.toBig=a;var o=(e,t,n)=>e>>>n;e.shrSH=o;var s=(e,t,n)=>e<<32-n|t>>>n;e.shrSL=s;var c=(e,t,n)=>e>>>n|t<<32-n;e.rotrSH=c;var l=(e,t,n)=>e<<32-n|t>>>n;e.rotrSL=l;var u=(e,t,n)=>e<<64-n|t>>>n-32;e.rotrBH=u;var d=(e,t,n)=>e>>>n-32|t<<64-n;e.rotrBL=d;var f=(e,t)=>t;e.rotr32H=f;var p=(e,t)=>e;e.rotr32L=p;var m=(e,t,n)=>e<<n|t>>>32-n;e.rotlSH=m;var h=(e,t,n)=>t<<n|e>>>32-n;e.rotlSL=h;var g=(e,t,n)=>t<<n-32|e>>>64-n;e.rotlBH=g;var _=(e,t,n)=>e<<n-32|t>>>64-n;e.rotlBL=_;function v(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var y=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);e.add3L=y;var b=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;e.add3H=b;var x=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);e.add4L=x;var S=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0;e.add4H=S;var C=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0);e.add5L=C;var w=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;e.add5H=w,e.default={fromBig:r,split:i,toBig:a,shrSH:o,shrSL:s,rotrSH:c,rotrSL:l,rotrBH:u,rotrBL:d,rotr32H:f,rotr32L:p,rotlSH:m,rotlSL:h,rotlBH:g,rotlBL:_,add:v,add3L:y,add3H:b,add4L:x,add4H:S,add5H:w,add5L:C}})),b=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0})),x=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=i,e.ahash=a,e.aexists=o,e.aoutput=s,e.u8=c,e.u32=l,e.clean=u,e.createView=d,e.rotr=f,e.rotl=p,e.byteSwap=m,e.byteSwap32=h,e.bytesToHex=v,e.hexToBytes=S,e.asyncLoop=C,e.utf8ToBytes=w,e.bytesToUtf8=T,e.toBytes=E,e.kdfInputToBytes=D,e.concatBytes=O,e.checkOpts=k,e.createHasher=A,e.createOptHasher=j,e.createXOFer=M,e.randomBytes=N;var t=b();function n(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function r(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function i(e,...t){if(!n(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function a(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);r(e.outputLen),r(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function s(e,t){i(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function c(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function l(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function u(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function d(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function f(e,t){return e<<32-t|e>>>t}function p(e,t){return e<<t|e>>>32-t>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function m(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}e.swap8IfBE=e.isLE?e=>e:e=>m(e),e.byteSwapIfBE=e.swap8IfBE;function h(e){for(let t=0;t<e.length;t++)e[t]=m(e[t]);return e}e.swap32IfBE=e.isLE?e=>e:h;var g=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function v(e){if(i(e),g)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=_[e[n]];return t}var y={_0:48,_9:57,A:65,F:70,a:97,f:102};function x(e){if(e>=y._0&&e<=y._9)return e-y._0;if(e>=y.A&&e<=y.F)return e-(y.A-10);if(e>=y.a&&e<=y.f)return e-(y.a-10)}function S(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(g)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=x(e.charCodeAt(i)),a=x(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}e.nextTick=async()=>{};async function C(t,n,r){let i=Date.now();for(let a=0;a<t;a++){r(a);let t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}}function w(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function T(e){return new TextDecoder().decode(e)}function E(e){return typeof e==`string`&&(e=w(e)),i(e),e}function D(e){return typeof e==`string`&&(e=w(e)),i(e),e}function O(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];i(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function k(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw Error(`options should be object or undefined`);return Object.assign(e,t)}e.Hash=class{};function A(e){let t=t=>e().update(E(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function j(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function M(e){let t=(t,n)=>e(n).update(E(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}e.wrapConstructor=A,e.wrapConstructorWithOpts=j,e.wrapXOFConstructorWithOpts=M;function N(e=32){if(t.crypto&&typeof t.crypto.getRandomValues==`function`)return t.crypto.getRandomValues(new Uint8Array(e));if(t.crypto&&typeof t.crypto.randomBytes==`function`)return Uint8Array.from(t.crypto.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}})),S=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.shake256=e.shake128=e.keccak_512=e.keccak_384=e.keccak_256=e.keccak_224=e.sha3_512=e.sha3_384=e.sha3_256=e.sha3_224=e.Keccak=void 0,e.keccakP=_;var t=y(),n=x(),r=BigInt(0),i=BigInt(1),a=BigInt(2),o=BigInt(7),s=BigInt(256),c=BigInt(113),l=[],u=[],d=[];for(let e=0,t=i,n=1,f=0;e<24;e++){[n,f]=[f,(2*n+3*f)%5],l.push(2*(5*f+n)),u.push((e+1)*(e+2)/2%64);let p=r;for(let e=0;e<7;e++)t=(t<<i^(t>>o)*c)%s,t&a&&(p^=i<<(i<<BigInt(e))-i);d.push(p)}var f=(0,t.split)(d,!0),p=f[0],m=f[1],h=(e,n,r)=>r>32?(0,t.rotlBH)(e,n,r):(0,t.rotlSH)(e,n,r),g=(e,n,r)=>r>32?(0,t.rotlBL)(e,n,r):(0,t.rotlSL)(e,n,r);function _(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let n=(t+8)%10,i=(t+2)%10,a=r[i],o=r[i+1],s=h(a,o,1)^r[n],c=g(a,o,1)^r[n+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=u[n],a=h(t,i,r),o=g(t,i,r),s=l[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let n=0;n<10;n++)r[n]=e[t+n];for(let n=0;n<10;n++)e[t+n]^=~r[(n+2)%10]&r[(n+4)%10]}e[0]^=p[n],e[1]^=m[n]}(0,n.clean)(r)}var v=class e extends n.Hash{constructor(e,t,r,i=!1,a=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=a,(0,n.anumber)(r),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=(0,n.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,n.swap32IfBE)(this.state32),_(this.state32,this.rounds),(0,n.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(e){(0,n.aexists)(this),e=(0,n.toBytes)(e),(0,n.abytes)(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let a=Math.min(t-this.pos,i-n);for(let t=0;t<a;t++)r[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){(0,n.aexists)(this,!1),(0,n.abytes)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return(0,n.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,n.aoutput)(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,n.clean)(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}};e.Keccak=v;var b=(e,t,r)=>(0,n.createHasher)(()=>new v(t,e,r));e.sha3_224=b(6,144,28),e.sha3_256=b(6,136,32),e.sha3_384=b(6,104,48),e.sha3_512=b(6,72,64),e.keccak_224=b(1,144,28),e.keccak_256=b(1,136,32),e.keccak_384=b(1,104,48),e.keccak_512=b(1,72,64);var S=(e,t,r)=>(0,n.createXOFer)((n={})=>new v(t,e,n.dkLen===void 0?r:n.dkLen,!0));e.shake128=S(31,168,16),e.shake256=S(31,136,32)})),C=e(((e,t)=>{var{sha3_512:n}=S(),r=24,i=32,a=(e=4,t=Math.random)=>{let n=``;for(;n.length<e;)n+=Math.floor(t()*36).toString(36);return n};function o(e){let t=0n;for(let n of e.values()){let e=BigInt(n);t=(t<<8n)+e}return t}var s=(e=``)=>o(n(e)).toString(36).slice(1),c=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),l=e=>c[Math.floor(e()*c.length)],u=({globalObj:e=typeof global<`u`?global:typeof window<`u`?window:{},random:t=Math.random}={})=>{let n=Object.keys(e).toString();return s(n.length?n+a(i,t):a(i,t)).substring(0,i)},d=e=>()=>e++,f=476782367,p=({random:e=Math.random,counter:t=d(Math.floor(e()*f)),length:n=r,fingerprint:i=u({random:e})}={})=>function(){let r=l(e),o=Date.now().toString(36),c=t().toString(36);return`${r+s(`${o+a(n,e)+c+i}`).substring(1,n)}`},m=p(),h=(e,{minLength:t=2,maxLength:n=i}={})=>{let r=e.length,a=/^[0-9a-z]+$/;try{if(typeof e==`string`&&r>=t&&r<=n&&a.test(e))return!0}finally{}return!1};t.exports.getConstants=()=>({defaultLength:r,bigLength:i}),t.exports.init=p,t.exports.createId=m,t.exports.bufToBigInt=o,t.exports.createCounter=d,t.exports.createFingerprint=u,t.exports.isCuid=h})),w=e(((e,t)=>{var{createId:n,init:r,getConstants:i,isCuid:a}=C();t.exports.createId=n,t.exports.init=r,t.exports.getConstants=i,t.exports.isCuid=a}));function T(e){return new URL(e,document.baseURI)}function E(e){let t=new URL(window.location.href);e(t.searchParams),window.history.replaceState({},``,t.toString())}function D(e,t){if(typeof window>`u`)return!1;let n=new URLSearchParams(window.location.search);return t===void 0?n.has(e):n.get(e)===t}function O(){let e=`__new__${F()}`;return T(`?file=${encodeURIComponent(e)}`).toString()}var k=/^(https?:\/\/\S+)$/;function A(e){return typeof e==`string`&&k.test(e)}function j({href:e,queryParams:t,keys:n}){let r=typeof t==`string`?new URLSearchParams(t):t;if(r.size===0||e.startsWith(`http://`)||e.startsWith(`https://`))return e;let i=e.startsWith(`#`),a=i&&e.includes(`?`);if(i&&!a){let t=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()],i=new URLSearchParams;for(let[e,n]of t)i.set(e,n);let a=i.toString();return a?`/?${a}${e}`:e}let o=e,s=``,c=new URLSearchParams,l=+!!i,u=e.indexOf(`#`,l);u!==-1&&(s=e.slice(u),o=e.slice(0,u));let d=o.indexOf(`?`);d!==-1&&(c=new URLSearchParams(o.slice(d+1)),o=o.slice(0,d));let f=new URLSearchParams(c),p=n?[...r.entries()].filter(([e])=>n.includes(e)):[...r.entries()];for(let[e,t]of p)f.set(e,t);let m=f.toString();return m?`${o}?${m}${s}`:e}var M=w(),N=t(null),P=(0,M.init)({length:6});function F(){return`s_${P()}`}function I(e){return e?/^s_[\da-z]{6}$/.test(e):!1}var L=null;function R(){let e=r.get(h)===`edit`,t=new URL(window.location.href).searchParams.get(s.sessionId),n=I(t)?t:null;return E(t=>{if(!e){t.delete(s.sessionId),t.delete(s.kiosk);return}t.has(s.kiosk)||t.delete(s.sessionId)}),n===null?(a.debug(`Starting a new session`,{sessionId:t}),F()):e?(a.debug(`Connecting to existing session`,{sessionId:n}),n):(a.debug(`Ignoring session_id from URL outside the editor`,{sessionId:n}),F())}function z(){return L===null&&(L=R()),L}export{v as _,D as a,E as c,d,h as f,f as g,p as h,j as i,T as l,_ as m,I as n,A as o,g as p,N as r,O as s,z as t,w as u,m as v,l as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,u as i}from"./useEvent-BDjgaBtz.js";import{t as a}from"./react-DVplv7_D.js";import{$r as o,Ai as s,Bi as c,Bt as l,Cn as u,D as d,Gn as f,Ha as p,Hi as m,Ii as h,Ji as g,Ki as _,Kn as v,Li as y,M as b,Mi as x,P as S,Qr as C,Ri as w,Rn as T,Rt as E,Ui as D,Wa as O,Wi as k,Xi as A,Yi as j,Zi as M,_n as ee,c as N,fn as P,gn as F,i as I,jn as L,qi as R,qn as z,ro as te,ti as B,to as V,yr as H,yt as ne,zi as re}from"./cells-2HETnlvE.js";import{t as ie}from"./compiler-runtime-BrajqUja.js";import{s as ae}from"./config-DpY86_Yq.js";import{r as oe}from"./config-DMz7oN0r.js";import{O as U}from"./config-CD1IuZFJ.js";import{t as se}from"./ErrorBoundary-DxSzjvbx.js";import{t as W}from"./cn-ldLVeaqm.js";import{t as G}from"./jsx-runtime-B74pBk57.js";import{_ as ce,at as le,et as K,f as q,g as ue,h as de,it as J,m as fe,nt as pe,rt as me,tt as he,v as ge}from"./JsonOutput-B7pGj79O.js";import{t as _e}from"./tooltip-CkGm8X7m.js";import{n as ve,r as ye,t as be}from"./button-D8gVKwe-.js";import{t as xe}from"./createLucideIcon-DfJ2oMlA.js";import{i as Se}from"./paths-bkIFVj8h.js";import{r as Ce}from"./useNumberFormatter-D7O_26UI.js";import{a as we,r as Te}from"./tree-actions-sjBxIglc.js";import{a as Ee}from"./input-DmHMEZGh.js";import{n as De,o as Oe}from"./column-preview-yI7-INkZ.js";import{t as ke}from"./workflow-cw-0b9g5.js";import{t as Ae}from"./copy-icon-8-a5vovc.js";import{l as je}from"./arrays-0R2reF2y.js";import{i as Me}from"./strings-C25fhMR_.js";import{r as Ne}from"./requests-BIFR-h4M.js";import{t as Pe}from"./I18nProvider-Cg2I_s1_.js";import{n as Fe}from"./useAsyncData-qvoPYHtx.js";import{t as Ie}from"./cell-link-D3rkqgbU.js";import{a as Le,i as Re,n as ze,o as Be,r as Ve,t as He}from"./table-vrvqpuKJ.js";import{n as Ue}from"./icons-CiZ_8zS-.js";import{t as We}from"./useDeepCompareMemoize-B2DVK2De.js";import{t as Ge}from"./useAddCell-CaXnFGki.js";import{t as Ke}from"./empty-state-BaCKb7o3.js";import{n as qe,t as Je}from"./common-DgXKwblm.js";import{a as Ye,i as Xe,n as Ze,o as Qe,r as $e,s as et,t as tt}from"./components-CuMhY4Sf.js";import{r as nt}from"./panel-accordion-state-ZsUdpAYn.js";var rt=xe(`square-equal`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 10h10`,key:`1101jm`}],[`path`,{d:`M7 14h10`,key:`1mhdw3`}]]),Y=ie(),X=e(a(),1),Z=G(),it=1;function at(e){return 1.75+e*it}function ot(e){return 3+e*it}function st(e){return 3.25+e*it}var Q={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function $(e){return{paddingLeft:`${e}rem`}}var ct=n(e=>{let t=e(w),n=e(B),r=e(I);return je(t,e=>{if(!e.variable_name)return-1;let t=Object.values(n).find(t=>t.name===e.variable_name);if(!t)return 0;let i=r.inOrderIds.indexOf(t.declaredBy[0]);return i===-1?0:i})}),lt=U(`marimo:datasources:hideEmpty`,!1,C,{getOnInit:!0});function ut(e){let t=!1,n=[];for(let r of e){if(!k(r)||!m(r)){n.push(r);continue}let e=r.child_schemas??[],i=ut(e);if(r.tables.length===0&&i.length===0){t=!0;continue}if(i===e){n.push(r);continue}t=!0,n.push({...r,child_schemas:i})}return t?n:e}function dt(e){let t=!1,n=[];for(let r of e){if(D(r)&&r.schemas.length===0){t=!0;continue}if(r.schemas.length===0){n.push(r);continue}let e=ut(r.schemas);if(e.length===0){t=!0;continue}if(e===r.schemas){n.push(r);continue}t=!0,n.push({...r,schemas:e})}return t?n:e}var ft=()=>{let e=(0,Y.c)(42),[n,a]=X.useState(``),[o,s]=t(lt),c=i(y),l=r(ct),d=r(x),f;bb0:{if(!o){f=d;break bb0}let t,n;e[0]===d?(t=e[1],n=e[2]):(t=!1,n=d.map(e=>{let n=dt(e.databases);return n===e.databases?e:(t=!0,{...e,databases:n})}),e[0]=d,e[1]=t,e[2]=n),f=t?n:d}let p=f;if(l.length===0&&p.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(Ke,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,Z.jsx)(Se,{})}),e[3]=t):t=e[3],t}let m;e[4]===n?m=e[5]:(m=n.trim(),e[4]=n,e[5]=m);let h=!!m,g;e[6]===c?g=e[7]:(g=e=>{c(e.length>0),a(e)},e[6]=c,e[7]=g);let _;e[8]!==n||e[9]!==g?(_=(0,Z.jsx)(F,{placeholder:`Search tables...`,className:`h-6 m-1`,value:n,onValueChange:g,rootClassName:`flex-1 border-r border-b-0`}),e[8]=n,e[9]=g,e[10]=_):_=e[10];let v;e[11]===h?v=e[12]:(v=h&&(0,Z.jsx)(`button`,{type:`button`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,Z.jsx)(Ce,{className:`h-4 w-4`})}),e[11]=h,e[12]=v);let b=!o,S;e[13]!==o||e[14]!==s?(S=()=>s(!o),e[13]=o,e[14]=s,e[15]=S):S=e[15];let C;e[16]!==b||e[17]!==S?(C=(0,Z.jsx)(we,{"data-testid":`datasources-hide-empty-button`,isVisible:b,onToggle:S,showTooltip:`Show empty schemas and databases`,hideTooltip:`Hide empty schemas and databases`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[16]=b,e[17]=S,e[18]=C):C=e[18];let w;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[19]=w):w=e[19];let T;e[20]!==_||e[21]!==v||e[22]!==C?(T=(0,Z.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[_,v,C,w]}),e[20]=_,e[21]=v,e[22]=C,e[23]=T):T=e[23];let E;if(e[24]!==p||e[25]!==n){let t;e[27]===n?t=e[28]:(t=e=>(0,Z.jsx)(pt,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,Z.jsx)(_t,{connection:e,database:t,searchValue:n},t.name))},e.name),e[27]=n,e[28]=t),E=p.map(t),e[24]=p,e[25]=n,e[26]=E}else E=e[26];let D;e[29]!==p.length||e[30]!==l.length?(D=p.length>0&&l.length>0&&(0,Z.jsxs)(fe,{className:`pr-2`,style:$(Q.engine),children:[(0,Z.jsx)(Ue,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs`,children:`Python`})]}),e[29]=p.length,e[30]=l.length,e[31]=D):D=e[31];let O;e[32]!==n||e[33]!==l?(O=l.length>0&&(0,Z.jsx)(St,{tables:l,searchValue:n}),e[32]=n,e[33]=l,e[34]=O):O=e[34];let k;e[35]!==E||e[36]!==D||e[37]!==O?(k=(0,Z.jsxs)(u,{className:`flex flex-col`,children:[E,D,O]}),e[35]=E,e[36]=D,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==k||e[40]!==T?(A=(0,Z.jsxs)(P,{className:`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden`,shouldFilter:!1,children:[T,k]}),e[39]=k,e[40]=T,e[41]=A):A=e[41],A},pt=e=>{let t=(0,Y.c)(26),{connection:n,children:r,hasChildren:i}=e,a=n.name===M,o=a?`In-Memory`:n.name,{previewDataSourceConnection:c}=Ne(),l;t[0]!==n.name||t[1]!==c?(l=async()=>{await c({engine:n.name})},t[0]=n.name,t[1]=c,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=$(Q.engine),t[3]=d):d=t[3];let f;t[4]===n.dialect?f=t[5]:(f=(0,Z.jsx)(L,{className:`h-4 w-4 text-muted-foreground`,name:n.dialect}),t[4]=n.dialect,t[5]=f);let p;t[6]===n.dialect?p=t[7]:(p=s(n.dialect),t[6]=n.dialect,t[7]=p);let m;t[8]===p?m=t[9]:(m=(0,Z.jsx)(`span`,{className:`text-xs`,children:p}),t[8]=p,t[9]=m);let h=o,g;t[10]===h?g=t[11]:(g=(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(0,Z.jsx)(et,{variableName:h}),`)`]}),t[10]=h,t[11]=g);let _;t[12]!==u||t[13]!==a?(_=!a&&(0,Z.jsx)(Te,{onClick:u,tooltip:`Refresh connection`,className:`ml-auto h-4 p-0`,iconClassName:`h-3.5 w-3.5`}),t[12]=u,t[13]=a,t[14]=_):_=t[14];let v;t[15]!==f||t[16]!==m||t[17]!==g||t[18]!==_?(v=(0,Z.jsxs)(fe,{className:`pr-2`,style:d,children:[f,m,g,_]}),t[15]=f,t[16]=m,t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==r||t[21]!==i?(y=i?r:(0,Z.jsx)(de,{content:`No databases available`,style:$(Q.engineEmpty)}),t[20]=r,t[21]=i,t[22]=y):y=t[22];let b;return t[23]!==y||t[24]!==v?(b=(0,Z.jsxs)(Z.Fragment,{children:[v,y]}),t[23]=y,t[24]=v,t[25]=b):b=t[25],b},mt=X.createContext(null);function ht(){let e=X.useContext(mt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function gt(e,{schema:t,schemaPath:n}){return{engine:e.engineName,database:e.databaseName,schema:t,schemaPath:n,defaultSchema:e.defaultSchema,defaultDatabase:e.defaultDatabase,dialect:e.dialect}}var _t=e=>{let t=(0,Y.c)(21),{connection:n,database:r,searchValue:i}=e,a;t[0]!==n.default_database||t[1]!==n.default_schema||t[2]!==n.dialect||t[3]!==n.name||t[4]!==r.name||t[5]!==i?(a={engineName:n.name,databaseName:r.name,dialect:n.dialect,defaultSchema:n.default_schema,defaultDatabase:n.default_database,searchValue:i},t[0]=n.default_database,t[1]=n.default_schema,t[2]=n.dialect,t[3]=n.name,t[4]=r.name,t[5]=i,t[6]=a):a=t[6];let o=a,s=n.name,c=r.schemas,l;t[7]===r?l=t[8]:(l=D(r),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[9]=u):u=t[9];let d;t[10]!==r.schemas||t[11]!==l?(d=(0,Z.jsx)(yt,{schemas:c,schemasResolved:l,schemaPath:u,depth:0}),t[10]=r.schemas,t[11]=l,t[12]=d):d=t[12];let f;t[13]!==d||t[14]!==o?(f=(0,Z.jsx)(mt.Provider,{value:o,children:d}),t[13]=d,t[14]=o,t[15]=f):f=t[15];let p;return t[16]!==n.name||t[17]!==r||t[18]!==i||t[19]!==f?(p=(0,Z.jsx)(vt,{engineName:s,database:r,searchValue:i,children:f}),t[16]=n.name,t[17]=r,t[18]=i,t[19]=f,t[20]=p):p=t[20],p},vt=e=>{let t=(0,Y.c)(29),{searchValue:n,engineName:r,database:i,children:a}=e,o;t[0]!==i||t[1]!==n?(o=g(i,n),t[0]=i,t[1]=n,t[2]=o):o=t[2];let s=o,[c,l]=X.useState(s),[u,d]=X.useState(!1),[f,p]=X.useState(n),[m,h]=X.useState(s);(f!==n||m!==s)&&(p(n),h(s),l(s));let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=$(Q.database),t[3]=_):_=t[3];let v;t[4]!==c||t[5]!==u?(v=()=>{l(!c),d(!u)},t[4]=c,t[5]=u,t[6]=v):v=t[6];let y=`${r}:${i.name}`,b;t[7]===c?b=t[8]:(b=(0,Z.jsx)(ge,{isExpanded:c}),t[7]=c,t[8]=b);let x=u&&c?`text-foreground`:`text-muted-foreground`,S;t[9]===x?S=t[10]:(S=W(`h-4 w-4`,x),t[9]=x,t[10]=S);let C;t[11]===S?C=t[12]:(C=(0,Z.jsx)(Se,{className:S}),t[11]=S,t[12]=C);let w=u&&c&&`font-semibold`,T;t[13]===w?T=t[14]:(T=W(w),t[13]=w,t[14]=T);let E;t[15]===i.name?E=t[16]:(E=i.name===``?(0,Z.jsx)(`i`,{children:`Not connected`}):i.name,t[15]=i.name,t[16]=E);let D;t[17]!==T||t[18]!==E?(D=(0,Z.jsx)(`span`,{className:T,children:E}),t[17]=T,t[18]=E,t[19]=D):D=t[19];let O;t[20]!==D||t[21]!==v||t[22]!==y||t[23]!==b||t[24]!==C?(O=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:_,onSelect:v,value:y,children:[b,C,D]}),t[20]=D,t[21]=v,t[22]=y,t[23]=b,t[24]=C,t[25]=O):O=t[25];let k=c&&a,A;return t[26]!==O||t[27]!==k?(A=(0,Z.jsxs)(Z.Fragment,{children:[O,k]}),t[26]=O,t[27]=k,t[28]=A):A=t[28],A},yt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=ht(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=h(),l=We(e.schemaPath),[u,d]=X.useState(!1),{isPending:p,error:m}=Fe(async()=>{if(!n&&a){d(!0);try{let e=await f.request({engine:a,database:o,schemaPath:l});c({schemas:e.schemas??[],sqlSchemaContext:{engine:a,database:o,schemaPath:l}})}finally{d(!1)}}},[n,a,o,l]),g=$(at(r));return p||u?(0,Z.jsx)(ce,{message:`Loading schemas...`,style:g}):m?(0,Z.jsx)(ue,{error:m,style:g}):t.length===0?(0,Z.jsx)(de,{content:`No schemas available`,style:g}):(0,Z.jsx)(Z.Fragment,{children:t.map(e=>_(e.name)?(0,Z.jsx)(St,{tables:e.tables,tablesResolved:k(e),searchValue:s,sqlTableContext:gt(i,{schema:e.name,schemaPath:l})},e.name):(0,Z.jsx)(bt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},bt=e=>{let t=(0,Y.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=ht(),{databaseName:o,searchValue:s}=a,c;t[0]!==n||t[1]!==s?(c=R(n,s),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l=c,[u,d]=X.useState(l),[f,p]=X.useState(!1),[h,g]=X.useState(s),[_,v]=X.useState(l),y;t[3]===r?y=t[4]:(y=r.join(`.`),t[3]=r,t[4]=y);let b=`${o}:${y}`,x;t[5]===n.child_schemas?x=t[6]:(x=n.child_schemas??[],t[5]=n.child_schemas,t[6]=x);let S=x;(h!==s||_!==l)&&(g(s),v(l),d(l));let C;t[7]===i?C=t[8]:(C=$(at(i)),t[7]=i,t[8]=C);let w;t[9]!==u||t[10]!==f?(w=()=>{d(!u),p(!f)},t[9]=u,t[10]=f,t[11]=w):w=t[11];let T;t[12]===u?T=t[13]:(T=(0,Z.jsx)(ge,{isExpanded:u}),t[12]=u,t[13]=T);let E=f&&u&&`text-foreground`,D;t[14]===E?D=t[15]:(D=W(`h-4 w-4 text-muted-foreground`,E),t[14]=E,t[15]=D);let O;t[16]===D?O=t[17]:(O=(0,Z.jsx)(V,{className:D}),t[16]=D,t[17]=O);let A=f&&u&&`font-semibold`,j;t[18]===A?j=t[19]:(j=W(A),t[18]=A,t[19]=j);let M;t[20]!==n.name||t[21]!==j?(M=(0,Z.jsx)(`span`,{className:j,children:n.name}),t[20]=n.name,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==C||t[25]!==w||t[26]!==T||t[27]!==O||t[28]!==b?(N=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:C,onSelect:w,value:b,children:[T,O,M]}),t[23]=M,t[24]=C,t[25]=w,t[26]=T,t[27]=O,t[28]=b,t[29]=N):N=t[29];let P;t[30]!==S||t[31]!==i||t[32]!==u||t[33]!==n||t[34]!==r||t[35]!==s||t[36]!==a?(P=u&&(0,Z.jsxs)(Z.Fragment,{children:[(S.length>0||!m(n))&&(0,Z.jsx)(yt,{schemas:S,schemasResolved:m(n),schemaPath:r,depth:i+1}),(0,Z.jsx)(St,{tables:n.tables,tablesResolved:k(n),searchValue:s,tableIndentRem:ot(i),columnIndentRem:st(i),sqlTableContext:gt(a,{schema:n.name,schemaPath:r})})]}),t[30]=S,t[31]=i,t[32]=u,t[33]=n,t[34]=r,t[35]=s,t[36]=a,t[37]=P):P=t[37];let F;return t[38]!==N||t[39]!==P?(F=(0,Z.jsxs)(Z.Fragment,{children:[N,P]}),t[38]=N,t[39]=P,t[40]=F):F=t[40],F};async function xt(e,t,n){n(!0);try{let{engine:n,database:r,schema:i,schemaPath:a}=e,o=await z.request({engine:n,database:r,schema:i,schemaPath:a??[]});if(!o?.tables)throw Error(`No tables available`);t({tables:o.tables,sqlTableContext:e})}finally{n(!1)}}var St=e=>{let t=(0,Y.c)(31),{tables:n,sqlTableContext:r,searchValue:i,tablesResolved:a,tableIndentRem:o,columnIndentRem:s}=e,c=a===void 0||a,{addTableList:l}=h(),[u,d]=X.useState(!1),f;t[0]!==l||t[1]!==r||t[2]!==c?(f=async()=>{!c&&r&&await xt(r,l,d)},t[0]=l,t[1]=r,t[2]=c,t[3]=f):f=t[3];let p;t[4]!==r||t[5]!==c?(p=[c,r],t[4]=r,t[5]=c,t[6]=p):p=t[6];let{isPending:m,error:g}=Fe(f,p),_=o??Q.tableLoading,v;t[7]===_?v=t[8]:(v=$(_),t[7]=_,t[8]=v);let y=v;if(m||u){let e;return t[9]===y?e=t[10]:(e=(0,Z.jsx)(ce,{message:`Loading tables...`,style:y}),t[9]=y,t[10]=e),e}if(g){let e;return t[11]!==g||t[12]!==y?(e=(0,Z.jsx)(ue,{error:g,style:y}),t[11]=g,t[12]=y,t[13]=e):e=t[13],e}if(n.length===0){let e;return t[14]===y?e=t[15]:(e=(0,Z.jsx)(de,{content:`No tables found`,style:y}),t[14]=y,t[15]=e),e}let b;if(t[16]!==s||t[17]!==i||t[18]!==r||t[19]!==o||t[20]!==n){let e;t[22]===i?e=t[23]:(e=e=>!i||e.name.toLowerCase().includes(i.toLowerCase()),t[22]=i,t[23]=e);let a=n.filter(e),c;t[24]!==s||t[25]!==i||t[26]!==r||t[27]!==o?(c=e=>(0,Z.jsx)(Ct,{table:e,sqlTableContext:r,isSearching:!!i,tableIndentRem:o,columnIndentRem:s},e.name),t[24]=s,t[25]=i,t[26]=r,t[27]=o,t[28]=c):c=t[28],b=a.map(c),t[16]=s,t[17]=i,t[18]=r,t[19]=o,t[20]=n,t[21]=b}else b=t[21];let x;return t[29]===b?x=t[30]:(x=(0,Z.jsx)(Z.Fragment,{children:b}),t[29]=b,t[30]=x),x},Ct=e=>{let t=(0,Y.c)(70),{table:n,sqlTableContext:i,isSearching:a,tableIndentRem:o,columnIndentRem:s}=e,{addTable:c}=h(),[u,f]=X.useState(!1),p=n.columns.length>0,m;t[0]!==c||t[1]!==u||t[2]!==i||t[3]!==n.name||t[4]!==p?(m=async()=>{if(u&&!p&&i){let{engine:e,database:t,schema:r,schemaPath:a}=i,o=await v.request({engine:e,database:t,schema:r,tableName:n.name,schemaPath:a??[]});if(!o?.table)throw Error(`No table details available`);c({table:o.table,sqlTableContext:i})}},t[0]=c,t[1]=u,t[2]=i,t[3]=n.name,t[4]=p,t[5]=m):m=t[5];let g;t[6]!==u||t[7]!==p?(g=[u,p],t[6]=u,t[7]=p,t[8]=g):g=t[8];let{isFetching:_,isPending:y,error:b}=Fe(m,g),x=r(ae),S=E(),{createNewCell:C}=d(),w=Ge(),T;t[9]!==w||t[10]!==x||t[11]!==C||t[12]!==S||t[13]!==i||t[14]!==n?(T=()=>{l({autoInstantiate:x,createNewCell:C,fromCellId:S}),w((()=>{if(n.source_type===`catalog`){let e=i?.database?[i.database,...i.schemaPath??[],n.name].join(`.`):n.name;return`${n.engine}.load_table("${e}")`}if(i)return j({table:n,columnName:`*`,sqlTableContext:i});switch(n.source_type){case`local`:return`mo.ui.table(${n.name})`;case`duckdb`:case`connection`:return j({table:n,columnName:`*`,sqlTableContext:i});default:return Me(n.source_type),``}})())},t[9]=w,t[10]=x,t[11]=C,t[12]=S,t[13]=i,t[14]=n,t[15]=T):T=t[15];let D=T,k;t[16]!==n.num_columns||t[17]!==n.num_rows?(k=()=>{let e=[];return n.num_rows!=null&&e.push(`${n.num_rows} rows`),n.num_columns!=null&&e.push(`${n.num_columns} columns`),e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-row gap-2 items-center pl-6 group-hover:hidden`,children:(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.join(`, `)})})},t[16]=n.num_columns,t[17]=n.num_rows,t[18]=k):k=t[18];let M=k,N;t[19]!==s||t[20]!==b||t[21]!==_||t[22]!==y||t[23]!==i||t[24]!==n?(N=()=>{let e=$(s??Q.tableLoading);if(y||_)return(0,Z.jsx)(ce,{message:`Loading columns...`,style:e});if(b)return(0,Z.jsx)(ue,{error:b,style:e});let t=n.columns;return t.length===0?(0,Z.jsx)(de,{content:`No columns found`,style:e}):t.map(e=>(0,Z.jsx)(wt,{table:n,column:e,sqlTableContext:i,columnIndentRem:s},e.name))},t[19]=s,t[20]=b,t[21]=_,t[22]=y,t[23]=i,t[24]=n,t[25]=N):N=t[25];let P=N,F;t[26]!==u||t[27]!==a||t[28]!==n.source_type||t[29]!==n.type?(F=()=>{if(n.source_type===`local`)return;let e=n.type===`table`?O:te;return(0,Z.jsx)(e,{className:`h-3 w-3`,strokeWidth:u||a?2.5:void 0})},t[26]=u,t[27]=a,t[28]=n.source_type,t[29]=n.type,t[30]=F):F=t[30];let I=F,L;t[31]!==i||t[32]!==n.name?(L=A(i,n.name),t[31]=i,t[32]=n.name,t[33]=L):L=t[33];let R=L,z=o??(i?Q.tableSchemaless:0),B=(u||a)&&`font-semibold`,V;t[34]===B?V=t[35]:(V=W(`rounded-none group h-8 cursor-pointer`,B),t[34]=B,t[35]=V);let H;t[36]===z?H=t[37]:(H=$(z),t[36]=z,t[37]=H);let ne;t[38]===u?ne=t[39]:(ne=()=>f(!u),t[38]=u,t[39]=ne);let re;t[40]===I?re=t[41]:(re=I(),t[40]=I,t[41]=re);let ie;t[42]===n.name?ie=t[43]:(ie=(0,Z.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=ie);let oe;t[44]!==re||t[45]!==ie?(oe=(0,Z.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[re,ie]}),t[44]=re,t[45]=ie,t[46]=oe):oe=t[46];let U;t[47]===M?U=t[48]:(U=M(),t[47]=M,t[48]=U);let se=`Add table ${n.name} to notebook`,G;t[49]===D?G=t[50]:(G=ye.stopPropagation(()=>D()),t[49]=D,t[50]=G);let le;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,Z.jsx)(Oe,{className:`h-3 w-3`}),t[51]=le):le=t[51];let K;t[52]!==se||t[53]!==G?(K=(0,Z.jsx)(_e,{content:`Add table to notebook`,delayDuration:400,children:(0,Z.jsx)(be,{"aria-label":se,className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:G,children:le})}),t[52]=se,t[53]=G,t[54]=K):K=t[54];let q;t[55]!==u||t[56]!==H||t[57]!==ne||t[58]!==oe||t[59]!==U||t[60]!==K||t[61]!==V||t[62]!==R?(q=(0,Z.jsxs)(ee,{className:V,style:H,value:R,"aria-selected":u,forceMount:!0,onSelect:ne,children:[oe,U,K]}),t[55]=u,t[56]=H,t[57]=ne,t[58]=oe,t[59]=U,t[60]=K,t[61]=V,t[62]=R,t[63]=q):q=t[63];let J;t[64]!==u||t[65]!==P?(J=u&&P(),t[64]=u,t[65]=P,t[66]=J):J=t[66];let fe;return t[67]!==q||t[68]!==J?(fe=(0,Z.jsxs)(Z.Fragment,{children:[q,J]}),t[67]=q,t[68]=J,t[69]=fe):fe=t[69],fe},wt=e=>{let t=(0,Y.c)(53),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[l,u]=X.useState(!1),d=r(y),f=i(re);d&&l&&u(!1),f(l?e=>new Set([...e,`${n.name}:${a.name}`]):e=>(e.delete(`${n.name}:${a.name}`),new Set(e)));let p=Ge(),{columnsPreviews:m}=c(),h;t[0]!==a.name||t[1]!==n.primary_keys?(h=n.primary_keys?.includes(a.name)||!1,t[0]=a.name,t[1]=n.primary_keys,t[2]=h):h=t[2];let g=h,_;t[3]!==a.name||t[4]!==n.indexes?(_=n.indexes?.includes(a.name)||!1,t[3]=a.name,t[4]=n.indexes,t[5]=_):_=t[5];let v=_,b;t[6]===p?b=t[7]:(b=e=>{p(e)},t[6]=p,t[7]=b);let x=b,S=Tt,C=l?`font-semibold`:``,w;t[8]!==a.name||t[9]!==C?(w=(0,Z.jsx)(`span`,{className:C,children:a.name}),t[8]=a.name,t[9]=C,t[10]=w):w=t[10];let T=w,E=`${n.name}.${a.name}`,D=`${n.name}.${a.name}`,O;t[11]===l?O=t[12]:(O=()=>u(!l),t[11]=l,t[12]=O);let k;t[13]!==s||t[14]!==o?(k=s??(o?st(0):Q.columnLocal),t[13]=s,t[14]=o,t[15]=k):k=t[15];let A;t[16]===k?A=t[17]:(A=$(k),t[16]=k,t[17]=A);let j;t[18]!==a.type||t[19]!==T?(j=(0,Z.jsx)(q,{columnName:T,dataType:a.type}),t[18]=a.type,t[19]=T,t[20]=j):j=t[20];let M;t[21]===g?M=t[22]:(M=g&&S({tooltipContent:`Primary key`,content:`PK`}),t[21]=g,t[22]=M);let N;t[23]===v?N=t[24]:(N=v&&S({tooltipContent:`Indexed`,content:`IDX`}),t[23]=v,t[24]=N);let P;t[25]!==A||t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Z.jsxs)(`div`,{className:`flex flex-row gap-2 items-center flex-1`,style:A,children:[j,M,N]}),t[25]=A,t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F=a.name,I=`Copy column name ${a.name}`,L;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(L=W(ve({variant:`text`,size:`icon`}),`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`),t[30]=L):L=t[30];let R;t[31]!==a.name||t[32]!==I?(R=(0,Z.jsx)(Ae,{tooltip:`Copy column name`,value:F,ariaLabel:I,className:`h-3 w-3`,buttonClassName:L}),t[31]=a.name,t[32]=I,t[33]=R):R=t[33];let z;t[34]===a.external_type?z=t[35]:(z=(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[34]=a.external_type,t[35]=z);let te;t[36]!==P||t[37]!==R||t[38]!==z||t[39]!==E||t[40]!==D||t[41]!==O?(te=(0,Z.jsxs)(ee,{className:`rounded-none py-1 group cursor-pointer`,value:D,onSelect:O,children:[P,R,z]},E),t[36]=P,t[37]=R,t[38]=z,t[39]=E,t[40]=D,t[41]=O,t[42]=te):te=t[42];let B;t[43]!==a||t[44]!==m||t[45]!==x||t[46]!==l||t[47]!==o||t[48]!==n?(B=l&&(0,Z.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:$(Q.columnPreview),children:(0,Z.jsx)(se,{children:(0,Z.jsx)(De,{table:n,column:a,onAddColumnChart:x,preview:m.get(o?`${o.database}.${o.schema}.${n.name}:${a.name}`:`${n.name}:${a.name}`),sqlTableContext:o})})}),t[43]=a,t[44]=m,t[45]=x,t[46]=l,t[47]=o,t[48]=n,t[49]=B):B=t[49];let V;return t[50]!==te||t[51]!==B?(V=(0,Z.jsxs)(Z.Fragment,{children:[te,B]}),t[50]=te,t[51]=B,t[52]=V):V=t[52],V};function Tt(e){let{tooltipContent:t,content:n}=e;return(0,Z.jsx)(_e,{content:t,delayDuration:100,children:(0,Z.jsx)(`span`,{className:`text-xs text-black bg-gray-100 dark:invert rounded px-1`,children:n})})}function Et(e){return e}var Dt={name:`name`,type:`type-value`,defs:`defs-refs`},Ot=[Et({id:Dt.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(K,{header:`Name`,column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsx)(Je,{name:t,declaredBy:n})}}),Et({id:Dt.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(K,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Type`}),(0,Z.jsx)(`span`,{children:`Value`})]}),column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsxs)(`div`,{className:`max-w-[150px]`,children:[(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs`,children:t}),(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap`,title:n??``,children:n})]})}}),Et({id:Dt.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:`basic`,header:({column:e})=>(0,Z.jsx)(K,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Declared By`}),(0,Z.jsx)(`span`,{children:`Used By`})]}),column:e}),cell:({getValue:e})=>{let[t,n,r]=e(),i=e=>{let t=N(e);t&&H(t,r)};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 py-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-center`,children:[(0,Z.jsx)(`span`,{title:`Declared by`,children:(0,Z.jsx)(rt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,Z.jsx)(Ie,{variant:`focus`,cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,Z.jsx)(`div`,{className:`text-destructive flex flex-row gap-2`,children:t.slice(0,3).map((e,n)=>(0,Z.jsxs)(`span`,{className:`flex`,children:[(0,Z.jsx)(Ie,{variant:`focus`,cellId:e,skipScroll:!0,className:`whitespace-nowrap text-destructive`,onClick:()=>i(e)},e),n<t.length-1&&`, `]},e))})]}),(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-baseline`,children:[(0,Z.jsx)(`span`,{title:`Used by`,children:(0,Z.jsx)(ke,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,Z.jsx)(qe,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function kt({variables:e,sort:t,cellIdToIndex:n}){t||={id:Dt.defs,desc:!1};let r=[];switch(t.id){case Dt.name:r=je(e,e=>e.name);break;case Dt.type:r=je(e,e=>e.dataType);break;case Dt.defs:r=je(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var At=(0,X.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=X.useState([]),[a,o]=X.useState(``),s=S(),{locale:c}=Pe(),l=(0,X.useMemo)(()=>{let e=e=>{let n=s[e];return T(n)?`cell-${t.indexOf(e)}`:n??`cell-${t.indexOf(e)}`};return Object.values(n).map(t=>({...t,declaredByNames:t.declaredBy.map(e),usedByNames:t.usedBy.map(e)}))},[n,s,t]),u=(0,X.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),kt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=pe({data:u,columns:Ot,getCoreRowModel:me(),onGlobalFilterChange:o,getFilteredRowModel:J(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(e){return e.columnDef.enableGlobalFilter??!0},globalFilterFn:`auto`,manualSorting:!0,locale:c,onSortingChange:i,getSortedRowModel:le(),state:{sorting:r,globalFilter:a}});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ee,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,Z.jsxs)(He,{className:W(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,Z.jsx)(Le,{children:(0,Z.jsx)(Be,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,Z.jsx)(Re,{className:`sticky top-0 bg-background border-b`,children:he(e.column.columnDef.header,e.getContext())},e.id))})}),(0,Z.jsx)(ze,{children:d.getRowModel().rows.map(e=>(0,Z.jsx)(Be,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,Z.jsx)(Ve,{className:`border-b`,children:he(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});At.displayName=`VariableTable`;var jt=()=>{let e=(0,Y.c)(30),n=o(),i=b(),a=r(w),s=r(x),c=ne(`database`),[l,u]=t(nt),d=a.length+s.length,f;e[0]!==d||e[1]!==l.hasUserInteracted||e[2]!==l.openSections?(f=!l.hasUserInteracted&&d>0?[...new Set([...l.openSections,`datasources`])]:l.openSections,e[0]=d,e[1]=l.hasUserInteracted,e[2]=l.openSections,e[3]=f):f=e[3];let m=f,h;e[4]===u?h=e[5]:(h=e=>{u({openSections:e,hasUserInteracted:!0})},e[4]=u,e[5]=h);let g=h,_;e[6]===m?_=e[7]:(_=m.includes(`datasources`),e[6]=m,e[7]=_);let v=!_&&d>0,y=c.length>0,S;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(Se,{className:`w-4 h-4`}),e[8]=S):S=e[8];let C;e[9]!==d||e[10]!==v?(C=v&&(0,Z.jsx)(Ye,{children:d}),e[9]=d,e[10]=v,e[11]=C):C=e[11];let T;e[12]!==c.length||e[13]!==y?(T=y&&(0,Z.jsx)(tt,{count:c.length,type:`database`}),e[12]=c.length,e[13]=y,e[14]=T):T=e[14];let E;e[15]!==C||e[16]!==T?(E=(0,Z.jsxs)(Xe,{children:[S,`Data sources`,C,T]}),e[15]=C,e[16]=T,e[17]=E):E=e[17];let D;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(Ze,{children:(0,Z.jsx)(ft,{})}),e[18]=D):D=e[18];let O;e[19]===E?O=e[20]:(O=(0,Z.jsxs)($e,{value:`datasources`,children:[E,D]}),e[19]=E,e[20]=O);let k;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(Xe,{children:[(0,Z.jsx)(p,{className:`w-4 h-4`}),`Variables`]}),e[21]=k):k=e[21];let A;e[22]!==i||e[23]!==n?(A=(0,Z.jsxs)($e,{value:`variables`,lastItem:!0,children:[k,(0,Z.jsx)(Ze,{children:Object.keys(n).length===0?(0,Z.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground`,children:`No variables defined`}):(0,Z.jsx)(At,{cellIds:i.inOrderIds,variables:n})})]}),e[22]=i,e[23]=n,e[24]=A):A=e[24];let j;return e[25]!==g||e[26]!==m||e[27]!==A||e[28]!==O?(j=(0,Z.jsxs)(oe,{type:`multiple`,value:m,onValueChange:g,className:`flex flex-col h-full overflow-auto`,children:[O,A]}),e[25]=g,e[26]=m,e[27]=A,e[28]=O,e[29]=j):j=e[29],j};export{jt as default};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,u as i}from"./useEvent-BDjgaBtz.js";import{t as a}from"./react-DVplv7_D.js";import{$r as o,Ai as s,Bi as c,Bt as l,Cn as u,D as d,Gn as f,Ha as p,Hi as m,Ii as h,Ji as g,Ki as _,Kn as v,Li as y,M as b,Mi as x,P as S,Qr as C,Ri as w,Rn as T,Rt as E,Ui as D,Wa as O,Wi as k,Xi as A,Yi as j,Zi as M,_n as ee,c as N,fn as P,gn as F,i as I,jn as L,qi as R,qn as z,ro as te,ti as B,to as V,yr as H,yt as ne,zi as re}from"./cells-BypTg035.js";import{t as ie}from"./compiler-runtime-BrajqUja.js";import{s as ae}from"./config-CXnC3MRv.js";import{r as oe}from"./config-BC32AAdw.js";import{O as U}from"./config-7IjqNuVp.js";import{t as se}from"./ErrorBoundary-98Xo04DS.js";import{t as W}from"./cn-ldLVeaqm.js";import{t as G}from"./jsx-runtime-B74pBk57.js";import{_ as ce,at as le,et as K,f as q,g as ue,h as de,it as J,m as fe,nt as pe,rt as me,tt as he,v as ge}from"./JsonOutput-V47aiTIK.js";import{t as _e}from"./tooltip-B5lAA_jn.js";import{n as ve,r as ye,t as be}from"./button-Cl7haVNh.js";import{t as xe}from"./createLucideIcon-DfJ2oMlA.js";import{i as Se}from"./paths-bkIFVj8h.js";import{r as Ce}from"./useNumberFormatter-D7O_26UI.js";import{a as we,r as Te}from"./tree-actions-BQw_utcj.js";import{a as Ee}from"./input-DLA5Dhn3.js";import{n as De,o as Oe}from"./column-preview-85ORMhfB.js";import{t as ke}from"./workflow-cw-0b9g5.js";import{t as Ae}from"./copy-icon-Craaocbu.js";import{l as je}from"./arrays-0R2reF2y.js";import{i as Me}from"./strings-3lNX212T.js";import{r as Ne}from"./requests-BIFR-h4M.js";import{t as Pe}from"./I18nProvider-Cg2I_s1_.js";import{n as Fe}from"./useAsyncData-qvoPYHtx.js";import{t as Ie}from"./cell-link-CAjuFcLK.js";import{a as Le,i as Re,n as ze,o as Be,r as Ve,t as He}from"./table-vrvqpuKJ.js";import{n as Ue}from"./icons-CiZ_8zS-.js";import{t as We}from"./useDeepCompareMemoize-B2DVK2De.js";import{t as Ge}from"./useAddCell-_b8InOZC.js";import{t as Ke}from"./empty-state-BaCKb7o3.js";import{n as qe,t as Je}from"./common-J265II7i.js";import{a as Ye,i as Xe,n as Ze,o as Qe,r as $e,s as et,t as tt}from"./components-Bd3Dpi92.js";import{r as nt}from"./panel-accordion-state-D6KtwSF8.js";var rt=xe(`square-equal`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 10h10`,key:`1101jm`}],[`path`,{d:`M7 14h10`,key:`1mhdw3`}]]),Y=ie(),X=e(a(),1),Z=G(),it=1;function at(e){return 1.75+e*it}function ot(e){return 3+e*it}function st(e){return 3.25+e*it}var Q={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function $(e){return{paddingLeft:`${e}rem`}}var ct=n(e=>{let t=e(w),n=e(B),r=e(I);return je(t,e=>{if(!e.variable_name)return-1;let t=Object.values(n).find(t=>t.name===e.variable_name);if(!t)return 0;let i=r.inOrderIds.indexOf(t.declaredBy[0]);return i===-1?0:i})}),lt=U(`marimo:datasources:hideEmpty`,!1,C,{getOnInit:!0});function ut(e){let t=!1,n=[];for(let r of e){if(!k(r)||!m(r)){n.push(r);continue}let e=r.child_schemas??[],i=ut(e);if(r.tables.length===0&&i.length===0){t=!0;continue}if(i===e){n.push(r);continue}t=!0,n.push({...r,child_schemas:i})}return t?n:e}function dt(e){let t=!1,n=[];for(let r of e){if(D(r)&&r.schemas.length===0){t=!0;continue}if(r.schemas.length===0){n.push(r);continue}let e=ut(r.schemas);if(e.length===0){t=!0;continue}if(e===r.schemas){n.push(r);continue}t=!0,n.push({...r,schemas:e})}return t?n:e}var ft=()=>{let e=(0,Y.c)(42),[n,a]=X.useState(``),[o,s]=t(lt),c=i(y),l=r(ct),d=r(x),f;bb0:{if(!o){f=d;break bb0}let t,n;e[0]===d?(t=e[1],n=e[2]):(t=!1,n=d.map(e=>{let n=dt(e.databases);return n===e.databases?e:(t=!0,{...e,databases:n})}),e[0]=d,e[1]=t,e[2]=n),f=t?n:d}let p=f;if(l.length===0&&p.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(Ke,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,Z.jsx)(Se,{})}),e[3]=t):t=e[3],t}let m;e[4]===n?m=e[5]:(m=n.trim(),e[4]=n,e[5]=m);let h=!!m,g;e[6]===c?g=e[7]:(g=e=>{c(e.length>0),a(e)},e[6]=c,e[7]=g);let _;e[8]!==n||e[9]!==g?(_=(0,Z.jsx)(F,{placeholder:`Search tables...`,className:`h-6 m-1`,value:n,onValueChange:g,rootClassName:`flex-1 border-r border-b-0`}),e[8]=n,e[9]=g,e[10]=_):_=e[10];let v;e[11]===h?v=e[12]:(v=h&&(0,Z.jsx)(`button`,{type:`button`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,Z.jsx)(Ce,{className:`h-4 w-4`})}),e[11]=h,e[12]=v);let b=!o,S;e[13]!==o||e[14]!==s?(S=()=>s(!o),e[13]=o,e[14]=s,e[15]=S):S=e[15];let C;e[16]!==b||e[17]!==S?(C=(0,Z.jsx)(we,{"data-testid":`datasources-hide-empty-button`,isVisible:b,onToggle:S,showTooltip:`Show empty schemas and databases`,hideTooltip:`Hide empty schemas and databases`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[16]=b,e[17]=S,e[18]=C):C=e[18];let w;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[19]=w):w=e[19];let T;e[20]!==_||e[21]!==v||e[22]!==C?(T=(0,Z.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[_,v,C,w]}),e[20]=_,e[21]=v,e[22]=C,e[23]=T):T=e[23];let E;if(e[24]!==p||e[25]!==n){let t;e[27]===n?t=e[28]:(t=e=>(0,Z.jsx)(pt,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,Z.jsx)(_t,{connection:e,database:t,searchValue:n},t.name))},e.name),e[27]=n,e[28]=t),E=p.map(t),e[24]=p,e[25]=n,e[26]=E}else E=e[26];let D;e[29]!==p.length||e[30]!==l.length?(D=p.length>0&&l.length>0&&(0,Z.jsxs)(fe,{className:`pr-2`,style:$(Q.engine),children:[(0,Z.jsx)(Ue,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs`,children:`Python`})]}),e[29]=p.length,e[30]=l.length,e[31]=D):D=e[31];let O;e[32]!==n||e[33]!==l?(O=l.length>0&&(0,Z.jsx)(St,{tables:l,searchValue:n}),e[32]=n,e[33]=l,e[34]=O):O=e[34];let k;e[35]!==E||e[36]!==D||e[37]!==O?(k=(0,Z.jsxs)(u,{className:`flex flex-col`,children:[E,D,O]}),e[35]=E,e[36]=D,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==k||e[40]!==T?(A=(0,Z.jsxs)(P,{className:`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden`,shouldFilter:!1,children:[T,k]}),e[39]=k,e[40]=T,e[41]=A):A=e[41],A},pt=e=>{let t=(0,Y.c)(26),{connection:n,children:r,hasChildren:i}=e,a=n.name===M,o=a?`In-Memory`:n.name,{previewDataSourceConnection:c}=Ne(),l;t[0]!==n.name||t[1]!==c?(l=async()=>{await c({engine:n.name})},t[0]=n.name,t[1]=c,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=$(Q.engine),t[3]=d):d=t[3];let f;t[4]===n.dialect?f=t[5]:(f=(0,Z.jsx)(L,{className:`h-4 w-4 text-muted-foreground`,name:n.dialect}),t[4]=n.dialect,t[5]=f);let p;t[6]===n.dialect?p=t[7]:(p=s(n.dialect),t[6]=n.dialect,t[7]=p);let m;t[8]===p?m=t[9]:(m=(0,Z.jsx)(`span`,{className:`text-xs`,children:p}),t[8]=p,t[9]=m);let h=o,g;t[10]===h?g=t[11]:(g=(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(0,Z.jsx)(et,{variableName:h}),`)`]}),t[10]=h,t[11]=g);let _;t[12]!==u||t[13]!==a?(_=!a&&(0,Z.jsx)(Te,{onClick:u,tooltip:`Refresh connection`,className:`ml-auto h-4 p-0`,iconClassName:`h-3.5 w-3.5`}),t[12]=u,t[13]=a,t[14]=_):_=t[14];let v;t[15]!==f||t[16]!==m||t[17]!==g||t[18]!==_?(v=(0,Z.jsxs)(fe,{className:`pr-2`,style:d,children:[f,m,g,_]}),t[15]=f,t[16]=m,t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==r||t[21]!==i?(y=i?r:(0,Z.jsx)(de,{content:`No databases available`,style:$(Q.engineEmpty)}),t[20]=r,t[21]=i,t[22]=y):y=t[22];let b;return t[23]!==y||t[24]!==v?(b=(0,Z.jsxs)(Z.Fragment,{children:[v,y]}),t[23]=y,t[24]=v,t[25]=b):b=t[25],b},mt=X.createContext(null);function ht(){let e=X.useContext(mt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function gt(e,{schema:t,schemaPath:n}){return{engine:e.engineName,database:e.databaseName,schema:t,schemaPath:n,defaultSchema:e.defaultSchema,defaultDatabase:e.defaultDatabase,dialect:e.dialect}}var _t=e=>{let t=(0,Y.c)(21),{connection:n,database:r,searchValue:i}=e,a;t[0]!==n.default_database||t[1]!==n.default_schema||t[2]!==n.dialect||t[3]!==n.name||t[4]!==r.name||t[5]!==i?(a={engineName:n.name,databaseName:r.name,dialect:n.dialect,defaultSchema:n.default_schema,defaultDatabase:n.default_database,searchValue:i},t[0]=n.default_database,t[1]=n.default_schema,t[2]=n.dialect,t[3]=n.name,t[4]=r.name,t[5]=i,t[6]=a):a=t[6];let o=a,s=n.name,c=r.schemas,l;t[7]===r?l=t[8]:(l=D(r),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[9]=u):u=t[9];let d;t[10]!==r.schemas||t[11]!==l?(d=(0,Z.jsx)(yt,{schemas:c,schemasResolved:l,schemaPath:u,depth:0}),t[10]=r.schemas,t[11]=l,t[12]=d):d=t[12];let f;t[13]!==d||t[14]!==o?(f=(0,Z.jsx)(mt.Provider,{value:o,children:d}),t[13]=d,t[14]=o,t[15]=f):f=t[15];let p;return t[16]!==n.name||t[17]!==r||t[18]!==i||t[19]!==f?(p=(0,Z.jsx)(vt,{engineName:s,database:r,searchValue:i,children:f}),t[16]=n.name,t[17]=r,t[18]=i,t[19]=f,t[20]=p):p=t[20],p},vt=e=>{let t=(0,Y.c)(29),{searchValue:n,engineName:r,database:i,children:a}=e,o;t[0]!==i||t[1]!==n?(o=g(i,n),t[0]=i,t[1]=n,t[2]=o):o=t[2];let s=o,[c,l]=X.useState(s),[u,d]=X.useState(!1),[f,p]=X.useState(n),[m,h]=X.useState(s);(f!==n||m!==s)&&(p(n),h(s),l(s));let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=$(Q.database),t[3]=_):_=t[3];let v;t[4]!==c||t[5]!==u?(v=()=>{l(!c),d(!u)},t[4]=c,t[5]=u,t[6]=v):v=t[6];let y=`${r}:${i.name}`,b;t[7]===c?b=t[8]:(b=(0,Z.jsx)(ge,{isExpanded:c}),t[7]=c,t[8]=b);let x=u&&c?`text-foreground`:`text-muted-foreground`,S;t[9]===x?S=t[10]:(S=W(`h-4 w-4`,x),t[9]=x,t[10]=S);let C;t[11]===S?C=t[12]:(C=(0,Z.jsx)(Se,{className:S}),t[11]=S,t[12]=C);let w=u&&c&&`font-semibold`,T;t[13]===w?T=t[14]:(T=W(w),t[13]=w,t[14]=T);let E;t[15]===i.name?E=t[16]:(E=i.name===``?(0,Z.jsx)(`i`,{children:`Not connected`}):i.name,t[15]=i.name,t[16]=E);let D;t[17]!==T||t[18]!==E?(D=(0,Z.jsx)(`span`,{className:T,children:E}),t[17]=T,t[18]=E,t[19]=D):D=t[19];let O;t[20]!==D||t[21]!==v||t[22]!==y||t[23]!==b||t[24]!==C?(O=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:_,onSelect:v,value:y,children:[b,C,D]}),t[20]=D,t[21]=v,t[22]=y,t[23]=b,t[24]=C,t[25]=O):O=t[25];let k=c&&a,A;return t[26]!==O||t[27]!==k?(A=(0,Z.jsxs)(Z.Fragment,{children:[O,k]}),t[26]=O,t[27]=k,t[28]=A):A=t[28],A},yt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=ht(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=h(),l=We(e.schemaPath),[u,d]=X.useState(!1),{isPending:p,error:m}=Fe(async()=>{if(!n&&a){d(!0);try{let e=await f.request({engine:a,database:o,schemaPath:l});c({schemas:e.schemas??[],sqlSchemaContext:{engine:a,database:o,schemaPath:l}})}finally{d(!1)}}},[n,a,o,l]),g=$(at(r));return p||u?(0,Z.jsx)(ce,{message:`Loading schemas...`,style:g}):m?(0,Z.jsx)(ue,{error:m,style:g}):t.length===0?(0,Z.jsx)(de,{content:`No schemas available`,style:g}):(0,Z.jsx)(Z.Fragment,{children:t.map(e=>_(e.name)?(0,Z.jsx)(St,{tables:e.tables,tablesResolved:k(e),searchValue:s,sqlTableContext:gt(i,{schema:e.name,schemaPath:l})},e.name):(0,Z.jsx)(bt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},bt=e=>{let t=(0,Y.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=ht(),{databaseName:o,searchValue:s}=a,c;t[0]!==n||t[1]!==s?(c=R(n,s),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l=c,[u,d]=X.useState(l),[f,p]=X.useState(!1),[h,g]=X.useState(s),[_,v]=X.useState(l),y;t[3]===r?y=t[4]:(y=r.join(`.`),t[3]=r,t[4]=y);let b=`${o}:${y}`,x;t[5]===n.child_schemas?x=t[6]:(x=n.child_schemas??[],t[5]=n.child_schemas,t[6]=x);let S=x;(h!==s||_!==l)&&(g(s),v(l),d(l));let C;t[7]===i?C=t[8]:(C=$(at(i)),t[7]=i,t[8]=C);let w;t[9]!==u||t[10]!==f?(w=()=>{d(!u),p(!f)},t[9]=u,t[10]=f,t[11]=w):w=t[11];let T;t[12]===u?T=t[13]:(T=(0,Z.jsx)(ge,{isExpanded:u}),t[12]=u,t[13]=T);let E=f&&u&&`text-foreground`,D;t[14]===E?D=t[15]:(D=W(`h-4 w-4 text-muted-foreground`,E),t[14]=E,t[15]=D);let O;t[16]===D?O=t[17]:(O=(0,Z.jsx)(V,{className:D}),t[16]=D,t[17]=O);let A=f&&u&&`font-semibold`,j;t[18]===A?j=t[19]:(j=W(A),t[18]=A,t[19]=j);let M;t[20]!==n.name||t[21]!==j?(M=(0,Z.jsx)(`span`,{className:j,children:n.name}),t[20]=n.name,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==C||t[25]!==w||t[26]!==T||t[27]!==O||t[28]!==b?(N=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:C,onSelect:w,value:b,children:[T,O,M]}),t[23]=M,t[24]=C,t[25]=w,t[26]=T,t[27]=O,t[28]=b,t[29]=N):N=t[29];let P;t[30]!==S||t[31]!==i||t[32]!==u||t[33]!==n||t[34]!==r||t[35]!==s||t[36]!==a?(P=u&&(0,Z.jsxs)(Z.Fragment,{children:[(S.length>0||!m(n))&&(0,Z.jsx)(yt,{schemas:S,schemasResolved:m(n),schemaPath:r,depth:i+1}),(0,Z.jsx)(St,{tables:n.tables,tablesResolved:k(n),searchValue:s,tableIndentRem:ot(i),columnIndentRem:st(i),sqlTableContext:gt(a,{schema:n.name,schemaPath:r})})]}),t[30]=S,t[31]=i,t[32]=u,t[33]=n,t[34]=r,t[35]=s,t[36]=a,t[37]=P):P=t[37];let F;return t[38]!==N||t[39]!==P?(F=(0,Z.jsxs)(Z.Fragment,{children:[N,P]}),t[38]=N,t[39]=P,t[40]=F):F=t[40],F};async function xt(e,t,n){n(!0);try{let{engine:n,database:r,schema:i,schemaPath:a}=e,o=await z.request({engine:n,database:r,schema:i,schemaPath:a??[]});if(!o?.tables)throw Error(`No tables available`);t({tables:o.tables,sqlTableContext:e})}finally{n(!1)}}var St=e=>{let t=(0,Y.c)(31),{tables:n,sqlTableContext:r,searchValue:i,tablesResolved:a,tableIndentRem:o,columnIndentRem:s}=e,c=a===void 0||a,{addTableList:l}=h(),[u,d]=X.useState(!1),f;t[0]!==l||t[1]!==r||t[2]!==c?(f=async()=>{!c&&r&&await xt(r,l,d)},t[0]=l,t[1]=r,t[2]=c,t[3]=f):f=t[3];let p;t[4]!==r||t[5]!==c?(p=[c,r],t[4]=r,t[5]=c,t[6]=p):p=t[6];let{isPending:m,error:g}=Fe(f,p),_=o??Q.tableLoading,v;t[7]===_?v=t[8]:(v=$(_),t[7]=_,t[8]=v);let y=v;if(m||u){let e;return t[9]===y?e=t[10]:(e=(0,Z.jsx)(ce,{message:`Loading tables...`,style:y}),t[9]=y,t[10]=e),e}if(g){let e;return t[11]!==g||t[12]!==y?(e=(0,Z.jsx)(ue,{error:g,style:y}),t[11]=g,t[12]=y,t[13]=e):e=t[13],e}if(n.length===0){let e;return t[14]===y?e=t[15]:(e=(0,Z.jsx)(de,{content:`No tables found`,style:y}),t[14]=y,t[15]=e),e}let b;if(t[16]!==s||t[17]!==i||t[18]!==r||t[19]!==o||t[20]!==n){let e;t[22]===i?e=t[23]:(e=e=>!i||e.name.toLowerCase().includes(i.toLowerCase()),t[22]=i,t[23]=e);let a=n.filter(e),c;t[24]!==s||t[25]!==i||t[26]!==r||t[27]!==o?(c=e=>(0,Z.jsx)(Ct,{table:e,sqlTableContext:r,isSearching:!!i,tableIndentRem:o,columnIndentRem:s},e.name),t[24]=s,t[25]=i,t[26]=r,t[27]=o,t[28]=c):c=t[28],b=a.map(c),t[16]=s,t[17]=i,t[18]=r,t[19]=o,t[20]=n,t[21]=b}else b=t[21];let x;return t[29]===b?x=t[30]:(x=(0,Z.jsx)(Z.Fragment,{children:b}),t[29]=b,t[30]=x),x},Ct=e=>{let t=(0,Y.c)(70),{table:n,sqlTableContext:i,isSearching:a,tableIndentRem:o,columnIndentRem:s}=e,{addTable:c}=h(),[u,f]=X.useState(!1),p=n.columns.length>0,m;t[0]!==c||t[1]!==u||t[2]!==i||t[3]!==n.name||t[4]!==p?(m=async()=>{if(u&&!p&&i){let{engine:e,database:t,schema:r,schemaPath:a}=i,o=await v.request({engine:e,database:t,schema:r,tableName:n.name,schemaPath:a??[]});if(!o?.table)throw Error(`No table details available`);c({table:o.table,sqlTableContext:i})}},t[0]=c,t[1]=u,t[2]=i,t[3]=n.name,t[4]=p,t[5]=m):m=t[5];let g;t[6]!==u||t[7]!==p?(g=[u,p],t[6]=u,t[7]=p,t[8]=g):g=t[8];let{isFetching:_,isPending:y,error:b}=Fe(m,g),x=r(ae),S=E(),{createNewCell:C}=d(),w=Ge(),T;t[9]!==w||t[10]!==x||t[11]!==C||t[12]!==S||t[13]!==i||t[14]!==n?(T=()=>{l({autoInstantiate:x,createNewCell:C,fromCellId:S}),w((()=>{if(n.source_type===`catalog`){let e=i?.database?[i.database,...i.schemaPath??[],n.name].join(`.`):n.name;return`${n.engine}.load_table("${e}")`}if(i)return j({table:n,columnName:`*`,sqlTableContext:i});switch(n.source_type){case`local`:return`mo.ui.table(${n.name})`;case`duckdb`:case`connection`:return j({table:n,columnName:`*`,sqlTableContext:i});default:return Me(n.source_type),``}})())},t[9]=w,t[10]=x,t[11]=C,t[12]=S,t[13]=i,t[14]=n,t[15]=T):T=t[15];let D=T,k;t[16]!==n.num_columns||t[17]!==n.num_rows?(k=()=>{let e=[];return n.num_rows!=null&&e.push(`${n.num_rows} rows`),n.num_columns!=null&&e.push(`${n.num_columns} columns`),e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-row gap-2 items-center pl-6 group-hover:hidden`,children:(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.join(`, `)})})},t[16]=n.num_columns,t[17]=n.num_rows,t[18]=k):k=t[18];let M=k,N;t[19]!==s||t[20]!==b||t[21]!==_||t[22]!==y||t[23]!==i||t[24]!==n?(N=()=>{let e=$(s??Q.tableLoading);if(y||_)return(0,Z.jsx)(ce,{message:`Loading columns...`,style:e});if(b)return(0,Z.jsx)(ue,{error:b,style:e});let t=n.columns;return t.length===0?(0,Z.jsx)(de,{content:`No columns found`,style:e}):t.map(e=>(0,Z.jsx)(wt,{table:n,column:e,sqlTableContext:i,columnIndentRem:s},e.name))},t[19]=s,t[20]=b,t[21]=_,t[22]=y,t[23]=i,t[24]=n,t[25]=N):N=t[25];let P=N,F;t[26]!==u||t[27]!==a||t[28]!==n.source_type||t[29]!==n.type?(F=()=>{if(n.source_type===`local`)return;let e=n.type===`table`?O:te;return(0,Z.jsx)(e,{className:`h-3 w-3`,strokeWidth:u||a?2.5:void 0})},t[26]=u,t[27]=a,t[28]=n.source_type,t[29]=n.type,t[30]=F):F=t[30];let I=F,L;t[31]!==i||t[32]!==n.name?(L=A(i,n.name),t[31]=i,t[32]=n.name,t[33]=L):L=t[33];let R=L,z=o??(i?Q.tableSchemaless:0),B=(u||a)&&`font-semibold`,V;t[34]===B?V=t[35]:(V=W(`rounded-none group h-8 cursor-pointer`,B),t[34]=B,t[35]=V);let H;t[36]===z?H=t[37]:(H=$(z),t[36]=z,t[37]=H);let ne;t[38]===u?ne=t[39]:(ne=()=>f(!u),t[38]=u,t[39]=ne);let re;t[40]===I?re=t[41]:(re=I(),t[40]=I,t[41]=re);let ie;t[42]===n.name?ie=t[43]:(ie=(0,Z.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=ie);let oe;t[44]!==re||t[45]!==ie?(oe=(0,Z.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[re,ie]}),t[44]=re,t[45]=ie,t[46]=oe):oe=t[46];let U;t[47]===M?U=t[48]:(U=M(),t[47]=M,t[48]=U);let se=`Add table ${n.name} to notebook`,G;t[49]===D?G=t[50]:(G=ye.stopPropagation(()=>D()),t[49]=D,t[50]=G);let le;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,Z.jsx)(Oe,{className:`h-3 w-3`}),t[51]=le):le=t[51];let K;t[52]!==se||t[53]!==G?(K=(0,Z.jsx)(_e,{content:`Add table to notebook`,delayDuration:400,children:(0,Z.jsx)(be,{"aria-label":se,className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:G,children:le})}),t[52]=se,t[53]=G,t[54]=K):K=t[54];let q;t[55]!==u||t[56]!==H||t[57]!==ne||t[58]!==oe||t[59]!==U||t[60]!==K||t[61]!==V||t[62]!==R?(q=(0,Z.jsxs)(ee,{className:V,style:H,value:R,"aria-selected":u,forceMount:!0,onSelect:ne,children:[oe,U,K]}),t[55]=u,t[56]=H,t[57]=ne,t[58]=oe,t[59]=U,t[60]=K,t[61]=V,t[62]=R,t[63]=q):q=t[63];let J;t[64]!==u||t[65]!==P?(J=u&&P(),t[64]=u,t[65]=P,t[66]=J):J=t[66];let fe;return t[67]!==q||t[68]!==J?(fe=(0,Z.jsxs)(Z.Fragment,{children:[q,J]}),t[67]=q,t[68]=J,t[69]=fe):fe=t[69],fe},wt=e=>{let t=(0,Y.c)(53),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[l,u]=X.useState(!1),d=r(y),f=i(re);d&&l&&u(!1),f(l?e=>new Set([...e,`${n.name}:${a.name}`]):e=>(e.delete(`${n.name}:${a.name}`),new Set(e)));let p=Ge(),{columnsPreviews:m}=c(),h;t[0]!==a.name||t[1]!==n.primary_keys?(h=n.primary_keys?.includes(a.name)||!1,t[0]=a.name,t[1]=n.primary_keys,t[2]=h):h=t[2];let g=h,_;t[3]!==a.name||t[4]!==n.indexes?(_=n.indexes?.includes(a.name)||!1,t[3]=a.name,t[4]=n.indexes,t[5]=_):_=t[5];let v=_,b;t[6]===p?b=t[7]:(b=e=>{p(e)},t[6]=p,t[7]=b);let x=b,S=Tt,C=l?`font-semibold`:``,w;t[8]!==a.name||t[9]!==C?(w=(0,Z.jsx)(`span`,{className:C,children:a.name}),t[8]=a.name,t[9]=C,t[10]=w):w=t[10];let T=w,E=`${n.name}.${a.name}`,D=`${n.name}.${a.name}`,O;t[11]===l?O=t[12]:(O=()=>u(!l),t[11]=l,t[12]=O);let k;t[13]!==s||t[14]!==o?(k=s??(o?st(0):Q.columnLocal),t[13]=s,t[14]=o,t[15]=k):k=t[15];let A;t[16]===k?A=t[17]:(A=$(k),t[16]=k,t[17]=A);let j;t[18]!==a.type||t[19]!==T?(j=(0,Z.jsx)(q,{columnName:T,dataType:a.type}),t[18]=a.type,t[19]=T,t[20]=j):j=t[20];let M;t[21]===g?M=t[22]:(M=g&&S({tooltipContent:`Primary key`,content:`PK`}),t[21]=g,t[22]=M);let N;t[23]===v?N=t[24]:(N=v&&S({tooltipContent:`Indexed`,content:`IDX`}),t[23]=v,t[24]=N);let P;t[25]!==A||t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Z.jsxs)(`div`,{className:`flex flex-row gap-2 items-center flex-1`,style:A,children:[j,M,N]}),t[25]=A,t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F=a.name,I=`Copy column name ${a.name}`,L;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(L=W(ve({variant:`text`,size:`icon`}),`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`),t[30]=L):L=t[30];let R;t[31]!==a.name||t[32]!==I?(R=(0,Z.jsx)(Ae,{tooltip:`Copy column name`,value:F,ariaLabel:I,className:`h-3 w-3`,buttonClassName:L}),t[31]=a.name,t[32]=I,t[33]=R):R=t[33];let z;t[34]===a.external_type?z=t[35]:(z=(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[34]=a.external_type,t[35]=z);let te;t[36]!==P||t[37]!==R||t[38]!==z||t[39]!==E||t[40]!==D||t[41]!==O?(te=(0,Z.jsxs)(ee,{className:`rounded-none py-1 group cursor-pointer`,value:D,onSelect:O,children:[P,R,z]},E),t[36]=P,t[37]=R,t[38]=z,t[39]=E,t[40]=D,t[41]=O,t[42]=te):te=t[42];let B;t[43]!==a||t[44]!==m||t[45]!==x||t[46]!==l||t[47]!==o||t[48]!==n?(B=l&&(0,Z.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:$(Q.columnPreview),children:(0,Z.jsx)(se,{children:(0,Z.jsx)(De,{table:n,column:a,onAddColumnChart:x,preview:m.get(o?`${o.database}.${o.schema}.${n.name}:${a.name}`:`${n.name}:${a.name}`),sqlTableContext:o})})}),t[43]=a,t[44]=m,t[45]=x,t[46]=l,t[47]=o,t[48]=n,t[49]=B):B=t[49];let V;return t[50]!==te||t[51]!==B?(V=(0,Z.jsxs)(Z.Fragment,{children:[te,B]}),t[50]=te,t[51]=B,t[52]=V):V=t[52],V};function Tt(e){let{tooltipContent:t,content:n}=e;return(0,Z.jsx)(_e,{content:t,delayDuration:100,children:(0,Z.jsx)(`span`,{className:`text-xs text-black bg-gray-100 dark:invert rounded px-1`,children:n})})}function Et(e){return e}var Dt={name:`name`,type:`type-value`,defs:`defs-refs`},Ot=[Et({id:Dt.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(K,{header:`Name`,column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsx)(Je,{name:t,declaredBy:n})}}),Et({id:Dt.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(K,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Type`}),(0,Z.jsx)(`span`,{children:`Value`})]}),column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsxs)(`div`,{className:`max-w-[150px]`,children:[(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs`,children:t}),(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap`,title:n??``,children:n})]})}}),Et({id:Dt.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:`basic`,header:({column:e})=>(0,Z.jsx)(K,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Declared By`}),(0,Z.jsx)(`span`,{children:`Used By`})]}),column:e}),cell:({getValue:e})=>{let[t,n,r]=e(),i=e=>{let t=N(e);t&&H(t,r)};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 py-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-center`,children:[(0,Z.jsx)(`span`,{title:`Declared by`,children:(0,Z.jsx)(rt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,Z.jsx)(Ie,{variant:`focus`,cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,Z.jsx)(`div`,{className:`text-destructive flex flex-row gap-2`,children:t.slice(0,3).map((e,n)=>(0,Z.jsxs)(`span`,{className:`flex`,children:[(0,Z.jsx)(Ie,{variant:`focus`,cellId:e,skipScroll:!0,className:`whitespace-nowrap text-destructive`,onClick:()=>i(e)},e),n<t.length-1&&`, `]},e))})]}),(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-baseline`,children:[(0,Z.jsx)(`span`,{title:`Used by`,children:(0,Z.jsx)(ke,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,Z.jsx)(qe,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function kt({variables:e,sort:t,cellIdToIndex:n}){t||={id:Dt.defs,desc:!1};let r=[];switch(t.id){case Dt.name:r=je(e,e=>e.name);break;case Dt.type:r=je(e,e=>e.dataType);break;case Dt.defs:r=je(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var At=(0,X.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=X.useState([]),[a,o]=X.useState(``),s=S(),{locale:c}=Pe(),l=(0,X.useMemo)(()=>{let e=e=>{let n=s[e];return T(n)?`cell-${t.indexOf(e)}`:n??`cell-${t.indexOf(e)}`};return Object.values(n).map(t=>({...t,declaredByNames:t.declaredBy.map(e),usedByNames:t.usedBy.map(e)}))},[n,s,t]),u=(0,X.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),kt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=pe({data:u,columns:Ot,getCoreRowModel:me(),onGlobalFilterChange:o,getFilteredRowModel:J(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(e){return e.columnDef.enableGlobalFilter??!0},globalFilterFn:`auto`,manualSorting:!0,locale:c,onSortingChange:i,getSortedRowModel:le(),state:{sorting:r,globalFilter:a}});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ee,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,Z.jsxs)(He,{className:W(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,Z.jsx)(Le,{children:(0,Z.jsx)(Be,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,Z.jsx)(Re,{className:`sticky top-0 bg-background border-b`,children:he(e.column.columnDef.header,e.getContext())},e.id))})}),(0,Z.jsx)(ze,{children:d.getRowModel().rows.map(e=>(0,Z.jsx)(Be,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,Z.jsx)(Ve,{className:`border-b`,children:he(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});At.displayName=`VariableTable`;var jt=()=>{let e=(0,Y.c)(30),n=o(),i=b(),a=r(w),s=r(x),c=ne(`database`),[l,u]=t(nt),d=a.length+s.length,f;e[0]!==d||e[1]!==l.hasUserInteracted||e[2]!==l.openSections?(f=!l.hasUserInteracted&&d>0?[...new Set([...l.openSections,`datasources`])]:l.openSections,e[0]=d,e[1]=l.hasUserInteracted,e[2]=l.openSections,e[3]=f):f=e[3];let m=f,h;e[4]===u?h=e[5]:(h=e=>{u({openSections:e,hasUserInteracted:!0})},e[4]=u,e[5]=h);let g=h,_;e[6]===m?_=e[7]:(_=m.includes(`datasources`),e[6]=m,e[7]=_);let v=!_&&d>0,y=c.length>0,S;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(Se,{className:`w-4 h-4`}),e[8]=S):S=e[8];let C;e[9]!==d||e[10]!==v?(C=v&&(0,Z.jsx)(Ye,{children:d}),e[9]=d,e[10]=v,e[11]=C):C=e[11];let T;e[12]!==c.length||e[13]!==y?(T=y&&(0,Z.jsx)(tt,{count:c.length,type:`database`}),e[12]=c.length,e[13]=y,e[14]=T):T=e[14];let E;e[15]!==C||e[16]!==T?(E=(0,Z.jsxs)(Xe,{children:[S,`Data sources`,C,T]}),e[15]=C,e[16]=T,e[17]=E):E=e[17];let D;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(Ze,{children:(0,Z.jsx)(ft,{})}),e[18]=D):D=e[18];let O;e[19]===E?O=e[20]:(O=(0,Z.jsxs)($e,{value:`datasources`,children:[E,D]}),e[19]=E,e[20]=O);let k;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(Xe,{children:[(0,Z.jsx)(p,{className:`w-4 h-4`}),`Variables`]}),e[21]=k):k=e[21];let A;e[22]!==i||e[23]!==n?(A=(0,Z.jsxs)($e,{value:`variables`,lastItem:!0,children:[k,(0,Z.jsx)(Ze,{children:Object.keys(n).length===0?(0,Z.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground`,children:`No variables defined`}):(0,Z.jsx)(At,{cellIds:i.inOrderIds,variables:n})})]}),e[22]=i,e[23]=n,e[24]=A):A=e[24];let j;return e[25]!==g||e[26]!==m||e[27]!==A||e[28]!==O?(j=(0,Z.jsxs)(oe,{type:`multiple`,value:m,onValueChange:g,className:`flex flex-col h-full overflow-auto`,children:[O,A]}),e[25]=g,e[26]=m,e[27]=A,e[28]=O,e[29]=j):j=e[29],j};export{jt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{Cn as n,D as r,Rt as i,_n as a,fn as o,gn as s,mn as c}from"./cells-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{Cn as n,D as r,Rt as i,_n as a,fn as o,gn as s,mn as c}from"./cells-BypTg035.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{n as u}from"./useEventListener-DPOTkksd.js";import{r as d}from"./utils-B4K466FK.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{t as m}from"./tooltip-B5lAA_jn.js";import{t as h}from"./button-Cl7haVNh.js";import{n as g,t as _}from"./LazyAnyLanguageCodeMirror-DoxWX_Wp.js";import{r as v}from"./useNumberFormatter-D7O_26UI.js";import{b as y}from"./write-secret-modal-CBi2vNK_.js";import{t as b}from"./spinner-DyNE-o8o.js";import{t as x}from"./plus-C5silF6g.js";import{Qt as S,Xt as C,Yt as w,Zt as T,tn as E}from"./input-DLA5Dhn3.js";import{st as D}from"./dist-Cny7_yZb.js";import{r as O}from"./requests-BIFR-h4M.js";import{r as k}from"./useTheme-C2dnh2vM.js";import{n as A}from"./useAsyncData-qvoPYHtx.js";import{t as j}from"./RenderHTML-Bjvcs70-.js";import{n as M}from"./error-banner-m3mastc-.js";import{n as N,r as P,t as F}from"./react-resizable-panels.browser.esm-Dbe0MrFr.js";import{t as I}from"./empty-state-BaCKb7o3.js";import{n as L,r as R}from"./panel-context-C2QXpKfx.js";import{t as z}from"./readonly-code-display-VDqYn2d0.js";import{t as B}from"./kiosk-mode-Cbxffiz9.js";var V=e(t(),1),H=l(),U=p(),W=u,G=e=>{let t=(0,H.c)(6),{children:n}=e,{openModal:r,closeModal:i}=y(),a;t[0]!==i||t[1]!==r?(a=()=>r((0,U.jsx)(K,{onClose:i})),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=(0,U.jsx)(W,{onClick:a,children:n}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o},K=e=>{let t=(0,H.c)(4),{onClose:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,U.jsx)(E,{children:`Contribute a Snippet`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(S,{children:[r,(0,U.jsxs)(C,{children:[`Have a useful snippet you want to share with the community? Make a pull request`,` `,(0,U.jsx)(`a`,{href:d.githubPage,target:`_blank`,rel:`noreferrer`,className:`underline`,children:`on GitHub`}),`.`]})]}),t[1]=i):i=t[1];let a;return t[2]===n?a=t[3]:(a=(0,U.jsxs)(w,{className:`max-w-md`,children:[i,(0,U.jsx)(T,{children:(0,U.jsx)(h,{"data-testid":`snippet-close-button`,variant:`default`,onClick:n,children:`Close`})})]}),t[2]=n,t[3]=a),a},q=[D.lineWrapping],J=()=>{let e=(0,H.c)(24),{readSnippets:t}=O(),[n,r]=V.useState(),i=L(),a=R(),l;e[0]===t?l=e[1]:(l=()=>t(),e[0]=t,e[1]=l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[2]=u):u=e[2];let{data:d,error:p,isPending:m}=A(l,u);if(p){let t;return e[3]===p?t=e[4]:(t=(0,U.jsx)(M,{error:p}),e[3]=p,e[4]=t),t}if(m||!d){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(b,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}let h=i===`vertical`,g;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(s,{placeholder:`Search snippets...`,className:`h-6 m-1`,rootClassName:`flex-1 border-r`}),e[6]=g):g=e[6];let _,v;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,U.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,(0,U.jsx)(G,{children:(0,U.jsx)(`button`,{className:`float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,children:(0,U.jsx)(x,{className:`h-4 w-4`})})})]}),v=(0,U.jsx)(c,{children:`No results`}),e[7]=_,e[8]=v):(_=e[7],v=e[8]);let y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>r(e),e[9]=y):y=e[9];let S;e[10]===d.snippets?S=e[11]:(S=(0,U.jsx)(F,{defaultSize:40,minSize:20,maxSize:70,children:(0,U.jsxs)(o,{className:`h-full rounded-none`,children:[_,v,(0,U.jsx)(X,{onSelect:y,snippets:d.snippets})]})}),e[10]=d.snippets,e[11]=S);let C=h?`h-1`:`w-1`,w;e[12]===C?w=e[13]:(w=f(`bg-border hover:bg-primary/50 transition-colors`,C),e[12]=C,e[13]=w);let T;e[14]===w?T=e[15]:(T=(0,U.jsx)(P,{className:w}),e[14]=w,e[15]=T);let E;e[16]===n?E=e[17]:(E=(0,U.jsx)(F,{defaultSize:60,minSize:20,children:(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(`div`,{className:`h-full snippet-viewer flex flex-col overflow-hidden`,children:n?(0,U.jsx)(Y,{snippet:n,onClose:()=>r(void 0)},n.title):(0,U.jsx)(I,{title:``,description:`Click on a snippet to view its content.`})})})}),e[16]=n,e[17]=E);let D;return e[18]!==i||e[19]!==a||e[20]!==E||e[21]!==S||e[22]!==T?(D=(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden h-full`,children:(0,U.jsxs)(N,{direction:i,className:`h-full`,children:[S,T,E]},a)}),e[18]=i,e[19]=a,e[20]=E,e[21]=S,e[22]=T,e[23]=D):D=e[23],D},Y=e=>{let t=(0,H.c)(33),{snippet:n,onClose:a}=e,{theme:o}=k(),{createNewCell:s}=r(),c=i(),l;t[0]!==s||t[1]!==c||t[2]!==n.sections?(l=()=>{for(let e of n.sections.toReversed())e.code&&s({code:e.code,before:!1,cellId:c??`__end__`,skipIfCodeExists:!0})},t[0]=s,t[1]=c,t[2]=n.sections,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c?(d=e=>{s({code:e,before:!1,cellId:c??`__end__`})},t[4]=s,t[5]=c,t[6]=d):d=t[6];let f=d,p;t[7]===n.title?p=t[8]:(p=(0,U.jsx)(`span`,{children:n.title}),t[7]=n.title,t[8]=p);let y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,U.jsx)(v,{className:`h-4 w-4`}),t[9]=y):y=t[9];let b;t[10]===a?b=t[11]:(b=(0,U.jsx)(h,{size:`sm`,variant:`ghost`,onClick:a,className:`h-6 w-6 p-0 hover:bg-muted-foreground/10`,children:y}),t[10]=a,t[11]=b);let x;t[12]!==p||t[13]!==b?(x=(0,U.jsxs)(`div`,{className:`text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center`,children:[p,b]}),t[12]=p,t[13]=b,t[14]=x):x=t[14];let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,U.jsx)(g,{className:`ml-2 h-4 w-4`}),t[15]=S):S=t[15];let C;t[16]===u?C=t[17]:(C=(0,U.jsx)(`div`,{className:`flex justify-end`,children:(0,U.jsx)(B,{children:(0,U.jsxs)(h,{className:`float-right`,size:`xs`,variant:`outline`,onClick:u,children:[`Insert snippet`,S]})})}),t[16]=u,t[17]=C);let w;if(t[18]!==f||t[19]!==n.sections||t[20]!==n.title||t[21]!==o){let e;t[23]!==f||t[24]!==n.title||t[25]!==o?(e=e=>{let{code:t,html:r,id:i}=e;if(r)return(0,U.jsx)(`div`,{children:j({html:r})},`${n.title}-${i}`);if(!t)return null;let{language:a,code:s}=z(t);return(0,U.jsxs)(`div`,{className:`relative hover-actions-parent pr-2`,children:[(0,U.jsx)(B,{children:(0,U.jsx)(m,{content:`Insert snippet`,children:(0,U.jsx)(h,{className:`absolute -top-2 -right-1 z-10 hover-action px-2 bg-background`,size:`sm`,variant:`outline`,onClick:()=>{f(t)},children:(0,U.jsx)(g,{className:`h-5 w-5`})})})}),(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(_,{theme:o===`dark`?`dark`:`light`,language:a,className:`cm border rounded overflow-hidden`,extensions:q,value:s,readOnly:!0},`${n.title}-${i}`)})]},`${n.title}-${i}`)},t[23]=f,t[24]=n.title,t[25]=o,t[26]=e):e=t[26],w=n.sections.map(e),t[18]=f,t[19]=n.sections,t[20]=n.title,t[21]=o,t[22]=w}else w=t[22];let T;t[27]!==C||t[28]!==w?(T=(0,U.jsxs)(`div`,{className:`px-2 py-2 space-y-4 overflow-auto flex-1`,children:[C,w]}),t[27]=C,t[28]=w,t[29]=T):T=t[29];let E;return t[30]!==T||t[31]!==x?(E=(0,U.jsxs)(U.Fragment,{children:[x,T]}),t[30]=T,t[31]=x,t[32]=E):E=t[32],E},X=e=>{let t=(0,H.c)(7),{snippets:r,onSelect:i}=e,o;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=e=>(0,U.jsx)(a,{className:`rounded-none`,onSelect:()=>i(e),children:(0,U.jsx)(`div`,{className:`flex flex-row gap-2 items-center`,children:(0,U.jsx)(`span`,{className:`mt-1 text-accent-foreground`,children:e.title})})},e.title),t[3]=i,t[4]=e),o=r.map(e),t[0]=i,t[1]=r,t[2]=o}else o=t[2];let s;return t[5]===o?s=t[6]:(s=(0,U.jsx)(n,{className:`flex flex-col overflow-auto`,children:o}),t[5]=o,t[6]=s),s};export{J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-DfJ2oMlA.js";import{a as t}from"./useLifecycle-Mq4gc5kS.js";import{t as n}from"./chart-no-axes-column-C4_v6fQW.js";import{r,t as i}from"./table-DG7Ap4H4.js";import{t as a}from"./square-function-_W_Lo0P4.js";import{i as o}from"./strings-C25fhMR_.js";var s=e(`align-center-vertical`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`,key:`14d6g8`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`,key:`1e2lrw`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`,key:`1fkdwx`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`,key:`1euafb`}]]),c=e(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),l=e(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),u=e(`baseline`,[[`path`,{d:`M4 20h16`,key:`14thso`}],[`path`,{d:`m6 16 6-12 6 12`,key:`1b4byz`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),d=e(`chart-area`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`,key:`q0gr47`}]]),f=e(`chart-column`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),p=e(`chart-line`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`m19 9-5 5-4-4-3 3`,key:`2osh9i`}]]),m=e(`chart-no-axes-column-increasing`,[[`path`,{d:`M5 21v-6`,key:`1hz6c0`}],[`path`,{d:`M12 21V9`,key:`uvy0l4`}],[`path`,{d:`M19 21V3`,key:`11j9sm`}]]),h=e(`chart-scatter`,[[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}],[`circle`,{cx:`18.5`,cy:`5.5`,r:`.5`,fill:`currentColor`,key:`lysivs`}],[`circle`,{cx:`11.5`,cy:`11.5`,r:`.5`,fill:`currentColor`,key:`byv1b8`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`,key:`nkw3mc`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`.5`,fill:`currentColor`,key:`1gjh6j`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}]]),g=e(`ruler-dimension-line`,[[`path`,{d:`M10 15v-3`,key:`1pjskw`}],[`path`,{d:`M14 15v-3`,key:`1o1mqj`}],[`path`,{d:`M18 15v-3`,key:`cws6he`}],[`path`,{d:`M2 8V4`,key:`3jv1jz`}],[`path`,{d:`M22 6H2`,key:`1iqbfk`}],[`path`,{d:`M22 8V4`,key:`16f4ou`}],[`path`,{d:`M6 15v-3`,key:`1ij1qe`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`,key:`1tqiko`}]]),_=e(`sigma`,[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`,key:`wuwx1p`}]]);function v(e){return e&&e.replaceAll(`.`,`\\.`).replaceAll(`[`,`\\[`).replaceAll(`]`,`\\]`).replaceAll(`:`,`\\:`)}var y=`__count__`,b=`default`,ee=`yearmonthdate`,x={line:p,bar:m,pie:r,scatter:h,heatmap:i,area:d},S=`mean`,te={none:a,count:t,sum:_,mean:u,median:s,min:c,max:l,distinct:t,valid:t,stdev:n,stdevp:n,variance:f,variancep:f,bin:g},ne={none:`No aggregation`,count:`Count of records`,sum:`Sum of values`,mean:`Mean of values`,median:`Median of values`,min:`Minimum value`,max:`Maximum value`,distinct:`Count of distinct records`,valid:`Count non-null records`,stdev:`Standard deviation`,stdevp:`Standard deviation of population`,variance:`Variance`,variancep:`Variance of population`,bin:`Group values into bins`},re=[b,`accent`,`category10`,`category20`,`category20b`,`category20c`,`dark2`,`paired`,`pastel1`,`pastel2`,`set1`,`set2`,`set3`,`tableau10`,`tableau20`,`blues`,`greens`,`greys`,`oranges`,`purples`,`reds`,`bluegreen`,`bluepurple`,`goldgreen`,`goldorange`,`goldred`,`greenblue`,`orangered`,`purplebluegreen`,`purplered`,`redpurple`,`yellowgreenblue`,`yelloworangered`,`blueorange`,`brownbluegreen`,`purplegreen`,`pinkyellowgreen`,`purpleorange`,`redblue`,`redgrey`,`redyellowblue`,`redyellowgreen`,`spectral`,`rainbow`,`sinebow`],C={number:`Continuous numerical scale`,string:`Discrete categorical scale (inputs treated as strings)`,temporal:`Continuous temporal scale`},w={year:[`Year`,`2025`],quarter:[`Quarter of year`,`Q1`],month:[`Month of year`,`Jan`],week:[`Week of year`,`Week 1`],day:[`Day of week`,`Sunday`],hours:[`Hour of day`,`12:00`],minutes:[`Minute of hour`,`34`],seconds:[`Second of minute`,`56`],milliseconds:[`Millisecond of second`,`789`],date:[`Day of month`,`1`],dayofyear:[`Day of year`,`Day 1`],yearmonth:[`Year Month`,`Jan 2025`],yearmonthdate:[`Year Month Date`,`Jan 01, 2025`],yearmonthdatehours:[`Year Month Date Hours`,`Jan 01, 2025 12:00`],monthdate:[`Month Date`,`Jan 01`]},T=[`number`,`string`,`temporal`],E=[`year`,`quarter`,`month`,`date`,`week`,`day`,`dayofyear`,`hours`,`minutes`,`seconds`,`milliseconds`],D=[`yearmonth`,`yearmonthdate`,`yearmonthdatehours`,`monthdate`],O=[...E,...D];[...O];var k=[`ascending`,`descending`],A=`none`,j=[A,`bin`,`count`,`sum`,`mean`,`median`,`min`,`max`,`distinct`,`valid`,`stdev`,`stdevp`,`variance`,`variancep`],M=[A,`count`,`distinct`,`valid`],N={LINE:`line`,BAR:`bar`,PIE:`pie`,SCATTER:`scatter`,HEATMAP:`heatmap`,AREA:`area`},P=Object.values(N),ie=[`X`,`Y`,`Color`,A];function F(e){switch(e){case`number`:case`integer`:return`quantitative`;case`string`:case`boolean`:case`geometry`:case`unknown`:return`nominal`;case`date`:case`datetime`:case`time`:case`temporal`:return`temporal`;default:return o(e),`nominal`}}function I(e){switch(e){case`number`:case`integer`:return`number`;case`string`:case`boolean`:case`geometry`:case`unknown`:return`string`;case`date`:case`datetime`:case`time`:return`temporal`;default:return o(e),`string`}}function L(e){switch(e){case N.PIE:return`arc`;case N.SCATTER:return`point`;case N.HEATMAP:return`rect`;default:return e}}function R(e,t,n,r){if(e===N.HEATMAP)return n?.maxbins?{maxbins:n?.maxbins}:void 0;if(t!==`number`)return;if(!n?.binned)return r;let i={};return n.step!==void 0&&(i.step=n.step),n.maxbins!==void 0&&(i.maxbins=n.maxbins),Object.keys(i).length===0||i}function z(e){let t=e.color?.range;if(t?.length)return{range:t};let n=e.color?.scheme;if(n&&n!=="default")return{scheme:n}}function B(e,t){if(e===N.PIE)return;let n;if(Q(t.general?.colorByColumn?.field))n=t.general?.colorByColumn;else if(Q(t.color?.field))switch(t.color?.field){case`X`:n=t.general?.xColumn;break;case`Y`:n=t.general?.yColumn;break;case`Color`:n=t.general?.colorByColumn;break;default:return}else return;if(!n||!Q(n.field)||n.field===`none`)return;if(n.field===`__count__`)return{aggregate:`count`,type:`quantitative`};let r=t.color?.bin,i=n.selectedDataType||`string`,a=n?.aggregate;return{field:v(n.field),type:F(i),scale:z(t),aggregate:H(a,i),bin:R(e,i,r)}}function V(e,t){if(!(t.general?.stacking||!Q(t.general?.colorByColumn?.field)||e!==N.BAR))return{field:v(t.general?.colorByColumn?.field)}}function H(e,t,n){if(t!==`temporal`&&e!==`none`&&e!==`bin`)return e?t===`string`?M.includes(e)?e:void 0:e:n||void 0}function U(e){switch(e){case`integer`:return`,.0f`;case`number`:return`,.2f`;default:return}}function W(e){let{formValues:t,xEncoding:n,yEncoding:r,colorByEncoding:i}=e;if(!t.tooltips)return;function a(e,t,n){if(`aggregate`in e&&e.aggregate===`count`&&!Q(e.field))return{aggregate:`count`};if(e&&`field`in e&&Q(e.field))return e.timeUnit&&!n&&(n=e.field),{field:e.field,aggregate:e.aggregate,timeUnit:e.timeUnit,format:U(t),title:n,bin:e.bin}}if(t.tooltips.auto){let e=[],o=a(n,t.general?.xColumn?.type||`string`,t.xAxis?.label);o&&e.push(o);let s=a(r,t.general?.yColumn?.type||`string`,t.yAxis?.label);s&&e.push(s);let c=a(i||{},t.general?.colorByColumn?.type||`string`);return c&&e.push(c),e}let o=t.tooltips.fields??[],s=[];for(let e of o){if(`field`in n&&Q(n.field)&&n.field===e.field){let e=a(n,t.general?.xColumn?.type||`string`,t.xAxis?.label);e&&s.push(e);continue}if(`field`in r&&Q(r.field)&&r.field===e.field){let e=a(r,t.general?.yColumn?.type||`string`,t.yAxis?.label);e&&s.push(e);continue}if(i&&`field`in i&&Q(i.field)&&i.field===e.field){let e=a(i,t.general?.colorByColumn?.type||`string`);e&&s.push(e);continue}let o={field:v(e.field)};s.push(o)}return s}var G=`X-axis column is required`,K=`Y-axis column is required`;function q({chartType:e,formValues:t,theme:n,width:r,height:i}){let{xColumn:a,yColumn:o,colorByColumn:s,horizontal:c,stacking:l,title:u,facet:d}=t.general??{};if(e===N.PIE)return ae(t,n,r,i);if(!Q(a?.field))return G;if(!Q(o?.field))return K;let f=Y(a,{binValues:t.xAxis?.bin,label:$(t.xAxis?.label),stack:s?.field&&c?l:void 0,chartType:e}),p=S;o?.selectedDataType===`string`&&(p=`count`);let m=Y(o,{binValues:t.yAxis?.bin,label:$(t.yAxis?.label),stack:s?.field&&!c?l:void 0,chartType:e,defaultAggregate:p}),h=d?.row.field?X(d.row,e):void 0,g=d?.column.field?X(d.column,e):void 0,_=B(e,t),v=Z({chartType:e,formValues:t,theme:n,width:r,height:i,title:u}),y={x:c?m:f,y:c?f:m,xOffset:V(e,t),color:_,tooltip:W({formValues:t,xEncoding:f,yEncoding:m,colorByEncoding:_}),...h&&{row:h},...g&&{column:g}},b=ce(d?.column,d?.row);return{...v,mark:{type:L(e)},encoding:y,...b}}function J(e,t){return{...e,data:{values:t}}}function Y(e,{binValues:t,label:n,stack:r,chartType:i,defaultAggregate:a}){let o=e.selectedDataType||`string`;return e.field===`__count__`?{aggregate:`count`,type:`quantitative`,bin:R(i,o,t),title:n===`__count__`?void 0:n,stack:r}:{field:v(e.field),type:F(e.selectedDataType||`unknown`),bin:R(i,o,t),title:n,stack:r,aggregate:H(e.aggregate,o,a),sort:e.sort,timeUnit:oe(e)}}function X(e,t){let n=R(t,e.selectedDataType||`string`,{maxbins:e.maxbins,binned:e.binned},{maxbins:6});return{field:v(e.field),sort:e.sort,timeUnit:se(e),type:F(e.selectedDataType||`unknown`),bin:n}}function ae(e,t,n,r){let{yColumn:i,colorByColumn:a,title:o}=e.general??{};if(!Q(a?.field))return`Color by column is required`;if(!Q(i?.field))return`Size by column is required`;let s=Y(i,{binValues:e.xAxis?.bin,label:$(e.xAxis?.label),stack:void 0,chartType:N.PIE}),c={field:v(a.field),type:F(a.selectedDataType||`unknown`),scale:z(e),title:$(e.yAxis?.label)};return{...Z({chartType:N.PIE,formValues:e,theme:t,width:n,height:r,title:o}),mark:{type:L(N.PIE),innerRadius:e.style?.innerRadius},encoding:{theta:s,color:c,tooltip:W({formValues:e,xEncoding:s,yEncoding:s,colorByEncoding:c})}}}function Z({chartType:e,formValues:t,theme:n,width:r,height:i,title:a}){let o=t.style?.gridLines??!1;return e===N.SCATTER&&(o=!0),{$schema:`https://vega.github.io/schema/vega-lite/v6.json`,background:n===`dark`?`dark`:`white`,title:a,data:{values:[]},height:t.yAxis?.height??i,width:t.xAxis?.width??r,config:{axis:{grid:o}}}}function Q(e){return e!==void 0&&e.trim()!==``}function $(e){let t=e?.trim();return t===``?void 0:t}function oe(e){if(e.selectedDataType===`temporal`)return e.timeUnit??`yearmonthdate`}function se(e){if(e.selectedDataType===`temporal`)return e.timeUnit??`yearmonthdate`}function ce(e,t){let n={};return e?.linkXAxis===!1&&(n.x=`independent`),t?.linkYAxis===!1&&(n.y=`independent`),Object.keys(n).length>0?{resolve:{axis:n}}:void 0}export{ee as C,f as D,v as E,b as S,w as T,te as _,j as a,y as b,D as c,T as d,E as f,ne as g,O as h,I as i,N as l,M as m,q as n,P as o,k as p,Q as r,ie as s,J as t,A as u,x as v,C as w,S as x,re as y};
|
|
1
|
+
import{t as e}from"./createLucideIcon-DfJ2oMlA.js";import{a as t}from"./useLifecycle-Mq4gc5kS.js";import{t as n}from"./chart-no-axes-column-C4_v6fQW.js";import{r,t as i}from"./table-DG7Ap4H4.js";import{t as a}from"./square-function-_W_Lo0P4.js";import{i as o}from"./strings-3lNX212T.js";var s=e(`align-center-vertical`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`,key:`14d6g8`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`,key:`1e2lrw`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`,key:`1fkdwx`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`,key:`1euafb`}]]),c=e(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),l=e(`arrow-up-to-line`,[[`path`,{d:`M5 3h14`,key:`7usisc`}],[`path`,{d:`m18 13-6-6-6 6`,key:`1kf1n9`}],[`path`,{d:`M12 7v14`,key:`1akyts`}]]),u=e(`baseline`,[[`path`,{d:`M4 20h16`,key:`14thso`}],[`path`,{d:`m6 16 6-12 6 12`,key:`1b4byz`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),d=e(`chart-area`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`,key:`q0gr47`}]]),f=e(`chart-column`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M18 17V9`,key:`2bz60n`}],[`path`,{d:`M13 17V5`,key:`1frdt8`}],[`path`,{d:`M8 17v-3`,key:`17ska0`}]]),p=e(`chart-line`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`m19 9-5 5-4-4-3 3`,key:`2osh9i`}]]),m=e(`chart-no-axes-column-increasing`,[[`path`,{d:`M5 21v-6`,key:`1hz6c0`}],[`path`,{d:`M12 21V9`,key:`uvy0l4`}],[`path`,{d:`M19 21V3`,key:`11j9sm`}]]),h=e(`chart-scatter`,[[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}],[`circle`,{cx:`18.5`,cy:`5.5`,r:`.5`,fill:`currentColor`,key:`lysivs`}],[`circle`,{cx:`11.5`,cy:`11.5`,r:`.5`,fill:`currentColor`,key:`byv1b8`}],[`circle`,{cx:`7.5`,cy:`16.5`,r:`.5`,fill:`currentColor`,key:`nkw3mc`}],[`circle`,{cx:`17.5`,cy:`14.5`,r:`.5`,fill:`currentColor`,key:`1gjh6j`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}]]),g=e(`ruler-dimension-line`,[[`path`,{d:`M10 15v-3`,key:`1pjskw`}],[`path`,{d:`M14 15v-3`,key:`1o1mqj`}],[`path`,{d:`M18 15v-3`,key:`cws6he`}],[`path`,{d:`M2 8V4`,key:`3jv1jz`}],[`path`,{d:`M22 6H2`,key:`1iqbfk`}],[`path`,{d:`M22 8V4`,key:`16f4ou`}],[`path`,{d:`M6 15v-3`,key:`1ij1qe`}],[`rect`,{x:`2`,y:`12`,width:`20`,height:`8`,rx:`2`,key:`1tqiko`}]]),_=e(`sigma`,[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`,key:`wuwx1p`}]]);function v(e){return e&&e.replaceAll(`.`,`\\.`).replaceAll(`[`,`\\[`).replaceAll(`]`,`\\]`).replaceAll(`:`,`\\:`)}var y=`__count__`,b=`default`,ee=`yearmonthdate`,x={line:p,bar:m,pie:r,scatter:h,heatmap:i,area:d},S=`mean`,te={none:a,count:t,sum:_,mean:u,median:s,min:c,max:l,distinct:t,valid:t,stdev:n,stdevp:n,variance:f,variancep:f,bin:g},ne={none:`No aggregation`,count:`Count of records`,sum:`Sum of values`,mean:`Mean of values`,median:`Median of values`,min:`Minimum value`,max:`Maximum value`,distinct:`Count of distinct records`,valid:`Count non-null records`,stdev:`Standard deviation`,stdevp:`Standard deviation of population`,variance:`Variance`,variancep:`Variance of population`,bin:`Group values into bins`},re=[b,`accent`,`category10`,`category20`,`category20b`,`category20c`,`dark2`,`paired`,`pastel1`,`pastel2`,`set1`,`set2`,`set3`,`tableau10`,`tableau20`,`blues`,`greens`,`greys`,`oranges`,`purples`,`reds`,`bluegreen`,`bluepurple`,`goldgreen`,`goldorange`,`goldred`,`greenblue`,`orangered`,`purplebluegreen`,`purplered`,`redpurple`,`yellowgreenblue`,`yelloworangered`,`blueorange`,`brownbluegreen`,`purplegreen`,`pinkyellowgreen`,`purpleorange`,`redblue`,`redgrey`,`redyellowblue`,`redyellowgreen`,`spectral`,`rainbow`,`sinebow`],C={number:`Continuous numerical scale`,string:`Discrete categorical scale (inputs treated as strings)`,temporal:`Continuous temporal scale`},w={year:[`Year`,`2025`],quarter:[`Quarter of year`,`Q1`],month:[`Month of year`,`Jan`],week:[`Week of year`,`Week 1`],day:[`Day of week`,`Sunday`],hours:[`Hour of day`,`12:00`],minutes:[`Minute of hour`,`34`],seconds:[`Second of minute`,`56`],milliseconds:[`Millisecond of second`,`789`],date:[`Day of month`,`1`],dayofyear:[`Day of year`,`Day 1`],yearmonth:[`Year Month`,`Jan 2025`],yearmonthdate:[`Year Month Date`,`Jan 01, 2025`],yearmonthdatehours:[`Year Month Date Hours`,`Jan 01, 2025 12:00`],monthdate:[`Month Date`,`Jan 01`]},T=[`number`,`string`,`temporal`],E=[`year`,`quarter`,`month`,`date`,`week`,`day`,`dayofyear`,`hours`,`minutes`,`seconds`,`milliseconds`],D=[`yearmonth`,`yearmonthdate`,`yearmonthdatehours`,`monthdate`],O=[...E,...D];[...O];var k=[`ascending`,`descending`],A=`none`,j=[A,`bin`,`count`,`sum`,`mean`,`median`,`min`,`max`,`distinct`,`valid`,`stdev`,`stdevp`,`variance`,`variancep`],M=[A,`count`,`distinct`,`valid`],N={LINE:`line`,BAR:`bar`,PIE:`pie`,SCATTER:`scatter`,HEATMAP:`heatmap`,AREA:`area`},P=Object.values(N),ie=[`X`,`Y`,`Color`,A];function F(e){switch(e){case`number`:case`integer`:return`quantitative`;case`string`:case`boolean`:case`geometry`:case`unknown`:return`nominal`;case`date`:case`datetime`:case`time`:case`temporal`:return`temporal`;default:return o(e),`nominal`}}function I(e){switch(e){case`number`:case`integer`:return`number`;case`string`:case`boolean`:case`geometry`:case`unknown`:return`string`;case`date`:case`datetime`:case`time`:return`temporal`;default:return o(e),`string`}}function L(e){switch(e){case N.PIE:return`arc`;case N.SCATTER:return`point`;case N.HEATMAP:return`rect`;default:return e}}function R(e,t,n,r){if(e===N.HEATMAP)return n?.maxbins?{maxbins:n?.maxbins}:void 0;if(t!==`number`)return;if(!n?.binned)return r;let i={};return n.step!==void 0&&(i.step=n.step),n.maxbins!==void 0&&(i.maxbins=n.maxbins),Object.keys(i).length===0||i}function z(e){let t=e.color?.range;if(t?.length)return{range:t};let n=e.color?.scheme;if(n&&n!=="default")return{scheme:n}}function B(e,t){if(e===N.PIE)return;let n;if(Q(t.general?.colorByColumn?.field))n=t.general?.colorByColumn;else if(Q(t.color?.field))switch(t.color?.field){case`X`:n=t.general?.xColumn;break;case`Y`:n=t.general?.yColumn;break;case`Color`:n=t.general?.colorByColumn;break;default:return}else return;if(!n||!Q(n.field)||n.field===`none`)return;if(n.field===`__count__`)return{aggregate:`count`,type:`quantitative`};let r=t.color?.bin,i=n.selectedDataType||`string`,a=n?.aggregate;return{field:v(n.field),type:F(i),scale:z(t),aggregate:H(a,i),bin:R(e,i,r)}}function V(e,t){if(!(t.general?.stacking||!Q(t.general?.colorByColumn?.field)||e!==N.BAR))return{field:v(t.general?.colorByColumn?.field)}}function H(e,t,n){if(t!==`temporal`&&e!==`none`&&e!==`bin`)return e?t===`string`?M.includes(e)?e:void 0:e:n||void 0}function U(e){switch(e){case`integer`:return`,.0f`;case`number`:return`,.2f`;default:return}}function W(e){let{formValues:t,xEncoding:n,yEncoding:r,colorByEncoding:i}=e;if(!t.tooltips)return;function a(e,t,n){if(`aggregate`in e&&e.aggregate===`count`&&!Q(e.field))return{aggregate:`count`};if(e&&`field`in e&&Q(e.field))return e.timeUnit&&!n&&(n=e.field),{field:e.field,aggregate:e.aggregate,timeUnit:e.timeUnit,format:U(t),title:n,bin:e.bin}}if(t.tooltips.auto){let e=[],o=a(n,t.general?.xColumn?.type||`string`,t.xAxis?.label);o&&e.push(o);let s=a(r,t.general?.yColumn?.type||`string`,t.yAxis?.label);s&&e.push(s);let c=a(i||{},t.general?.colorByColumn?.type||`string`);return c&&e.push(c),e}let o=t.tooltips.fields??[],s=[];for(let e of o){if(`field`in n&&Q(n.field)&&n.field===e.field){let e=a(n,t.general?.xColumn?.type||`string`,t.xAxis?.label);e&&s.push(e);continue}if(`field`in r&&Q(r.field)&&r.field===e.field){let e=a(r,t.general?.yColumn?.type||`string`,t.yAxis?.label);e&&s.push(e);continue}if(i&&`field`in i&&Q(i.field)&&i.field===e.field){let e=a(i,t.general?.colorByColumn?.type||`string`);e&&s.push(e);continue}let o={field:v(e.field)};s.push(o)}return s}var G=`X-axis column is required`,K=`Y-axis column is required`;function q({chartType:e,formValues:t,theme:n,width:r,height:i}){let{xColumn:a,yColumn:o,colorByColumn:s,horizontal:c,stacking:l,title:u,facet:d}=t.general??{};if(e===N.PIE)return ae(t,n,r,i);if(!Q(a?.field))return G;if(!Q(o?.field))return K;let f=Y(a,{binValues:t.xAxis?.bin,label:$(t.xAxis?.label),stack:s?.field&&c?l:void 0,chartType:e}),p=S;o?.selectedDataType===`string`&&(p=`count`);let m=Y(o,{binValues:t.yAxis?.bin,label:$(t.yAxis?.label),stack:s?.field&&!c?l:void 0,chartType:e,defaultAggregate:p}),h=d?.row.field?X(d.row,e):void 0,g=d?.column.field?X(d.column,e):void 0,_=B(e,t),v=Z({chartType:e,formValues:t,theme:n,width:r,height:i,title:u}),y={x:c?m:f,y:c?f:m,xOffset:V(e,t),color:_,tooltip:W({formValues:t,xEncoding:f,yEncoding:m,colorByEncoding:_}),...h&&{row:h},...g&&{column:g}},b=ce(d?.column,d?.row);return{...v,mark:{type:L(e)},encoding:y,...b}}function J(e,t){return{...e,data:{values:t}}}function Y(e,{binValues:t,label:n,stack:r,chartType:i,defaultAggregate:a}){let o=e.selectedDataType||`string`;return e.field===`__count__`?{aggregate:`count`,type:`quantitative`,bin:R(i,o,t),title:n===`__count__`?void 0:n,stack:r}:{field:v(e.field),type:F(e.selectedDataType||`unknown`),bin:R(i,o,t),title:n,stack:r,aggregate:H(e.aggregate,o,a),sort:e.sort,timeUnit:oe(e)}}function X(e,t){let n=R(t,e.selectedDataType||`string`,{maxbins:e.maxbins,binned:e.binned},{maxbins:6});return{field:v(e.field),sort:e.sort,timeUnit:se(e),type:F(e.selectedDataType||`unknown`),bin:n}}function ae(e,t,n,r){let{yColumn:i,colorByColumn:a,title:o}=e.general??{};if(!Q(a?.field))return`Color by column is required`;if(!Q(i?.field))return`Size by column is required`;let s=Y(i,{binValues:e.xAxis?.bin,label:$(e.xAxis?.label),stack:void 0,chartType:N.PIE}),c={field:v(a.field),type:F(a.selectedDataType||`unknown`),scale:z(e),title:$(e.yAxis?.label)};return{...Z({chartType:N.PIE,formValues:e,theme:t,width:n,height:r,title:o}),mark:{type:L(N.PIE),innerRadius:e.style?.innerRadius},encoding:{theta:s,color:c,tooltip:W({formValues:e,xEncoding:s,yEncoding:s,colorByEncoding:c})}}}function Z({chartType:e,formValues:t,theme:n,width:r,height:i,title:a}){let o=t.style?.gridLines??!1;return e===N.SCATTER&&(o=!0),{$schema:`https://vega.github.io/schema/vega-lite/v6.json`,background:n===`dark`?`dark`:`white`,title:a,data:{values:[]},height:t.yAxis?.height??i,width:t.xAxis?.width??r,config:{axis:{grid:o}}}}function Q(e){return e!==void 0&&e.trim()!==``}function $(e){let t=e?.trim();return t===``?void 0:t}function oe(e){if(e.selectedDataType===`temporal`)return e.timeUnit??`yearmonthdate`}function se(e){if(e.selectedDataType===`temporal`)return e.timeUnit??`yearmonthdate`}function ce(e,t){let n={};return e?.linkXAxis===!1&&(n.x=`independent`),t?.linkYAxis===!1&&(n.y=`independent`),Object.keys(n).length>0?{resolve:{axis:n}}:void 0}export{ee as C,f as D,v as E,b as S,w as T,te as _,j as a,y as b,D as c,T as d,E as f,ne as g,O as h,I as i,N as l,M as m,q as n,P as o,k as p,Q as r,ie as s,J as t,A as u,x as v,C as w,S as x,re as y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./useEvent-BDjgaBtz.js";import{$n as t,La as n,Pa as r,Qn as i,_o as a,oi as o,vo as s,x as c,za as l}from"./cells-
|
|
1
|
+
import{r as e}from"./useEvent-BDjgaBtz.js";import{$n as t,La as n,Pa as r,Qn as i,_o as a,oi as o,vo as s,x as c,za as l}from"./cells-BypTg035.js";import{C as u,E as d,F as f,I as p,K as m,M as h,N as g,O as _,R as v,S as y,b,c as ee,v as x,z as S}from"./schemas-ChRqMOTL.js";import{t as te}from"./get-DjNf4SIX.js";import{t as ne}from"./debounce-aFmHgJZY.js";import{E as re}from"./config-CXnC3MRv.js";import{t as ie}from"./_baseSet-Bpdo9AvU.js";import{g as C,v as w}from"./useEventListener-DPOTkksd.js";import{t as ae}from"./invariant-Ci2dTZ72.js";import{s as oe}from"./config-BC32AAdw.js";import{d as se,v as ce}from"./session-BHgGkjDm.js";import{D as le,M as ue,c as T,l as de,n as fe}from"./config-7IjqNuVp.js";import{c as pe,o as E}from"./state-ClBFtZxn.js";import{c as me,o as he}from"./markdown-renderer-mYYQYD2m.js";import{w as ge}from"./write-secret-modal-CBi2vNK_.js";import{t as _e}from"./use-toast-Wu434mLr.js";import{t as ve}from"./preload-helper-uBIymjUX.js";import{r as ye}from"./strings-3lNX212T.js";import{t as D}from"./requests-BIFR-h4M.js";import{t as be}from"./Deferred-CrTnjj37.js";import{t as xe}from"./uuid-k9DpjH68.js";import{n as Se}from"./RenderHTML-Bjvcs70-.js";import{t as Ce}from"./useRunCells-VBCe6CLn.js";import{r as we,t as Te}from"./blob-BPknzzkY.js";import{f as Ee}from"./useInstallPackage-BfNKN33w.js";import{n as De,t as Oe}from"./share-BZW3tzEX.js";import{i as ke,r as Ae,t as je}from"./events-CbeVJ6OD.js";function O(e){return m(ee,e)}function k(e,t,n){return e==null?e:ie(e,t,n)}function Me(e,t){if(e.origin===globalThis.origin)return new Worker(e.href,{...t,type:`module`});let n=`import ${JSON.stringify(e.href)}`,r=globalThis.origin===`null`?`data:application/javascript,${encodeURIComponent(n)}`:URL.createObjectURL(new Blob([n],{type:`application/javascript`}));try{return new Worker(r,{...t,type:`module`})}finally{r.startsWith(`blob:`)&&URL.revokeObjectURL(r)}}var A=p().min(1).describe(`Identifies a project. Unique within the host and unchanged while the project exists.`),j=p().min(1).describe(`Identifies a notebook. Unique within the host and unchanged while the notebook exists.`),Ne=p().min(1).describe(`Identifies a runtime. Unique within the host; every start and restart creates a new id.`),Pe=p().min(1).describe(`Identifies an attachment. Unique within the host.`),Fe=p().min(1).describe("Identifies a run independently of the request's `Idempotency-Key`. Events carry the key in `request_id`."),M=p().min(1).describe(`Identifies an execution. Unique within the host.`),N=p().min(1).describe(`Identifies a console, display, or variable item. Unique within the host; sending an item again with the same id replaces it.`),P=p().min(1).describe("Identifies a cell within its notebook. Stable while the host serves the notebook; whether it survives a reload of the store depends on the format. `setup` is the setup cell."),Ie=g({pid:d().min(1).describe(`The process id.`),started_at:O({offset:!0}).describe(`When the process started.`)}).describe("The process that wrote a record. A client checks that a process\nwith this `pid` that started at `started_at` still exists. If it\ndoes not, the record is stale and may be removed.\n");g({version:_(1).describe(`The version of this record's format. This document describes version 1.`),process:Ie,name:p().describe("A label for the host to show people, such as `VS Code` or `marimo`. Two hosts can share a name; the filename is the identity."),url:p().describe("Where the host's API is. The scheme is `http`, and the host part is `127.0.0.1` or `[::1]`, written exactly that way."),token:p().min(1).describe(`The secret a client sends to prove it read the record.`)}).describe(`A host record is the file a host writes so that clients can find
|
|
2
2
|
it. A host writes \`<marimo-state-dir>/hosts-v1/<id>.json\` once its API
|
|
3
3
|
is serving at \`url\`, where \`<id>\` is an identifier the host makes
|
|
4
4
|
up each time it starts. The record does not change while the host
|
|
@@ -102,6 +102,6 @@ The data is decoded JSON. Snapshot records and reset events omit
|
|
|
102
102
|
the cursor; ready and live events carry it. Unknown event names
|
|
103
103
|
belong to later versions or host extensions.
|
|
104
104
|
`),$t=g({id:p().describe(`Identifies this answer.`),label:p().describe(`Text to show a person.`)}).describe(`One possible answer to a decision.`),en=g({id:p().describe(`Identifies the question when the client answers it.`),prompt:p().describe(`The question, worded for a person.`),options:y($t).describe(`The possible answers.`)}).describe("A question the host needs answered before it can carry out a\nrequest. The client answers by repeating the request with\n`decisions` in the body, mapping this `id` to the `id` of an\noption.\n"),tn=g({change:d().min(0).describe("The index of the stale change in the request's `changes`, or of the stale cell in a run's `cells`. `0` for a save with a stale `If-Match`."),cell:v([lt,b()]).describe(`The cell the change named, as it now is. Null when the document does not have it, or when the change named the order.`),document:z}).describe(`The first stale change of an edit or run, and the state the host holds.`),nn=g({type:p().describe("What kind of problem this is, as a URI. The kinds this\nprotocol defines all start with `tag:marimo.io,2026:host/` and\nend with one of `invalid-request` (400), `unauthorized` (401),\n`forbidden` (403), `not-found` (404), `method-not-allowed`\n(405), `not-acceptable` (406), `conflict` (409), `no-runtime`\n(409), `decision-required` (409), `internal` (500), or\n`unsupported-operation` (501). A client that sees a kind it\ndoes not recognize falls back to `status`.\n"),title:p().describe(`A short, human-readable name for the kind of problem.`),status:d().min(400).max(599).describe(`The HTTP status code of the response.`),detail:p().optional().describe(`A human-readable explanation of what went wrong this time.`),decisions:y(en).optional().describe("The choices the client has to make before the host can carry out the request. Only present for `decision-required`."),edit:tn.optional().describe("Which change was stale and what the host holds instead. Only present for a `conflict` answering an edit, a save, or a run of cells.")}).describe("An error. Every error response has this one shape, following RFC\n9457, and is served as `application/problem+json`. `status`\nrepeats the HTTP status, and `type` says more precisely what went\nwrong. `decisions` appears only when `type` is\n`tag:marimo.io,2026:host/decision-required`. A client ignores\nmembers it does not recognize. An error never contains a token.\n"),rn=g({project_id:A,path:p().optional().describe(`Where to put the file, relative to the project root and written the way the host's operating system writes paths.`),name:p().optional().describe(`A label to show people. In a project with a root it defaults to the filename.`)}).describe("The notebook's own fields, minus what the host assigns. A project with a root requires `path`; one without requires `name`."),an=g({path:p().optional().describe(`The new location, relative to the project root and written the way the host's operating system writes paths.`),name:p().optional().describe(`The new label to show people.`)}).describe(`The fields to change. At least one is present.`),on=g({url:p().describe(`The URL the host used to show the notebook. It never contains the host's token.`)}),sn=g({decisions:f(p(),p()).optional().describe("Answers to the questions in a `decision-required` problem.\nEach key is a decision's `id` and each value is the `id` of\nthe chosen option. A client that already knows its choices can\nsend them the first time.\n")}),cn=g({column:d().nullish().default(null),disabled:u().default(!1),hide_code:u().default(!1),expand_output:u().default(!1)}).describe(`A cell's settings as a client writes them. A field left out takes its default.`),ln=g({id:P.describe(`The cell's id. A client chooses the id of a cell it creates.`),code:p().describe(`The cell's source code.`),name:p().default(`_`).describe("The cell's name. `_` for an anonymous cell."),config:cn.optional()}).describe(`A cell as a client writes it. Code must be a string, even when the host withholds source in cell records. Null is not an edit or a request to preserve existing source. The host derives the etags.`),un=g({kind:x([`put_cell`]),base_etag:p().nullable().describe("The cell's etag as last read, `*` to skip the check, or null to create the cell. Null when the cell exists, or an etag when it does not, is a `conflict`."),cell:ln,after:P.optional().describe(`The cell a created cell goes after. Ignored for an existing cell.`),before:P.optional().describe("The cell a created cell goes before. Ignored for an existing cell. With neither `after` nor `before`, a created cell goes at the end.")}).describe(`Replaces a whole cell, or creates one.`),dn=g({kind:x([`delete_cell`]),id:P.describe(`The cell to remove.`),base_etag:p().describe("The cell's etag as last read, or `*`.")}).describe(`Removes a cell.`),fn=g({kind:x([`set_order`]),base_etag:p().describe("The document's `order_etag` as last read, or `*`."),order:y(P).describe(`Every cell id exactly once, in the new order, counting cells this edit creates and leaving out cells it deletes.`)}).describe(`Replaces the cell order.`),pn=v([un,dn,fn]).describe("One change to the document, tagged on `kind`."),mn=g({changes:y(pn).describe(`The changes, applied in order as one unit.`)}),hn=g({etag:R,code_hash:R,version:d().min(1).describe(`The cell's version after the edit.`)}).describe(`A cell's etags and version after an edit.`),gn=g({document:z,cells:f(p(),v([hn,b()])).describe(`The version of each cell the request created or changed, by id, and null for each cell it deleted.`)}).describe(`The document as an edit or save left it, or at a later revision, and the cells it touched.`),_n=g({decisions:f(p(),p()).optional().describe("Answers to the questions in a `decision-required` problem, as for `runtime.start`.")}).describe("What a save needs from the client, which is nothing until the host asks a question. `{}` is the usual body."),vn=g({id:P,code_hash:R.optional().describe("The cell's `code_hash` as last read. A cell whose code differs is a `conflict`. Absent, the cell runs as it is.")}),yn=g({code:p().optional().describe(`Python code to run as scratch code.`),cells:y(vn).min(1).optional().describe(`Cells of the document to run, in no particular order. The runtime's execution configuration determines whether dependent cells run too.`)}).describe("What to run, exactly one of `code` and `cells`."),bn=Le.options.filter(e=>e!==`host`&&e!==`project`),V=class extends Error{name=`StreamStopped`},xn={events:{method:`GET`,path:`/events`,query:{types:!1},headers:{"Last-Event-ID":!1},body:null,responses:{200:`text/event-stream`},problems:[400,401,403,404,405,500]},"notebook.create":{method:`POST`,path:`/notebooks`,query:{},headers:{"Idempotency-Key":!0},body:rn,responses:{201:F},problems:[400,401,403,404,405,409,500,501]},"notebook.update":{method:`PATCH`,path:`/notebooks/{notebook_id}`,query:{},headers:{"Idempotency-Key":!0},body:an,responses:{200:F},problems:[400,401,403,404,405,409,500,501]},"notebook.delete":{method:`DELETE`,path:`/notebooks/{notebook_id}`,query:{},headers:{"Idempotency-Key":!0},body:null,responses:{204:null},problems:[400,401,403,404,405,409,500,501]},"notebook.events":{method:`GET`,path:`/notebooks/{notebook_id}/events`,query:{types:!1,run_id:!1},headers:{"Last-Event-ID":!1,"Marimo-Attachment-Identity":!1,"Marimo-Attachment-Kind":!1,"Marimo-Attachment-Name":!1},body:null,responses:{200:`text/event-stream`},problems:[400,401,403,404,405,500]},"notebook.edit":{method:`POST`,path:`/notebooks/{notebook_id}/edits`,query:{},headers:{"Idempotency-Key":!0},body:mn,responses:{200:gn},problems:[400,401,403,404,405,409,500,501]},"notebook.save":{method:`POST`,path:`/notebooks/{notebook_id}/save`,query:{},headers:{"Idempotency-Key":!0,"If-Match":!1},body:_n,responses:{200:gn},problems:[400,401,403,404,405,409,500,501]},"notebook.open":{method:`POST`,path:`/notebooks/{notebook_id}/open`,query:{},headers:{"Idempotency-Key":!0},body:null,responses:{200:on},problems:[400,401,403,404,405,409,500,501]},"runtime.start":{method:`PUT`,path:`/notebooks/{notebook_id}/runtime`,query:{},headers:{"Idempotency-Key":!0},body:sn,responses:{200:I,202:I},problems:[400,401,403,404,405,409,500,501]},"runtime.stop":{method:`DELETE`,path:`/notebooks/{notebook_id}/runtime`,query:{},headers:{"Idempotency-Key":!0},body:null,responses:{202:I},problems:[400,401,403,404,405,409,500,501]},"runtime.restart":{method:`POST`,path:`/notebooks/{notebook_id}/runtime/restart`,query:{},headers:{"Idempotency-Key":!0},body:null,responses:{202:I},problems:[400,401,403,404,405,409,500,501]},"runtime.run":{method:`POST`,path:`/notebooks/{notebook_id}/runtime/runs`,query:{},headers:{"Idempotency-Key":!0},body:yn,responses:{202:L},problems:[400,401,403,404,405,409,500,501]},"runtime.interrupt":{method:`DELETE`,path:`/notebooks/{notebook_id}/runtime/runs/{run_id}`,query:{},headers:{"Idempotency-Key":!0},body:null,responses:{202:L},problems:[400,401,403,404,405,409,500,501]}};function Sn(){if(typeof globalThis.crypto.randomUUID==`function`)return globalThis.crypto.randomUUID();let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`));return[t.slice(0,4),t.slice(4,6),t.slice(6,8),t.slice(8,10),t.slice(10)].map(e=>e.join(``)).join(`-`)}function Cn(e,t){return e?.split(`;`,1)[0].trim().toLowerCase()===t}function wn(e,t){let n=new URL(e);return n.pathname=e.pathname.replace(/\/$/,``)+t,n}function Tn(e,t,n){let r=t.slice(e.prefix.length).replace(/\{(\w+)\}/g,(e,r)=>{let i=n[r];if(i===void 0||i===``||i===`.`||i===`..`)throw Error(`${t} needs a valid ${r}`);return encodeURIComponent(i)});return wn(e.url,r)}var En=g({status:h().int(),body:S()});async function Dn(e,t,{params:n={},body:r,headers:i={},options:a={}}){let o=xn[t],s={};`Idempotency-Key`in o.headers&&(s[`Idempotency-Key`]=a.idempotencyKey??Sn());for(let[e,t]of Object.entries(i))t!==void 0&&(s[e]=t);let c=o.body===null?void 0:o.body.parse(r),l=`send`in e?await kn(e,{operation:t,params:{...e.params,...n},headers:Object.fromEntries(Object.entries(s).map(([e,t])=>[e.toLowerCase(),t])),body:c},a.signal):await On(e,o,n,s,c,a.signal),u=l.status,d=o.responses[u];if(d===null)return{ok:!0,status:u,data:void 0};if(d!==void 0&&d!==`text/event-stream`)return{ok:!0,status:u,data:d.parse(await l.json())};if((u<200||u>=300)&&l.problem)return{ok:!1,status:u,problem:nn.parse(await l.json())};throw Error(`Unexpected ${u} response to ${t}`)}async function On(e,t,n,r,i,a){let o=new Headers(r);o.set(`Accept`,`application/json, application/problem+json`),e.client.token!==void 0&&o.set(`Authorization`,`Bearer ${e.client.token}`),i!==void 0&&o.set(`Content-Type`,`application/json`);let s=await(e.client.fetch??globalThis.fetch)(Tn(e,t.path,n),{method:t.method,headers:o,body:i===void 0?void 0:JSON.stringify(i),signal:a});return{status:s.status,problem:Cn(s.headers.get(`Content-Type`),`application/problem+json`),json:()=>s.json()}}async function kn(e,t,n){n?.throwIfAborted();let r=e.send(t),i=En.parse(n===void 0?await r:await new Promise((e,t)=>{let i=()=>t(n.reason);n.addEventListener(`abort`,i,{once:!0}),r.then(e,t).finally(()=>n.removeEventListener(`abort`,i))}));return{status:i.status,problem:!0,json:async()=>i.body}}var An=45e3,jn=class extends TransformStream{constructor(e=JSON.parse){let t=``,n=``,r=[],i,a=t=>{if(r.length>0){let a=r.join(`
|
|
105
|
-
`),o=a;try{o=e(a)}catch{}t.enqueue({event:n||`message`,data:o,...i===void 0?{}:{id:i}})}n=``,r=[],i=void 0};super({transform(e,o){t+=e;let s=t.endsWith(`\r`)?`\r`:``,c=t.slice(0,t.length-s.length).split(/\r\n|\r|\n/);t=(c.pop()??``)+s;for(let e of c){if(e===``){a(o);continue}if(e.startsWith(`:`))continue;let t=e.indexOf(`:`),s=t===-1?e:e.slice(0,t),c=t===-1?``:e.slice(t+1);c.startsWith(` `)&&(c=c.slice(1)),s===`event`?n=c:s===`data`?r.push(c):s===`id`&&!c.includes(`\0`)&&(i=c)}}})}},Mn=new Set([408,429]);function Nn(e,t={}){return async({cursor:n,signal:r},{open:i,message:a})=>{let o=new Headers;o.set(`Accept`,`text/event-stream`),t.token!==void 0&&o.set(`Authorization`,`Bearer ${t.token}`),n!==null&&o.set(`Last-Event-ID`,n);let s=new AbortController,c=()=>s.abort();r.addEventListener(`abort`,c,{once:!0});let l,u,d=()=>{clearTimeout(l),l=setTimeout(c,An)};try{let n=new URL(typeof e==`function`?await e():e),r=t.fetch??globalThis.fetch;d();let c=await r(n,{headers:o,signal:s.signal}),{status:l}=c;if(l>=400&&l<500&&!Mn.has(l)){let e=nn.safeParse(await c.json().catch(()=>void 0));throw new V(`The host refused the stream (${l})`,{cause:e.success?e.data:void 0})}if(!c.ok||c.body===null){await c.body?.cancel();return}if(!Cn(c.headers.get(`Content-Type`),`text/event-stream`))throw await c.body.cancel(),new V(`The host did not answer with an event stream`);i();let f=new TransformStream({transform(e,t){d(),t.enqueue(e)}}),p=c.body.pipeThrough(f).pipeThrough(new TextDecoderStream).pipeThrough(new jn(t.parseData)).getReader();for(s.signal.addEventListener(`abort`,()=>void p.cancel(),{once:!0});;){let{done:e,value:n}=await p.read();if(e)return;if(u=t.stop?.(n),u!==void 0)throw u;a(n)}}catch(e){if(e instanceof V||e===u)throw e}finally{clearTimeout(l),r.removeEventListener(`abort`,c)}}}var Pn=new Set(Qt.options.flatMap(e=>e.shape.event.options)),Fn=g({event:p().min(1),data:S(),id:p().optional()});function H(e){queueMicrotask(()=>{throw e})}var In=class{#e;#t=!1;#n;#r=new Set;constructor(e,t){this.#e=e.cursor??null,this.#n=new Set([`ready`,`reset`,...(e.types??t).flatMap(e=>{let t=`${e}.removed`;return Pn.has(t)?[e,t]:[e]})])}get cursor(){return this.#e}subscribe(e){return this.#r.add(e),()=>this.#r.delete(e)}resume(){return this.#e===null&&this.#t&&this.#i({event:`reset`,data:{}}),this.#e}receive(e){let t=Fn.safeParse(e);if(!t.success)throw new V(`The host sent a message that is not an event`,{cause:t.error});this.#i(t.data)}#i(e){let t;if(Pn.has(e.event)){let n=Qt.safeParse(e);if(!n.success)throw new V(`The host sent an invalid ${e.event} event`,{cause:n.error});t=n.data}else t=e;if(e.id!==void 0&&(this.#e=e.id),t.event===`reset`?(this.#e=null,this.#t=!1):this.#e===null&&(this.#t=!0),this.#n.has(t.event))for(let e of this.#r)try{e(t)}catch(e){H(e)}}},Ln=10,Rn=5e3;function zn(e){return Math.min(1e3*1.5**(e-1),15e3)*(.75+Math.random()/2)}function Bn(e,t){return new Promise(n=>{let r=setTimeout(i,e);t.addEventListener(`abort`,i,{once:!0});function i(){clearTimeout(r),t.removeEventListener(`abort`,i),n()}})}var Vn=class{closed;#e;#t=`connecting`;#n=new AbortController;#r;#i;#a;#o=new Set;constructor(e,t,n){let r;if(typeof e==`function`)r=e;else{let n=new URL(e);t.types!==void 0&&n.searchParams.set(`types`,t.types.join(`,`)),r=Nn(n,t)}if(this.#e=new In({types:t.types,cursor:t.cursor},n),this.#r=t.onStatus,this.closed=new Promise((e,t)=>{this.#i={resolve:e,reject:t}}),this.closed.catch(()=>void 0),t.signal?.aborted){this.close();return}let i=t.signal;if(i!==void 0){let e=()=>this.close();i.addEventListener(`abort`,e,{once:!0}),this.#a=()=>i.removeEventListener(`abort`,e)}this.#s(r)}get status(){return this.#t}get cursor(){return this.#e.cursor}subscribe(e,t){let n=!0,r=this.#e.subscribe(t=>{n&&e(t)}),i=e=>{n&&t?.(e)};return t!==void 0&&this.#i!==void 0&&this.#o.add(i),()=>{n=!1,this.#o.delete(i),r()}}close(){this.#l()?.resolve()}[Symbol.asyncIterator](){let e=[],t=[],n=()=>t.splice(0).forEach(e=>e()),r,i=this.subscribe(t=>{e.push(t),n()});this.closed.then(()=>{r={},n()},e=>{r={error:e},n()});let a=()=>(i(),this.close(),{done:!0,value:void 0});return{next:async()=>{for(;;){let n=e.shift();if(n!==void 0)return{done:!1,value:n};if(r!==void 0){if(r.error!==void 0)throw i(),r.error;return a()}await new Promise(e=>t.push(e))}},return:async()=>a()}}async#s(e){await Promise.resolve();let{signal:t}=this.#n,n=0;for(;!t.aborted;){let r=!0,i=!1,a;try{await e({cursor:this.#e.resume(),signal:t},{open:()=>{r&&this.#i!==void 0&&this.#c(`connected`)},message:e=>{if(!(!r||this.#i===void 0)){a??=setTimeout(()=>{i=!0},Rn);try{this.#e.receive(e)}catch(e){this.#l()?.reject(e)}}}})}catch(e){this.#l()?.reject(e);return}finally{r=!1,clearTimeout(a)}if(t.aborted)return;if(this.#c(`connecting`),n=i?1:n+1,n>Ln){this.#l()?.reject(new V(`The host could not be reached`));return}await Bn(zn(n),t)}}#c(e){if(this.#t!==e){this.#t=e;try{this.#r?.(e)}catch(e){H(e)}}}#l(){let e=this.#i;if(e===void 0)return;this.#i=void 0;let t=[...this.#o];return this.#o.clear(),this.#a?.(),this.#n.abort(),this.#c(`closed`),{resolve:e.resolve,reject:n=>{e.reject(n);for(let e of t)try{e(n)}catch(e){H(e)}}}}},Hn=class extends Vn{constructor(e,t={}){typeof e!=`function`&&t.runId!==void 0&&(e=new URL(e),e.searchParams.set(`run_id`,t.runId)),super(e,t,bn)}},Un=class{#e;constructor(e){this.#e=e}update(e,t){return this.#t(`notebook.update`,{body:e,options:t})}delete(e){return this.#t(`notebook.delete`,{options:e})}open(e){return this.#t(`notebook.open`,{options:e})}edit(e,t){return this.#t(`notebook.edit`,{body:{changes:[...e]},options:t})}save(e){return this.#t(`notebook.save`,{body:{decisions:e?.decisions},headers:{"If-Match":e?.ifMatch},options:e})}start(e){return this.#t(`runtime.start`,{body:{decisions:e?.decisions},options:e})}stop(e){return this.#t(`runtime.stop`,{options:e})}restart(e){return this.#t(`runtime.restart`,{options:e})}run(e,t){return this.#t(`runtime.run`,{body:e,options:t})}interrupt(e,t){return this.#t(`runtime.interrupt`,{params:{run_id:e},options:t})}#t(e,t){return Dn(this.#e,e,t)}},Wn=class extends Un{#e;#t;constructor(e,t={}){let n=new URL(e);super({url:n,prefix:`/notebooks/{notebook_id}`,client:t}),this.#e=n,this.#t=t}static unstable_over(e,{notebookId:t}){return new Un({send:t=>e(t),prefix:`/notebooks/{notebook_id}`,params:{notebook_id:t}})}get url(){return new URL(this.#e)}events(e={}){return new Hn(wn(this.#e,`/events`),{...this.#t,...e})}};function Gn(e,t){return t?(t.throwIfAborted(),new Promise((n,r)=>{let i=()=>r(t.reason);t.addEventListener(`abort`,i,{once:!0}),e().then(n,r).finally(()=>t.removeEventListener(`abort`,i))})):e()}function Kn(e){return{transport:async({cursor:t,signal:n},{open:r,message:i})=>{if(n.aborted)return;let a,o,s=new Promise(e=>{o=e}),c=()=>{a?.(),o()};n.addEventListener(`abort`,c,{once:!0});try{r(),await Gn(()=>e.subscribe(t,e=>{n.aborted||i(e)}).then(e=>{a=e,n.aborted&&e()}),n),await s}catch(e){if(!n.aborted)throw a?.(),new V(`Could not follow the WASM notebook`,{cause:e})}finally{n.removeEventListener(`abort`,c)}},client:Wn.unstable_over(t=>e.call(t),{notebookId:e.notebookId})}}function qn(e){return e.assetUrl,e}var Jn=1e10,Yn=1e3;function U(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function Xn(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(x)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=Yn}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=Jn?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw U([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw U([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function b(e,t){if(!r.registerHandler)throw U([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function ee(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function x(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw U([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:b,removeMessageListener:ee,proxy:{send:_,request:m},_setDebugHooks:n}}function Zn(e){return Xn(e)}var Qn=`[transport-id]`;function $n(e,t){let{transportId:n}=t;return n==null?e:{[Qn]:n,data:e}}function er(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[Qn]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function tr(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage($n(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=er(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function nr(e,t){return tr(e,t)}var rr=`::controller`,ir=`marimo-transport`;function ar(e){return Zn({transport:nr(e,{transportId:ir}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{C.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{C.debug(`[rpc] Worker -> Parent`,e)}}})}function or(){let e=document.querySelector(`marimo-wasm`),t=e=>{try{return e?new URL(e,document.baseURI).href:void 0}catch{return}};return{version:pe(),pyodideIndexUrl:t(e?.dataset.pyodideIndexUrl),pyodideLockfileUrl:t(e?.dataset.pyodideLockfileUrl),pypiIndexUrl:t(e?.dataset.pypiIndexUrl)?.replaceAll(`%7Bpackage_name%7D`,`{package_name}`)}}var sr=De(),cr=`marimo:file`,lr=new r(null),ur={saveFile(e){lr.set(cr,e)},readFile(){return lr.get(cr)}},dr={saveFile(e){s.setCodeForHash((0,sr.compressToEncodedURIComponent)(e))},readFile(){let e=s.getCodeFromHash()||s.getCodeFromSearchParam();return e?(0,sr.decompressFromEncodedURIComponent)(e):null}},fr={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},pr={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},mr={saveFile(e){},readFile(){return e.get(n)??null}},hr={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
|
|
105
|
+
`),o=a;try{o=e(a)}catch{}t.enqueue({event:n||`message`,data:o,...i===void 0?{}:{id:i}})}n=``,r=[],i=void 0};super({transform(e,o){t+=e;let s=t.endsWith(`\r`)?`\r`:``,c=t.slice(0,t.length-s.length).split(/\r\n|\r|\n/);t=(c.pop()??``)+s;for(let e of c){if(e===``){a(o);continue}if(e.startsWith(`:`))continue;let t=e.indexOf(`:`),s=t===-1?e:e.slice(0,t),c=t===-1?``:e.slice(t+1);c.startsWith(` `)&&(c=c.slice(1)),s===`event`?n=c:s===`data`?r.push(c):s===`id`&&!c.includes(`\0`)&&(i=c)}}})}},Mn=new Set([408,429]);function Nn(e,t={}){return async({cursor:n,signal:r},{open:i,message:a})=>{let o=new Headers;o.set(`Accept`,`text/event-stream`),t.token!==void 0&&o.set(`Authorization`,`Bearer ${t.token}`),n!==null&&o.set(`Last-Event-ID`,n);let s=new AbortController,c=()=>s.abort();r.addEventListener(`abort`,c,{once:!0});let l,u,d=()=>{clearTimeout(l),l=setTimeout(c,An)};try{let n=new URL(typeof e==`function`?await e():e),r=t.fetch??globalThis.fetch;d();let c=await r(n,{headers:o,signal:s.signal}),{status:l}=c;if(l>=400&&l<500&&!Mn.has(l)){let e=nn.safeParse(await c.json().catch(()=>void 0));throw new V(`The host refused the stream (${l})`,{cause:e.success?e.data:void 0})}if(!c.ok||c.body===null){await c.body?.cancel();return}if(!Cn(c.headers.get(`Content-Type`),`text/event-stream`))throw await c.body.cancel(),new V(`The host did not answer with an event stream`);i();let f=new TransformStream({transform(e,t){d(),t.enqueue(e)}}),p=c.body.pipeThrough(f).pipeThrough(new TextDecoderStream).pipeThrough(new jn(t.parseData)).getReader();for(s.signal.addEventListener(`abort`,()=>void p.cancel(),{once:!0});;){let{done:e,value:n}=await p.read();if(e)return;if(u=t.stop?.(n),u!==void 0)throw u;a(n)}}catch(e){if(e instanceof V||e===u)throw e}finally{clearTimeout(l),r.removeEventListener(`abort`,c)}}}var Pn=new Set(Qt.options.flatMap(e=>e.shape.event.options)),Fn=g({event:p().min(1),data:S(),id:p().optional()});function H(e){queueMicrotask(()=>{throw e})}var In=class{#e;#t=!1;#n;#r=new Set;constructor(e,t){this.#e=e.cursor??null,this.#n=new Set([`ready`,`reset`,...(e.types??t).flatMap(e=>{let t=`${e}.removed`;return Pn.has(t)?[e,t]:[e]})])}get cursor(){return this.#e}subscribe(e){return this.#r.add(e),()=>this.#r.delete(e)}resume(){return this.#e===null&&this.#t&&this.#i({event:`reset`,data:{}}),this.#e}receive(e){let t=Fn.safeParse(e);if(!t.success)throw new V(`The host sent a message that is not an event`,{cause:t.error});this.#i(t.data)}#i(e){let t;if(Pn.has(e.event)){let n=Qt.safeParse(e);if(!n.success)throw new V(`The host sent an invalid ${e.event} event`,{cause:n.error});t=n.data}else t=e;if(e.id!==void 0&&(this.#e=e.id),t.event===`reset`?(this.#e=null,this.#t=!1):this.#e===null&&(this.#t=!0),this.#n.has(t.event))for(let e of this.#r)try{e(t)}catch(e){H(e)}}},Ln=10,Rn=5e3;function zn(e){return Math.min(1e3*1.5**(e-1),15e3)*(.75+Math.random()/2)}function Bn(e,t){return new Promise(n=>{let r=setTimeout(i,e);t.addEventListener(`abort`,i,{once:!0});function i(){clearTimeout(r),t.removeEventListener(`abort`,i),n()}})}var Vn=class{closed;#e;#t=`connecting`;#n=new AbortController;#r;#i;#a;#o=new Set;constructor(e,t,n){let r;if(typeof e==`function`)r=e;else{let n=new URL(e);t.types!==void 0&&n.searchParams.set(`types`,t.types.join(`,`)),r=Nn(n,t)}if(this.#e=new In({types:t.types,cursor:t.cursor},n),this.#r=t.onStatus,this.closed=new Promise((e,t)=>{this.#i={resolve:e,reject:t}}),this.closed.catch(()=>void 0),t.signal?.aborted){this.close();return}let i=t.signal;if(i!==void 0){let e=()=>this.close();i.addEventListener(`abort`,e,{once:!0}),this.#a=()=>i.removeEventListener(`abort`,e)}this.#s(r)}get status(){return this.#t}get cursor(){return this.#e.cursor}subscribe(e,t){let n=!0,r=this.#e.subscribe(t=>{n&&e(t)}),i=e=>{n&&t?.(e)};return t!==void 0&&this.#i!==void 0&&this.#o.add(i),()=>{n=!1,this.#o.delete(i),r()}}close(){this.#l()?.resolve()}[Symbol.asyncIterator](){let e=[],t=[],n=()=>t.splice(0).forEach(e=>e()),r,i=this.subscribe(t=>{e.push(t),n()});this.closed.then(()=>{r={},n()},e=>{r={error:e},n()});let a=()=>(i(),this.close(),{done:!0,value:void 0});return{next:async()=>{for(;;){let n=e.shift();if(n!==void 0)return{done:!1,value:n};if(r!==void 0){if(r.error!==void 0)throw i(),r.error;return a()}await new Promise(e=>t.push(e))}},return:async()=>a()}}async#s(e){await Promise.resolve();let{signal:t}=this.#n,n=0;for(;!t.aborted;){let r=!0,i=!1,a;try{await e({cursor:this.#e.resume(),signal:t},{open:()=>{r&&this.#i!==void 0&&this.#c(`connected`)},message:e=>{if(!(!r||this.#i===void 0)){a??=setTimeout(()=>{i=!0},Rn);try{this.#e.receive(e)}catch(e){this.#l()?.reject(e)}}}})}catch(e){this.#l()?.reject(e);return}finally{r=!1,clearTimeout(a)}if(t.aborted)return;if(this.#c(`connecting`),n=i?1:n+1,n>Ln){this.#l()?.reject(new V(`The host could not be reached`));return}await Bn(zn(n),t)}}#c(e){if(this.#t!==e){this.#t=e;try{this.#r?.(e)}catch(e){H(e)}}}#l(){let e=this.#i;if(e===void 0)return;this.#i=void 0;let t=[...this.#o];return this.#o.clear(),this.#a?.(),this.#n.abort(),this.#c(`closed`),{resolve:e.resolve,reject:n=>{e.reject(n);for(let e of t)try{e(n)}catch(e){H(e)}}}}},Hn=class extends Vn{constructor(e,t={}){typeof e!=`function`&&t.runId!==void 0&&(e=new URL(e),e.searchParams.set(`run_id`,t.runId)),super(e,t,bn)}},Un=class{#e;constructor(e){this.#e=e}update(e,t){return this.#t(`notebook.update`,{body:e,options:t})}delete(e){return this.#t(`notebook.delete`,{options:e})}open(e){return this.#t(`notebook.open`,{options:e})}edit(e,t){return this.#t(`notebook.edit`,{body:{changes:[...e]},options:t})}save(e){return this.#t(`notebook.save`,{body:{decisions:e?.decisions},headers:{"If-Match":e?.ifMatch},options:e})}start(e){return this.#t(`runtime.start`,{body:{decisions:e?.decisions},options:e})}stop(e){return this.#t(`runtime.stop`,{options:e})}restart(e){return this.#t(`runtime.restart`,{options:e})}run(e,t){return this.#t(`runtime.run`,{body:e,options:t})}interrupt(e,t){return this.#t(`runtime.interrupt`,{params:{run_id:e},options:t})}#t(e,t){return Dn(this.#e,e,t)}},Wn=class extends Un{#e;#t;constructor(e,t={}){let n=new URL(e);super({url:n,prefix:`/notebooks/{notebook_id}`,client:t}),this.#e=n,this.#t=t}static unstable_over(e,{notebookId:t}){return new Un({send:t=>e(t),prefix:`/notebooks/{notebook_id}`,params:{notebook_id:t}})}get url(){return new URL(this.#e)}events(e={}){return new Hn(wn(this.#e,`/events`),{...this.#t,...e})}};function Gn(e,t){return t?(t.throwIfAborted(),new Promise((n,r)=>{let i=()=>r(t.reason);t.addEventListener(`abort`,i,{once:!0}),e().then(n,r).finally(()=>t.removeEventListener(`abort`,i))})):e()}function Kn(e){let t=Wn.unstable_over(t=>e.call(t),{notebookId:e.notebookId});return{transport:async({cursor:t,signal:n},{open:r,message:i})=>{if(n.aborted)return;let a,o,s=new Promise(e=>{o=e}),c=()=>{a?.(),o()};n.addEventListener(`abort`,c,{once:!0});try{r(),await Gn(()=>e.subscribe(t,e=>{n.aborted||i(e)}).then(e=>{a=e,n.aborted&&e()}),n),await s}catch(e){if(!n.aborted)throw a?.(),new V(`Could not follow the WASM notebook`,{cause:e})}finally{n.removeEventListener(`abort`,c)}},notebook:()=>t}}function qn(e){return e.assetUrl,e}var Jn=1e10,Yn=1e3;function U(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function Xn(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(x)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=Yn}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=Jn?++c:c=0}let u=new Map,d=new Map;function f(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw U([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let p=new Proxy(f,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>f(t,e)}),m=p;function h(e,...n){let i=n[0];if(!r.send)throw U([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let g=new Proxy(h,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>h(t,e)}),_=g,v=new Map,y=new Set;function b(e,t){if(!r.registerHandler)throw U([`registerHandler`],`register message listeners`);if(e===`*`){y.add(t);return}v.has(e)||v.set(e,new Set),v.get(e)?.add(t)}function ee(e,t){if(e===`*`){y.delete(t);return}v.get(e)?.delete(t),v.get(e)?.size===0&&v.delete(e)}async function x(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw U([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of y)t(e.id,e.payload);let t=v.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:p,requestProxy:m,send:g,sendProxy:_,addMessageListener:b,removeMessageListener:ee,proxy:{send:_,request:m},_setDebugHooks:n}}function Zn(e){return Xn(e)}var Qn=`[transport-id]`;function $n(e,t){let{transportId:n}=t;return n==null?e:{[Qn]:n,data:e}}function er(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[Qn]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function tr(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage($n(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=er(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function nr(e,t){return tr(e,t)}var rr=`::controller`,ir=`marimo-transport`;function ar(e){return Zn({transport:nr(e,{transportId:ir}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{C.debug(`[rpc] Parent -> Worker`,e)},onReceive:e=>{C.debug(`[rpc] Worker -> Parent`,e)}}})}function or(){let e=document.querySelector(`marimo-wasm`),t=e=>{try{return e?new URL(e,document.baseURI).href:void 0}catch{return}};return{version:pe(),pyodideIndexUrl:t(e?.dataset.pyodideIndexUrl),pyodideLockfileUrl:t(e?.dataset.pyodideLockfileUrl),pypiIndexUrl:t(e?.dataset.pypiIndexUrl)?.replaceAll(`%7Bpackage_name%7D`,`{package_name}`)}}var sr=De(),cr=`marimo:file`,lr=new r(null),ur={saveFile(e){lr.set(cr,e)},readFile(){return lr.get(cr)}},dr={saveFile(e){s.setCodeForHash((0,sr.compressToEncodedURIComponent)(e))},readFile(){let e=s.getCodeFromHash()||s.getCodeFromSearchParam();return e?(0,sr.decompressFromEncodedURIComponent)(e):null}},fr={saveFile(e){},readFile(){let e=document.querySelector(`marimo-code`);return e?decodeURIComponent(e.textContent||``).trim():null}},pr={saveFile(e){},readFile(){if(window.location.hostname!==`marimo.app`)return null;let e=new URL(`export_demos/wasm-intro.py`,document.baseURI);return fetch(e.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},mr={saveFile(e){},readFile(){return e.get(n)??null}},hr={saveFile(e){},readFile(){return[`import marimo`,`app = marimo.App()`,``,`@app.cell`,`def __():`,` return`,``,`if __name__ == "__main__":`,` app.run()`].join(`
|
|
106
106
|
`)}},gr=class{stores;constructor(e){this.stores=e}insert(e,t){this.stores.splice(e,0,t)}saveFile(e){this.stores.forEach(t=>t.saveFile(e))}readFile(){for(let e of this.stores){let t=e.readFile();if(t)return t}return null}},W=new gr([mr,fr,dr]),G=new gr([ur,pr,hr]),_r=new URL(`save-worker-UwdGcNK5.js`,import.meta.url).href,vr=new URL(`worker-jm2VC7pS.js`,import.meta.url).href,yr=class t{static get INSTANCE(){let e=`_marimo_private_PyodideBridge`;return window[e]||(window[e]=new t),window[e]}rpc;saveRpc;pendingSessionSave=Promise.resolve();notebookConsumers=new Map;interruptBuffer;messageConsumer;initialized=new be;getSaveWorker(){if(se()===`read`)return C.debug(`Using partially disabled SaveWorker in read-mode`),{readFile:w,readNotebook:async()=>await W.readFile()??``,saveNotebook:w};let e=or(),t=ar(Me(new URL(_r,import.meta.url),{name:br()}));return t.send.bootstrap(e),t.proxy.request}constructor(){if(!ue())return;let t=or(),n=Me(new URL(vr,import.meta.url),{name:br()});this.rpc=ar(n),this.rpc.send.bootstrap(t),this.rpc.addMessageListener(`notebookEvent`,({id:e,event:t})=>{this.notebookConsumers.get(e)?.(JSON.parse(t))}),this.rpc.addMessageListener(`ready`,()=>{this.startSession()}),this.rpc.addMessageListener(`initialized`,()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),e.set(E,{kind:`ready`}),this.initialized.resolve()}),this.rpc.addMessageListener(`initializingMessage`,({message:t})=>{e.get(E).kind===`loading`&&e.set(E,{kind:`loading`,message:t})}),this.rpc.addMessageListener(`initializedError`,({error:t})=>{if(this.initialized.status===`resolved`){C.error(t),_e({title:`Error initializing`,description:t,variant:`danger`});return}e.set(E,{kind:`error`,message:t}),this.initialized.reject(Error(t))}),this.rpc.addMessageListener(`kernelMessage`,({message:e})=>{this.messageConsumer?.(new MessageEvent(`message`,{data:e}))})}async startSession(){let t=await W.readFile(),n=await G.readFile(),r=e.get(l)??s.getFilename(),i=e.get(re),a={},o=new URLSearchParams(window.location.search);for(let e of o.keys()){let t=o.getAll(e);a[e]=t.length===1?t[0]:t}await this.rpc.proxy.request.startSession({queryParameters:a,code:t||n||``,filename:r,userConfig:{...i,runtime:{...i.runtime,auto_instantiate:se()===`read`||i.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):C.warn(`Not running in a secure context; interrupts are not available.`)}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async createNotebookBackend(){await this.initialized.promise;let{id:e}=await this.rpc.proxy.request.notebookInfo();return Kn({notebookId:e,subscribe:async(e,t)=>{await this.initialized.promise;let n=xe();this.notebookConsumers.set(n,t);let r=()=>{this.notebookConsumers.delete(n),this.rpc.proxy.request.notebookUnsubscribe(n).catch(C.error)};try{return await this.rpc.proxy.request.notebookSubscribe({id:n,cursor:e}),r}catch(e){throw r(),e}},call:async e=>(await this.initialized.promise,this.rpc.proxy.request.notebookCall(e))})}sendRename=async({filename:e})=>e===null?null:(s.setFilename(e),await this.rpc.proxy.request.bridge({functionName:`rename_file`,payload:e}),null);sendSave=async e=>{if(!this.saveRpc)return C.warn(`Save RPC not initialized`),null;let t=this.saveRpc.saveNotebook(e);this.pendingSessionSave=this.pendingSessionSave.catch(()=>void 0).then(async()=>{await t,await this.rpc.proxy.request.saveNotebook(e)}),this.pendingSessionSave.catch(e=>{C.error(e)}),await t;let n=await this.readCode();return n.contents&&(W.saveFile(n.contents),G.saveFile(n.contents)),null};sendCopy=async()=>{w()};sendStdin=async e=>(await this.rpc.proxy.request.bridge({functionName:`put_input`,payload:e.text}),null);sendPdb=async()=>{w()};sendSetBreakpoints=async()=>{w()};sendRun=async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
|
|
107
|
-
`)),await this.putControlRequest({type:`execute-cells`,...e}),null);sendRunScratchpad=async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:`execute-scratchpad`,...e}),null);sendInterrupt=async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null);sendShutdown=async()=>(window.close(),null);sendFormat=async e=>await this.rpc.proxy.request.bridge({functionName:`format`,payload:e});sendDeleteCell=async e=>(await this.putControlRequest({type:`delete-cell`,...e}),null);sendInstallMissingPackages=async e=>(this.putControlRequest({type:`install-packages`,...e}),null);sendCodeCompletionRequest=async t=>(e.get(c)||await this.rpc.proxy.request.bridge({functionName:`code_complete`,payload:t}),null);saveUserConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_user_config`,payload:e}),oe.post(`/kernel/save_user_config`,e,{baseUrl:`/`}).catch(e=>(C.error(e),null)));saveAppConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_app_config`,payload:e}),null);saveCellConfig=async e=>(await this.putControlRequest({type:`update-cell-config`,...e}),null);sendRestart=async()=>{let e=await this.readCode();return e.contents&&(W.saveFile(e.contents),G.saveFile(e.contents)),Ee(),null};readCode=async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(C.warn(`Save RPC not initialized`),{contents:``});readSnippets=async()=>await this.rpc.proxy.request.bridge({functionName:`read_snippets`,payload:void 0});openFile=async()=>{let e=Oe({code:null,baseUrl:window.location.origin});return window.open(e,`_blank`),null};sendListFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`list_files`,payload:e});getFileRoots=async()=>await this.rpc.proxy.request.bridge({functionName:`file_roots`,payload:void 0});sendSearchFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`search_files`,payload:e});sendComponentValues=async e=>(await this.putControlRequest({type:`update-ui-element`,...e,token:xe()}),null);sendInstantiate=async()=>null;sendFunctionRequest=async e=>(await this.putControlRequest({type:`invoke-function`,...e}),null);sendCreateFileOrFolder=async e=>{let t=null;return e.file&&(t=(await we(e.file)).split(`,`)[1]??``),await this.rpc.proxy.request.bridge({functionName:`create_file_or_directory`,payload:{path:e.path,type:e.type,name:e.name,contents:t}})};sendDeleteFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`delete_file_or_directory`,payload:e});sendCopyFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`copy_file_or_directory`,payload:e});sendRenameFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`move_file_or_directory`,payload:e});sendUpdateFile=async e=>await this.rpc.proxy.request.bridge({functionName:`update_file`,payload:e});sendFileDetails=async e=>await this.rpc.proxy.request.bridge({functionName:`file_details`,payload:e});exportAsHTML=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_html`,payload:qn(e)}));exportAsMarkdown=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_markdown`,payload:e}));exportAsScript=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_script`,payload:e}));previewDatasetColumn=async e=>(await this.putControlRequest({type:`preview-dataset-column`,...e}),null);previewSQLTable=async e=>(await this.putControlRequest({type:`preview-sql-table`,...e}),null);previewSQLTableList=async e=>(await this.putControlRequest({type:`list-sql-tables`,...e}),null);previewSQLSchemaList=async e=>(await this.putControlRequest({type:`list-sql-schemas`,...e}),null);previewDataSourceConnection=async e=>(await this.putControlRequest({type:`list-data-source-connection`,...e}),null);validateSQL=async e=>(await this.putControlRequest({type:`validate-sql`,...e}),null);sendModelValue=async e=>(await this.putControlRequest({type:`model`,...e}),null);sendDocumentTransaction=()=>Promise.resolve(null);addPackage=async e=>this.rpc.proxy.request.addPackage(e);removePackage=async e=>this.rpc.proxy.request.removePackage(e);getPackageList=async()=>await this.rpc.proxy.request.listPackages();getSandbox=async()=>({backend:null,manifest:null,filename:null});updateManifest=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};syncSandbox=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};getDependencyTree=async()=>({tree:{dependencies:[],name:``,tags:[],version:null},context:{kind:`package-manager`,name:`micropip`}});listSecretKeys=async e=>(await this.putControlRequest({type:`list-secret-keys`,...e}),null);discoverDataSources=async e=>(await this.putControlRequest({type:`discover-data-sources`,...e}),null);getUsageStats=w;getEnvironmentInfo=async()=>await this.rpc.proxy.request.bridge({functionName:`get_environment_info`,payload:void 0});openTutorial=w;getRecentFiles=w;getWorkspaceFiles=w;getRunningNotebooks=w;shutdownSession=w;getExportAvailability=w;installExportRequirements=w;exportAsIPYNB=w;exportAsPDF=w;autoExportAsHTML=w;autoExportAsMarkdown=w;autoExportAsIPYNB=w;updateCellOutputs=w;writeSecret=w;invokeAiTool=w;clearCache=w;getCacheInfo=w;listStorageEntries=w;downloadStorage=w;async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:`put_control_request`,payload:e})}};function br(){return`marimo${typeof window<`u`&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0?rr:``}`}function xr(e=T()){let t=window.fetch;return window.fetch=async(n,r)=>{let i=n instanceof Request?n.url:n.toString();if(i.startsWith(`data:`))return t(n,r);try{let a=K(i,e);if(a){let e=await(await t(a)).arrayBuffer();return new Response(e,{headers:{"Content-Type":Sr(i)}})}return t(n,r)}catch(e){return C.error(`Error parsing URL`,e),t(n,r)}},()=>{window.fetch=t}}function Sr(e){return e.endsWith(`.csv`)?`text/csv`:e.endsWith(`.json`)?`application/json`:e.endsWith(`.txt`)?`text/plain`:`application/octet-stream`}function Cr(e,t=T()){let n=e.http.bind(e),r=e.load.bind(e);return e.http=async e=>{let r=K(e,t);if(r)return await window.fetch(r).then(e=>e.text());try{return await n(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},e.load=async e=>{let n=K(e,t);if(n)return await window.fetch(n).then(e=>e.text());try{return await r(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},()=>{e.http=n,e.load=r}}function wr(e){return e.startsWith(`.`)?e.slice(1):e}function Tr(e,t=T()){let n=K(e,t);if(!n)return e;let r=Te(n);return URL.createObjectURL(r)}function K(e,t){let n=document.baseURI;n.startsWith(`blob:`)&&(n=n.replace(`blob:`,``));let r=new URL(e,n).pathname,i=Er(e),a=Er(r);return t[e]||t[wr(e)]||t[r]||t[wr(r)]||i&&t[i]||a&&t[a]}function Er(e){let t=e.indexOf(`/@file/`);return t===-1?null:e.slice(t)}function q(e,t){return{get(t){return e.get(t)},set(t,n){e.set(t,n)},save_changes(){e.save_changes()},send:e.send.bind(e),on(n,r){t.aborted||(e.on(n,r),t.addEventListener(`abort`,()=>e.off(n,r),{once:!0}))},off(t,n){e.off(t??null,n??null)},widget_manager:{async get_model(n){return q(await e.widget_manager.get_model(n),t)}}}}function J(e){return typeof e==`string`&&e.length>0}function Dr(e){if(typeof e==`string`&&e.startsWith(`anywidget:`)){let t=e.slice(10);if(J(t))return t}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(e)}`)}function Or(e,t){return{async getModel(n){let r=Dr(n);return q(await e.getModel(r),t)},async getWidget(n){let r=Dr(n),i=await e.getWidget(r);return{exports:i.exports,async render({el:e,signal:n}){await i.render({el:e,signal:n??t})}}}}}var kr=Symbol(`marimo`);function Y(e){return e[kr]}var Ar=class e{#e=`change`;#t;#n;#r;#i={};static _modelManager;constructor(e,t,n){this.#n=e,this.#r=t,this.#t=new Set,n&&n.addEventListener(`abort`,()=>{C.debug(`[Model] Signal aborted, clearing all listeners`),this.#i={}})}[kr]={updateAndEmitDiffs:e=>this.#o(e),emitCustomMessage:(e,t)=>this.#s(e,t)};off(e,t){if(!e){this.#i={};return}if(!t){this.#i[e]=new Set;return}this.#i[e]?.delete(t)}send(e,t,n){let r=(n??[]).map(e=>e instanceof ArrayBuffer?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength));return this.#r.sendCustomMessage(e,r).then(()=>t?.())}widget_manager={async get_model(t){let n=await e._modelManager.getModel(t);if(!n)throw Error(`Model not found with id: ${t}. This is likely because the model was not registered.`);return n}};get(e){return this.#n[e]}set(e,t){this.#n={...this.#n,[e]:t},this.#t.add(e),this.#a(`change:${e}`,t),this.#c()}save_changes(){if(this.#t.size===0)return;let e=Object.fromEntries([...this.#t].map(e=>[e,this.#n[e]]));this.#t.clear(),this.#r.sendUpdate(e)}on(e,t,n){let r=n?.signal;r?.aborted||(this.#i[e]||(this.#i[e]=new Set),this.#i[e].add(t),r?.addEventListener(`abort`,()=>this.off(e,t),{once:!0}))}#a(e,t){let n=this.#i[e];if(n)for(let e of[...n])try{e(t)}catch(e){C.error(`Error emitting event`,e)}}#o(e){e!=null&&Object.keys(e).forEach(t=>{let n=t;this.#t.delete(n),this.#n[n]!==e[n]&&(this.#n={...this.#n,[n]:e[n]},this.#a(`change:${n}`,e[n]),this.#c())})}#s(e,t=[]){let n=this.#i[`msg:custom`];if(n)for(let r of[...n])try{r(e.content,t)}catch(e){C.error(`Error emitting event`,e)}}#c=ne(()=>{let e=this.#i[this.#e];if(e)for(let t of[...e])try{t()}catch(e){C.error(`Error emitting event`,e)}},0)};function jr(e){return typeof e==`function`}function Mr(e){return typeof e==`function`}function Nr(e){return t(e)&&(jr(e.render)||Mr(e.initialize))}function Pr(e){return typeof e==`function`||Nr(e)}function Fr(e){return t(e)&&Pr(e.default)}var Ir=new Set,Lr=new WeakMap;function Rr(e,n){if(Fr(e))return e.default;if(!t(e)||e.default!==void 0)return null;let r=jr(e.render)?e.render:void 0,i=Mr(e.initialize)?e.initialize:void 0;if(r===void 0&&i===void 0)return null;let a=Lr.get(e);if(a)return a;Ir.has(n)||(Ir.add(n),C.warn(`Anywidget module at ${n} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let o={render:r,initialize:i};return Lr.set(e,o),o}function zr(e,n){let r=`https://anywidget.dev/en/afm/`,a=t(e)&&i(e,`render`),o=t(e)&&i(e,`initialize`);if(t(e)&&e.default!==void 0)return Error(`Anywidget module at ${n} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${r}`);if(a||o){let e=[a?"`render`":null,o?"`initialize`":null].filter(Boolean).join(` and `),t=[a?`render`:null,o?`initialize`:null].filter(e=>e!==null),i=`export default { ${t.join(`, `)} }`,s=t.length===1?`export function ${t[0]}`:`named export function ...`;return Error(`Anywidget module at ${n} uses named exports (${e}). Per the AFM spec, use a default export instead: \`${i}\` (not \`${s}\`). See ${r}`)}return Error(`Anywidget module at ${n} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${r}`)}function Br(e){return typeof e!=`string`||e.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(e)||Hr(e))}function Vr(){return e.get(Ce)||Se()}function Hr(e){return e.startsWith(`data:text/javascript;base64,`)||e.startsWith(`data:application/javascript;base64,`)||e.startsWith(`data:text/css;base64,`)?Vr():!1}var Ur={invoke:async()=>{let e=`anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues`;throw C.warn(e),Error(e)}};function Wr(e){if(typeof AbortSignal.any==`function`)return AbortSignal.any(e);let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(n.reason),t.signal;n.addEventListener(`abort`,()=>t.abort(n.reason),{once:!0})}return t.signal}var Gr=class{#e=new Map;getModule(e){let{jsUrl:t,jsHash:n,kernelAuthored:r=!1,lifetime:i}=e,a=this.#e.get(n);if(!a){let e={references:0,dispose:()=>void 0,promise:this.#t(t,{kernelAuthored:r}).then(({module:t,dispose:n})=>(e.dispose=n,t),t=>{throw this.#e.get(n)===e&&this.#e.delete(n),t})};this.#e.set(n,e),a=e}let o=a;o.references+=1;let s=()=>{--o.references,o.references===0&&o.promise.then(()=>{o.dispose(),o.dispose=()=>void 0},()=>void 0)};return i?.aborted?s():i?.addEventListener(`abort`,s,{once:!0}),o.promise}invalidate(e){this.#e.delete(e)}async#t(e,t={}){if(!(Br(e)||t.kernelAuthored===!0&&/^(https?:|data:)/.test(e)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(e)}`);let n=fe(e).toString(),r=de()?Tr(n):n,i=()=>{r!==n&&URL.revokeObjectURL(r)};try{return{module:await ve(()=>import(r),[],import.meta.url),dispose:i}}catch(e){throw i(),e}}};function X(e){return typeof e==`function`}async function Kr(e,t){try{await e()}catch(e){C.warn(`[WidgetBinding] ${t} cleanup failed`,e)}}var qr=class e{#e;#t;#n;#r;#i;#a=new Set;#o=new Set;#s;constructor(e){this.#t=e.widget,this.#n=e.model,this.#r=e.exports,this.#e=e.controller,this.#i=e.createHost,this.#s=e.onDestroy}static async create({widgetDef:t,model:n,createHost:r,controller:i=new AbortController,onDestroy:a}){let o=i.signal,s;try{let c=typeof t==`function`?await t():t;if(o.aborted)throw Error(`[anywidget] binding destroyed`);let l=Promise.resolve(c.initialize?.({model:q(n,o),experimental:Ur,signal:o}));s=l.then(async e=>{o.aborted&&X(e)&&await Kr(e,`late initialize`)}).catch(()=>void 0);let u=await Promise.race([l,new Promise((e,t)=>{let n=()=>t(Error(`[anywidget] binding destroyed`));if(o.aborted){n();return}o.addEventListener(`abort`,n,{once:!0})})]);if(o.aborted)throw Error(`[anywidget] binding destroyed`);let d,f;X(u)?(f=u,d=void 0):d=typeof u==`object`&&u?u:void 0;let p=new e({widget:c,model:n,exports:d,controller:i,createHost:r,onDestroy:a});return f&&o.addEventListener(`abort`,()=>void p.#l(f,`initialize`),{once:!0}),p}catch(e){throw s?s.then(()=>a?.()):a?.(),e}}get exports(){return this.#r}async createView(e,t){let n=this.#c(e,t);this.#o.add(n);try{await n}finally{this.#o.delete(n)}}async#c(e,t){let n=this.#t;if(!n.render)return;let r=Wr([t.signal,this.#e.signal]);if(r.aborted)return;e.el.innerHTML=``;let i=this.#i(r),a=await n.render({model:q(this.#n,r),el:e.el,experimental:Ur,signal:r,host:i});if(X(a)){let e=()=>{let e=t.signal.aborted?`view unmount`:`binding destroyed`;return C.debug(`[WidgetBinding] Render cleanup triggered (reason: ${e})`),this.#l(a,`render`)};if(r.aborted){await e();return}r.addEventListener(`abort`,()=>void e(),{once:!0})}}#l(e,t){let n=Kr(e,t);return this.#a.add(n),n.finally(()=>this.#a.delete(n)),n}async destroy(){for(C.debug(`[WidgetBinding] Destroying binding generation`),this.#e.abort(),await Promise.allSettled(this.#o);this.#a.size>0;)await Promise.all(this.#a);this.#s?.(),this.#s=void 0}},Jr=new Gr,Yr=class{#e;#t;#n;#r;#i;#a=new AbortController;#o=new be;#s=new Set;#c=new Map;#l;#u;#d;#f=Promise.resolve();#p=``;constructor(e,t){this.#e=e,this.#t=t.timeout,this.#n=t.isEditMode,this.#r=t.createHost,this.#i=t.onModelTimeout}getModel(){return this.#o.status===`pending`&&!this.#l&&(this.#l=setTimeout(()=>{this.#o.status===`pending`&&(this.#l=void 0,this.#o.reject(Error(`Model not found for key: ${this.#e}`)),this.#i())},this.#t)),this.#o.promise}getModelSync(){return this.#o.status===`resolved`?this.#o.value:void 0}createModel(e){this.#o.status===`pending`&&this.#m(e(this.#a.signal))}setModel(e){this.#o.status===`pending`&&this.#m(e)}#m(e){this.#l&&=(clearTimeout(this.#l),void 0),this.#o.resolve(e);let t=e.get(`_css`);this.#p=typeof t==`string`?t:``,e.on(`change:_css`,e=>{this.#p=typeof e==`string`?e:``;for(let e of this.#c.values())e.update(this.#p)},{signal:this.#a.signal})}setSpec(e){if(!this.#u){this.#u=e;return}this.#n()&&(this.#u=e,this.#d&&this.#d.hash!==e.hash&&this.#v(e))}async getWidget(){return{exports:(await this.#h()).exports,render:async({el:e,signal:t})=>{await this.createView({el:e,signal:t??this.#a.signal})}}}async createView(e){if(e.signal.aborted||this.#a.signal.aborted)return;let t={el:e.el,signal:e.signal};this.#s.add(t),this.#x(t),e.signal.addEventListener(`abort`,()=>this.#s.delete(t),{once:!0}),await this.#b(t)}async#h(){for(;!this.#a.signal.aborted;){let e=await this.getModel(),t=this.#d;if(!t){let n=this.#u;if(!n)throw Error(`[anywidget] No ESM spec for model ${this.#e}: nothing ever provided this widget's code`);t=this.#_(n,e)}try{let e=await t.promise;if(t===this.#d)return e}catch(e){if(!this.#d||t===this.#d)throw e}}throw Error(`[anywidget] widget runtime destroyed`)}async#g(e){let{spec:t,model:n,controller:r}=e,i=new AbortController,a;try{let e=await Jr.getModule({jsUrl:t.url,jsHash:t.hash,kernelAuthored:!0,lifetime:i.signal}),n=Rr(e,t.url);if(!n)throw Jr.invalidate(t.hash),zr(e,t.url);a=n}catch(e){throw i.abort(),e}return qr.create({widgetDef:a,model:n,createHost:this.#r,controller:r,onDestroy:()=>i.abort()})}#_(e,t){let n=new AbortController,r={hash:e.hash,controller:n,promise:this.#g({spec:e,model:t,controller:n})};return r.promise.catch(()=>{this.#d===r&&(this.#d=void 0)}),this.#d=r,r}#v(e){let t=this.#d;if(!t)return;C.debug(`[WidgetRuntime] Hot-swapping generation for model=${this.#e}`);let n=this.#y(t),r=this.getModelSync();if(!r)return;let i=this.#_(e,r);for(let e of this.#s)e.generation=void 0,n.then(()=>this.#b(e,i)).catch(e=>{C.error(`[WidgetRuntime] Error replacing widget view`,e)})}#y(e){e.controller.abort();let t=this.#f.then(async()=>{try{await(await e.promise).destroy()}catch{}});return this.#f=t,t}async#b(e,t){if(e.signal.aborted||this.#a.signal.aborted)return;let n=t??this.#d,r=n?await n.promise:await this.#h(),i=this.#d;if(!(!i||i!==(n??i))&&e.generation!==i){e.generation=i;try{await r.createView({el:e.el},{signal:e.signal})}catch(t){if(i!==this.#d){e.generation=void 0;return}throw t}}}#x(e){let t=e.el.getRootNode();if(!Z(t)&&!Xr(t))return;let n=this.#c.get(t);n||(n=Zr(t,this.#p),this.#c.set(t,n)),n.references+=1;let r=!1;e.signal.addEventListener(`abort`,()=>{if(r)return;r=!0;let e=this.#c.get(t);e&&(--e.references,e.references===0&&(e.dispose(),this.#c.delete(t)))},{once:!0})}dispose(){if(!this.#a.signal.aborted){C.debug(`[WidgetRuntime] Disposing model=${this.#e}`),this.#l&&=(clearTimeout(this.#l),void 0),this.#o.status===`pending`&&(this.#o.promise.catch(()=>void 0),this.#o.reject(Error(`[anywidget] widget runtime destroyed`))),this.#d&&this.#y(this.#d),this.#a.abort(),this.#s.clear();for(let e of this.#c.values())e.dispose();this.#c.clear()}}};function Z(e){return e.nodeType===Node.DOCUMENT_NODE}function Xr(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}function Zr(e,t){let n=Z(e)?e:e.ownerDocument??document,r=n.defaultView??window;if(`adoptedStyleSheets`in e&&r.CSSStyleSheet!==void 0&&typeof r.CSSStyleSheet.prototype.replaceSync==`function`)try{let n=new r.CSSStyleSheet;return n.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],{references:0,update(e){n.replaceSync(e)},dispose(){e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>e!==n)}}}catch{}let i=n.createElement(`style`);return i.textContent=t,Z(e)?n.head.append(i):e.append(i),{references:0,update(e){i.textContent=e},dispose(){i.remove()}}}function Q(e,t=[]){let n=[];if(e instanceof DataView)n.push(t);else if(Array.isArray(e))for(let[r,i]of e.entries())n.push(...Q(i,[...t,r]));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))n.push(...Q(i,[...t,r]));return n}function Qr(e){let t=Q(e);if(t.length===0)return{state:e,buffers:[],bufferPaths:[]};let n=structuredClone(e),r=[],i=[];for(let a of t){let t=te(e,a);if(t instanceof DataView){let e=me(t);r.push(e),i.push(a),k(n,a,e)}}return{state:n,buffers:r,bufferPaths:i}}function $r(e){let{state:t,bufferPaths:n,buffers:r}=e;if(!n||n.length===0)return t;r&&ae(r.length===n.length,`Buffers and buffer paths not the same length`);let i=t;for(let[e,t]of n.entries()){let n=r?.[e];if(n==null){C.warn(`[anywidget] Could not find buffer at path`,t);continue}typeof n==`string`?k(i,t,he(n)):k(i,t,n)}return i}function ei(){let t=e.get(ce).mode;return t===`edit`||t===`present`}var $=new class{#e=new Map;#t;#n;constructor(e=1e4,t=ei){this.#t=e,this.#n=t}#r(e){let t=this.#e.get(e);if(!t){let n=new Yr(e,{timeout:this.#t,isEditMode:this.#n,createHost:e=>Or(this,e),onModelTimeout:()=>{this.#e.get(e)===n&&(n.dispose(),this.#e.delete(e))}});t=n,this.#e.set(e,t)}return t}getModel(e){return this.#r(e).getModel()}getModelSync(e){return this.#e.get(e)?.getModelSync()}createModel(e,t){this.#r(e).createModel(t)}setModel(e,t){this.#r(e).setModel(t)}setSpec(e,t){this.#r(e).setSpec(t)}getWidget(e){return this.#r(e).getWidget()}createView(e){return this.#r(e.modelId).createView(e)}delete(e){let t=this.#e.get(e);t&&(t.dispose(),this.#e.delete(e))}};Ar._modelManager=$;async function ti(e,t){let n=t.model_id;if(!J(n))throw Error(`[anywidget] Invalid model id: ${String(n)}`);let r=t.message,i=(`buffers`in r?r.buffers:[]).map(he);switch(r.method){case`open`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=$r({state:t,bufferPaths:a,buffers:i}),s=e.getModelSync(n);if(s){Y(s).updateAndEmitDiffs(o);return}e.createModel(n,e=>{let t=de()?{sendUpdate:async()=>void 0,sendCustomMessage:async()=>void 0}:{async sendUpdate(t){if(e.aborted){C.debug(`[Model] sendUpdate suppressed for model=${n} (signal aborted)`);return}let{state:r,buffers:i,bufferPaths:a}=Qr(t);await D().sendModelValue({modelId:n,message:{method:`update`,state:r,bufferPaths:a},buffers:i})},async sendCustomMessage(t,r){if(e.aborted){C.debug(`[Model] sendCustomMessage suppressed for model=${n} (signal aborted)`);return}await D().sendModelValue({modelId:n,message:{method:`custom`,content:t},buffers:r.map(me)})}};return new Ar(o,t,e)});return}case`custom`:Y(await e.getModel(n)).emitCustomMessage({method:`custom`,content:r.content},i);return;case`close`:e.delete(n);return;case`update`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=$r({state:t,bufferPaths:a,buffers:i});Y(await e.getModel(n)).updateAndEmitDiffs(o);return}default:ye(r)}}o($,`WIDGET_REGISTRY`);function ni(e){return typeof e!=`object`||!e?!1:`type`in e&&e.type===`marimo-ui-value-update`}var ri=class e{entries;static get INSTANCE(){let t=`_marimo_private_UIElementRegistry`;return window[t]||(window[t]=new e),window[t]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,t){this.entries.has(e)&&C.debug(`UIElementRegistry overwriting entry for objectId.`,e),this.entries.set(e,{objectId:e,value:t,elements:new Set})}registerInstance(e,t){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:a(t,this),elements:new Set([t])}):n.elements.add(t)}removeInstance(e,t){let n=this.entries.get(e);n?.elements.has(t)&&n.elements.delete(t)}removeElementsByCell(e){[...this.entries.keys()].filter(t=>t.startsWith(`${e}-`)).forEach(e=>{this.entries.delete(e)})}lookupValue(e){let t=this.entries.get(e);return t===void 0?void 0:t.value}broadcastMessage(e,t,n){let r=this.entries.get(e);if(r===void 0){C.warn(`UIElementRegistry missing entry`,e);return}if(ni(t)){r.value=t.value,r.elements.forEach(e=>{e.dispatchEvent(ke.create({bubbles:!1,composed:!0,detail:{value:t.value,element:e}}))});return}r.elements.forEach(r=>{r.dispatchEvent(je.create({bubbles:!1,composed:!0,detail:{objectId:e,message:t,buffers:n}}))})}broadcastValueUpdate(e,t,n){let r=this.entries.get(t);r===void 0?C.warn(`UIElementRegistry missing entry`,t):(r.value=n,r.elements.forEach(t=>{t!==e&&t.dispatchEvent(ke.create({bubbles:!1,composed:!0,detail:{value:n,element:t}}))}),document.dispatchEvent(Ae.create({bubbles:!0,composed:!0,detail:{objectId:t}})))}},ii=ri.INSTANCE,ai=new ge(`function-call-result`,async(e,t)=>{await D().sendFunctionRequest({functionCallId:e,...t})}),oi=`68px`,si=`288px`,ci=e=>e?/^\d+$/.test(e)?`${e}px`:e:si,li=le({isOpen:!0},(e,t)=>{if(!t)return e;switch(t.type){case`toggle`:return{...e,isOpen:t.isOpen??e.isOpen};case`setWidth`:return{...e,width:t.width};default:return e}});export{Nn as _,ri as a,ti as c,xr as d,Cr as f,Hn as g,qn as h,ai as i,Br as l,W as m,ci as n,ii as o,yr as p,li as r,$ as s,oi as t,J as u,V as v,k as y};
|
|
107
|
+
`)),await this.putControlRequest({type:`execute-cells`,...e}),null);sendRunScratchpad=async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:`execute-scratchpad`,...e}),null);sendInterrupt=async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null);sendShutdown=async()=>(window.close(),null);sendFormat=async e=>await this.rpc.proxy.request.bridge({functionName:`format`,payload:e});sendDeleteCell=async e=>(await this.putControlRequest({type:`delete-cell`,...e}),null);sendInstallMissingPackages=async e=>(this.putControlRequest({type:`install-packages`,...e}),null);sendCodeCompletionRequest=async t=>(e.get(c)||await this.rpc.proxy.request.bridge({functionName:`code_complete`,payload:t}),null);saveUserConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_user_config`,payload:e}),oe.post(`/kernel/save_user_config`,e,{baseUrl:`/`}).catch(e=>(C.error(e),null)));saveAppConfig=async e=>(await this.rpc.proxy.request.bridge({functionName:`save_app_config`,payload:e}),null);saveCellConfig=async e=>(await this.putControlRequest({type:`update-cell-config`,...e}),null);sendRestart=async()=>{let e=await this.readCode();return e.contents&&(W.saveFile(e.contents),G.saveFile(e.contents)),Ee(),null};readCode=async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(C.warn(`Save RPC not initialized`),{contents:``});readSnippets=async()=>await this.rpc.proxy.request.bridge({functionName:`read_snippets`,payload:void 0});openFile=async()=>{let e=Oe({code:null,baseUrl:window.location.origin});return window.open(e,`_blank`),null};sendListFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`list_files`,payload:e});getFileRoots=async()=>await this.rpc.proxy.request.bridge({functionName:`file_roots`,payload:void 0});sendSearchFiles=async e=>await this.rpc.proxy.request.bridge({functionName:`search_files`,payload:e});sendComponentValues=async e=>(await this.putControlRequest({type:`update-ui-element`,...e,token:xe()}),null);sendInstantiate=async()=>null;sendFunctionRequest=async e=>(await this.putControlRequest({type:`invoke-function`,...e}),null);sendCreateFileOrFolder=async e=>{let t=null;return e.file&&(t=(await we(e.file)).split(`,`)[1]??``),await this.rpc.proxy.request.bridge({functionName:`create_file_or_directory`,payload:{path:e.path,type:e.type,name:e.name,contents:t}})};sendDeleteFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`delete_file_or_directory`,payload:e});sendCopyFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`copy_file_or_directory`,payload:e});sendRenameFileOrFolder=async e=>await this.rpc.proxy.request.bridge({functionName:`move_file_or_directory`,payload:e});sendUpdateFile=async e=>await this.rpc.proxy.request.bridge({functionName:`update_file`,payload:e});sendFileDetails=async e=>await this.rpc.proxy.request.bridge({functionName:`file_details`,payload:e});exportAsHTML=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_html`,payload:qn(e)}));exportAsMarkdown=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_markdown`,payload:e}));exportAsScript=async e=>(await this.pendingSessionSave,await this.rpc.proxy.request.bridge({functionName:`export_script`,payload:e}));previewDatasetColumn=async e=>(await this.putControlRequest({type:`preview-dataset-column`,...e}),null);previewSQLTable=async e=>(await this.putControlRequest({type:`preview-sql-table`,...e}),null);previewSQLTableList=async e=>(await this.putControlRequest({type:`list-sql-tables`,...e}),null);previewSQLSchemaList=async e=>(await this.putControlRequest({type:`list-sql-schemas`,...e}),null);previewDataSourceConnection=async e=>(await this.putControlRequest({type:`list-data-source-connection`,...e}),null);validateSQL=async e=>(await this.putControlRequest({type:`validate-sql`,...e}),null);sendModelValue=async e=>(await this.putControlRequest({type:`model`,...e}),null);sendDocumentTransaction=()=>Promise.resolve(null);addPackage=async e=>this.rpc.proxy.request.addPackage(e);removePackage=async e=>this.rpc.proxy.request.removePackage(e);getPackageList=async()=>await this.rpc.proxy.request.listPackages();getSandbox=async()=>({backend:null,manifest:null,filename:null});updateManifest=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};syncSandbox=async()=>{throw Error(`Sandboxes are not supported in WebAssembly`)};getDependencyTree=async()=>({tree:{dependencies:[],name:``,tags:[],version:null},context:{kind:`package-manager`,name:`micropip`}});listSecretKeys=async e=>(await this.putControlRequest({type:`list-secret-keys`,...e}),null);discoverDataSources=async e=>(await this.putControlRequest({type:`discover-data-sources`,...e}),null);getUsageStats=w;getEnvironmentInfo=async()=>await this.rpc.proxy.request.bridge({functionName:`get_environment_info`,payload:void 0});openTutorial=w;getRecentFiles=w;getWorkspaceFiles=w;getRunningNotebooks=w;shutdownSession=w;getExportAvailability=w;installExportRequirements=w;exportAsIPYNB=w;exportAsPDF=w;autoExportAsHTML=w;autoExportAsMarkdown=w;autoExportAsIPYNB=w;updateCellOutputs=w;writeSecret=w;invokeAiTool=w;clearCache=w;getCacheInfo=w;listStorageEntries=w;downloadStorage=w;async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:`put_control_request`,payload:e})}};function br(){return`marimo${typeof window<`u`&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0?rr:``}`}function xr(e=T()){let t=window.fetch;return window.fetch=async(n,r)=>{let i=n instanceof Request?n.url:n.toString();if(i.startsWith(`data:`))return t(n,r);try{let a=K(i,e);if(a){let e=await(await t(a)).arrayBuffer();return new Response(e,{headers:{"Content-Type":Sr(i)}})}return t(n,r)}catch(e){return C.error(`Error parsing URL`,e),t(n,r)}},()=>{window.fetch=t}}function Sr(e){return e.endsWith(`.csv`)?`text/csv`:e.endsWith(`.json`)?`application/json`:e.endsWith(`.txt`)?`text/plain`:`application/octet-stream`}function Cr(e,t=T()){let n=e.http.bind(e),r=e.load.bind(e);return e.http=async e=>{let r=K(e,t);if(r)return await window.fetch(r).then(e=>e.text());try{return await n(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},e.load=async e=>{let n=K(e,t);if(n)return await window.fetch(n).then(e=>e.text());try{return await r(e)}catch(t){if(e.startsWith(`data:`))return await window.fetch(e).then(e=>e.text());throw t}},()=>{e.http=n,e.load=r}}function wr(e){return e.startsWith(`.`)?e.slice(1):e}function Tr(e,t=T()){let n=K(e,t);if(!n)return e;let r=Te(n);return URL.createObjectURL(r)}function K(e,t){let n=document.baseURI;n.startsWith(`blob:`)&&(n=n.replace(`blob:`,``));let r=new URL(e,n).pathname,i=Er(e),a=Er(r);return t[e]||t[wr(e)]||t[r]||t[wr(r)]||i&&t[i]||a&&t[a]}function Er(e){let t=e.indexOf(`/@file/`);return t===-1?null:e.slice(t)}function q(e,t){return{get(t){return e.get(t)},set(t,n){e.set(t,n)},save_changes(){e.save_changes()},send:e.send.bind(e),on(n,r){t.aborted||(e.on(n,r),t.addEventListener(`abort`,()=>e.off(n,r),{once:!0}))},off(t,n){e.off(t??null,n??null)},widget_manager:{async get_model(n){return q(await e.widget_manager.get_model(n),t)}}}}function J(e){return typeof e==`string`&&e.length>0}function Dr(e){if(typeof e==`string`&&e.startsWith(`anywidget:`)){let t=e.slice(10);if(J(t))return t}throw Error(`[anywidget] Invalid widget reference: ${JSON.stringify(e)}`)}function Or(e,t){return{async getModel(n){let r=Dr(n);return q(await e.getModel(r),t)},async getWidget(n){let r=Dr(n),i=await e.getWidget(r);return{exports:i.exports,async render({el:e,signal:n}){await i.render({el:e,signal:n??t})}}}}}var kr=Symbol(`marimo`);function Y(e){return e[kr]}var Ar=class e{#e=`change`;#t;#n;#r;#i={};static _modelManager;constructor(e,t,n){this.#n=e,this.#r=t,this.#t=new Set,n&&n.addEventListener(`abort`,()=>{C.debug(`[Model] Signal aborted, clearing all listeners`),this.#i={}})}[kr]={updateAndEmitDiffs:e=>this.#o(e),emitCustomMessage:(e,t)=>this.#s(e,t)};off(e,t){if(!e){this.#i={};return}if(!t){this.#i[e]=new Set;return}this.#i[e]?.delete(t)}send(e,t,n){let r=(n??[]).map(e=>e instanceof ArrayBuffer?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength));return this.#r.sendCustomMessage(e,r).then(()=>t?.())}widget_manager={async get_model(t){let n=await e._modelManager.getModel(t);if(!n)throw Error(`Model not found with id: ${t}. This is likely because the model was not registered.`);return n}};get(e){return this.#n[e]}set(e,t){this.#n={...this.#n,[e]:t},this.#t.add(e),this.#a(`change:${e}`,t),this.#c()}save_changes(){if(this.#t.size===0)return;let e=Object.fromEntries([...this.#t].map(e=>[e,this.#n[e]]));this.#t.clear(),this.#r.sendUpdate(e)}on(e,t,n){let r=n?.signal;r?.aborted||(this.#i[e]||(this.#i[e]=new Set),this.#i[e].add(t),r?.addEventListener(`abort`,()=>this.off(e,t),{once:!0}))}#a(e,t){let n=this.#i[e];if(n)for(let e of[...n])try{e(t)}catch(e){C.error(`Error emitting event`,e)}}#o(e){e!=null&&Object.keys(e).forEach(t=>{let n=t;this.#t.delete(n),this.#n[n]!==e[n]&&(this.#n={...this.#n,[n]:e[n]},this.#a(`change:${n}`,e[n]),this.#c())})}#s(e,t=[]){let n=this.#i[`msg:custom`];if(n)for(let r of[...n])try{r(e.content,t)}catch(e){C.error(`Error emitting event`,e)}}#c=ne(()=>{let e=this.#i[this.#e];if(e)for(let t of[...e])try{t()}catch(e){C.error(`Error emitting event`,e)}},0)};function jr(e){return typeof e==`function`}function Mr(e){return typeof e==`function`}function Nr(e){return t(e)&&(jr(e.render)||Mr(e.initialize))}function Pr(e){return typeof e==`function`||Nr(e)}function Fr(e){return t(e)&&Pr(e.default)}var Ir=new Set,Lr=new WeakMap;function Rr(e,n){if(Fr(e))return e.default;if(!t(e)||e.default!==void 0)return null;let r=jr(e.render)?e.render:void 0,i=Mr(e.initialize)?e.initialize:void 0;if(r===void 0&&i===void 0)return null;let a=Lr.get(e);if(a)return a;Ir.has(n)||(Ir.add(n),C.warn(`Anywidget module at ${n} uses deprecated top-level named exports (\`render\`/\`initialize\`). Per the AFM spec, use a default export instead: \`export default { render }\`. See https://anywidget.dev/en/afm/`));let o={render:r,initialize:i};return Lr.set(e,o),o}function zr(e,n){let r=`https://anywidget.dev/en/afm/`,a=t(e)&&i(e,`render`),o=t(e)&&i(e,`initialize`);if(t(e)&&e.default!==void 0)return Error(`Anywidget module at ${n} has an invalid default export. Expected a factory function or an object with \`render\` or \`initialize\`. See ${r}`);if(a||o){let e=[a?"`render`":null,o?"`initialize`":null].filter(Boolean).join(` and `),t=[a?`render`:null,o?`initialize`:null].filter(e=>e!==null),i=`export default { ${t.join(`, `)} }`,s=t.length===1?`export function ${t[0]}`:`named export function ...`;return Error(`Anywidget module at ${n} uses named exports (${e}). Per the AFM spec, use a default export instead: \`${i}\` (not \`${s}\`). See ${r}`)}return Error(`Anywidget module at ${n} is missing a default export. Per the AFM spec, use \`export default { render }\` or \`export default async () => ({ render })\`. See ${r}`)}function Br(e){return typeof e!=`string`||e.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(e)||Hr(e))}function Vr(){return e.get(Ce)||Se()}function Hr(e){return e.startsWith(`data:text/javascript;base64,`)||e.startsWith(`data:application/javascript;base64,`)||e.startsWith(`data:text/css;base64,`)?Vr():!1}var Ur={invoke:async()=>{let e=`anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues`;throw C.warn(e),Error(e)}};function Wr(e){if(typeof AbortSignal.any==`function`)return AbortSignal.any(e);let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(n.reason),t.signal;n.addEventListener(`abort`,()=>t.abort(n.reason),{once:!0})}return t.signal}var Gr=class{#e=new Map;getModule(e){let{jsUrl:t,jsHash:n,kernelAuthored:r=!1,lifetime:i}=e,a=this.#e.get(n);if(!a){let e={references:0,dispose:()=>void 0,promise:this.#t(t,{kernelAuthored:r}).then(({module:t,dispose:n})=>(e.dispose=n,t),t=>{throw this.#e.get(n)===e&&this.#e.delete(n),t})};this.#e.set(n,e),a=e}let o=a;o.references+=1;let s=()=>{--o.references,o.references===0&&o.promise.then(()=>{o.dispose(),o.dispose=()=>void 0},()=>void 0)};return i?.aborted?s():i?.addEventListener(`abort`,s,{once:!0}),o.promise}invalidate(e){this.#e.delete(e)}async#t(e,t={}){if(!(Br(e)||t.kernelAuthored===!0&&/^(https?:|data:)/.test(e)))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(e)}`);let n=fe(e).toString(),r=de()?Tr(n):n,i=()=>{r!==n&&URL.revokeObjectURL(r)};try{return{module:await ve(()=>import(r),[],import.meta.url),dispose:i}}catch(e){throw i(),e}}};function X(e){return typeof e==`function`}async function Kr(e,t){try{await e()}catch(e){C.warn(`[WidgetBinding] ${t} cleanup failed`,e)}}var qr=class e{#e;#t;#n;#r;#i;#a=new Set;#o=new Set;#s;constructor(e){this.#t=e.widget,this.#n=e.model,this.#r=e.exports,this.#e=e.controller,this.#i=e.createHost,this.#s=e.onDestroy}static async create({widgetDef:t,model:n,createHost:r,controller:i=new AbortController,onDestroy:a}){let o=i.signal,s;try{let c=typeof t==`function`?await t():t;if(o.aborted)throw Error(`[anywidget] binding destroyed`);let l=Promise.resolve(c.initialize?.({model:q(n,o),experimental:Ur,signal:o}));s=l.then(async e=>{o.aborted&&X(e)&&await Kr(e,`late initialize`)}).catch(()=>void 0);let u=await Promise.race([l,new Promise((e,t)=>{let n=()=>t(Error(`[anywidget] binding destroyed`));if(o.aborted){n();return}o.addEventListener(`abort`,n,{once:!0})})]);if(o.aborted)throw Error(`[anywidget] binding destroyed`);let d,f;X(u)?(f=u,d=void 0):d=typeof u==`object`&&u?u:void 0;let p=new e({widget:c,model:n,exports:d,controller:i,createHost:r,onDestroy:a});return f&&o.addEventListener(`abort`,()=>void p.#l(f,`initialize`),{once:!0}),p}catch(e){throw s?s.then(()=>a?.()):a?.(),e}}get exports(){return this.#r}async createView(e,t){let n=this.#c(e,t);this.#o.add(n);try{await n}finally{this.#o.delete(n)}}async#c(e,t){let n=this.#t;if(!n.render)return;let r=Wr([t.signal,this.#e.signal]);if(r.aborted)return;e.el.innerHTML=``;let i=this.#i(r),a=await n.render({model:q(this.#n,r),el:e.el,experimental:Ur,signal:r,host:i});if(X(a)){let e=()=>{let e=t.signal.aborted?`view unmount`:`binding destroyed`;return C.debug(`[WidgetBinding] Render cleanup triggered (reason: ${e})`),this.#l(a,`render`)};if(r.aborted){await e();return}r.addEventListener(`abort`,()=>void e(),{once:!0})}}#l(e,t){let n=Kr(e,t);return this.#a.add(n),n.finally(()=>this.#a.delete(n)),n}async destroy(){for(C.debug(`[WidgetBinding] Destroying binding generation`),this.#e.abort(),await Promise.allSettled(this.#o);this.#a.size>0;)await Promise.all(this.#a);this.#s?.(),this.#s=void 0}},Jr=new Gr,Yr=class{#e;#t;#n;#r;#i;#a=new AbortController;#o=new be;#s=new Set;#c=new Map;#l;#u;#d;#f=Promise.resolve();#p=``;constructor(e,t){this.#e=e,this.#t=t.timeout,this.#n=t.isEditMode,this.#r=t.createHost,this.#i=t.onModelTimeout}getModel(){return this.#o.status===`pending`&&!this.#l&&(this.#l=setTimeout(()=>{this.#o.status===`pending`&&(this.#l=void 0,this.#o.reject(Error(`Model not found for key: ${this.#e}`)),this.#i())},this.#t)),this.#o.promise}getModelSync(){return this.#o.status===`resolved`?this.#o.value:void 0}createModel(e){this.#o.status===`pending`&&this.#m(e(this.#a.signal))}setModel(e){this.#o.status===`pending`&&this.#m(e)}#m(e){this.#l&&=(clearTimeout(this.#l),void 0),this.#o.resolve(e);let t=e.get(`_css`);this.#p=typeof t==`string`?t:``,e.on(`change:_css`,e=>{this.#p=typeof e==`string`?e:``;for(let e of this.#c.values())e.update(this.#p)},{signal:this.#a.signal})}setSpec(e){if(!this.#u){this.#u=e;return}this.#n()&&(this.#u=e,this.#d&&this.#d.hash!==e.hash&&this.#v(e))}async getWidget(){return{exports:(await this.#h()).exports,render:async({el:e,signal:t})=>{await this.createView({el:e,signal:t??this.#a.signal})}}}async createView(e){if(e.signal.aborted||this.#a.signal.aborted)return;let t={el:e.el,signal:e.signal};this.#s.add(t),this.#x(t),e.signal.addEventListener(`abort`,()=>this.#s.delete(t),{once:!0}),await this.#b(t)}async#h(){for(;!this.#a.signal.aborted;){let e=await this.getModel(),t=this.#d;if(!t){let n=this.#u;if(!n)throw Error(`[anywidget] No ESM spec for model ${this.#e}: nothing ever provided this widget's code`);t=this.#_(n,e)}try{let e=await t.promise;if(t===this.#d)return e}catch(e){if(!this.#d||t===this.#d)throw e}}throw Error(`[anywidget] widget runtime destroyed`)}async#g(e){let{spec:t,model:n,controller:r}=e,i=new AbortController,a;try{let e=await Jr.getModule({jsUrl:t.url,jsHash:t.hash,kernelAuthored:!0,lifetime:i.signal}),n=Rr(e,t.url);if(!n)throw Jr.invalidate(t.hash),zr(e,t.url);a=n}catch(e){throw i.abort(),e}return qr.create({widgetDef:a,model:n,createHost:this.#r,controller:r,onDestroy:()=>i.abort()})}#_(e,t){let n=new AbortController,r={hash:e.hash,controller:n,promise:this.#g({spec:e,model:t,controller:n})};return r.promise.catch(()=>{this.#d===r&&(this.#d=void 0)}),this.#d=r,r}#v(e){let t=this.#d;if(!t)return;C.debug(`[WidgetRuntime] Hot-swapping generation for model=${this.#e}`);let n=this.#y(t),r=this.getModelSync();if(!r)return;let i=this.#_(e,r);for(let e of this.#s)e.generation=void 0,n.then(()=>this.#b(e,i)).catch(e=>{C.error(`[WidgetRuntime] Error replacing widget view`,e)})}#y(e){e.controller.abort();let t=this.#f.then(async()=>{try{await(await e.promise).destroy()}catch{}});return this.#f=t,t}async#b(e,t){if(e.signal.aborted||this.#a.signal.aborted)return;let n=t??this.#d,r=n?await n.promise:await this.#h(),i=this.#d;if(!(!i||i!==(n??i))&&e.generation!==i){e.generation=i;try{await r.createView({el:e.el},{signal:e.signal})}catch(t){if(i!==this.#d){e.generation=void 0;return}throw t}}}#x(e){let t=e.el.getRootNode();if(!Z(t)&&!Xr(t))return;let n=this.#c.get(t);n||(n=Zr(t,this.#p),this.#c.set(t,n)),n.references+=1;let r=!1;e.signal.addEventListener(`abort`,()=>{if(r)return;r=!0;let e=this.#c.get(t);e&&(--e.references,e.references===0&&(e.dispose(),this.#c.delete(t)))},{once:!0})}dispose(){if(!this.#a.signal.aborted){C.debug(`[WidgetRuntime] Disposing model=${this.#e}`),this.#l&&=(clearTimeout(this.#l),void 0),this.#o.status===`pending`&&(this.#o.promise.catch(()=>void 0),this.#o.reject(Error(`[anywidget] widget runtime destroyed`))),this.#d&&this.#y(this.#d),this.#a.abort(),this.#s.clear();for(let e of this.#c.values())e.dispose();this.#c.clear()}}};function Z(e){return e.nodeType===Node.DOCUMENT_NODE}function Xr(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}function Zr(e,t){let n=Z(e)?e:e.ownerDocument??document,r=n.defaultView??window;if(`adoptedStyleSheets`in e&&r.CSSStyleSheet!==void 0&&typeof r.CSSStyleSheet.prototype.replaceSync==`function`)try{let n=new r.CSSStyleSheet;return n.replaceSync(t),e.adoptedStyleSheets=[...e.adoptedStyleSheets,n],{references:0,update(e){n.replaceSync(e)},dispose(){e.adoptedStyleSheets=e.adoptedStyleSheets.filter(e=>e!==n)}}}catch{}let i=n.createElement(`style`);return i.textContent=t,Z(e)?n.head.append(i):e.append(i),{references:0,update(e){i.textContent=e},dispose(){i.remove()}}}function Q(e,t=[]){let n=[];if(e instanceof DataView)n.push(t);else if(Array.isArray(e))for(let[r,i]of e.entries())n.push(...Q(i,[...t,r]));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))n.push(...Q(i,[...t,r]));return n}function Qr(e){let t=Q(e);if(t.length===0)return{state:e,buffers:[],bufferPaths:[]};let n=structuredClone(e),r=[],i=[];for(let a of t){let t=te(e,a);if(t instanceof DataView){let e=me(t);r.push(e),i.push(a),k(n,a,e)}}return{state:n,buffers:r,bufferPaths:i}}function $r(e){let{state:t,bufferPaths:n,buffers:r}=e;if(!n||n.length===0)return t;r&&ae(r.length===n.length,`Buffers and buffer paths not the same length`);let i=t;for(let[e,t]of n.entries()){let n=r?.[e];if(n==null){C.warn(`[anywidget] Could not find buffer at path`,t);continue}typeof n==`string`?k(i,t,he(n)):k(i,t,n)}return i}function ei(){let t=e.get(ce).mode;return t===`edit`||t===`present`}var $=new class{#e=new Map;#t;#n;constructor(e=1e4,t=ei){this.#t=e,this.#n=t}#r(e){let t=this.#e.get(e);if(!t){let n=new Yr(e,{timeout:this.#t,isEditMode:this.#n,createHost:e=>Or(this,e),onModelTimeout:()=>{this.#e.get(e)===n&&(n.dispose(),this.#e.delete(e))}});t=n,this.#e.set(e,t)}return t}getModel(e){return this.#r(e).getModel()}getModelSync(e){return this.#e.get(e)?.getModelSync()}createModel(e,t){this.#r(e).createModel(t)}setModel(e,t){this.#r(e).setModel(t)}setSpec(e,t){this.#r(e).setSpec(t)}getWidget(e){return this.#r(e).getWidget()}createView(e){return this.#r(e.modelId).createView(e)}delete(e){let t=this.#e.get(e);t&&(t.dispose(),this.#e.delete(e))}};Ar._modelManager=$;async function ti(e,t){let n=t.model_id;if(!J(n))throw Error(`[anywidget] Invalid model id: ${String(n)}`);let r=t.message,i=(`buffers`in r?r.buffers:[]).map(he);switch(r.method){case`open`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=$r({state:t,bufferPaths:a,buffers:i}),s=e.getModelSync(n);if(s){Y(s).updateAndEmitDiffs(o);return}e.createModel(n,e=>{let t=de()?{sendUpdate:async()=>void 0,sendCustomMessage:async()=>void 0}:{async sendUpdate(t){if(e.aborted){C.debug(`[Model] sendUpdate suppressed for model=${n} (signal aborted)`);return}let{state:r,buffers:i,bufferPaths:a}=Qr(t);await D().sendModelValue({modelId:n,message:{method:`update`,state:r,bufferPaths:a},buffers:i})},async sendCustomMessage(t,r){if(e.aborted){C.debug(`[Model] sendCustomMessage suppressed for model=${n} (signal aborted)`);return}await D().sendModelValue({modelId:n,message:{method:`custom`,content:t},buffers:r.map(me)})}};return new Ar(o,t,e)});return}case`custom`:Y(await e.getModel(n)).emitCustomMessage({method:`custom`,content:r.content},i);return;case`close`:e.delete(n);return;case`update`:{let{state:t,buffer_paths:a=[]}=r;r.esm_spec&&e.setSpec(n,r.esm_spec);let o=$r({state:t,bufferPaths:a,buffers:i});Y(await e.getModel(n)).updateAndEmitDiffs(o);return}default:ye(r)}}o($,`WIDGET_REGISTRY`);function ni(e){return typeof e!=`object`||!e?!1:`type`in e&&e.type===`marimo-ui-value-update`}var ri=class e{entries;static get INSTANCE(){let t=`_marimo_private_UIElementRegistry`;return window[t]||(window[t]=new e),window[t]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,t){this.entries.has(e)&&C.debug(`UIElementRegistry overwriting entry for objectId.`,e),this.entries.set(e,{objectId:e,value:t,elements:new Set})}registerInstance(e,t){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:a(t,this),elements:new Set([t])}):n.elements.add(t)}removeInstance(e,t){let n=this.entries.get(e);n?.elements.has(t)&&n.elements.delete(t)}removeElementsByCell(e){[...this.entries.keys()].filter(t=>t.startsWith(`${e}-`)).forEach(e=>{this.entries.delete(e)})}lookupValue(e){let t=this.entries.get(e);return t===void 0?void 0:t.value}broadcastMessage(e,t,n){let r=this.entries.get(e);if(r===void 0){C.warn(`UIElementRegistry missing entry`,e);return}if(ni(t)){r.value=t.value,r.elements.forEach(e=>{e.dispatchEvent(ke.create({bubbles:!1,composed:!0,detail:{value:t.value,element:e}}))});return}r.elements.forEach(r=>{r.dispatchEvent(je.create({bubbles:!1,composed:!0,detail:{objectId:e,message:t,buffers:n}}))})}broadcastValueUpdate(e,t,n){let r=this.entries.get(t);r===void 0?C.warn(`UIElementRegistry missing entry`,t):(r.value=n,r.elements.forEach(t=>{t!==e&&t.dispatchEvent(ke.create({bubbles:!1,composed:!0,detail:{value:n,element:t}}))}),document.dispatchEvent(Ae.create({bubbles:!0,composed:!0,detail:{objectId:t}})))}},ii=ri.INSTANCE,ai=new ge(`function-call-result`,async(e,t)=>{await D().sendFunctionRequest({functionCallId:e,...t})}),oi=`68px`,si=`288px`,ci=e=>e?/^\d+$/.test(e)?`${e}px`:e:si,li=le({isOpen:!0},(e,t)=>{if(!t)return e;switch(t.type){case`toggle`:return{...e,isOpen:t.isOpen??e.isOpen};case`setWidth`:return{...e,width:t.width};default:return e}});export{Hn as _,ri as a,k as b,ti as c,xr as d,Cr as f,Wn as g,qn as h,ai as i,Br as l,W as m,ci as n,ii as o,yr as p,li as r,$ as s,oi as t,J as u,Nn as v,V as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e}from"./useEvent-BDjgaBtz.js";import{g as t}from"./useEventListener-
|
|
1
|
+
import{f as e}from"./useEvent-BDjgaBtz.js";import{g as t}from"./useEventListener-DPOTkksd.js";function n(){try{return window.__MARIMO_MOUNT_CONFIG__.version}catch{return t.warn(`Failed to get version from mount config`),null}}var r=n()||`latest`,i=e(r),a=e(!0),o=e(null);export{o as n,a as r,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./useEvent-BDjgaBtz.js";import{t}from"./createReducer-
|
|
1
|
+
import{l as e}from"./useEvent-BDjgaBtz.js";import{t}from"./createReducer-B04CIO-e.js";import{t as n}from"./uuid-k9DpjH68.js";function r(){return{pendingCommands:[],isReady:!1}}var{reducer:i,createActions:a,valueAtom:o,useActions:s}=t(r,{addCommand:(e,t)=>{let r={id:n(),text:t,timestamp:Date.now()};return{...e,pendingCommands:[...e.pendingCommands,r]}},removeCommand:(e,t)=>({...e,pendingCommands:e.pendingCommands.filter(e=>e.id!==t)}),setReady:(e,t)=>({...e,isReady:t}),clearCommands:e=>({...e,pendingCommands:[]})}),c=()=>e(o);function l(){return s()}export{c as n,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,f as t,r as n}from"./useEvent-BDjgaBtz.js";import{t as r}from"./state-
|
|
1
|
+
import{a as e,f as t,r as n}from"./useEvent-BDjgaBtz.js";import{t as r}from"./state-BYETGwDZ.js";var i=()=>n.get(r),a=()=>{let e=document.querySelector(`marimo-code`);if(!e)return;let t=e.innerHTML;return decodeURIComponent(t).trim()},o=t({kind:`loading`,message:`Initializing...`}),s=t({isInstantiated:!1,error:null}),c=t(!1);function l(){return e(s,e=>e.isInstantiated)}var u=t(!1),d=t(new Set),f=t(e=>e(d)?.size===0),p=t(!1);t(e=>e(p)&&e(u)===!1);export{l as a,i as c,s as i,u as n,o,c as r,a as s,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e,l as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{t as r}from"./createReducer-
|
|
1
|
+
import{f as e,l as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{t as r}from"./createReducer-B04CIO-e.js";import{t as i}from"./uuid-k9DpjH68.js";var a=n();function o(){return{restart_required:!1,operations:[]}}function s(e,t){let n=e.operations.find(e=>e.operation_id===t.operation_id),r={...n?.logs};for(let[e,n]of Object.entries(t.logs))r[e]=t.log_mode===`replace`?n:(r[e]??``)+n;let i={operation_id:t.operation_id,action:t.action,status:t.status,packages:t.packages,logs:r,source:t.source},a=e.operations.filter(e=>n&&t.status.kind===`running`||e.status.kind===`running`||e.action===`prepare`&&t.action!==`prepare`),o=a.findIndex(e=>e.operation_id===t.operation_id);return o===-1?a.push(i):a[o]=i,{restart_required:e.restart_required||t.status.kind===`restart-required`||Object.values(t.packages).includes(`restart-required`),operations:a}}function c(e){return e.action===`install`||e.action===`remove`}function l(e){return e.kind===`missing`}function u(e){return e.kind===`environment`}function d(e,t,n){let r={...e.environments,[t]:n},i=Object.values(r).flatMap(e=>e.operations).filter(c),a=n.operations.filter(c),o=e.packageAlert,s=o?.kind===`environment`?i.find(e=>e.operation_id===o.id&&e.source===o.source):void 0,l=e=>e.status.kind!==`succeeded`||r[e.source].restart_required,u=(s?.status.kind===`running`?s:void 0)??a.findLast(e=>e.status.kind===`running`)??i.findLast(e=>e.status.kind===`running`)??s??a.findLast(l)??i.findLast(l);return{...e,environments:r,packageAlert:u?{kind:`environment`,id:u.operation_id,source:u.source}:e.packageAlert?.kind===`missing`?e.packageAlert:null}}var{valueAtom:f,useActions:p}=r(()=>({packageAlert:null,startupLogsAlert:null,environments:{kernel:o(),server:o()}}),{addMissingPackageAlert:(e,t)=>({...e,packageAlert:{id:i(),...t}}),updateEnvironment:(e,t)=>{let n=t.source,r=s(e.environments[n],t);return c(t)?d({...e,packageAlert:{kind:`environment`,id:t.operation_id,source:n}},n,r):{...e,environments:{...e.environments,[n]:r}}},setEnvironment:(e,t)=>d(e,t.source,t.state),clearPackageAlert:(e,t)=>e.packageAlert?.id===t?{...e,packageAlert:null}:e,addStartupLog:(e,t)=>({...e,startupLogsAlert:{content:(e.startupLogsAlert?.content??``)+t.content,status:t.status}}),clearStartupLogsAlert:e=>({...e,startupLogsAlert:null})});function m(e){let t=e.packageAlert;if(t?.kind!==`environment`)return t;let n=e.environments[t.source],r=n.operations.find(e=>e.operation_id===t.id);return r&&c(r)?{...r,...t,restartRequired:n.restart_required}:null}function h(){let e=(0,a.c)(5),n=t(f),r;e[0]===n?r=e[1]:(r=m(n),e[0]=n,e[1]=r);let i;return e[2]!==n.startupLogsAlert||e[3]!==r?(i={packageAlert:r,startupLogsAlert:n.startupLogsAlert},e[2]=n.startupLogsAlert,e[3]=r,e[4]=i):i=e[4],i}var g=e(null),{valueAtom:_,useActions:v}=r(()=>({banners:[]}),{addBanner:(e,t)=>({...e,banners:[...e.banners,{...t,id:i()}]}),removeBanner:(e,t)=>({...e,banners:e.banners.filter(e=>e.id!==t)}),clearBanners:e=>({...e,banners:[]})}),y=()=>t(_);function b(){return v()}export{u as a,h as c,f as i,y as n,l as o,b as r,p as s,g as t};
|