@marimo-team/frontend 0.23.10-dev50 → 0.23.10-dev52
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-BKK6G_iZ.js → CellStatus-BOTR_HB4.js} +1 -1
- package/dist/assets/{JsonOutput-CZQlutzs.js → JsonOutput-DOmfCaR3.js} +6 -6
- package/dist/assets/{MarimoErrorOutput-DIx3jD4Z.js → MarimoErrorOutput-Ca2QF99G.js} +2 -2
- package/dist/assets/{RenderHTML-B5i6Qdbh.js → RenderHTML-CXsJP1V5.js} +1 -1
- package/dist/assets/{RunButton-DLMH3KLF.js → RunButton-jGowD7Vi.js} +1 -1
- package/dist/assets/{add-cell-with-ai-BXpVenBx.js → add-cell-with-ai-BK11442L.js} +9 -9
- package/dist/assets/{add-connection-dialog-C_jDtIZF.js → add-connection-dialog-wzfYao2B.js} +1 -1
- package/dist/assets/{agent-panel-Ck0iPpUN.js → agent-panel-CgxV6vbd.js} +4 -4
- package/dist/assets/{ai-model-dropdown-CXNYq3J_.js → ai-model-dropdown-CqqTe6eF.js} +3 -3
- package/dist/assets/{app-config-button-BI_m1lzO.js → app-config-button-vSxYsM--.js} +1 -1
- package/dist/assets/cell-editor-BHNVF2sX.js +21 -0
- package/dist/assets/{cell-editor-Iey559K_.css → cell-editor-nqEF4IhQ.css} +1 -1
- package/dist/assets/{cell-link-spbX-mlL.js → cell-link-iYZiKtn4.js} +1 -1
- package/dist/assets/{cells-k7Js5h2t.js → cells-CoFnpuSu.js} +56 -56
- package/dist/assets/{chat-display-BlIrSb3b.js → chat-display-BgSnZSro.js} +1 -1
- package/dist/assets/{chat-panel-DtYOU7td.js → chat-panel-AZ1shEWX.js} +1 -1
- package/dist/assets/{chat-ui-CivhPCag.js → chat-ui-By5846Od.js} +1 -1
- package/dist/assets/{column-preview-DM1s1Z9h.js → column-preview-TS1GqZH2.js} +1 -1
- package/dist/assets/{command-palette-BtdM4b5O.js → command-palette-By31pA-R.js} +1 -1
- package/dist/assets/{common-Zqa_rd3u.js → common-Q-jtFQpL.js} +1 -1
- package/dist/assets/components--CWsNwF4.js +1 -0
- package/dist/assets/{datasource-mov7mYsn.js → datasource-CQiCeDJW.js} +2 -2
- package/dist/assets/{dependency-graph-panel-1c-_VkGM.js → dependency-graph-panel-Ct3KN-vZ.js} +4 -4
- package/dist/assets/documentation-panel-D8h8iNHa.js +1 -0
- package/dist/assets/{download-BS31LU22.js → download-B10yQcVE.js} +4 -4
- package/dist/assets/{edit-page-BQl0d1fo.js → edit-page-p8VsTwE3.js} +6 -6
- package/dist/assets/{error-panel-DmfYCEYR.js → error-panel-DYEkqXfY.js} +1 -1
- package/dist/assets/{file-explorer-panel-DGL7dM6k.js → file-explorer-panel-GJ_Lqi4C.js} +3 -3
- package/dist/assets/{file-icons-on-PIYta.js → file-icons-CtmUbkxd.js} +1 -1
- package/dist/assets/{file-name-input-D-E8LtaP.js → file-name-input-CHQhxLcF.js} +1 -1
- package/dist/assets/{floating-outline-CCH9y0X9.js → floating-outline-CzBp8YHO.js} +1 -1
- package/dist/assets/{focus-CRI5ilWC.js → focus-CjgVplbV.js} +1 -1
- package/dist/assets/{form-HcuPVpyt.js → form-WbviP6l9.js} +2 -2
- package/dist/assets/{home-page-CVKp7bjJ.js → home-page-sFt3WKqc.js} +2 -2
- package/dist/assets/{hooks-C1zkcVIj.js → hooks-0dN8JCy2.js} +1 -1
- package/dist/assets/{html-to-image-rLeQGF-G.js → html-to-image-DkJzNEld.js} +2 -2
- package/dist/assets/{index-44I991hQ.js → index-CdnLLLYn.js} +6 -6
- package/dist/assets/kiosk-mode-lr7kYrA8.js +1 -0
- package/dist/assets/{layout-C9L0bRP-.js → layout-BVZ3DZze.js} +5 -5
- package/dist/assets/{logs-panel-KFtLFK9O.js → logs-panel-Bk20lglR.js} +1 -1
- package/dist/assets/{markdown-renderer-BHa-Tbwi.js → markdown-renderer-DC51vSBA.js} +2 -2
- package/dist/assets/{name-cell-input-DyUkpM9d.js → name-cell-input-D0WKoNHr.js} +1 -1
- package/dist/assets/{outline-panel-DdPSzT5z.js → outline-panel-BuJMW1Dz.js} +1 -1
- package/dist/assets/{packages-panel-Bt88BnuF.js → packages-panel-BNk0bPl9.js} +1 -1
- package/dist/assets/{panels-DDvVhmjS.js → panels-CBe83v0S.js} +1 -1
- package/dist/assets/process-output-BiJLba4m.js +1 -0
- package/dist/assets/{radio-group-DS_mmqHJ.js → radio-group-RRco4zNE.js} +1 -1
- package/dist/assets/{readonly-python-code-3HZIBvHp.js → readonly-python-code-Crki_rLb.js} +1 -1
- package/dist/assets/{reveal-component-Hsm6-onk.js → reveal-component-Bv08TPRa.js} +9 -9
- package/dist/assets/{run-page-DeHIvt79.js → run-page-BdSzJWEw.js} +1 -1
- package/dist/assets/{scratchpad-panel-CKmA2mRq.js → scratchpad-panel-scHa4am5.js} +1 -1
- package/dist/assets/{session-panel-B0jBqtOA.js → session-panel-D0o5h-7L.js} +1 -1
- package/dist/assets/{snippets-panel-BGtSLFha.js → snippets-panel-Bnmi-xyF.js} +1 -1
- package/dist/assets/{state-C9ggN1rs.js → state-CHxBK47b.js} +1 -1
- package/dist/assets/{state-Dy-doCBq.js → state-CsD5BRG0.js} +2 -2
- package/dist/assets/{textarea-BfDUjd9c.js → textarea-DoKXC-jv.js} +1 -1
- package/dist/assets/{tracing-DNuuRjp_.js → tracing-BeWtlIAf.js} +1 -1
- package/dist/assets/{tracing-panel-CnlPrcNd.js → tracing-panel-ecc7OtVi.js} +2 -2
- package/dist/assets/{tree-actions-XvgFV23w.js → tree-actions-wXUHKee-.js} +1 -1
- package/dist/assets/{useCellActionButton-DNDYDKvS.js → useCellActionButton-Bn5MJUE0.js} +1 -1
- package/dist/assets/{useDeleteCell-cucOoAuB.js → useDeleteCell-DQCclxQO.js} +1 -1
- package/dist/assets/useDependencyPanelTab-CgHa5PER.js +1 -0
- package/dist/assets/{useNotebookActions-ClLcZA5r.js → useNotebookActions-CxBMp6mq.js} +1 -1
- package/dist/assets/useRunCells-Ck2FcYV8.js +1 -0
- package/dist/assets/useSplitCell-4cXAawGz.js +1 -0
- package/dist/index.html +22 -22
- package/package.json +1 -1
- package/src/__tests__/setup.ts +16 -0
- package/src/components/editor/cell/code/cell-editor.tsx +67 -32
- package/src/components/editor/cell/code/code-placeholder.css +17 -0
- package/src/components/editor/cell/code/code-placeholder.tsx +46 -0
- package/src/core/cells/scrollCellIntoView.ts +4 -0
- package/src/core/codemirror/__tests__/editor-mount-scheduler.test.ts +142 -0
- package/src/core/codemirror/editor-mount-scheduler.ts +100 -0
- package/src/utils/schedule-task.ts +70 -0
- package/dist/assets/cell-editor-DYta_icE.js +0 -20
- package/dist/assets/components-CXG-2UWv.js +0 -1
- package/dist/assets/documentation-panel-CQ8pDf0n.js +0 -1
- package/dist/assets/kiosk-mode-DhNcHA04.js +0 -1
- package/dist/assets/process-output-CRgRzt0h.js +0 -1
- package/dist/assets/useDependencyPanelTab-Bu76tcmV.js +0 -1
- package/dist/assets/useRunCells-CVd2QKS9.js +0 -1
- package/dist/assets/useSplitCell-D1KubWSa.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as E}from"./chunk-LvLJmgfZ.js";import{u as I}from"./useEvent-D91BmmQi.js";import{t as L}from"./react-Bj1aDYRI.js";import{
|
|
1
|
+
import{s as E}from"./chunk-LvLJmgfZ.js";import{u as I}from"./useEvent-D91BmmQi.js";import{t as L}from"./react-Bj1aDYRI.js";import{Ci as U,D as $,g as W,x as F}from"./cells-CoFnpuSu.js";import"./react-dom-CSu739Rf.js";import{t as P}from"./compiler-runtime-B3qBwwSJ.js";import{x as H}from"./utils-CvI-39U6.js";import{n as z}from"./constants-DMpttj8Q.js";import{T as M,l as O,m as V}from"./config-ClMcu_sV.js";import{t as Y}from"./cn-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import"./popover-CNCYAwbC.js";import{N as G,Nt as J,Y as K}from"./JsonOutput-DOmfCaR3.js";import{r as Q}from"./download-B10yQcVE.js";import{n as X,t as R}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as Z}from"./requests-DIwGYs0l.js";import"./layout-BVZ3DZze.js";import{c as ee}from"./state-BkLoQLHX.js";import"./markdown-renderer-DC51vSBA.js";import{t as te}from"./copy-BwrPA9zQ.js";import{i as re,l as se,n as oe,r as B,t as ae,u as ie}from"./panels-CBe83v0S.js";import{t as ne}from"./spinner-Bhir8k53.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import{t as le}from"./use-toast-CJ1Tj2eC.js";import{t as me}from"./session-0B5NBztP.js";import"./purify.es-B9KxLTTS.js";import"./dates-CTxr0EqQ.js";import{n as ce}from"./copy-LK56fFow.js";import{a as de,c as pe,l as he,n as xe,r as fe,t as be}from"./dialog-DRnNAWYl.js";import{t as je}from"./share-mSf5FZIP.js";import"./utils-DCL4n9wx.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{a as ue}from"./cell-link-iYZiKtn4.js";import"./chunk-5FQGJX7Z-D91x7QHS.js";import"./html-to-image-DkJzNEld.js";import{n as ge,t as ye}from"./react-resizable-panels.browser.esm-CV8-hvjx.js";import"./esm-xaw4Vy8N.js";import"./name-cell-input-D0WKoNHr.js";import{n as ke,t as _e}from"./marimo-icons-CLbC-oB3.js";import"./ws-K6nioC-Z.js";import"./dist-QqcJxlfK.js";import"./dist-2FedModH.js";import"./dist-DCzr8T5W.js";import"./dist-DxlQcmyw.js";import"./dist-flL-WW8v.js";import"./dist-BieDRQs9.js";import"./dist-BcvGVYKl.js";import"./dist-DU8NrdIh.js";import"./dist-BscEQwf7.js";import"./esm-DgI-7XOj.js";var Ne=P(),ve=E(L(),1),t=E(q(),1);const we=o=>{let e=(0,Ne.c)(27),{appConfig:s}=o,{setCells:r}=$(),{sendComponentValues:p}=Z(),i;e[0]===p?i=e[1]:(i=()=>(B.INSTANCE.start(p),Se),e[0]=p,e[1]=i);let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2],(0,ve.useEffect)(i,n);let h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=me(),e[3]=h):h=e[3];let u;e[4]===r?u=e[5]:(u={autoInstantiate:!0,setCells:r,sessionId:h},e[4]=r,e[5]=u);let{connection:l,reconnect:v}=oe(u),f=I(F),g;e[6]===l.state?g=e[7]:(g=V(l.state),e[6]=l.state,e[7]=g);let w=g,b=I(W),y;e[8]!==s||e[9]!==b||e[10]!==w?(y=()=>w&&!b?(0,t.jsxs)(K,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ne,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(re,{appConfig:s,mode:"read"}),e[8]=s,e[9]=b,e[10]=w,e[11]=y):y=e[11];let j=y,m;e:{if(typeof window>"u"){m=null;break e}let x,a;if(e[12]===Symbol.for("react.memo_cache_sentinel")){if(a=new URL(window.location.href),!a.searchParams.has("file")){m=null;break e}a.searchParams.delete("file"),x=a.searchParams.toString(),e[12]=x,e[13]=a,e[14]=m}else x=e[12],a=e[13],m=e[14];let C=x;m=C?`${a.pathname}?${C}`:a.pathname}let k=m,S=s.width,_;e[15]===Symbol.for("react.memo_cache_sentinel")?(_=k&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:k,"aria-label":"Back to gallery",className:Y(X({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(ee,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[15]=_):_=e[15];let c;e[16]===l?c=e[17]:(c=(0,t.jsx)(ie,{connection:l,className:"sm:pt-8",children:_}),e[16]=l,e[17]=c);let d;e[18]===j?d=e[19]:(d=j(),e[18]=j,e[19]=d);let N;return e[20]!==s.width||e[21]!==l||e[22]!==f||e[23]!==v||e[24]!==c||e[25]!==d?(N=(0,t.jsxs)(se,{connection:l,isRunning:f,width:S,onReconnect:v,children:[c,d]}),e[20]=s.width,e[21]=l,e[22]=f,e[23]=v,e[24]=c,e[25]=d,e[26]=N):N=e[26],N};function Se(){B.INSTANCE.stop()}var A=P();const Ce=()=>{let o=(0,A.c)(3),e=I(U);if(!O()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:z.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm","data-testid":"static-notebook-banner",children:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(ze,{code:e})})]}),o[1]=e,o[2]=r),r};var ze=o=>{var T;let e=(0,A.c)(36),{code:s}=o,r=ue()||"notebook.py",p=r.lastIndexOf("/");p!==-1&&(r=r.slice(p+1));let[i]=H(),n=((T=i.sharing)==null?void 0:T.molab)!==!1,h=window.location.href,u;e[0]===s?u=e[1]:(u=je({code:s,baseUrl:`${z.molab}/new`}),e[0]=s,e[1]=u);let l=u,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(he,{asChild:!0,children:(0,t.jsx)(R,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[2]=v):v=e[2];let f;e[3]===r?f=e[4]:(f=(0,t.jsx)(pe,{children:r}),e[3]=r,e[4]=f);let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:z.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[5]=g):g=e[5];let w;e[6]===Symbol.for("react.memo_cache_sentinel")?(w=(0,t.jsx)("br",{}),e[6]=w):w=e[6];let b;e[7]===r?b=e[8]:(b=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",w,"marimo edit ",r]})}),e[7]=r,e[8]=b);let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=!h.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[9]=y):y=e[9];let j;e[10]!==n||e[11]!==l?(j=n&&(0,t.jsxs)("div",{className:"pt-3 border-t flex gap-2 items-center",children:[(0,t.jsx)(R,{asChild:!0,variant:"outline",size:"xs",className:"shrink-0",children:(0,t.jsxs)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)(ke,{size:12,strokeWidth:1.5,className:"mr-1.5 mt-px text-(--grass-11)"}),"Open in molab"]})}),(0,t.jsxs)("p",{className:"text-sm text-(--sky-12)",children:["Run this notebook in"," ",(0,t.jsx)("span",{className:"font-semibold",children:"molab"}),", marimo's cloud-hosted notebook platform."]})]}),e[10]=n,e[11]=l,e[12]=j):j=e[12];let m;e[13]!==b||e[14]!==j?(m=(0,t.jsxs)(fe,{className:"pt-3 text-left space-y-3",children:[g,b,y,j]}),e[13]=b,e[14]=j,e[15]=m):m=e[15];let k;e[16]!==f||e[17]!==m?(k=(0,t.jsxs)(de,{children:[f,m]}),e[16]=f,e[17]=m,e[18]=k):k=e[18];let S;e[19]===s?S=e[20]:(S=async()=>{await ce(s),le({title:"Copied to clipboard"})},e[19]=s,e[20]=S);let _;e[21]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(te,{className:"w-3 h-3 mr-2"}),e[21]=_):_=e[21];let c;e[22]===S?c=e[23]:(c=(0,t.jsxs)(R,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:S,children:[_,"Copy code"]}),e[22]=S,e[23]=c);let d;e[24]!==s||e[25]!==r?(d=()=>{Q(new Blob([s],{type:"text/plain"}),r)},e[24]=s,e[25]=r,e[26]=d):d=e[26];let N;e[27]===Symbol.for("react.memo_cache_sentinel")?(N=(0,t.jsx)(J,{className:"w-3 h-3 mr-2"}),e[27]=N):N=e[27];let x;e[28]===d?x=e[29]:(x=(0,t.jsxs)(R,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:d,children:[N,"Download"]}),e[28]=d,e[29]=x);let a;e[30]!==c||e[31]!==x?(a=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[c,x]}),e[30]=c,e[31]=x,e[32]=a):a=e[32];let C;return e[33]!==k||e[34]!==a?(C=(0,t.jsxs)(be,{children:[v,(0,t.jsxs)(xe,{children:[k,a]})]}),e[33]=k,e[34]=a,e[35]=C):C=e[35],C},D=P(),Re=M()||O(),Ie=o=>{let e=(0,D.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Ce,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(we,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=Re&&(0,t.jsx)(Pe,{}),e[3]=p):p=e[3];let i;e[4]===r?i=e[5]:(i=(0,t.jsxs)(ye,{children:[s,r,p]}),e[4]=r,e[5]=i);let n;e[6]===Symbol.for("react.memo_cache_sentinel")?(n=(0,t.jsx)(G,{}),e[6]=n):n=e[6];let h;return e[7]===i?h=e[8]:(h=(0,t.jsx)(ae,{children:(0,t.jsxs)(ge,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[i,n]})}),e[7]=i,e[8]=h),h},Pe=()=>{let o=(0,D.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50 print:hidden","data-testid":"watermark",children:(0,t.jsxs)("a",{href:z.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(_e,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},Te=Ie;export{Te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as ae}from"./chunk-LvLJmgfZ.js";import{d as be,l as ye,n as V,p as oe,u as we}from"./useEvent-D91BmmQi.js";import{t as Ne}from"./react-Bj1aDYRI.js";import{D as ke,
|
|
1
|
+
import{s as ae}from"./chunk-LvLJmgfZ.js";import{d as be,l as ye,n as V,p as oe,u as we}from"./useEvent-D91BmmQi.js";import{t as Ne}from"./react-Bj1aDYRI.js";import{D as ke,I as ze,In as Ce,Li as Se,Ri as m,ki as Ie,__tla as Oe}from"./cells-CoFnpuSu.js";import"./react-dom-CSu739Rf.js";import{t as se}from"./compiler-runtime-B3qBwwSJ.js";import{v as ie}from"./useEventListener-DvoEXWke.js";import{x as Ae}from"./utils-CvI-39U6.js";import{t as Le}from"./constants-DMpttj8Q.js";import{t as le}from"./cn-DCUzRj2J.js";import{t as Me}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import"./popover-CNCYAwbC.js";import{n as Pe,__tla as Re}from"./JsonOutput-DOmfCaR3.js";import"./download-B10yQcVE.js";import{t as z}from"./tooltip-B_PkSKN3.js";import{t as C}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as De}from"./requests-DIwGYs0l.js";import{t as ne}from"./createLucideIcon-D5guW7EU.js";import{f as Ee,__tla as He}from"./layout-BVZ3DZze.js";import{n as Ve,t as qe,__tla as Te}from"./LazyAnyLanguageCodeMirror-C7ALwTI_.js";import{__tla as Ge}from"./markdown-renderer-DC51vSBA.js";import{u as Ue}from"./toDate-B5A0DFEz.js";import{t as Be,__tla as Fe}from"./cell-editor-BHNVF2sX.js";import{t as Je}from"./spinner-Bhir8k53.js";import{i as Ke}from"./useDeleteCell-DQCclxQO.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import"./session-0B5NBztP.js";import{r as Qe}from"./useTheme-CI2eq4XN.js";import"./purify.es-B9KxLTTS.js";import"./dates-CTxr0EqQ.js";import"./utils-DCL4n9wx.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{__tla as We}from"./chunk-5FQGJX7Z-D91x7QHS.js";import"./html-to-image-DkJzNEld.js";import{o as Xe}from"./focus-CjgVplbV.js";import{n as Ye,r as Ze,t as me}from"./react-resizable-panels.browser.esm-CV8-hvjx.js";import{a as $e}from"./renderShortcut--ku7VECI.js";import"./esm-xaw4Vy8N.js";import"./name-cell-input-D0WKoNHr.js";import{n as et,r as tt}from"./panel-context-D7Ggu8Nw.js";import{__tla as rt}from"./loro_wasm_bg-DYsTic7p.js";import"./ws-K6nioC-Z.js";import"./Inputs-CdyQ7nLC.js";import"./dist-QqcJxlfK.js";import"./dist-2FedModH.js";import"./dist-DCzr8T5W.js";import"./dist-DxlQcmyw.js";import"./dist-flL-WW8v.js";import"./dist-BieDRQs9.js";import"./dist-BcvGVYKl.js";import"./dist-DU8NrdIh.js";import"./dist-BscEQwf7.js";import"./esm-DgI-7XOj.js";import{t as at}from"./kiosk-mode-lr7kYrA8.js";let ce,ot=Promise.all([(()=>{try{return Oe}catch{}})(),(()=>{try{return Re}catch{}})(),(()=>{try{return He}catch{}})(),(()=>{try{return Te}catch{}})(),(()=>{try{return Ge}catch{}})(),(()=>{try{return Fe}catch{}})(),(()=>{try{return We}catch{}})(),(()=>{try{return rt}catch{}})()]).then(async()=>{var de=ne("eraser",[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",key:"g5wo59"}],["path",{d:"m5.082 11.09 8.828 8.828",key:"1wx5vj"}]]),he=ne("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),pe=se(),q=ae(Ne(),1),ue=15;const T=Ie("marimo:scratchpadHistory:v1",[],Ce),fe=oe(!1),xe=oe(null,(e,s,i)=>{if(i=i.trim(),!i)return;let n=e(T);s(T,[i,...n.filter(c=>c!==i)].slice(0,ue))});var t=ae(Me(),1),_e={hide_code:!1,disabled:!1};const ve=()=>{var re;let e=(0,pe.c)(60),s=ze(),[i]=Ae(),{theme:n}=Qe(),c=(0,q.useRef)(null),G=Xe(),{createNewCell:U,updateCellCode:d}=ke(),{sendRunScratchpad:h}=De(),S=et(),B=tt(),l=s.cellRuntime[m],F=l==null?void 0:l.output,I=l==null?void 0:l.status,J=l==null?void 0:l.consoleOutputs,r=((re=s.cellData.__scratch__)==null?void 0:re.code)??"",K=be(xe),[o,p]=ye(fe),u=we(T),O;e[0]!==K||e[1]!==r||e[2]!==h?(O=()=>{h({code:r}),K(r)},e[0]=K,e[1]=r,e[2]=h,e[3]=O):O=e[3];let f=V(O),A;e[4]!==r||e[5]!==U||e[6]!==G?(A=()=>{r.trim()&&U({code:r,before:!1,cellId:G??"__end__"})},e[4]=r,e[5]=U,e[6]=G,e[7]=A):A=e[7];let Q=V(A),L;e[8]!==h||e[9]!==d?(L=()=>{d({cellId:m,code:"",formattingChange:!1}),h({code:""});let a=c.current;a&&a.dispatch({changes:{from:0,to:a.state.doc.length,insert:""}})},e[8]=h,e[9]=d,e[10]=L):L=e[10];let W=V(L),M;e[11]!==p||e[12]!==d?(M=a=>{p(!1),d({cellId:m,code:a,formattingChange:!1});let k=c.current;k&&k.dispatch({changes:{from:0,to:k.state.doc.length,insert:a}})},e[11]=p,e[12]=d,e[13]=M):M=e[13];let X=V(M),[Y,ge]=(0,q.useState)(),P;e[14]!==X||e[15]!==u||e[16]!==o||e[17]!==n?(P=()=>o?(0,t.jsx)("div",{className:"absolute inset-0 z-100 bg-background p-3 border-none overflow-auto",children:(0,t.jsx)("div",{className:"overflow-auto flex flex-col gap-3",children:u.map((a,k)=>(0,t.jsx)("div",{className:"border rounded-md hover:shadow-sm cursor-pointer hover:border-input overflow-hidden",onClick:()=>X(a),children:(0,t.jsx)(q.Suspense,{children:(0,t.jsx)(qe,{language:"python",theme:n,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},value:a.trim(),editable:!1,readOnly:!0})})},k))})}):null,e[14]=X,e[15]=u,e[16]=o,e[17]=n,e[18]=P):P=e[18];let Z=P,R;e[19]!==W||e[20]!==Q||e[21]!==f||e[22]!==u.length||e[23]!==o||e[24]!==p||e[25]!==I?(R=()=>(0,t.jsxs)("div",{className:"flex items-center shrink-0 border-b",children:[(0,t.jsx)(z,{content:$e("cell.run"),children:(0,t.jsx)(C,{"data-testid":"scratchpad-run-button",onClick:f,disabled:o,variant:"text",size:"xs",children:(0,t.jsx)(Ke,{color:"var(--grass-11)",size:16})})}),(0,t.jsx)(z,{content:"Clear code and outputs",children:(0,t.jsx)(C,{disabled:o,size:"xs",variant:"text",onClick:W,children:(0,t.jsx)(de,{size:16})})}),(0,t.jsx)(at,{children:(0,t.jsx)(z,{content:"Insert code",children:(0,t.jsx)(C,{disabled:o,size:"xs",variant:"text",onClick:Q,children:(0,t.jsx)(Ve,{size:16})})})}),(I==="running"||I==="queued")&&(0,t.jsx)(Je,{className:"inline",size:"small"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(z,{content:"Toggle history",children:(0,t.jsx)(C,{size:"xs",variant:"text",className:le(o&&"bg-(--sky-3) rounded-none"),onClick:()=>p(!o),disabled:u.length===0,children:(0,t.jsx)(he,{size:16})})}),(0,t.jsx)(z,{content:(0,t.jsx)("span",{className:"block max-w-prose",children:"Use this scratchpad to experiment with code without restrictions on variable names. Variables defined here aren't saved to notebook memory, and the code is not saved in the notebook file."}),children:(0,t.jsx)(C,{size:"xs",variant:"text",children:(0,t.jsx)(Ue,{size:16})})})]}),e[19]=W,e[20]=Q,e[21]=f,e[22]=u.length,e[23]=o,e[24]=p,e[25]=I,e[26]=R):R=e[26];let $=R,je=S==="vertical",D;e[27]===Symbol.for("react.memo_cache_sentinel")?(D=Se.create(m),e[27]=D):D=e[27];let x;e[28]===$?x=e[29]:(x=$(),e[28]=$,e[29]=x);let E;e[30]===Symbol.for("react.memo_cache_sentinel")?(E=a=>{c.current=a},e[30]=E):E=e[30];let _;e[31]!==r||e[32]!==f||e[33]!==Y||e[34]!==n||e[35]!==i?(_=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Be,{theme:n,showPlaceholder:!1,id:m,code:r,config:_e,status:"idle",serializedEditorState:null,runCell:f,userConfig:i,editorViewRef:c,setEditorView:E,hidden:!1,showHiddenCode:ie.NOOP,languageAdapter:Y,setLanguageAdapter:ge})}),e[31]=r,e[32]=f,e[33]=Y,e[34]=n,e[35]=i,e[36]=_):_=e[36];let v;e[37]===Z?v=e[38]:(v=Z(),e[37]=Z,e[38]=v);let g;e[39]!==v||e[40]!==x||e[41]!==_?(g=(0,t.jsx)(me,{defaultSize:40,minSize:20,maxSize:70,children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden relative",children:[x,_,v]})}),e[39]=v,e[40]=x,e[41]=_,e[42]=g):g=e[42];let ee=je?"h-1":"w-1",j;e[43]===ee?j=e[44]:(j=le("bg-border hover:bg-primary/50 transition-colors",ee),e[43]=ee,e[44]=j);let b;e[45]===j?b=e[46]:(b=(0,t.jsx)(Ze,{className:j}),e[45]=j,e[46]=b);let y;e[47]===F?y=e[48]:(y=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Pe,{allowExpand:!1,output:F,className:Le.outputArea,cellId:m,stale:!1,loading:!1})}),e[47]=F,e[48]=y);let w;e[49]===J?w=e[50]:(w=(0,t.jsx)("div",{className:"overflow-auto shrink-0 max-h-[50%]",children:(0,t.jsx)(Ee,{consoleOutputs:J,className:"overflow-auto",stale:!1,interrupted:!1,cellName:"_",onSubmitDebugger:ie.NOOP,cellId:m,debuggerActive:!1})}),e[49]=J,e[50]=w);let N;e[51]!==y||e[52]!==w?(N=(0,t.jsx)(me,{defaultSize:60,minSize:20,children:(0,t.jsxs)("div",{className:"h-full flex flex-col divide-y overflow-hidden",children:[y,w]})}),e[51]=y,e[52]=w,e[53]=N):N=e[53];let H;return e[54]!==S||e[55]!==B||e[56]!==g||e[57]!==b||e[58]!==N?(H=(0,t.jsx)("div",{className:"flex flex-col h-full overflow-hidden",id:D,children:(0,t.jsxs)(Ye,{direction:S,className:"h-full",children:[g,b,N]},B)}),e[54]=S,e[55]=B,e[56]=g,e[57]=b,e[58]=N,e[59]=H):H=e[59],H};let te;te=se(),ce=()=>{let e=(0,te.c)(1),s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(ve,{}),e[0]=s):s=e[0],s}});export{ot as __tla,ce as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as ie}from"./chunk-LvLJmgfZ.js";import{d as de,l as he,p as ue,u as K}from"./useEvent-D91BmmQi.js";import{t as Pe}from"./react-Bj1aDYRI.js";import{Ar as Me,At as Ee,Br as xe,D as Oe,Fn as pe,Fr as fe,Gt as Re,In as Ue,Ir as Ae,Kt as ze,Lr as Ge,M as We,Nr as se,Oi as be,P as He,Pr as ge,Rn as Ke,Rt as Je,Ur as Qe,Vr as je,Wr as Ne,Wt as Xe,_n as Ye,a as Ze,ar as ea,cr as aa,f as ta,hr as sa,or as la,vr as na,yr as le}from"./cells-k7Js5h2t.js";import"./react-dom-CSu739Rf.js";import{t as ye}from"./compiler-runtime-B3qBwwSJ.js";import{c as ra}from"./utils-CvI-39U6.js";import{t as oa}from"./ErrorBoundary-DyYDV0HI.js";import{t as O}from"./cn-DCUzRj2J.js";import{t as ca}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import{n as ma}from"./multi-map-C4OANz8X.js";import"./popover-CNCYAwbC.js";import{$ as ve,Q as ne,et as ia,f as we,g as Se,h as re,m as oe,nt as da,p as ee,rt as ha,tt as ua,u as xa}from"./JsonOutput-CZQlutzs.js";import"./download-BS31LU22.js";import{r as Ce}from"./radio-group-DS_mmqHJ.js";import{t as ce}from"./tooltip-B_PkSKN3.js";import{r as pa,t as ae}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import{u as J}from"./arrays-DYDL-3-i.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{i as fa}from"./strings-wdPMRf6Z.js";import{r as ba}from"./requests-DIwGYs0l.js";import{t as ga}from"./createLucideIcon-D5guW7EU.js";import{t as ja}from"./x-C-6liIBr.js";import{a as Na,r as ya}from"./tree-actions-XvgFV23w.js";import"./markdown-renderer-BHa-Tbwi.js";import{t as _e}from"./add-connection-dialog-C_jDtIZF.js";import{t as ke}from"./plus-BgB18UzY.js";import{a as va}from"./input-DA8xlX70.js";import{n as wa,o as Sa}from"./column-preview-DM1s1Z9h.js";import{t as Ca}from"./workflow-Bm8qF7yj.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import"./session-0B5NBztP.js";import"./purify.es-B9KxLTTS.js";import"./dates-CTxr0EqQ.js";import{t as _a}from"./copy-icon-BuRdHNPA.js";import{t as ka}from"./context-QkTujrKn.js";import"./utils-DCL4n9wx.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{t as $e}from"./cell-link-spbX-mlL.js";import"./chunk-5FQGJX7Z-D91x7QHS.js";import{r as $a}from"./html-to-image-rLeQGF-G.js";import{o as Fa}from"./focus-CRI5ilWC.js";import{n as me}from"./useAsyncData-bgszE9F0.js";import{a as Ta,i as Ia,n as La,o as Fe,r as qa,t as Da}from"./table-BGPSHfig.js";import"./react-resizable-panels.browser.esm-CV8-hvjx.js";import{a as Va,f as Ba,o as te,t as Pa}from"./command-BmOGG6-2.js";import{n as Ma}from"./icons-Ol38nIbL.js";import{t as Ea}from"./empty-state-vCWg-_A9.js";import{n as Oa,t as Ra}from"./common-Zqa_rd3u.js";import{a as Ua,i as Aa,n as Te,r as Ie,t as Le}from"./components-CXG-2UWv.js";var za=ga("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"}]]),A=ye(),F=ie(Pe(),1),t=ie(ca(),1),$={engineEmpty:"pl-3",engine:"pl-3 pr-2",database:"pl-4",schemaEmpty:"pl-8",schema:"pl-7",schemaLoading:"pl-8",tableLoading:"pl-11",tableSchemaless:"pl-8",tableWithSchema:"pl-12",columnLocal:"pl-5",columnSql:"pl-13",columnPreview:"pl-10"},Ga=ue(a=>{let e=a(fe),s=a(Ke),l=a(Ze);return J(e,r=>{if(!r.variable_name)return-1;let c=Object.values(s).find(g=>g.name===r.variable_name);if(!c)return 0;let n=l.inOrderIds.indexOf(c.declaredBy[0]);return n===-1?0:n})});const Wa=be("marimo:datasources:hideEmpty",!1,pe,{getOnInit:!0});function Ha(a){return a.tables_resolved!==!1&&a.tables.length===0}function Ka(a){let e=!1,s=[];for(let l of a){if(l.schemas_resolved!==!1&&l.schemas.length===0){e=!0;continue}if(l.schemas.length===0){s.push(l);continue}let r=l.schemas.filter(c=>!Ha(c));if(r.length===0){e=!0;continue}if(r.length===l.schemas.length){s.push(l);continue}e=!0,s.push({...l,schemas:r})}return e?s:a}const qe=ue(a=>{let e=new Map(a(Me));for(let s of Ne){let l=e.get(s);l&&(l.databases.length===0&&e.delete(s),l.databases.length===1&&l.databases[0].name==="memory"&&l.databases[0].schemas.length===0&&e.delete(s))}return J([...e.values()],s=>Ne.has(s.name)?1:0)}),Ja=()=>{let a=(0,A.c)(42),[e,s]=F.useState(""),[l,r]=he(Wa),c=de(ge),n=K(Ga),g=K(qe),j;e:{if(!l){j=g;break e}let v,w;a[0]===g?(v=a[1],w=a[2]):(v=!1,w=g.map(k=>{let T=Ka(k.databases);return T===k.databases?k:(v=!0,{...k,databases:T})}),a[0]=g,a[1]=v,a[2]=w),j=v?w:g}let N=j;if(n.length===0&&N.length===0){let v;return a[3]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(Ea,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(_e,{children:(0,t.jsxs)(ae,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(ke,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(le,{})}),a[3]=v):v=a[3],v}let u=!!e.trim(),m;a[4]===c?m=a[5]:(m=v=>{c(v.length>0),s(v)},a[4]=c,a[5]=m);let i;a[6]!==e||a[7]!==m?(i=(0,t.jsx)(Va,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:m,rootClassName:"flex-1 border-r border-b-0"}),a[6]=e,a[7]=m,a[8]=i):i=a[8];let h;a[9]===u?h=a[10]:(h=u&&(0,t.jsx)("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",onClick:()=>s(""),children:(0,t.jsx)(ja,{className:"h-4 w-4"})}),a[9]=u,a[10]=h);let p=!l,d;a[11]!==l||a[12]!==r?(d=()=>r(!l),a[11]=l,a[12]=r,a[13]=d):d=a[13];let o;a[14]!==p||a[15]!==d?(o=(0,t.jsx)(Na,{"data-testid":"datasources-hide-empty-button",isVisible:p,onToggle:d,showTooltip:"Show empty schemas and databases",hideTooltip:"Hide empty schemas and databases",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden"}),a[14]=p,a[15]=d,a[16]=o):o=a[16];let b;a[17]===Symbol.for("react.memo_cache_sentinel")?(b=(0,t.jsx)(_e,{children:(0,t.jsx)(ae,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,t.jsx)(ke,{className:"h-4 w-4"})})}),a[17]=b):b=a[17];let x;a[18]!==i||a[19]!==h||a[20]!==o?(x=(0,t.jsxs)("div",{className:"flex items-center w-full border-b",children:[i,h,o,b]}),a[18]=i,a[19]=h,a[20]=o,a[21]=x):x=a[21];let f;if(a[22]!==N||a[23]!==u||a[24]!==e){let v;a[26]!==u||a[27]!==e?(v=w=>(0,t.jsx)(Qa,{connection:w,hasChildren:w.databases.length>0,children:w.databases.map(k=>(0,t.jsx)(Xa,{engineName:w.name,database:k,hasSearch:u,children:(0,t.jsx)(Ya,{schemas:k.schemas,defaultSchema:w.default_schema,defaultDatabase:w.default_database,engineName:w.name,databaseName:k.name,hasSearch:u,searchValue:e,dialect:w.dialect})},k.name))},w.name),a[26]=u,a[27]=e,a[28]=v):v=a[28],f=N.map(v),a[22]=N,a[23]=u,a[24]=e,a[25]=f}else f=a[25];let y;a[29]!==N.length||a[30]!==n.length?(y=N.length>0&&n.length>0&&(0,t.jsxs)(we,{className:$.engine,children:[(0,t.jsx)(Ma,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[29]=N.length,a[30]=n.length,a[31]=y):y=a[31];let S;a[32]!==e||a[33]!==n?(S=n.length>0&&(0,t.jsx)(De,{tables:n,searchValue:e}),a[32]=e,a[33]=n,a[34]=S):S=a[34];let C;a[35]!==y||a[36]!==S||a[37]!==f?(C=(0,t.jsxs)(Ba,{className:"flex flex-col",children:[f,y,S]}),a[35]=y,a[36]=S,a[37]=f,a[38]=C):C=a[38];let _;return a[39]!==C||a[40]!==x?(_=(0,t.jsxs)(Pa,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[x,C]}),a[39]=C,a[40]=x,a[41]=_):_=a[41],_};var Qa=a=>{let e=(0,A.c)(25),{connection:s,children:l,hasChildren:r}=a,c=s.name===Qe,n=c?"In-Memory":s.name,{previewDataSourceConnection:g}=ba(),j;e[0]!==s.name||e[1]!==g?(j=async()=>{await g({engine:s.name})},e[0]=s.name,e[1]=g,e[2]=j):j=e[2];let N=j,u;e[3]===s.dialect?u=e[4]:(u=(0,t.jsx)(Ee,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=u);let m;e[5]===s.dialect?m=e[6]:(m=ea(s.dialect),e[5]=s.dialect,e[6]=m);let i;e[7]===m?i=e[8]:(i=(0,t.jsx)("span",{className:"text-xs",children:m}),e[7]=m,e[8]=i);let h=n,p;e[9]===h?p=e[10]:(p=(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,t.jsx)(Ua,{variableName:h}),")"]}),e[9]=h,e[10]=p);let d;e[11]!==N||e[12]!==c?(d=!c&&(0,t.jsx)(ya,{onClick:N,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[11]=N,e[12]=c,e[13]=d):d=e[13];let o;e[14]!==u||e[15]!==i||e[16]!==p||e[17]!==d?(o=(0,t.jsxs)(we,{className:$.engine,children:[u,i,p,d]}),e[14]=u,e[15]=i,e[16]=p,e[17]=d,e[18]=o):o=e[18];let b;e[19]!==l||e[20]!==r?(b=r?l:(0,t.jsx)(ee,{content:"No databases available",className:$.engineEmpty}),e[19]=l,e[20]=r,e[21]=b):b=e[21];let x;return e[22]!==o||e[23]!==b?(x=(0,t.jsxs)(t.Fragment,{children:[o,b]}),e[22]=o,e[23]=b,e[24]=x):x=e[24],x},Xa=a=>{let e=(0,A.c)(26),{hasSearch:s,engineName:l,database:r,children:c}=a,[n,g]=F.useState(!1),[j,N]=F.useState(!1),[u,m]=F.useState(s);u!==s&&(m(s),g(s));let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",$.database),e[0]=i):i=e[0];let h;e[1]!==n||e[2]!==j?(h=()=>{g(!n),N(!j)},e[1]=n,e[2]=j,e[3]=h):h=e[3];let p=`${l}:${r.name}`,d;e[4]===n?d=e[5]:(d=(0,t.jsx)(Se,{isExpanded:n}),e[4]=n,e[5]=d);let o=j&&n?"text-foreground":"text-muted-foreground",b;e[6]===o?b=e[7]:(b=O("h-4 w-4",o),e[6]=o,e[7]=b);let x;e[8]===b?x=e[9]:(x=(0,t.jsx)(le,{className:b}),e[8]=b,e[9]=x);let f=j&&n&&"font-semibold",y;e[10]===f?y=e[11]:(y=O(f),e[10]=f,e[11]=y);let S;e[12]===r.name?S=e[13]:(S=r.name===""?(0,t.jsx)("i",{children:"Not connected"}):r.name,e[12]=r.name,e[13]=S);let C;e[14]!==S||e[15]!==y?(C=(0,t.jsx)("span",{className:y,children:S}),e[14]=S,e[15]=y,e[16]=C):C=e[16];let _;e[17]!==C||e[18]!==h||e[19]!==p||e[20]!==d||e[21]!==x?(_=(0,t.jsxs)(te,{className:i,onSelect:h,value:p,children:[d,x,C]}),e[17]=C,e[18]=h,e[19]=p,e[20]=d,e[21]=x,e[22]=_):_=e[22];let v=n&&c,w;return e[23]!==_||e[24]!==v?(w=(0,t.jsxs)(t.Fragment,{children:[_,v]}),e[23]=_,e[24]=v,e[25]=w):w=e[25],w},Ya=({schemas:a,defaultSchema:e,defaultDatabase:s,dialect:l,engineName:r,databaseName:c,hasSearch:n,searchValue:g})=>{let{addSchemaList:j}=se(),[N,u]=F.useState(!1),[m,i]=F.useState(!1),{isPending:h,error:p}=me(async()=>{if(a.length===0&&r&&!N){u(!0),i(!0);try{j({schemas:(await Xe.request({engine:r,database:c})).schemas??[],sqlSchemaContext:{engine:r,database:c}})}finally{i(!1)}}},[a.length,r,c,N]);return h||m?(0,t.jsx)(re,{message:"Loading schemas...",className:$.schemaLoading}):p?(0,t.jsx)(oe,{error:p,className:$.schemaLoading}):a.length===0?(0,t.jsx)(ee,{content:"No schemas available",className:$.schemaEmpty}):(0,t.jsx)(t.Fragment,{children:a.filter(d=>g?d.tables.some(o=>o.name.toLowerCase().includes(g.toLowerCase())):!0).map(d=>(0,t.jsx)(Za,{databaseName:c,schema:d,hasSearch:n,children:(0,t.jsx)(De,{tables:d.tables,searchValue:g,sqlTableContext:{engine:r,database:c,schema:d.name,defaultSchema:e,defaultDatabase:s,dialect:l}})},d.name))})},Za=a=>{let e=(0,A.c)(24),{databaseName:s,schema:l,children:r,hasSearch:c}=a,[n,g]=F.useState(c),[j,N]=F.useState(!1),u=`${s}:${l.name}`;if(xe(l.name))return r;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",$.schema),e[0]=m):m=e[0];let i;e[1]!==n||e[2]!==j?(i=()=>{g(!n),N(!j)},e[1]=n,e[2]=j,e[3]=i):i=e[3];let h;e[4]===n?h=e[5]:(h=(0,t.jsx)(Se,{isExpanded:n}),e[4]=n,e[5]=h);let p=j&&n&&"text-foreground",d;e[6]===p?d=e[7]:(d=O("h-4 w-4 text-muted-foreground",p),e[6]=p,e[7]=d);let o;e[8]===d?o=e[9]:(o=(0,t.jsx)(sa,{className:d}),e[8]=d,e[9]=o);let b=j&&n&&"font-semibold",x;e[10]===b?x=e[11]:(x=O(b),e[10]=b,e[11]=x);let f;e[12]!==l.name||e[13]!==x?(f=(0,t.jsx)("span",{className:x,children:l.name}),e[12]=l.name,e[13]=x,e[14]=f):f=e[14];let y;e[15]!==i||e[16]!==h||e[17]!==o||e[18]!==f||e[19]!==u?(y=(0,t.jsxs)(te,{className:m,onSelect:i,value:u,children:[h,o,f]}),e[15]=i,e[16]=h,e[17]=o,e[18]=f,e[19]=u,e[20]=y):y=e[20];let S=n&&r,C;return e[21]!==y||e[22]!==S?(C=(0,t.jsxs)(t.Fragment,{children:[y,S]}),e[21]=y,e[22]=S,e[23]=C):C=e[23],C},De=a=>{let e=(0,A.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:c}=se(),[n,g]=F.useState(!1),[j,N]=F.useState(!1),u;e[0]!==c||e[1]!==l||e[2]!==s.length||e[3]!==n?(u=async()=>{if(s.length===0&&l&&!n){g(!0),N(!0);let{engine:o,database:b,schema:x}=l,f=await ze.request({engine:o,database:b,schema:x});if(!(f!=null&&f.tables))throw N(!1),Error("No tables available");c({tables:f.tables,sqlTableContext:l}),N(!1)}},e[0]=c,e[1]=l,e[2]=s.length,e[3]=n,e[4]=u):u=e[4];let m;e[5]!==l||e[6]!==s.length||e[7]!==n?(m=[s.length,l,n],e[5]=l,e[6]=s.length,e[7]=n,e[8]=m):m=e[8];let{isPending:i,error:h}=me(u,m);if(i||j){let o;return e[9]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(re,{message:"Loading tables...",className:$.tableLoading}),e[9]=o):o=e[9],o}if(h){let o;return e[10]===h?o=e[11]:(o=(0,t.jsx)(oe,{error:h,className:$.tableLoading}),e[10]=h,e[11]=o),o}if(s.length===0){let o;return e[12]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(ee,{content:"No tables found",className:$.tableLoading}),e[12]=o):o=e[12],o}let p;if(e[13]!==r||e[14]!==l||e[15]!==s){let o;e[17]===r?o=e[18]:(o=f=>r?f.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=o);let b=s.filter(o),x;e[19]!==r||e[20]!==l?(x=f=>(0,t.jsx)(et,{table:f,sqlTableContext:l,isSearching:!!r},f.name),e[19]=r,e[20]=l,e[21]=x):x=e[21],p=b.map(x),e[13]=r,e[14]=l,e[15]=s,e[16]=p}else p=e[16];let d;return e[22]===p?d=e[23]:(d=(0,t.jsx)(t.Fragment,{children:p}),e[22]=p,e[23]=d),d},et=a=>{let e=(0,A.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:c}=se(),[n,g]=F.useState(!1),[j,N]=F.useState(!1),u=s.columns.length>0,m;e[0]!==c||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==u||e[5]!==j?(m=async()=>{if(n&&!u&&l&&!j){N(!0);let{engine:B,database:Y,schema:Be}=l,Z=await Re.request({engine:B,database:Y,schema:Be,tableName:s.name});if(!(Z!=null&&Z.table))throw Error("No table details available");c({table:Z.table,sqlTableContext:l})}},e[0]=c,e[1]=n,e[2]=l,e[3]=s.name,e[4]=u,e[5]=j,e[6]=m):m=e[6];let i;e[7]!==n||e[8]!==u?(i=[n,u],e[7]=n,e[8]=u,e[9]=i):i=e[9];let{isFetching:h,isPending:p,error:d}=me(m,i),o=K(ra),b=Fa(),{createNewCell:x}=Oe(),f=Ce(),y;e[10]!==f||e[11]!==o||e[12]!==x||e[13]!==b||e[14]!==l||e[15]!==s?(y=()=>{$a({autoInstantiate:o,createNewCell:x,fromCellId:b}),f((()=>{if(s.source_type==="catalog"){let B=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${B}")`}if(l)return je({table:s,columnName:"*",sqlTableContext:l});switch(s.source_type){case"local":return`mo.ui.table(${s.name})`;case"duckdb":case"connection":return je({table:s,columnName:"*",sqlTableContext:l});default:return fa(s.source_type),""}})())},e[10]=f,e[11]=o,e[12]=x,e[13]=b,e[14]=l,e[15]=s,e[16]=y):y=e[16];let S=y,C;e[17]!==s.num_columns||e[18]!==s.num_rows?(C=()=>{let B=[];return s.num_rows!=null&&B.push(`${s.num_rows} rows`),s.num_columns!=null&&B.push(`${s.num_columns} columns`),B.length===0?null:(0,t.jsx)("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:B.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=C):C=e[19];let _=C,v;e[20]!==d||e[21]!==h||e[22]!==p||e[23]!==l||e[24]!==s?(v=()=>{if(p||h)return(0,t.jsx)(re,{message:"Loading columns...",className:$.tableLoading});if(d)return(0,t.jsx)(oe,{error:d,className:$.tableLoading});let B=s.columns;return B.length===0?(0,t.jsx)(ee,{content:"No columns found",className:$.tableLoading}):B.map(Y=>(0,t.jsx)(at,{table:s,column:Y,sqlTableContext:l},Y.name))},e[20]=d,e[21]=h,e[22]=p,e[23]=l,e[24]=s,e[25]=v):v=e[25];let w=v,k;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(k=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?aa:na,{className:"h-3 w-3",strokeWidth:n||r?2.5:void 0})},e[26]=n,e[27]=r,e[28]=s.source_type,e[29]=s.type,e[30]=k):k=e[30];let T=k,P=l?`${l.database}.${l.schema}.${s.name}`:s.name,M=l&&(xe(l.schema)?$.tableSchemaless:$.tableWithSchema),E=(n||r)&&"font-semibold",I;e[31]!==M||e[32]!==E?(I=O("rounded-none group h-8 cursor-pointer",M,E),e[31]=M,e[32]=E,e[33]=I):I=e[33];let L;e[34]===n?L=e[35]:(L=()=>g(!n),e[34]=n,e[35]=L);let q;e[36]===T?q=e[37]:(q=T(),e[36]=T,e[37]=q);let V;e[38]===s.name?V=e[39]:(V=(0,t.jsx)("span",{className:"text-sm",children:s.name}),e[38]=s.name,e[39]=V);let R;e[40]!==q||e[41]!==V?(R=(0,t.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[q,V]}),e[40]=q,e[41]=V,e[42]=R):R=e[42];let U;e[43]===_?U=e[44]:(U=_(),e[43]=_,e[44]=U);let D;e[45]===S?D=e[46]:(D=pa.stopPropagation(()=>S()),e[45]=S,e[46]=D);let Q;e[47]===Symbol.for("react.memo_cache_sentinel")?(Q=(0,t.jsx)(Sa,{className:"h-3 w-3"}),e[47]=Q):Q=e[47];let G;e[48]===D?G=e[49]:(G=(0,t.jsx)(ce,{content:"Add table to notebook",delayDuration:400,children:(0,t.jsx)(ae,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:D,children:Q})}),e[48]=D,e[49]=G);let W;e[50]!==n||e[51]!==L||e[52]!==R||e[53]!==U||e[54]!==G||e[55]!==I||e[56]!==P?(W=(0,t.jsxs)(te,{className:I,value:P,"aria-selected":n,forceMount:!0,onSelect:L,children:[R,U,G]}),e[50]=n,e[51]=L,e[52]=R,e[53]=U,e[54]=G,e[55]=I,e[56]=P,e[57]=W):W=e[57];let H;e[58]!==n||e[59]!==w?(H=n&&w(),e[58]=n,e[59]=w,e[60]=H):H=e[60];let X;return e[61]!==W||e[62]!==H?(X=(0,t.jsxs)(t.Fragment,{children:[W,H]}),e[61]=W,e[62]=H,e[63]=X):X=e[63],X},at=a=>{var R,U;let e=(0,A.c)(48),{table:s,column:l,sqlTableContext:r}=a,[c,n]=F.useState(!1),g=K(ge),j=de(Ae);g&&c&&n(!1),j(c?D=>new Set([...D,`${s.name}:${l.name}`]):D=>(D.delete(`${s.name}:${l.name}`),new Set(D)));let N=Ce(),{columnsPreviews:u}=Ge(),m;e[0]!==l.name||e[1]!==s.primary_keys?(m=((R=s.primary_keys)==null?void 0:R.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=m):m=e[2];let i=m,h;e[3]!==l.name||e[4]!==s.indexes?(h=((U=s.indexes)==null?void 0:U.includes(l.name))||!1,e[3]=l.name,e[4]=s.indexes,e[5]=h):h=e[5];let p=h,d;e[6]===N?d=e[7]:(d=D=>{N(D)},e[6]=N,e[7]=d);let o=d,b=tt,x=c?"font-semibold":"",f;e[8]!==l.name||e[9]!==x?(f=(0,t.jsx)("span",{className:x,children:l.name}),e[8]=l.name,e[9]=x,e[10]=f):f=e[10];let y=f,S=`${s.name}.${l.name}`,C=`${s.name}.${l.name}`,_;e[11]===c?_=e[12]:(_=()=>n(!c),e[11]=c,e[12]=_);let v=r?$.columnSql:$.columnLocal,w;e[13]===v?w=e[14]:(w=O("flex flex-row gap-2 items-center flex-1",v),e[13]=v,e[14]=w);let k;e[15]!==l.type||e[16]!==y?(k=(0,t.jsx)(xa,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=k):k=e[17];let T;e[18]===i?T=e[19]:(T=i&&b({tooltipContent:"Primary key",content:"PK"}),e[18]=i,e[19]=T);let P;e[20]===p?P=e[21]:(P=p&&b({tooltipContent:"Indexed",content:"IDX"}),e[20]=p,e[21]=P);let M;e[22]!==w||e[23]!==k||e[24]!==T||e[25]!==P?(M=(0,t.jsxs)("div",{className:w,children:[k,T,P]}),e[22]=w,e[23]=k,e[24]=T,e[25]=P,e[26]=M):M=e[26];let E;e[27]===l.name?E=e[28]:(E=(0,t.jsx)(ce,{content:"Copy column name",delayDuration:400,children:(0,t.jsx)(ae,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,t.jsx)(_a,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[27]=l.name,e[28]=E);let I;e[29]===l.external_type?I=e[30]:(I=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[29]=l.external_type,e[30]=I);let L;e[31]!==M||e[32]!==E||e[33]!==I||e[34]!==S||e[35]!==C||e[36]!==_?(L=(0,t.jsxs)(te,{className:"rounded-none py-1 group cursor-pointer",value:C,onSelect:_,children:[M,E,I]},S),e[31]=M,e[32]=E,e[33]=I,e[34]=S,e[35]=C,e[36]=_,e[37]=L):L=e[37];let q;e[38]!==l||e[39]!==u||e[40]!==o||e[41]!==c||e[42]!==r||e[43]!==s?(q=c&&(0,t.jsx)("div",{className:O($.columnPreview,"pr-2 py-2 bg-(--slate-1) shadow-inner border-b"),children:(0,t.jsx)(oa,{children:(0,t.jsx)(wa,{table:s,column:l,onAddColumnChart:o,preview:u.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=u,e[40]=o,e[41]=c,e[42]=r,e[43]=s,e[44]=q):q=e[44];let V;return e[45]!==L||e[46]!==q?(V=(0,t.jsxs)(t.Fragment,{children:[L,q]}),e[45]=L,e[46]=q,e[47]=V):V=e[47],V};function tt(a){let{tooltipContent:e,content:s}=a;return(0,t.jsx)(ce,{content:e,delayDuration:100,children:(0,t.jsx)("span",{className:"text-xs text-black bg-gray-100 dark:invert rounded px-1",children:s})})}function ps(a){return a}var z={name:"name",type:"type-value",defs:"defs-refs"},st=[{id:z.name,accessorFn:a=>[a.name,a.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(ne,{header:"Name",column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsx)(Ra,{name:e,declaredBy:s})}},{id:z.type,accessorFn:a=>[a.dataType,a.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(ne,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Type"}),(0,t.jsx)("span",{children:"Value"})]}),column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsxs)("div",{className:"max-w-[150px]",children:[(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:e}),(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:s??"",children:s})]})}},{id:z.defs,accessorFn:a=>[a.declaredBy,a.usedBy,a.name,a.declaredByNames,a.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:a})=>(0,t.jsx)(ne,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Declared By"}),(0,t.jsx)("span",{children:"Used By"})]}),column:a}),cell:({getValue:a})=>{let[e,s,l]=a(),r=c=>{let n=ta(c);n&&Ye(n,l)};return(0,t.jsxs)("div",{className:"flex flex-col gap-1 py-1",children:[(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-center",children:[(0,t.jsx)("span",{title:"Declared by",children:(0,t.jsx)(za,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,t.jsx)($e,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>r(e[0])}):(0,t.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((c,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)($e,{variant:"focus",cellId:c,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(c)},c),n<e.length-1&&", "]},c))})]}),(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,t.jsx)("span",{title:"Used by",children:(0,t.jsx)(Ca,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(Oa,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function lt({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:z.defs,desc:!1});let l=[];switch(e.id){case z.name:l=J(a,r=>r.name);break;case z.type:l=J(a,r=>r.dataType);break;case z.defs:l=J(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.toReversed():l}const Ve=(0,F.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=F.useState([]),[c,n]=F.useState(""),g=He(),{locale:j}=ka(),N=(0,F.useMemo)(()=>{let m=i=>{let h=g[i];return Je(h)?`cell-${e.indexOf(i)}`:h??`cell-${e.indexOf(i)}`};return Object.values(s).map(i=>({...i,declaredByNames:i.declaredBy.map(m),usedByNames:i.usedBy.map(m)}))},[s,g,e]),u=ia({data:(0,F.useMemo)(()=>{let m=new Map;return e.forEach((i,h)=>m.set(i,h)),lt({variables:N,sort:l[0],cellIdToIndex:m})},[N,l,e]),columns:st,getCoreRowModel:ua(),onGlobalFilterChange:n,getFilteredRowModel:da(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(m){return m.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:j,onSortingChange:r,getSortedRowModel:ha(),state:{sorting:l,globalFilter:c}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(va,{className:"w-full",placeholder:"Search",value:c,onChange:m=>n(m.target.value)}),(0,t.jsxs)(Da,{className:O("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)(Ta,{children:(0,t.jsx)(Fe,{className:"whitespace-nowrap text-xs",children:u.getFlatHeaders().map(m=>(0,t.jsx)(Ia,{className:"sticky top-0 bg-background border-b",children:ve(m.column.columnDef.header,m.getContext())},m.id))})}),(0,t.jsx)(La,{children:u.getRowModel().rows.map(m=>(0,t.jsx)(Fe,{className:"hover:bg-accent",children:m.getVisibleCells().map(i=>(0,t.jsx)(qa,{className:"border-b",children:ve(i.column.columnDef.cell,i.getContext())},i.id))},m.id))})]})]})});Ve.displayName="VariableTable";var nt=ye(),rt=be("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},pe),ot=()=>{let a=(0,nt.c)(24),e=Ue(),s=We(),l=K(fe),r=K(qe),[c,n]=he(rt),g=l.length+r.length,j;a[0]!==g||a[1]!==c.hasUserInteracted||a[2]!==c.openSections?(j=!c.hasUserInteracted&&g>0?[...new Set([...c.openSections,"datasources"])]:c.openSections,a[0]=g,a[1]=c.hasUserInteracted,a[2]=c.openSections,a[3]=j):j=a[3];let N=j,u;a[4]===n?u=a[5]:(u=S=>{n({openSections:S,hasUserInteracted:!0})},a[4]=n,a[5]=u);let m=u,i=!N.includes("datasources")&&g>0,h;a[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)(le,{className:"w-4 h-4"}),a[6]=h):h=a[6];let p;a[7]!==g||a[8]!==i?(p=i&&(0,t.jsx)(Aa,{children:g}),a[7]=g,a[8]=i,a[9]=p):p=a[9];let d;a[10]===p?d=a[11]:(d=(0,t.jsxs)(Ie,{children:[h,"Data sources",p]}),a[10]=p,a[11]=d);let o;a[12]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(Le,{children:(0,t.jsx)(Ja,{})}),a[12]=o):o=a[12];let b;a[13]===d?b=a[14]:(b=(0,t.jsxs)(Te,{value:"datasources",children:[d,o]}),a[13]=d,a[14]=b);let x;a[15]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)(Ie,{children:[(0,t.jsx)(la,{className:"w-4 h-4"}),"Variables"]}),a[15]=x):x=a[15];let f;a[16]!==s||a[17]!==e?(f=(0,t.jsxs)(Te,{value:"variables",lastItem:!0,children:[x,(0,t.jsx)(Le,{children:Object.keys(e).length===0?(0,t.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"No variables defined"}):(0,t.jsx)(Ve,{cellIds:s.inOrderIds,variables:e})})]}),a[16]=s,a[17]=e,a[18]=f):f=a[18];let y;return a[19]!==m||a[20]!==N||a[21]!==b||a[22]!==f?(y=(0,t.jsxs)(ma,{type:"multiple",value:N,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[b,f]}),a[19]=m,a[20]=N,a[21]=b,a[22]=f,a[23]=y):y=a[23],y};export{ot as default};
|
|
1
|
+
import{s as ie}from"./chunk-LvLJmgfZ.js";import{d as de,l as he,p as ue,u as K}from"./useEvent-D91BmmQi.js";import{t as Me}from"./react-Bj1aDYRI.js";import{D as Pe,Fr as xe,Gr as pe,Gt as Be,Hr as fe,In as be,Ir as ge,Kt as Oe,Ln as Re,Lr as Ue,M as ze,P as Ge,Pr as se,Rr as Ae,Vr as je,Wr as We,a as He,br as le,f as Ke,gr as Je,jr as Qe,jt as Xe,ki as Ne,lr as Ye,or as Ze,qt as ea,sr as aa,vn as ta,yr as sa,zn as la,zt as na}from"./cells-CoFnpuSu.js";import"./react-dom-CSu739Rf.js";import{t as ye}from"./compiler-runtime-B3qBwwSJ.js";import{c as ra}from"./utils-CvI-39U6.js";import{t as oa}from"./ErrorBoundary-DyYDV0HI.js";import{t as O}from"./cn-DCUzRj2J.js";import{t as ca}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import{n as ma}from"./multi-map-C4OANz8X.js";import"./popover-CNCYAwbC.js";import{$ as ve,Q as ne,et as ia,f as we,g as Se,h as re,m as oe,nt as da,p as ee,rt as ha,tt as ua,u as xa}from"./JsonOutput-DOmfCaR3.js";import"./download-B10yQcVE.js";import{r as Ce}from"./radio-group-RRco4zNE.js";import{t as ce}from"./tooltip-B_PkSKN3.js";import{r as pa,t as ae}from"./button-BbCh-29a.js";import"./dist-D0HyMpgV.js";import{u as J}from"./arrays-DYDL-3-i.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{i as fa}from"./strings-wdPMRf6Z.js";import{r as ba}from"./requests-DIwGYs0l.js";import{t as ga}from"./createLucideIcon-D5guW7EU.js";import{t as ja}from"./x-C-6liIBr.js";import{a as Na,r as ya}from"./tree-actions-wXUHKee-.js";import"./markdown-renderer-DC51vSBA.js";import{t as _e}from"./add-connection-dialog-wzfYao2B.js";import{t as ke}from"./plus-BgB18UzY.js";import{a as va}from"./input-DA8xlX70.js";import{n as wa,o as Sa}from"./column-preview-TS1GqZH2.js";import{t as Ca}from"./workflow-Bm8qF7yj.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import"./session-0B5NBztP.js";import"./purify.es-B9KxLTTS.js";import"./dates-CTxr0EqQ.js";import{t as _a}from"./copy-icon-BuRdHNPA.js";import{t as ka}from"./context-QkTujrKn.js";import"./utils-DCL4n9wx.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{t as $e}from"./cell-link-iYZiKtn4.js";import"./chunk-5FQGJX7Z-D91x7QHS.js";import{r as $a}from"./html-to-image-DkJzNEld.js";import{o as Fa}from"./focus-CjgVplbV.js";import{n as me}from"./useAsyncData-bgszE9F0.js";import{a as Ta,i as Ia,n as La,o as Fe,r as qa,t as Da}from"./table-BGPSHfig.js";import"./react-resizable-panels.browser.esm-CV8-hvjx.js";import{a as Va,f as Ea,o as te,t as Ma}from"./command-BmOGG6-2.js";import{n as Pa}from"./icons-Ol38nIbL.js";import{t as Ba}from"./empty-state-vCWg-_A9.js";import{n as Oa,t as Ra}from"./common-Q-jtFQpL.js";import{a as Ua,i as za,n as Te,r as Ie,t as Le}from"./components--CWsNwF4.js";var Ga=ga("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"}]]),z=ye(),F=ie(Me(),1),t=ie(ca(),1),$={engineEmpty:"pl-3",engine:"pl-3 pr-2",database:"pl-4",schemaEmpty:"pl-8",schema:"pl-7",schemaLoading:"pl-8",tableLoading:"pl-11",tableSchemaless:"pl-8",tableWithSchema:"pl-12",columnLocal:"pl-5",columnSql:"pl-13",columnPreview:"pl-10"},Aa=ue(a=>{let e=a(ge),s=a(la),l=a(He);return J(e,r=>{if(!r.variable_name)return-1;let c=Object.values(s).find(g=>g.name===r.variable_name);if(!c)return 0;let n=l.inOrderIds.indexOf(c.declaredBy[0]);return n===-1?0:n})});const Wa=Ne("marimo:datasources:hideEmpty",!1,be,{getOnInit:!0});function Ha(a){return a.tables_resolved!==!1&&a.tables.length===0}function Ka(a){let e=!1,s=[];for(let l of a){if(l.schemas_resolved!==!1&&l.schemas.length===0){e=!0;continue}if(l.schemas.length===0){s.push(l);continue}let r=l.schemas.filter(c=>!Ha(c));if(r.length===0){e=!0;continue}if(r.length===l.schemas.length){s.push(l);continue}e=!0,s.push({...l,schemas:r})}return e?s:a}const qe=ue(a=>{let e=new Map(a(Qe));for(let s of pe){let l=e.get(s);l&&(l.databases.length===0&&e.delete(s),l.databases.length===1&&l.databases[0].name==="memory"&&l.databases[0].schemas.length===0&&e.delete(s))}return J([...e.values()],s=>pe.has(s.name)?1:0)}),Ja=()=>{let a=(0,z.c)(42),[e,s]=F.useState(""),[l,r]=he(Wa),c=de(xe),n=K(Aa),g=K(qe),j;e:{if(!l){j=g;break e}let v,w;a[0]===g?(v=a[1],w=a[2]):(v=!1,w=g.map(k=>{let T=Ka(k.databases);return T===k.databases?k:(v=!0,{...k,databases:T})}),a[0]=g,a[1]=v,a[2]=w),j=v?w:g}let N=j;if(n.length===0&&N.length===0){let v;return a[3]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(Ba,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(_e,{children:(0,t.jsxs)(ae,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(ke,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(le,{})}),a[3]=v):v=a[3],v}let u=!!e.trim(),m;a[4]===c?m=a[5]:(m=v=>{c(v.length>0),s(v)},a[4]=c,a[5]=m);let i;a[6]!==e||a[7]!==m?(i=(0,t.jsx)(Va,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:m,rootClassName:"flex-1 border-r border-b-0"}),a[6]=e,a[7]=m,a[8]=i):i=a[8];let h;a[9]===u?h=a[10]:(h=u&&(0,t.jsx)("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",onClick:()=>s(""),children:(0,t.jsx)(ja,{className:"h-4 w-4"})}),a[9]=u,a[10]=h);let p=!l,d;a[11]!==l||a[12]!==r?(d=()=>r(!l),a[11]=l,a[12]=r,a[13]=d):d=a[13];let o;a[14]!==p||a[15]!==d?(o=(0,t.jsx)(Na,{"data-testid":"datasources-hide-empty-button",isVisible:p,onToggle:d,showTooltip:"Show empty schemas and databases",hideTooltip:"Hide empty schemas and databases",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden"}),a[14]=p,a[15]=d,a[16]=o):o=a[16];let b;a[17]===Symbol.for("react.memo_cache_sentinel")?(b=(0,t.jsx)(_e,{children:(0,t.jsx)(ae,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,t.jsx)(ke,{className:"h-4 w-4"})})}),a[17]=b):b=a[17];let x;a[18]!==i||a[19]!==h||a[20]!==o?(x=(0,t.jsxs)("div",{className:"flex items-center w-full border-b",children:[i,h,o,b]}),a[18]=i,a[19]=h,a[20]=o,a[21]=x):x=a[21];let f;if(a[22]!==N||a[23]!==u||a[24]!==e){let v;a[26]!==u||a[27]!==e?(v=w=>(0,t.jsx)(Qa,{connection:w,hasChildren:w.databases.length>0,children:w.databases.map(k=>(0,t.jsx)(Xa,{engineName:w.name,database:k,hasSearch:u,children:(0,t.jsx)(Ya,{schemas:k.schemas,defaultSchema:w.default_schema,defaultDatabase:w.default_database,engineName:w.name,databaseName:k.name,hasSearch:u,searchValue:e,dialect:w.dialect})},k.name))},w.name),a[26]=u,a[27]=e,a[28]=v):v=a[28],f=N.map(v),a[22]=N,a[23]=u,a[24]=e,a[25]=f}else f=a[25];let y;a[29]!==N.length||a[30]!==n.length?(y=N.length>0&&n.length>0&&(0,t.jsxs)(we,{className:$.engine,children:[(0,t.jsx)(Pa,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[29]=N.length,a[30]=n.length,a[31]=y):y=a[31];let S;a[32]!==e||a[33]!==n?(S=n.length>0&&(0,t.jsx)(De,{tables:n,searchValue:e}),a[32]=e,a[33]=n,a[34]=S):S=a[34];let C;a[35]!==y||a[36]!==S||a[37]!==f?(C=(0,t.jsxs)(Ea,{className:"flex flex-col",children:[f,y,S]}),a[35]=y,a[36]=S,a[37]=f,a[38]=C):C=a[38];let _;return a[39]!==C||a[40]!==x?(_=(0,t.jsxs)(Ma,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[x,C]}),a[39]=C,a[40]=x,a[41]=_):_=a[41],_};var Qa=a=>{let e=(0,z.c)(25),{connection:s,children:l,hasChildren:r}=a,c=s.name===We,n=c?"In-Memory":s.name,{previewDataSourceConnection:g}=ba(),j;e[0]!==s.name||e[1]!==g?(j=async()=>{await g({engine:s.name})},e[0]=s.name,e[1]=g,e[2]=j):j=e[2];let N=j,u;e[3]===s.dialect?u=e[4]:(u=(0,t.jsx)(Xe,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=u);let m;e[5]===s.dialect?m=e[6]:(m=Ze(s.dialect),e[5]=s.dialect,e[6]=m);let i;e[7]===m?i=e[8]:(i=(0,t.jsx)("span",{className:"text-xs",children:m}),e[7]=m,e[8]=i);let h=n,p;e[9]===h?p=e[10]:(p=(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,t.jsx)(Ua,{variableName:h}),")"]}),e[9]=h,e[10]=p);let d;e[11]!==N||e[12]!==c?(d=!c&&(0,t.jsx)(ya,{onClick:N,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[11]=N,e[12]=c,e[13]=d):d=e[13];let o;e[14]!==u||e[15]!==i||e[16]!==p||e[17]!==d?(o=(0,t.jsxs)(we,{className:$.engine,children:[u,i,p,d]}),e[14]=u,e[15]=i,e[16]=p,e[17]=d,e[18]=o):o=e[18];let b;e[19]!==l||e[20]!==r?(b=r?l:(0,t.jsx)(ee,{content:"No databases available",className:$.engineEmpty}),e[19]=l,e[20]=r,e[21]=b):b=e[21];let x;return e[22]!==o||e[23]!==b?(x=(0,t.jsxs)(t.Fragment,{children:[o,b]}),e[22]=o,e[23]=b,e[24]=x):x=e[24],x},Xa=a=>{let e=(0,z.c)(26),{hasSearch:s,engineName:l,database:r,children:c}=a,[n,g]=F.useState(!1),[j,N]=F.useState(!1),[u,m]=F.useState(s);u!==s&&(m(s),g(s));let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",$.database),e[0]=i):i=e[0];let h;e[1]!==n||e[2]!==j?(h=()=>{g(!n),N(!j)},e[1]=n,e[2]=j,e[3]=h):h=e[3];let p=`${l}:${r.name}`,d;e[4]===n?d=e[5]:(d=(0,t.jsx)(Se,{isExpanded:n}),e[4]=n,e[5]=d);let o=j&&n?"text-foreground":"text-muted-foreground",b;e[6]===o?b=e[7]:(b=O("h-4 w-4",o),e[6]=o,e[7]=b);let x;e[8]===b?x=e[9]:(x=(0,t.jsx)(le,{className:b}),e[8]=b,e[9]=x);let f=j&&n&&"font-semibold",y;e[10]===f?y=e[11]:(y=O(f),e[10]=f,e[11]=y);let S;e[12]===r.name?S=e[13]:(S=r.name===""?(0,t.jsx)("i",{children:"Not connected"}):r.name,e[12]=r.name,e[13]=S);let C;e[14]!==S||e[15]!==y?(C=(0,t.jsx)("span",{className:y,children:S}),e[14]=S,e[15]=y,e[16]=C):C=e[16];let _;e[17]!==C||e[18]!==h||e[19]!==p||e[20]!==d||e[21]!==x?(_=(0,t.jsxs)(te,{className:i,onSelect:h,value:p,children:[d,x,C]}),e[17]=C,e[18]=h,e[19]=p,e[20]=d,e[21]=x,e[22]=_):_=e[22];let v=n&&c,w;return e[23]!==_||e[24]!==v?(w=(0,t.jsxs)(t.Fragment,{children:[_,v]}),e[23]=_,e[24]=v,e[25]=w):w=e[25],w},Ya=({schemas:a,defaultSchema:e,defaultDatabase:s,dialect:l,engineName:r,databaseName:c,hasSearch:n,searchValue:g})=>{let{addSchemaList:j}=se(),[N,u]=F.useState(!1),[m,i]=F.useState(!1),{isPending:h,error:p}=me(async()=>{if(a.length===0&&r&&!N){u(!0),i(!0);try{j({schemas:(await Be.request({engine:r,database:c})).schemas??[],sqlSchemaContext:{engine:r,database:c}})}finally{i(!1)}}},[a.length,r,c,N]);return h||m?(0,t.jsx)(re,{message:"Loading schemas...",className:$.schemaLoading}):p?(0,t.jsx)(oe,{error:p,className:$.schemaLoading}):a.length===0?(0,t.jsx)(ee,{content:"No schemas available",className:$.schemaEmpty}):(0,t.jsx)(t.Fragment,{children:a.filter(d=>g?d.tables.some(o=>o.name.toLowerCase().includes(g.toLowerCase())):!0).map(d=>(0,t.jsx)(Za,{databaseName:c,schema:d,hasSearch:n,children:(0,t.jsx)(De,{tables:d.tables,searchValue:g,sqlTableContext:{engine:r,database:c,schema:d.name,defaultSchema:e,defaultDatabase:s,dialect:l}})},d.name))})},Za=a=>{let e=(0,z.c)(24),{databaseName:s,schema:l,children:r,hasSearch:c}=a,[n,g]=F.useState(c),[j,N]=F.useState(!1),u=`${s}:${l.name}`;if(je(l.name))return r;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",$.schema),e[0]=m):m=e[0];let i;e[1]!==n||e[2]!==j?(i=()=>{g(!n),N(!j)},e[1]=n,e[2]=j,e[3]=i):i=e[3];let h;e[4]===n?h=e[5]:(h=(0,t.jsx)(Se,{isExpanded:n}),e[4]=n,e[5]=h);let p=j&&n&&"text-foreground",d;e[6]===p?d=e[7]:(d=O("h-4 w-4 text-muted-foreground",p),e[6]=p,e[7]=d);let o;e[8]===d?o=e[9]:(o=(0,t.jsx)(Je,{className:d}),e[8]=d,e[9]=o);let b=j&&n&&"font-semibold",x;e[10]===b?x=e[11]:(x=O(b),e[10]=b,e[11]=x);let f;e[12]!==l.name||e[13]!==x?(f=(0,t.jsx)("span",{className:x,children:l.name}),e[12]=l.name,e[13]=x,e[14]=f):f=e[14];let y;e[15]!==i||e[16]!==h||e[17]!==o||e[18]!==f||e[19]!==u?(y=(0,t.jsxs)(te,{className:m,onSelect:i,value:u,children:[h,o,f]}),e[15]=i,e[16]=h,e[17]=o,e[18]=f,e[19]=u,e[20]=y):y=e[20];let S=n&&r,C;return e[21]!==y||e[22]!==S?(C=(0,t.jsxs)(t.Fragment,{children:[y,S]}),e[21]=y,e[22]=S,e[23]=C):C=e[23],C},De=a=>{let e=(0,z.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:c}=se(),[n,g]=F.useState(!1),[j,N]=F.useState(!1),u;e[0]!==c||e[1]!==l||e[2]!==s.length||e[3]!==n?(u=async()=>{if(s.length===0&&l&&!n){g(!0),N(!0);let{engine:o,database:b,schema:x}=l,f=await ea.request({engine:o,database:b,schema:x});if(!(f!=null&&f.tables))throw N(!1),Error("No tables available");c({tables:f.tables,sqlTableContext:l}),N(!1)}},e[0]=c,e[1]=l,e[2]=s.length,e[3]=n,e[4]=u):u=e[4];let m;e[5]!==l||e[6]!==s.length||e[7]!==n?(m=[s.length,l,n],e[5]=l,e[6]=s.length,e[7]=n,e[8]=m):m=e[8];let{isPending:i,error:h}=me(u,m);if(i||j){let o;return e[9]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(re,{message:"Loading tables...",className:$.tableLoading}),e[9]=o):o=e[9],o}if(h){let o;return e[10]===h?o=e[11]:(o=(0,t.jsx)(oe,{error:h,className:$.tableLoading}),e[10]=h,e[11]=o),o}if(s.length===0){let o;return e[12]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(ee,{content:"No tables found",className:$.tableLoading}),e[12]=o):o=e[12],o}let p;if(e[13]!==r||e[14]!==l||e[15]!==s){let o;e[17]===r?o=e[18]:(o=f=>r?f.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=o);let b=s.filter(o),x;e[19]!==r||e[20]!==l?(x=f=>(0,t.jsx)(et,{table:f,sqlTableContext:l,isSearching:!!r},f.name),e[19]=r,e[20]=l,e[21]=x):x=e[21],p=b.map(x),e[13]=r,e[14]=l,e[15]=s,e[16]=p}else p=e[16];let d;return e[22]===p?d=e[23]:(d=(0,t.jsx)(t.Fragment,{children:p}),e[22]=p,e[23]=d),d},et=a=>{let e=(0,z.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:c}=se(),[n,g]=F.useState(!1),[j,N]=F.useState(!1),u=s.columns.length>0,m;e[0]!==c||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==u||e[5]!==j?(m=async()=>{if(n&&!u&&l&&!j){N(!0);let{engine:E,database:Y,schema:Ee}=l,Z=await Oe.request({engine:E,database:Y,schema:Ee,tableName:s.name});if(!(Z!=null&&Z.table))throw Error("No table details available");c({table:Z.table,sqlTableContext:l})}},e[0]=c,e[1]=n,e[2]=l,e[3]=s.name,e[4]=u,e[5]=j,e[6]=m):m=e[6];let i;e[7]!==n||e[8]!==u?(i=[n,u],e[7]=n,e[8]=u,e[9]=i):i=e[9];let{isFetching:h,isPending:p,error:d}=me(m,i),o=K(ra),b=Fa(),{createNewCell:x}=Pe(),f=Ce(),y;e[10]!==f||e[11]!==o||e[12]!==x||e[13]!==b||e[14]!==l||e[15]!==s?(y=()=>{$a({autoInstantiate:o,createNewCell:x,fromCellId:b}),f((()=>{if(s.source_type==="catalog"){let E=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${E}")`}if(l)return fe({table:s,columnName:"*",sqlTableContext:l});switch(s.source_type){case"local":return`mo.ui.table(${s.name})`;case"duckdb":case"connection":return fe({table:s,columnName:"*",sqlTableContext:l});default:return fa(s.source_type),""}})())},e[10]=f,e[11]=o,e[12]=x,e[13]=b,e[14]=l,e[15]=s,e[16]=y):y=e[16];let S=y,C;e[17]!==s.num_columns||e[18]!==s.num_rows?(C=()=>{let E=[];return s.num_rows!=null&&E.push(`${s.num_rows} rows`),s.num_columns!=null&&E.push(`${s.num_columns} columns`),E.length===0?null:(0,t.jsx)("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:E.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=C):C=e[19];let _=C,v;e[20]!==d||e[21]!==h||e[22]!==p||e[23]!==l||e[24]!==s?(v=()=>{if(p||h)return(0,t.jsx)(re,{message:"Loading columns...",className:$.tableLoading});if(d)return(0,t.jsx)(oe,{error:d,className:$.tableLoading});let E=s.columns;return E.length===0?(0,t.jsx)(ee,{content:"No columns found",className:$.tableLoading}):E.map(Y=>(0,t.jsx)(at,{table:s,column:Y,sqlTableContext:l},Y.name))},e[20]=d,e[21]=h,e[22]=p,e[23]=l,e[24]=s,e[25]=v):v=e[25];let w=v,k;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(k=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?Ye:sa,{className:"h-3 w-3",strokeWidth:n||r?2.5:void 0})},e[26]=n,e[27]=r,e[28]=s.source_type,e[29]=s.type,e[30]=k):k=e[30];let T=k,M=l?`${l.database}.${l.schema}.${s.name}`:s.name,P=l&&(je(l.schema)?$.tableSchemaless:$.tableWithSchema),B=(n||r)&&"font-semibold",I;e[31]!==P||e[32]!==B?(I=O("rounded-none group h-8 cursor-pointer",P,B),e[31]=P,e[32]=B,e[33]=I):I=e[33];let L;e[34]===n?L=e[35]:(L=()=>g(!n),e[34]=n,e[35]=L);let q;e[36]===T?q=e[37]:(q=T(),e[36]=T,e[37]=q);let V;e[38]===s.name?V=e[39]:(V=(0,t.jsx)("span",{className:"text-sm",children:s.name}),e[38]=s.name,e[39]=V);let R;e[40]!==q||e[41]!==V?(R=(0,t.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[q,V]}),e[40]=q,e[41]=V,e[42]=R):R=e[42];let U;e[43]===_?U=e[44]:(U=_(),e[43]=_,e[44]=U);let D;e[45]===S?D=e[46]:(D=pa.stopPropagation(()=>S()),e[45]=S,e[46]=D);let Q;e[47]===Symbol.for("react.memo_cache_sentinel")?(Q=(0,t.jsx)(Sa,{className:"h-3 w-3"}),e[47]=Q):Q=e[47];let A;e[48]===D?A=e[49]:(A=(0,t.jsx)(ce,{content:"Add table to notebook",delayDuration:400,children:(0,t.jsx)(ae,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:D,children:Q})}),e[48]=D,e[49]=A);let W;e[50]!==n||e[51]!==L||e[52]!==R||e[53]!==U||e[54]!==A||e[55]!==I||e[56]!==M?(W=(0,t.jsxs)(te,{className:I,value:M,"aria-selected":n,forceMount:!0,onSelect:L,children:[R,U,A]}),e[50]=n,e[51]=L,e[52]=R,e[53]=U,e[54]=A,e[55]=I,e[56]=M,e[57]=W):W=e[57];let H;e[58]!==n||e[59]!==w?(H=n&&w(),e[58]=n,e[59]=w,e[60]=H):H=e[60];let X;return e[61]!==W||e[62]!==H?(X=(0,t.jsxs)(t.Fragment,{children:[W,H]}),e[61]=W,e[62]=H,e[63]=X):X=e[63],X},at=a=>{var R,U;let e=(0,z.c)(48),{table:s,column:l,sqlTableContext:r}=a,[c,n]=F.useState(!1),g=K(xe),j=de(Ue);g&&c&&n(!1),j(c?D=>new Set([...D,`${s.name}:${l.name}`]):D=>(D.delete(`${s.name}:${l.name}`),new Set(D)));let N=Ce(),{columnsPreviews:u}=Ae(),m;e[0]!==l.name||e[1]!==s.primary_keys?(m=((R=s.primary_keys)==null?void 0:R.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=m):m=e[2];let i=m,h;e[3]!==l.name||e[4]!==s.indexes?(h=((U=s.indexes)==null?void 0:U.includes(l.name))||!1,e[3]=l.name,e[4]=s.indexes,e[5]=h):h=e[5];let p=h,d;e[6]===N?d=e[7]:(d=D=>{N(D)},e[6]=N,e[7]=d);let o=d,b=tt,x=c?"font-semibold":"",f;e[8]!==l.name||e[9]!==x?(f=(0,t.jsx)("span",{className:x,children:l.name}),e[8]=l.name,e[9]=x,e[10]=f):f=e[10];let y=f,S=`${s.name}.${l.name}`,C=`${s.name}.${l.name}`,_;e[11]===c?_=e[12]:(_=()=>n(!c),e[11]=c,e[12]=_);let v=r?$.columnSql:$.columnLocal,w;e[13]===v?w=e[14]:(w=O("flex flex-row gap-2 items-center flex-1",v),e[13]=v,e[14]=w);let k;e[15]!==l.type||e[16]!==y?(k=(0,t.jsx)(xa,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=k):k=e[17];let T;e[18]===i?T=e[19]:(T=i&&b({tooltipContent:"Primary key",content:"PK"}),e[18]=i,e[19]=T);let M;e[20]===p?M=e[21]:(M=p&&b({tooltipContent:"Indexed",content:"IDX"}),e[20]=p,e[21]=M);let P;e[22]!==w||e[23]!==k||e[24]!==T||e[25]!==M?(P=(0,t.jsxs)("div",{className:w,children:[k,T,M]}),e[22]=w,e[23]=k,e[24]=T,e[25]=M,e[26]=P):P=e[26];let B;e[27]===l.name?B=e[28]:(B=(0,t.jsx)(ce,{content:"Copy column name",delayDuration:400,children:(0,t.jsx)(ae,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,t.jsx)(_a,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[27]=l.name,e[28]=B);let I;e[29]===l.external_type?I=e[30]:(I=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[29]=l.external_type,e[30]=I);let L;e[31]!==P||e[32]!==B||e[33]!==I||e[34]!==S||e[35]!==C||e[36]!==_?(L=(0,t.jsxs)(te,{className:"rounded-none py-1 group cursor-pointer",value:C,onSelect:_,children:[P,B,I]},S),e[31]=P,e[32]=B,e[33]=I,e[34]=S,e[35]=C,e[36]=_,e[37]=L):L=e[37];let q;e[38]!==l||e[39]!==u||e[40]!==o||e[41]!==c||e[42]!==r||e[43]!==s?(q=c&&(0,t.jsx)("div",{className:O($.columnPreview,"pr-2 py-2 bg-(--slate-1) shadow-inner border-b"),children:(0,t.jsx)(oa,{children:(0,t.jsx)(wa,{table:s,column:l,onAddColumnChart:o,preview:u.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=u,e[40]=o,e[41]=c,e[42]=r,e[43]=s,e[44]=q):q=e[44];let V;return e[45]!==L||e[46]!==q?(V=(0,t.jsxs)(t.Fragment,{children:[L,q]}),e[45]=L,e[46]=q,e[47]=V):V=e[47],V};function tt(a){let{tooltipContent:e,content:s}=a;return(0,t.jsx)(ce,{content:e,delayDuration:100,children:(0,t.jsx)("span",{className:"text-xs text-black bg-gray-100 dark:invert rounded px-1",children:s})})}function ps(a){return a}var G={name:"name",type:"type-value",defs:"defs-refs"},st=[{id:G.name,accessorFn:a=>[a.name,a.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(ne,{header:"Name",column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsx)(Ra,{name:e,declaredBy:s})}},{id:G.type,accessorFn:a=>[a.dataType,a.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(ne,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Type"}),(0,t.jsx)("span",{children:"Value"})]}),column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsxs)("div",{className:"max-w-[150px]",children:[(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:e}),(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:s??"",children:s})]})}},{id:G.defs,accessorFn:a=>[a.declaredBy,a.usedBy,a.name,a.declaredByNames,a.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:a})=>(0,t.jsx)(ne,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Declared By"}),(0,t.jsx)("span",{children:"Used By"})]}),column:a}),cell:({getValue:a})=>{let[e,s,l]=a(),r=c=>{let n=Ke(c);n&&ta(n,l)};return(0,t.jsxs)("div",{className:"flex flex-col gap-1 py-1",children:[(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-center",children:[(0,t.jsx)("span",{title:"Declared by",children:(0,t.jsx)(Ga,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,t.jsx)($e,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>r(e[0])}):(0,t.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((c,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)($e,{variant:"focus",cellId:c,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(c)},c),n<e.length-1&&", "]},c))})]}),(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,t.jsx)("span",{title:"Used by",children:(0,t.jsx)(Ca,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(Oa,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function lt({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:G.defs,desc:!1});let l=[];switch(e.id){case G.name:l=J(a,r=>r.name);break;case G.type:l=J(a,r=>r.dataType);break;case G.defs:l=J(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.toReversed():l}const Ve=(0,F.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=F.useState([]),[c,n]=F.useState(""),g=Ge(),{locale:j}=ka(),N=(0,F.useMemo)(()=>{let m=i=>{let h=g[i];return na(h)?`cell-${e.indexOf(i)}`:h??`cell-${e.indexOf(i)}`};return Object.values(s).map(i=>({...i,declaredByNames:i.declaredBy.map(m),usedByNames:i.usedBy.map(m)}))},[s,g,e]),u=ia({data:(0,F.useMemo)(()=>{let m=new Map;return e.forEach((i,h)=>m.set(i,h)),lt({variables:N,sort:l[0],cellIdToIndex:m})},[N,l,e]),columns:st,getCoreRowModel:ua(),onGlobalFilterChange:n,getFilteredRowModel:da(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(m){return m.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:j,onSortingChange:r,getSortedRowModel:ha(),state:{sorting:l,globalFilter:c}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(va,{className:"w-full",placeholder:"Search",value:c,onChange:m=>n(m.target.value)}),(0,t.jsxs)(Da,{className:O("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)(Ta,{children:(0,t.jsx)(Fe,{className:"whitespace-nowrap text-xs",children:u.getFlatHeaders().map(m=>(0,t.jsx)(Ia,{className:"sticky top-0 bg-background border-b",children:ve(m.column.columnDef.header,m.getContext())},m.id))})}),(0,t.jsx)(La,{children:u.getRowModel().rows.map(m=>(0,t.jsx)(Fe,{className:"hover:bg-accent",children:m.getVisibleCells().map(i=>(0,t.jsx)(qa,{className:"border-b",children:ve(i.column.columnDef.cell,i.getContext())},i.id))},m.id))})]})]})});Ve.displayName="VariableTable";var nt=ye(),rt=Ne("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},be),ot=()=>{let a=(0,nt.c)(24),e=Re(),s=ze(),l=K(ge),r=K(qe),[c,n]=he(rt),g=l.length+r.length,j;a[0]!==g||a[1]!==c.hasUserInteracted||a[2]!==c.openSections?(j=!c.hasUserInteracted&&g>0?[...new Set([...c.openSections,"datasources"])]:c.openSections,a[0]=g,a[1]=c.hasUserInteracted,a[2]=c.openSections,a[3]=j):j=a[3];let N=j,u;a[4]===n?u=a[5]:(u=S=>{n({openSections:S,hasUserInteracted:!0})},a[4]=n,a[5]=u);let m=u,i=!N.includes("datasources")&&g>0,h;a[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)(le,{className:"w-4 h-4"}),a[6]=h):h=a[6];let p;a[7]!==g||a[8]!==i?(p=i&&(0,t.jsx)(za,{children:g}),a[7]=g,a[8]=i,a[9]=p):p=a[9];let d;a[10]===p?d=a[11]:(d=(0,t.jsxs)(Ie,{children:[h,"Data sources",p]}),a[10]=p,a[11]=d);let o;a[12]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(Le,{children:(0,t.jsx)(Ja,{})}),a[12]=o):o=a[12];let b;a[13]===d?b=a[14]:(b=(0,t.jsxs)(Te,{value:"datasources",children:[d,o]}),a[13]=d,a[14]=b);let x;a[15]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)(Ie,{children:[(0,t.jsx)(aa,{className:"w-4 h-4"}),"Variables"]}),a[15]=x):x=a[15];let f;a[16]!==s||a[17]!==e?(f=(0,t.jsxs)(Te,{value:"variables",lastItem:!0,children:[x,(0,t.jsx)(Le,{children:Object.keys(e).length===0?(0,t.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"No variables defined"}):(0,t.jsx)(Ve,{cellIds:s.inOrderIds,variables:e})})]}),a[16]=s,a[17]=e,a[18]=f):f=a[18];let y;return a[19]!==m||a[20]!==N||a[21]!==b||a[22]!==f?(y=(0,t.jsxs)(ma,{type:"multiple",value:N,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[b,f]}),a[19]=m,a[20]=N,a[21]=b,a[22]=f,a[23]=y):y=a[23],y};export{ot as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as I}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as O}from"./react-Bj1aDYRI.js";import{D as P}from"./cells-
|
|
1
|
+
import{s as I}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as O}from"./react-Bj1aDYRI.js";import{D as P}from"./cells-CoFnpuSu.js";import"./react-dom-CSu739Rf.js";import{t as $}from"./compiler-runtime-B3qBwwSJ.js";import{n as q}from"./useEventListener-DvoEXWke.js";import{n as F}from"./constants-DMpttj8Q.js";import{t as G}from"./cn-DCUzRj2J.js";import{t as R}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-DFky0PAA.js";import{t as T}from"./tooltip-B_PkSKN3.js";import{t as w}from"./button-BbCh-29a.js";import{st as W}from"./dist-D0HyMpgV.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as A}from"./requests-DIwGYs0l.js";import{n as M,t as B}from"./LazyAnyLanguageCodeMirror-C7ALwTI_.js";import{t as J}from"./x-C-6liIBr.js";import{t as K}from"./spinner-Bhir8k53.js";import{t as L}from"./plus-BgB18UzY.js";import"./dist-HyCgERnW.js";import"./dist-BwnT-_gD.js";import"./dist-rBRbke5D.js";import"./dist-RMRSa-Mj.js";import"./dist-BURue7-e.js";import"./session-0B5NBztP.js";import{r as U}from"./useTheme-CI2eq4XN.js";import"./purify.es-B9KxLTTS.js";import{t as V}from"./RenderHTML-CXsJP1V5.js";import{a as X,c as Y,i as Q,n as Z,r as ee}from"./dialog-DRnNAWYl.js";import{n as te}from"./ImperativeModal-BW1dmntO.js";import{n as se}from"./error-banner-D0xvrLog.js";import{o as re}from"./focus-CjgVplbV.js";import{n as le}from"./useAsyncData-bgszE9F0.js";import{n as oe,r as ie,t as D}from"./react-resizable-panels.browser.esm-CV8-hvjx.js";import{a as ae,f as ne,o as me,r as ce,t as de}from"./command-BmOGG6-2.js";import{t as pe}from"./empty-state-vCWg-_A9.js";import{n as he,r as fe}from"./panel-context-D7Ggu8Nw.js";import{t as E}from"./kiosk-mode-lr7kYrA8.js";var H=$(),C=I(O(),1),s=I(R(),1),xe=q;const ue=t=>{let e=(0,H.c)(6),{children:r}=t,{openModal:i,closeModal:o}=te(),l;e[0]!==o||e[1]!==i?(l=()=>i((0,s.jsx)(je,{onClose:o})),e[0]=o,e[1]=i,e[2]=l):l=e[2];let a;return e[3]!==r||e[4]!==l?(a=(0,s.jsx)(xe,{onClick:l,children:r}),e[3]=r,e[4]=l,e[5]=a):a=e[5],a};var je=t=>{let e=(0,H.c)(4),{onClose:r}=t,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,s.jsx)(Y,{children:"Contribute a Snippet"}),e[0]=i):i=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsxs)(X,{children:[i,(0,s.jsxs)(ee,{children:["Have a useful snippet you want to share with the community? Make a pull request"," ",(0,s.jsx)("a",{href:F.githubPage,target:"_blank",className:"underline",children:"on GitHub"}),"."]})]}),e[1]=o):o=e[1];let l;return e[2]===r?l=e[3]:(l=(0,s.jsxs)(Z,{className:"max-w-md",children:[o,(0,s.jsx)(Q,{children:(0,s.jsx)(w,{"data-testid":"snippet-close-button",variant:"default",onClick:r,children:"Close"})})]}),e[2]=r,e[3]=l),l},k=$(),be=[W.lineWrapping],ve=()=>{let t=(0,k.c)(24),{readSnippets:e}=A(),[r,i]=C.useState(),o=he(),l=fe(),a;t[0]===e?a=t[1]:(a=()=>e(),t[0]=e,t[1]=a);let c;t[2]===Symbol.for("react.memo_cache_sentinel")?(c=[],t[2]=c):c=t[2];let{data:N,error:j,isPending:g}=le(a,c);if(j){let m;return t[3]===j?m=t[4]:(m=(0,s.jsx)(se,{error:j}),t[3]=j,t[4]=m),m}if(g||!N){let m;return t[5]===Symbol.for("react.memo_cache_sentinel")?(m=(0,s.jsx)(K,{size:"medium",centered:!0}),t[5]=m):m=t[5],m}let _=o==="vertical",b;t[6]===Symbol.for("react.memo_cache_sentinel")?(b=(0,s.jsx)(ae,{placeholder:"Search snippets...",className:"h-6 m-1",rootClassName:"flex-1 border-r"}),t[6]=b):b=t[6];let h,f;t[7]===Symbol.for("react.memo_cache_sentinel")?(h=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[b,(0,s.jsx)(ue,{children:(0,s.jsx)("button",{className:"float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:(0,s.jsx)(L,{className:"h-4 w-4"})})})]}),f=(0,s.jsx)(ce,{children:"No results"}),t[7]=h,t[8]=f):(h=t[7],f=t[8]);let v;t[9]===Symbol.for("react.memo_cache_sentinel")?(v=m=>i(m),t[9]=v):v=t[9];let d;t[10]===N.snippets?d=t[11]:(d=(0,s.jsx)(D,{defaultSize:40,minSize:20,maxSize:70,children:(0,s.jsxs)(de,{className:"h-full rounded-none",children:[h,f,(0,s.jsx)(_e,{onSelect:v,snippets:N.snippets})]})}),t[10]=N.snippets,t[11]=d);let u=_?"h-1":"w-1",p;t[12]===u?p=t[13]:(p=G("bg-border hover:bg-primary/50 transition-colors",u),t[12]=u,t[13]=p);let x;t[14]===p?x=t[15]:(x=(0,s.jsx)(ie,{className:p}),t[14]=p,t[15]=x);let n;t[16]===r?n=t[17]:(n=(0,s.jsx)(D,{defaultSize:60,minSize:20,children:(0,s.jsx)(C.Suspense,{children:(0,s.jsx)("div",{className:"h-full snippet-viewer flex flex-col overflow-hidden",children:r?(0,s.jsx)(Ne,{snippet:r,onClose:()=>i(void 0)},r.title):(0,s.jsx)(pe,{title:"",description:"Click on a snippet to view its content."})})})}),t[16]=r,t[17]=n);let S;return t[18]!==o||t[19]!==l||t[20]!==n||t[21]!==d||t[22]!==x?(S=(0,s.jsx)("div",{className:"flex-1 overflow-hidden h-full",children:(0,s.jsxs)(oe,{direction:o,className:"h-full",children:[d,x,n]},l)}),t[18]=o,t[19]=l,t[20]=n,t[21]=d,t[22]=x,t[23]=S):S=t[23],S},Ne=t=>{let e=(0,k.c)(33),{snippet:r,onClose:i}=t,{theme:o}=U(),{createNewCell:l}=P(),a=re(),c;e[0]!==l||e[1]!==a||e[2]!==r.sections?(c=()=>{for(let n of r.sections.toReversed())n.code&&l({code:n.code,before:!1,cellId:a??"__end__",skipIfCodeExists:!0})},e[0]=l,e[1]=a,e[2]=r.sections,e[3]=c):c=e[3];let N=c,j;e[4]!==l||e[5]!==a?(j=n=>{l({code:n,before:!1,cellId:a??"__end__"})},e[4]=l,e[5]=a,e[6]=j):j=e[6];let g=j,_;e[7]===r.title?_=e[8]:(_=(0,s.jsx)("span",{children:r.title}),e[7]=r.title,e[8]=_);let b;e[9]===Symbol.for("react.memo_cache_sentinel")?(b=(0,s.jsx)(J,{className:"h-4 w-4"}),e[9]=b):b=e[9];let h;e[10]===i?h=e[11]:(h=(0,s.jsx)(w,{size:"sm",variant:"ghost",onClick:i,className:"h-6 w-6 p-0 hover:bg-muted-foreground/10",children:b}),e[10]=i,e[11]=h);let f;e[12]!==_||e[13]!==h?(f=(0,s.jsxs)("div",{className:"text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center",children:[_,h]}),e[12]=_,e[13]=h,e[14]=f):f=e[14];let v;e[15]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(M,{className:"ml-2 h-4 w-4"}),e[15]=v):v=e[15];let d;e[16]===N?d=e[17]:(d=(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(E,{children:(0,s.jsxs)(w,{className:"float-right",size:"xs",variant:"outline",onClick:N,children:["Insert snippet",v]})})}),e[16]=N,e[17]=d);let u;if(e[18]!==g||e[19]!==r.sections||e[20]!==r.title||e[21]!==o){let n;e[23]!==g||e[24]!==r.title||e[25]!==o?(n=S=>{let{code:m,html:z,id:y}=S;return z?(0,s.jsx)("div",{children:V({html:z})},`${r.title}-${y}`):m?(0,s.jsxs)("div",{className:"relative hover-actions-parent pr-2",children:[(0,s.jsx)(E,{children:(0,s.jsx)(T,{content:"Insert snippet",children:(0,s.jsx)(w,{className:"absolute -top-2 -right-1 z-10 hover-action px-2 bg-background",size:"sm",variant:"outline",onClick:()=>{g(m)},children:(0,s.jsx)(M,{className:"h-5 w-5"})})})}),(0,s.jsx)(C.Suspense,{children:(0,s.jsx)(B,{theme:o==="dark"?"dark":"light",language:"python",className:"cm border rounded overflow-hidden",extensions:be,value:m,readOnly:!0},`${r.title}-${y}`)})]},`${r.title}-${y}`):null},e[23]=g,e[24]=r.title,e[25]=o,e[26]=n):n=e[26],u=r.sections.map(n),e[18]=g,e[19]=r.sections,e[20]=r.title,e[21]=o,e[22]=u}else u=e[22];let p;e[27]!==d||e[28]!==u?(p=(0,s.jsxs)("div",{className:"px-2 py-2 space-y-4 overflow-auto flex-1",children:[d,u]}),e[27]=d,e[28]=u,e[29]=p):p=e[29];let x;return e[30]!==p||e[31]!==f?(x=(0,s.jsxs)(s.Fragment,{children:[f,p]}),e[30]=p,e[31]=f,e[32]=x):x=e[32],x},_e=t=>{let e=(0,k.c)(7),{snippets:r,onSelect:i}=t,o;if(e[0]!==i||e[1]!==r){let a;e[3]===i?a=e[4]:(a=c=>(0,s.jsx)(me,{className:"rounded-none",onSelect:()=>i(c),children:(0,s.jsx)("div",{className:"flex flex-row gap-2 items-center",children:(0,s.jsx)("span",{className:"mt-1 text-accent-foreground",children:c.title})})},c.title),e[3]=i,e[4]=a),o=r.map(a),e[0]=i,e[1]=r,e[2]=o}else o=e[2];let l;return e[5]===o?l=e[6]:(l=(0,s.jsx)(ne,{className:"flex flex-col overflow-auto",children:o}),e[5]=o,e[6]=l),l};export{ve as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as r}from"./useEvent-D91BmmQi.js";import{Fn as o,
|
|
1
|
+
import{p as r}from"./useEvent-D91BmmQi.js";import{Fn as o,In as h,ki as n}from"./cells-CoFnpuSu.js";import{f as m}from"./arrays-DYDL-3-i.js";var d="marimo:ai:chatState:v5";const v=r(null),f=n("marimo:ai:includeOtherCells",!0,h);function u(t){let a=new Map;for(let[s,e]of t.entries()){if(e.messages.length===0)continue;let c=m(e.messages,l=>l.id);a.set(s,{...e,messages:c})}return a}const i=n(d,{chats:new Map,activeChatId:null},o({toSerializable:t=>({chats:[...u(t.chats).entries()],activeChatId:t.activeChatId}),fromSerializable:t=>({chats:new Map(t.chats),activeChatId:t.activeChatId})})),C=r(t=>{let a=t(i);return a.activeChatId?a.chats.get(a.activeChatId):null},(t,a,s)=>{a(i,e=>({...e,activeChatId:s}))});export{f as i,v as n,i as r,C as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var Vt=Object.defineProperty;var $e=f=>{throw TypeError(f)};var Qt=(f,h,y)=>h in f?Vt(f,h,{enumerable:!0,configurable:!0,writable:!0,value:y}):f[h]=y;var n=(f,h,y)=>Qt(f,typeof h!="symbol"?h+"":h,y),ce=(f,h,y)=>h.has(f)||$e("Cannot "+y);var o=(f,h,y)=>(ce(f,h,"read from private field"),y?y.call(f):h.get(f)),_=(f,h,y)=>h.has(f)?$e("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(f):h.set(f,y),C=(f,h,y,Q)=>(ce(f,h,"write to private field"),Q?Q.call(f,y):h.set(f,y),y),A=(f,h,y)=>(ce(f,h,"access private method"),y);import{i as U,p as ne,u as Yt}from"./useEvent-D91BmmQi.js";import{
|
|
1
|
+
var Vt=Object.defineProperty;var $e=f=>{throw TypeError(f)};var Qt=(f,h,y)=>h in f?Vt(f,h,{enumerable:!0,configurable:!0,writable:!0,value:y}):f[h]=y;var n=(f,h,y)=>Qt(f,typeof h!="symbol"?h+"":h,y),ce=(f,h,y)=>h.has(f)||$e("Cannot "+y);var o=(f,h,y)=>(ce(f,h,"read from private field"),y?y.call(f):h.get(f)),_=(f,h,y)=>h.has(f)?$e("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(f):h.set(f,y),C=(f,h,y,Q)=>(ce(f,h,"write to private field"),Q?Q.call(f,y):h.set(f,y),y),A=(f,h,y)=>(ce(f,h,"access private method"),y);import{i as U,p as ne,u as Yt}from"./useEvent-D91BmmQi.js";import{Ci as Gt,Ni as Kt,Oi as Jt,Pi as G,Pn as Xt,Ti as Zt,b as er,bi as tr,ot as ze,x as rr,__tla as sr}from"./cells-CoFnpuSu.js";import{t as nr}from"./get-C-qh_et5.js";import{t as ar}from"./debounce-DhnxH9Rh.js";import{t as ir}from"./_baseSet-CxV9N1bc.js";import{_ as p,y as g}from"./useEventListener-DvoEXWke.js";import{t as or}from"./invariant-BUdrueMv.js";import{w as lr}from"./utils-CvI-39U6.js";import{T as ur,c as pe,l as Ve,n as dr}from"./config-ClMcu_sV.js";import{n as cr}from"./switch-Ac7CgLgh.js";import{n as pr}from"./globals-BivClSmn.js";import{t as fr}from"./createReducer-CI9qeK_X.js";import{r as hr}from"./strings-wdPMRf6Z.js";import{t as fe}from"./requests-DIwGYs0l.js";import{a as Qe,l as mr,r as Ye,__tla as gr}from"./markdown-renderer-DC51vSBA.js";import{t as yr}from"./DeferredRequestRegistry-CNldVcrP.js";import{t as wr}from"./preload-helper-BPPi7vOr.js";import{t as Ge}from"./Deferred-CP7vq682.js";import{t as Ke}from"./uuid-e9lSomwA.js";import{t as br}from"./use-toast-CJ1Tj2eC.js";import{n as vr}from"./RenderHTML-CXsJP1V5.js";import{t as _r}from"./useRunCells-Ck2FcYV8.js";import{n as Cr,t as Rr}from"./blob-Bgnx1kuY.js";import{n as xr,r as qr,t as Er}from"./share-mSf5FZIP.js";import{i as Je,r as Sr,t as Mr}from"./events-CPoJAfgx.js";let Xe,Ze,et,he,me,tt,ge,rt,V,st,nt,ye,we,at,it,ot,lt,ae,ut,dt,ie,K,ct,be,kr=Promise.all([(()=>{try{return sr}catch{}})(),(()=>{try{return gr}catch{}})()]).then(async()=>{var T,ee,ft,Ae,k,W,S,Ue,F,Te,P,Y,D,oe,We,je,te,I,L,H,R,j,N,ht,mt,gt,re;function f(t,e,r){return t==null?t:ir(t,e,r)}K=f,ct=ne(null);var{valueAtom:h,useActions:y}=fr(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Ke()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});Ze=()=>Yt(h),Xe=function(){return y()};let Q,_e,Ce;Q=class{constructor(){n(this,"subscriptions",new Map)}addSubscription(t,e){var r;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(r=this.subscriptions.get(t))==null||r.add(e)}removeSubscription(t,e){var r;(r=this.subscriptions.get(t))==null||r.delete(e)}notify(t,e){for(let r of this.subscriptions.get(t)??[])r(e)}},me=class ve{constructor(e){n(this,"subscriptions",new Q);this.producer=e}static withProducerCallback(e){return new ve(e)}static empty(){return new ve}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify("message",e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify("open",new Event("open"))})}get readyState(){return WebSocket.OPEN}reconnect(e,r){this.close(),this.connect()}close(){this.subscriptions.notify("close",new Event("close"))}send(e){return this.subscriptions.notify("message",new MessageEvent("message",{data:e})),Promise.resolve()}addEventListener(e,r){this.subscriptions.addSubscription(e,r),e==="open"&&r(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,r){this.subscriptions.removeSubscription(e,r)}},_e=1e10,Ce=1e3;function J(t,e){let r=t.map(s=>`"${s}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${r}`)}function wt(t={}){let e={};function r(l){e=l}let s={};function a(l){var c;s.unregisterHandler&&s.unregisterHandler(),s=l,(c=s.registerHandler)==null||c.call(s,zt)}let i;function u(l){if(typeof l=="function"){i=l;return}i=(c,w)=>{let m=l[c];if(m)return m(w);let b=l._;if(!b)throw Error(`The requested method has no handler: ${c}`);return b(c,w)}}let{maxRequestTime:d=Ce}=t;t.transport&&a(t.transport),t.requestHandler&&u(t.requestHandler),t._debugHooks&&r(t._debugHooks);let v=0;function x(){return v<=_e?++v:v=0}let q=new Map,E=new Map;function $(l,...c){let w=c[0];return new Promise((m,b)=>{var z;if(!s.send)throw J(["send"],"make requests");let M=x(),B={type:"request",id:M,method:l,params:w};q.set(M,{resolve:m,reject:b}),d!==1/0&&E.set(M,setTimeout(()=>{E.delete(M),b(Error("RPC request timed out."))},d)),(z=e.onSend)==null||z.call(e,B),s.send(B)})}let se=new Proxy($,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>$(c,m)}),Oe=se;function Be(l,...c){var b;let w=c[0];if(!s.send)throw J(["send"],"send messages");let m={type:"message",id:l,payload:w};(b=e.onSend)==null||b.call(e,m),s.send(m)}let De=new Proxy(Be,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>Be(c,m)}),He=De,O=new Map,de=new Set;function Ht(l,c){var w;if(!s.registerHandler)throw J(["registerHandler"],"register message listeners");if(l==="*"){de.add(c);return}O.has(l)||O.set(l,new Set),(w=O.get(l))==null||w.add(c)}function $t(l,c){var w,m;if(l==="*"){de.delete(c);return}(w=O.get(l))==null||w.delete(c),((m=O.get(l))==null?void 0:m.size)===0&&O.delete(l)}async function zt(l){var c,w;if((c=e.onReceive)==null||c.call(e,l),!("type"in l))throw Error("Message does not contain a type.");if(l.type==="request"){if(!s.send||!i)throw J(["send","requestHandler"],"handle requests");let{id:m,method:b,params:M}=l,B;try{B={type:"response",id:m,success:!0,payload:await i(b,M)}}catch(z){if(!(z instanceof Error))throw z;B={type:"response",id:m,success:!1,error:z.message}}(w=e.onSend)==null||w.call(e,B),s.send(B);return}if(l.type==="response"){let m=E.get(l.id);m!=null&&clearTimeout(m);let{resolve:b,reject:M}=q.get(l.id)??{};l.success?b==null||b(l.payload):M==null||M(Error(l.error));return}if(l.type==="message"){for(let b of de)b(l.id,l.payload);let m=O.get(l.id);if(!m)return;for(let b of m)b(l.payload);return}throw Error(`Unexpected RPC message type: ${l.type}`)}return{setTransport:a,setRequestHandler:u,request:se,requestProxy:Oe,send:De,sendProxy:He,addMessageListener:Ht,removeMessageListener:$t,proxy:{send:He,request:Oe},_setDebugHooks:r}}function bt(t){return wt(t)}var Re="[transport-id]";function vt(t,e){let{transportId:r}=e;return r==null?t:{[Re]:r,data:t}}function _t(t,e){let{transportId:r,filter:s}=e,a=s==null?void 0:s();if(r!=null&&a!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let i=t;if(r){if(t[Re]!==r)return[!0];i=t.data}return a===!1?[!0]:[!1,i]}function Ct(t,e={}){let{transportId:r,filter:s,remotePort:a}=e,i=t,u=a??t,d;return{send(v){u.postMessage(vt(v,{transportId:r}))},registerHandler(v){d=x=>{let q=x.data,[E,$]=_t(q,{transportId:r,filter:()=>s==null?void 0:s(x)});E||v($)},i.addEventListener("message",d)},unregisterHandler(){d&&i.removeEventListener("message",d)}}}function Rt(t,e){return Ct(t,e)}function xe(t){return bt({transport:Rt(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{p.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{p.debug("[rpc] Worker -> Parent",e)}}})}be=ne("Initializing..."),ie=ne("loading"),et=ne(t=>{let e=t(er),r=Object.values(e.cellRuntime);return r.some(s=>!mr(s.output))?!0:r.every(s=>s.status==="idle")});var qe=xr(),Ee="marimo:file",Se=new tr(null);const xt={saveFile(t){Se.set(Ee,t)},readFile(){return Se.get(Ee)}};var qt={saveFile(t){G.setCodeForHash((0,qe.compressToEncodedURIComponent)(t))},readFile(){let t=G.getCodeFromHash()||G.getCodeFromSearchParam();return t?(0,qe.decompressFromEncodedURIComponent)(t):null}};const Et={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var St={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}};const Mt={saveFile(t){},readFile(){return U.get(Gt)??null}};var kt={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
|
|
2
2
|
`)}},Me=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};let X;V=new Me([Mt,Et,qt]),X=new Me([xt,St,kt]),we=class pt{constructor(){n(this,"initialized",new Ge);n(this,"sendRename",async({filename:e})=>(e===null||(G.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));n(this,"sendSave",async e=>{if(!this.saveRpc)return p.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let r=await this.readCode();return r.contents&&(V.saveFile(r.contents),X.saveFile(r.contents)),this.rpc.proxy.request.saveNotebook(e).catch(s=>{p.error(s)}),null});n(this,"sendCopy",async()=>{g()});n(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));n(this,"sendPdb",async()=>{g()});n(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
|
|
3
|
-
`)),await this.putControlRequest({type:"execute-cells",...e}),null));n(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));n(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));n(this,"sendShutdown",async()=>(window.close(),null));n(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));n(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));n(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));n(this,"sendCodeCompletionRequest",async e=>(U.get(tr)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));n(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),cr.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(p.error(r),null))));n(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));n(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));n(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(V.saveFile(e.contents),X.saveFile(e.contents)),qr(),null});n(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(p.warn("Save RPC not initialized"),{contents:""}));n(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));n(this,"openFile",async({path:e})=>{let r=Er({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});n(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));n(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));n(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Ke()}),null));n(this,"sendInstantiate",async e=>null);n(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));n(this,"sendCreateFileOrFolder",async e=>{let r=null;return e.file&&(r=(await Cr(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:r}})});n(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));n(this,"sendCopyFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"copy_file_or_directory",payload:e}));n(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));n(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));n(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));n(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));n(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));n(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));n(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));n(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));n(this,"previewSQLSchemaList",async e=>(await this.putControlRequest({type:"list-sql-schemas",...e}),null));n(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));n(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));n(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));n(this,"sendDocumentTransaction",()=>Promise.resolve(null));n(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));n(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));n(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());n(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));n(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));n(this,"getUsageStats",g);n(this,"openTutorial",g);n(this,"getRecentFiles",g);n(this,"getWorkspaceFiles",g);n(this,"getRunningNotebooks",g);n(this,"shutdownSession",g);n(this,"exportAsIPYNB",g);n(this,"exportAsPDF",g);n(this,"autoExportAsHTML",g);n(this,"autoExportAsMarkdown",g);n(this,"autoExportAsIPYNB",g);n(this,"updateCellOutputs",g);n(this,"writeSecret",g);n(this,"invokeAiTool",g);n(this,"clearCache",g);n(this,"getCacheInfo",g);n(this,"listStorageEntries",g);n(this,"downloadStorage",g);ur()&&(this.rpc=xe(new Worker(new URL(""+new URL("worker-Bp53hInb.js",import.meta.url).href,""+import.meta.url),{type:"module",name:ke()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),U.set(ie,"ready"),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{U.set(be,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{if(this.initialized.status==="resolved"){p.error(e),br({title:"Error initializing",description:e,variant:"danger"});return}U.set(ie,"error"),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new pt),window[e]}getSaveWorker(){return ze()==="read"?(p.debug("Using partially disabled SaveWorker in read-mode"),{readFile:g,readNotebook:async()=>await V.readFile()??"",saveNotebook:g}):xe(new Worker(new URL(""+new URL("save-worker-Bcr7rl0C.js",import.meta.url).href,""+import.meta.url),{type:"module",name:ke()})).proxy.request}async startSession(){let e=await V.readFile(),r=await X.readFile(),s=U.get(er)??G.getFilename(),a=U.get(lr),i={},u=new URLSearchParams(window.location.search);for(let d of u.keys()){let v=u.getAll(d);i[d]=v.length===1?v[0]:v}await this.rpc.proxy.request.startSession({queryParameters:i,code:e||r||"",filename:s,userConfig:{...a,runtime:{...a.runtime,auto_instantiate:ze()==="read"?!0:a.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):p.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},st=function(){return me.withProducerCallback(t=>{we.INSTANCE.attachMessageConsumer(t)})};function ke(){let t=typeof window<"u"&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0;return pr()+(t?"::controller":"")}rt=function(t=pe()){let e=window.fetch;return window.fetch=async(r,s)=>{let a=r instanceof Request?r.url:r.toString();if(a.startsWith("data:"))return e(r,s);try{let i=Z(a,t);if(i){let u=await(await e(i)).arrayBuffer();return new Response(u,{headers:{"Content-Type":Ft(a)}})}return e(r,s)}catch(i){return p.error("Error parsing URL",i),e(r,s)}},()=>{window.fetch=e}};function Ft(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}ot=function(t,e=pe()){let r=t.http.bind(t),s=t.load.bind(t);return t.http=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await r(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},t.load=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await s(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},()=>{t.http=r,t.load=s}};function Fe(t){return t.startsWith(".")?t.slice(1):t}function Pt(t,e=pe()){let r=Z(t,e);if(!r)return t;let s=Rr(r);return URL.createObjectURL(s)}function Z(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let s=new URL(t,r).pathname,a=Pe(t),i=Pe(s);return e[t]||e[Fe(t)]||e[s]||e[Fe(s)]||a&&e[a]||i&&e[i]}function Pe(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function le(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[s,a]of t.entries())r.push(...le(a,[...e,s]));else if(typeof t=="object"&&t)for(let[s,a]of Object.entries(t))r.push(...le(a,[...e,s]));return r}function It(t){let e=le(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),s=[],a=[];for(let i of e){let u=nr(t,i);if(u instanceof DataView){let d=Qe(u);s.push(d),a.push(i),K(r,i,d)}}return{state:r,buffers:s,bufferPaths:a}}function Ie(t){let{state:e,bufferPaths:r,buffers:s}=t;if(!r||r.length===0)return e;s&&or(s.length===r.length,"Buffers and buffer paths not the same length");let a=e;for(let[i,u]of r.entries()){let d=s==null?void 0:s[i];if(d==null){p.warn("[anywidget] Could not find buffer at path",u);continue}typeof d=="string"?K(a,u,Ye(d)):K(a,u,d)}return a}ge=function(t){return typeof t!="string"||t.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(t)||Nt(t))};function Lt(){return U.get(_r)||vr()}function Nt(t){return t.startsWith("data:text/javascript;base64,")||t.startsWith("data:application/javascript;base64,")||t.startsWith("data:text/css;base64,")?Lt():!1}const Le={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw p.warn(t),Error(t)}};function At(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Ut=(Ae=class{constructor(){_(this,ee);_(this,T,new Map)}getModule(t,e){let r=o(this,T).get(e);if(r)return r;let s=A(this,ee,ft).call(this,t).catch(a=>{throw o(this,T).delete(e),a});return o(this,T).set(e,s),s}invalidate(t){p.debug(`[WidgetDefRegistry] Invalidating module cache for hash=${t}`),o(this,T).delete(t)}},T=new WeakMap,ee=new WeakSet,ft=async function(t){if(!ge(t))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(t)}`);let e=dr(t).toString();return Ve()&&(e=Pt(e)),wr(()=>import(e).then(async r=>(await r.__tla,r)),[],import.meta.url)},Ae),Tt=(Ue=class{constructor(){_(this,k);_(this,W);_(this,S)}async bind(t,e){var i,u;if(o(this,S)&&o(this,W)===t)return o(this,S);o(this,S)&&o(this,W)!==t&&(p.debug("[WidgetBinding] Hot-reload detected, aborting previous binding"),(i=o(this,k))==null||i.abort(),C(this,k,void 0),C(this,S,void 0)),C(this,W,t),C(this,k,new AbortController);let r=o(this,k).signal,s=typeof t=="function"?await t():t,a=await((u=s.initialize)==null?void 0:u.call(s,{model:e,experimental:Le}));return a&&r.addEventListener("abort",a),C(this,S,async(d,v)=>{var q;let x=await((q=s.render)==null?void 0:q.call(s,{model:e,el:d,experimental:Le}));x&&At([v,r]).addEventListener("abort",()=>{let E=v.aborted?"view unmount":"binding destroyed";p.debug(`[WidgetBinding] Render cleanup triggered (reason: ${E})`),x()})}),o(this,S)}destroy(){var t;p.debug("[WidgetBinding] Destroying binding, aborting initialize lifecycle"),(t=o(this,k))==null||t.abort(),C(this,k,void 0),C(this,W,void 0),C(this,S,void 0)}},k=new WeakMap,W=new WeakMap,S=new WeakMap,Ue),Wt=(Te=class{constructor(){_(this,P,new Map)}getOrCreate(t){let e=o(this,P).get(t);return e||(e=new Tt,o(this,P).set(t,e)),e}destroy(t){let e=o(this,P).get(t);e&&(p.debug(`[BindingManager] Destroying binding for model=${t}`),e.destroy(),o(this,P).delete(t))}has(t){return o(this,P).has(t)}},P=new WeakMap,Te);dt=new Ut,ye=new Wt;var jt=(We=class{constructor(t=1e4){_(this,D);_(this,F,new Map);_(this,Y);C(this,Y,t)}get(t){let e=A(this,D,oe).call(this,t);return e.deferred.status==="pending"&&setTimeout(()=>{e.deferred.status==="pending"&&(e.deferred.reject(Error(`Model not found for key: ${t}`)),o(this,F).delete(t))},o(this,Y)),e.deferred.promise}create(t,e){let r=A(this,D,oe).call(this,t);r.deferred.resolve(e(r.controller.signal))}set(t,e){A(this,D,oe).call(this,t).deferred.resolve(e)}getSync(t){let e=o(this,F).get(t);if(e&&e.deferred.status==="resolved")return e.deferred.value}delete(t){var e;p.debug(`[ModelManager] Deleting model=${t}, aborting lifecycle signal`),(e=o(this,F).get(t))==null||e.controller.abort(),o(this,F).delete(t)}},F=new WeakMap,Y=new WeakMap,D=new WeakSet,oe=function(t){let e=o(this,F).get(t);return e||(e={deferred:new Ge,controller:new AbortController},o(this,F).set(t,e)),e},We),Ne=Symbol("marimo");function ue(t){return t[Ne]}ae=new jt;var Bt=(je=Ne,j=class{constructor(e,r,s){_(this,N);_(this,te,"change");_(this,I);_(this,L);_(this,H);_(this,R,{});n(this,je,{updateAndEmitDiffs:e=>A(this,N,mt).call(this,e),emitCustomMessage:(e,r)=>A(this,N,gt).call(this,e,r)});n(this,"widget_manager",{async get_model(e){let r=await j._modelManager.get(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});_(this,re,ar(()=>{let e=o(this,R)[o(this,te)];if(e)for(let r of e)try{r()}catch(s){p.error("Error emitting event",s)}},0));C(this,L,e),C(this,H,r),C(this,I,new Map),s&&s.addEventListener("abort",()=>{p.debug("[Model] Signal aborted, clearing all listeners"),C(this,R,{})})}off(e,r){var s;if(!e){C(this,R,{});return}if(!r){o(this,R)[e]=new Set;return}(s=o(this,R)[e])==null||s.delete(r)}send(e,r,s){let a=(s??[]).map(i=>i instanceof ArrayBuffer?new DataView(i):new DataView(i.buffer,i.byteOffset,i.byteLength));return o(this,H).sendCustomMessage(e,a).then(()=>r==null?void 0:r())}get(e){return o(this,L)[e]}set(e,r){C(this,L,{...o(this,L),[e]:r}),o(this,I).set(e,r),A(this,N,ht).call(this,`change:${e}`,r),o(this,re).call(this)}save_changes(){if(o(this,I).size===0)return;let e=Object.fromEntries(o(this,I).entries());o(this,I).clear(),o(this,H).sendUpdate(e)}on(e,r){o(this,R)[e]||(o(this,R)[e]=new Set),o(this,R)[e].add(r)}},te=new WeakMap,I=new WeakMap,L=new WeakMap,H=new WeakMap,R=new WeakMap,N=new WeakSet,ht=function(e,r){if(!o(this,R)[e])return;let s=o(this,R)[e];for(let a of s)try{a(r)}catch(i){p.error("Error emitting event",i)}},mt=function(e){e!=null&&Object.keys(e).forEach(r=>{let s=r;o(this,L)[s]!==e[s]&&this.set(s,e[s])})},gt=function(e,r=[]){let s=o(this,R)["msg:custom"];if(s)for(let a of s)try{a(e.content,r)}catch(i){p.error("Error emitting event",i)}},re=new WeakMap,n(j,"_modelManager",ae),j);tt=async function(t,e){let r=e.model_id,s=e.message,a=("buffers"in s?s.buffers:[]).map(Ye);switch(s.method){case"open":{let{state:i,buffer_paths:u=[]}=s,d=Ie({state:i,bufferPaths:u,buffers:a}),v=t.getSync(r);if(v){ue(v).updateAndEmitDiffs(d);return}t.create(r,x=>new Bt(d,Ve()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(q){if(x.aborted){p.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:E,buffers:$,bufferPaths:se}=It(q);await fe().sendModelValue({modelId:r,message:{method:"update",state:E,bufferPaths:se},buffers:$})},async sendCustomMessage(q,E){if(x.aborted){p.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await fe().sendModelValue({modelId:r,message:{method:"custom",content:q},buffers:E.map(Qe)})}},x));return}case"custom":ue(await t.get(r)).emitCustomMessage({method:"custom",content:s.content},a);return;case"close":ye.destroy(r),t.delete(r);return;case"update":{let{state:i,buffer_paths:u=[]}=s,d=Ie({state:i,bufferPaths:u,buffers:a});ue(await t.get(r)).updateAndEmitDiffs(d);return}default:hr(s)}},Jt(ae,"MODEL_MANAGER");function Ot(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}he=class yt{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new yt),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&p.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let s=this.entries.get(e);s===void 0?this.entries.set(e,{objectId:e,value:Kt(r,this),elements:new Set([r])}):s.elements.add(r)}removeInstance(e,r){let s=this.entries.get(e);s!=null&&s.elements.has(r)&&s.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,s){let a=this.entries.get(e);if(a===void 0){p.warn("UIElementRegistry missing entry",e);return}if(Ot(r)){a.value=r.value,a.elements.forEach(i=>{i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:r.value,element:i}}))});return}a.elements.forEach(i=>{i.dispatchEvent(Mr.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:s}}))})}broadcastValueUpdate(e,r,s){let a=this.entries.get(r);a===void 0?p.warn("UIElementRegistry missing entry",r):(a.value=s,a.elements.forEach(i=>{i!==e&&i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:s,element:i}}))}),document.dispatchEvent(Sr.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},it=he.INSTANCE,nt=new yr("function-call-result",async(t,e)=>{await fe().sendFunctionRequest({functionCallId:t,...e})}),ut="68px";var Dt="288px";at=t=>t?/^\d+$/.test(t)?`${t}px`:t:Dt,lt=Gt({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}})});export{Xe as C,Ze as S,et as _,kr as __tla,he as a,me as b,tt as c,ge as d,rt as f,V as g,st as h,nt as i,ye as l,we as m,at as n,it as o,ot as p,lt as r,ae as s,ut as t,dt as u,ie as v,K as w,ct as x,be as y};
|
|
3
|
+
`)),await this.putControlRequest({type:"execute-cells",...e}),null));n(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));n(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));n(this,"sendShutdown",async()=>(window.close(),null));n(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));n(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));n(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));n(this,"sendCodeCompletionRequest",async e=>(U.get(rr)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));n(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),cr.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(p.error(r),null))));n(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));n(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));n(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(V.saveFile(e.contents),X.saveFile(e.contents)),qr(),null});n(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(p.warn("Save RPC not initialized"),{contents:""}));n(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));n(this,"openFile",async({path:e})=>{let r=Er({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});n(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));n(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));n(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Ke()}),null));n(this,"sendInstantiate",async e=>null);n(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));n(this,"sendCreateFileOrFolder",async e=>{let r=null;return e.file&&(r=(await Cr(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:r}})});n(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));n(this,"sendCopyFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"copy_file_or_directory",payload:e}));n(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));n(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));n(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));n(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));n(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));n(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));n(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));n(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));n(this,"previewSQLSchemaList",async e=>(await this.putControlRequest({type:"list-sql-schemas",...e}),null));n(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));n(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));n(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));n(this,"sendDocumentTransaction",()=>Promise.resolve(null));n(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));n(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));n(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());n(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));n(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));n(this,"getUsageStats",g);n(this,"openTutorial",g);n(this,"getRecentFiles",g);n(this,"getWorkspaceFiles",g);n(this,"getRunningNotebooks",g);n(this,"shutdownSession",g);n(this,"exportAsIPYNB",g);n(this,"exportAsPDF",g);n(this,"autoExportAsHTML",g);n(this,"autoExportAsMarkdown",g);n(this,"autoExportAsIPYNB",g);n(this,"updateCellOutputs",g);n(this,"writeSecret",g);n(this,"invokeAiTool",g);n(this,"clearCache",g);n(this,"getCacheInfo",g);n(this,"listStorageEntries",g);n(this,"downloadStorage",g);ur()&&(this.rpc=xe(new Worker(new URL(""+new URL("worker-Bp53hInb.js",import.meta.url).href,""+import.meta.url),{type:"module",name:ke()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),U.set(ie,"ready"),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{U.set(be,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{if(this.initialized.status==="resolved"){p.error(e),br({title:"Error initializing",description:e,variant:"danger"});return}U.set(ie,"error"),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new pt),window[e]}getSaveWorker(){return ze()==="read"?(p.debug("Using partially disabled SaveWorker in read-mode"),{readFile:g,readNotebook:async()=>await V.readFile()??"",saveNotebook:g}):xe(new Worker(new URL(""+new URL("save-worker-Bcr7rl0C.js",import.meta.url).href,""+import.meta.url),{type:"module",name:ke()})).proxy.request}async startSession(){let e=await V.readFile(),r=await X.readFile(),s=U.get(Zt)??G.getFilename(),a=U.get(lr),i={},u=new URLSearchParams(window.location.search);for(let d of u.keys()){let v=u.getAll(d);i[d]=v.length===1?v[0]:v}await this.rpc.proxy.request.startSession({queryParameters:i,code:e||r||"",filename:s,userConfig:{...a,runtime:{...a.runtime,auto_instantiate:ze()==="read"?!0:a.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):p.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},st=function(){return me.withProducerCallback(t=>{we.INSTANCE.attachMessageConsumer(t)})};function ke(){let t=typeof window<"u"&&window.__MARIMO_HAS_WASM_CONTROLLER__===!0;return pr()+(t?"::controller":"")}rt=function(t=pe()){let e=window.fetch;return window.fetch=async(r,s)=>{let a=r instanceof Request?r.url:r.toString();if(a.startsWith("data:"))return e(r,s);try{let i=Z(a,t);if(i){let u=await(await e(i)).arrayBuffer();return new Response(u,{headers:{"Content-Type":Pt(a)}})}return e(r,s)}catch(i){return p.error("Error parsing URL",i),e(r,s)}},()=>{window.fetch=e}};function Pt(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}ot=function(t,e=pe()){let r=t.http.bind(t),s=t.load.bind(t);return t.http=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await r(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},t.load=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await s(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},()=>{t.http=r,t.load=s}};function Pe(t){return t.startsWith(".")?t.slice(1):t}function Ft(t,e=pe()){let r=Z(t,e);if(!r)return t;let s=Rr(r);return URL.createObjectURL(s)}function Z(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let s=new URL(t,r).pathname,a=Fe(t),i=Fe(s);return e[t]||e[Pe(t)]||e[s]||e[Pe(s)]||a&&e[a]||i&&e[i]}function Fe(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function le(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[s,a]of t.entries())r.push(...le(a,[...e,s]));else if(typeof t=="object"&&t)for(let[s,a]of Object.entries(t))r.push(...le(a,[...e,s]));return r}function It(t){let e=le(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),s=[],a=[];for(let i of e){let u=nr(t,i);if(u instanceof DataView){let d=Qe(u);s.push(d),a.push(i),K(r,i,d)}}return{state:r,buffers:s,bufferPaths:a}}function Ie(t){let{state:e,bufferPaths:r,buffers:s}=t;if(!r||r.length===0)return e;s&&or(s.length===r.length,"Buffers and buffer paths not the same length");let a=e;for(let[i,u]of r.entries()){let d=s==null?void 0:s[i];if(d==null){p.warn("[anywidget] Could not find buffer at path",u);continue}typeof d=="string"?K(a,u,Ye(d)):K(a,u,d)}return a}ge=function(t){return typeof t!="string"||t.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(t)||Nt(t))};function Lt(){return U.get(_r)||vr()}function Nt(t){return t.startsWith("data:text/javascript;base64,")||t.startsWith("data:application/javascript;base64,")||t.startsWith("data:text/css;base64,")?Lt():!1}const Le={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw p.warn(t),Error(t)}};function At(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Ut=(Ae=class{constructor(){_(this,ee);_(this,T,new Map)}getModule(t,e){let r=o(this,T).get(e);if(r)return r;let s=A(this,ee,ft).call(this,t).catch(a=>{throw o(this,T).delete(e),a});return o(this,T).set(e,s),s}invalidate(t){p.debug(`[WidgetDefRegistry] Invalidating module cache for hash=${t}`),o(this,T).delete(t)}},T=new WeakMap,ee=new WeakSet,ft=async function(t){if(!ge(t))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(t)}`);let e=dr(t).toString();return Ve()&&(e=Ft(e)),wr(()=>import(e).then(async r=>(await r.__tla,r)),[],import.meta.url)},Ae),Tt=(Ue=class{constructor(){_(this,k);_(this,W);_(this,S)}async bind(t,e){var i,u;if(o(this,S)&&o(this,W)===t)return o(this,S);o(this,S)&&o(this,W)!==t&&(p.debug("[WidgetBinding] Hot-reload detected, aborting previous binding"),(i=o(this,k))==null||i.abort(),C(this,k,void 0),C(this,S,void 0)),C(this,W,t),C(this,k,new AbortController);let r=o(this,k).signal,s=typeof t=="function"?await t():t,a=await((u=s.initialize)==null?void 0:u.call(s,{model:e,experimental:Le}));return a&&r.addEventListener("abort",a),C(this,S,async(d,v)=>{var q;let x=await((q=s.render)==null?void 0:q.call(s,{model:e,el:d,experimental:Le}));x&&At([v,r]).addEventListener("abort",()=>{let E=v.aborted?"view unmount":"binding destroyed";p.debug(`[WidgetBinding] Render cleanup triggered (reason: ${E})`),x()})}),o(this,S)}destroy(){var t;p.debug("[WidgetBinding] Destroying binding, aborting initialize lifecycle"),(t=o(this,k))==null||t.abort(),C(this,k,void 0),C(this,W,void 0),C(this,S,void 0)}},k=new WeakMap,W=new WeakMap,S=new WeakMap,Ue),Wt=(Te=class{constructor(){_(this,F,new Map)}getOrCreate(t){let e=o(this,F).get(t);return e||(e=new Tt,o(this,F).set(t,e)),e}destroy(t){let e=o(this,F).get(t);e&&(p.debug(`[BindingManager] Destroying binding for model=${t}`),e.destroy(),o(this,F).delete(t))}has(t){return o(this,F).has(t)}},F=new WeakMap,Te);dt=new Ut,ye=new Wt;var jt=(We=class{constructor(t=1e4){_(this,D);_(this,P,new Map);_(this,Y);C(this,Y,t)}get(t){let e=A(this,D,oe).call(this,t);return e.deferred.status==="pending"&&setTimeout(()=>{e.deferred.status==="pending"&&(e.deferred.reject(Error(`Model not found for key: ${t}`)),o(this,P).delete(t))},o(this,Y)),e.deferred.promise}create(t,e){let r=A(this,D,oe).call(this,t);r.deferred.resolve(e(r.controller.signal))}set(t,e){A(this,D,oe).call(this,t).deferred.resolve(e)}getSync(t){let e=o(this,P).get(t);if(e&&e.deferred.status==="resolved")return e.deferred.value}delete(t){var e;p.debug(`[ModelManager] Deleting model=${t}, aborting lifecycle signal`),(e=o(this,P).get(t))==null||e.controller.abort(),o(this,P).delete(t)}},P=new WeakMap,Y=new WeakMap,D=new WeakSet,oe=function(t){let e=o(this,P).get(t);return e||(e={deferred:new Ge,controller:new AbortController},o(this,P).set(t,e)),e},We),Ne=Symbol("marimo");function ue(t){return t[Ne]}ae=new jt;var Ot=(je=Ne,j=class{constructor(e,r,s){_(this,N);_(this,te,"change");_(this,I);_(this,L);_(this,H);_(this,R,{});n(this,je,{updateAndEmitDiffs:e=>A(this,N,mt).call(this,e),emitCustomMessage:(e,r)=>A(this,N,gt).call(this,e,r)});n(this,"widget_manager",{async get_model(e){let r=await j._modelManager.get(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});_(this,re,ar(()=>{let e=o(this,R)[o(this,te)];if(e)for(let r of e)try{r()}catch(s){p.error("Error emitting event",s)}},0));C(this,L,e),C(this,H,r),C(this,I,new Map),s&&s.addEventListener("abort",()=>{p.debug("[Model] Signal aborted, clearing all listeners"),C(this,R,{})})}off(e,r){var s;if(!e){C(this,R,{});return}if(!r){o(this,R)[e]=new Set;return}(s=o(this,R)[e])==null||s.delete(r)}send(e,r,s){let a=(s??[]).map(i=>i instanceof ArrayBuffer?new DataView(i):new DataView(i.buffer,i.byteOffset,i.byteLength));return o(this,H).sendCustomMessage(e,a).then(()=>r==null?void 0:r())}get(e){return o(this,L)[e]}set(e,r){C(this,L,{...o(this,L),[e]:r}),o(this,I).set(e,r),A(this,N,ht).call(this,`change:${e}`,r),o(this,re).call(this)}save_changes(){if(o(this,I).size===0)return;let e=Object.fromEntries(o(this,I).entries());o(this,I).clear(),o(this,H).sendUpdate(e)}on(e,r){o(this,R)[e]||(o(this,R)[e]=new Set),o(this,R)[e].add(r)}},te=new WeakMap,I=new WeakMap,L=new WeakMap,H=new WeakMap,R=new WeakMap,N=new WeakSet,ht=function(e,r){if(!o(this,R)[e])return;let s=o(this,R)[e];for(let a of s)try{a(r)}catch(i){p.error("Error emitting event",i)}},mt=function(e){e!=null&&Object.keys(e).forEach(r=>{let s=r;o(this,L)[s]!==e[s]&&this.set(s,e[s])})},gt=function(e,r=[]){let s=o(this,R)["msg:custom"];if(s)for(let a of s)try{a(e.content,r)}catch(i){p.error("Error emitting event",i)}},re=new WeakMap,n(j,"_modelManager",ae),j);tt=async function(t,e){let r=e.model_id,s=e.message,a=("buffers"in s?s.buffers:[]).map(Ye);switch(s.method){case"open":{let{state:i,buffer_paths:u=[]}=s,d=Ie({state:i,bufferPaths:u,buffers:a}),v=t.getSync(r);if(v){ue(v).updateAndEmitDiffs(d);return}t.create(r,x=>new Ot(d,Ve()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(q){if(x.aborted){p.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:E,buffers:$,bufferPaths:se}=It(q);await fe().sendModelValue({modelId:r,message:{method:"update",state:E,bufferPaths:se},buffers:$})},async sendCustomMessage(q,E){if(x.aborted){p.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await fe().sendModelValue({modelId:r,message:{method:"custom",content:q},buffers:E.map(Qe)})}},x));return}case"custom":ue(await t.get(r)).emitCustomMessage({method:"custom",content:s.content},a);return;case"close":ye.destroy(r),t.delete(r);return;case"update":{let{state:i,buffer_paths:u=[]}=s,d=Ie({state:i,bufferPaths:u,buffers:a});ue(await t.get(r)).updateAndEmitDiffs(d);return}default:hr(s)}},Xt(ae,"MODEL_MANAGER");function Bt(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}he=class yt{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new yt),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&p.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let s=this.entries.get(e);s===void 0?this.entries.set(e,{objectId:e,value:Kt(r,this),elements:new Set([r])}):s.elements.add(r)}removeInstance(e,r){let s=this.entries.get(e);s!=null&&s.elements.has(r)&&s.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,s){let a=this.entries.get(e);if(a===void 0){p.warn("UIElementRegistry missing entry",e);return}if(Bt(r)){a.value=r.value,a.elements.forEach(i=>{i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:r.value,element:i}}))});return}a.elements.forEach(i=>{i.dispatchEvent(Mr.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:s}}))})}broadcastValueUpdate(e,r,s){let a=this.entries.get(r);a===void 0?p.warn("UIElementRegistry missing entry",r):(a.value=s,a.elements.forEach(i=>{i!==e&&i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:s,element:i}}))}),document.dispatchEvent(Sr.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},it=he.INSTANCE,nt=new yr("function-call-result",async(t,e)=>{await fe().sendFunctionRequest({functionCallId:t,...e})}),ut="68px";var Dt="288px";at=t=>t?/^\d+$/.test(t)?`${t}px`:t:Dt,lt=Jt({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}})});export{Xe as C,Ze as S,et as _,kr as __tla,he as a,me as b,tt as c,ge as d,rt as f,V as g,st as h,nt as i,ye as l,we as m,at as n,it as o,ot as p,lt as r,ae as s,ut as t,dt as u,ie as v,K as w,ct as x,be as y};
|