@marimo-team/frontend 0.22.5-dev15 → 0.22.5-dev18
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/{ConnectedDataExplorerComponent-CAllw3YA.js → ConnectedDataExplorerComponent-CfU-ThkK.js} +1 -1
- package/dist/assets/{JsonOutput-Wyxa3w5g.js → JsonOutput-B4a1SeX3.js} +1 -1
- package/dist/assets/{add-cell-with-ai-DVz3Rqa3.js → add-cell-with-ai-BjpNZw_u.js} +1 -1
- package/dist/assets/{add-connection-dialog-D_pURG16.js → add-connection-dialog-CI1RS_P_.js} +1 -1
- package/dist/assets/{agent-panel-DWJX2Qht.js → agent-panel-B1S13JoD.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DUK_vWZh.js → ai-model-dropdown-Beo7Smw4.js} +1 -1
- package/dist/assets/{app-config-button-CVraCieA.js → app-config-button-CZ1xb3P3.js} +1 -1
- package/dist/assets/{cache-panel-5QBCQUqv.js → cache-panel-8E_Y5OSb.js} +1 -1
- package/dist/assets/{cell-editor-CBrBKs4-.js → cell-editor-CPvuz6p8.js} +1 -1
- package/dist/assets/{chat-display-ktpBhrn7.js → chat-display-BKPtYz0x.js} +1 -1
- package/dist/assets/{chat-panel-BzN2cf87.js → chat-panel-BFi0k_Oq.js} +1 -1
- package/dist/assets/{chat-ui-Da4qjTuA.js → chat-ui-aKUsH0wK.js} +1 -1
- package/dist/assets/{column-preview-DH0JBNY2.js → column-preview-BFwkHbxq.js} +1 -1
- package/dist/assets/{command-palette-BtgML0wI.js → command-palette-Dv_DLNFx.js} +1 -1
- package/dist/assets/{edit-page-CDmLtIpY.js → edit-page-_fJcHntv.js} +3 -3
- package/dist/assets/{file-explorer-panel-BweLqkU2.js → file-explorer-panel-C7v2YfHK.js} +1 -1
- package/dist/assets/{form-COrD4PHo.js → form-Cm06lVN1.js} +1 -1
- package/dist/assets/{gallery-page-CI72Q71Y.js → gallery-page-XSrY7bw_.js} +1 -1
- package/dist/assets/{home-page-kYSYG7Zh.js → home-page-zuAz8Fma.js} +1 -1
- package/dist/assets/{hooks-DG20O34i.js → hooks-BMFl_Ghe.js} +1 -1
- package/dist/assets/{index-GnShyw0h.js → index-DL-ek0xk.js} +6 -6
- package/dist/assets/{layout-KyEkcuqM.js → layout-Bw_vLB-v.js} +1 -1
- package/dist/assets/{markdown-renderer-2XpTunxF.js → markdown-renderer-CcawdlL_.js} +1 -1
- package/dist/assets/{mermaid-KL-Hgqp7.js → mermaid-BJFSZcG6.js} +1 -1
- package/dist/assets/{packages-panel-De0Fg43N.js → packages-panel-Bp27Jrnh.js} +1 -1
- package/dist/assets/{panels-DzpbDG4q.js → panels-CNysCJBI.js} +1 -1
- package/dist/assets/{run-page-v7YWM_1t.js → run-page-DtKbI5ha.js} +1 -1
- package/dist/assets/{scratchpad-panel-CQj-oV3w.js → scratchpad-panel-Cc-9itc-.js} +1 -1
- package/dist/assets/{secrets-panel-CyJ4KdCC.js → secrets-panel-C6X5jB8Q.js} +1 -1
- package/dist/assets/{session-panel-YYyV3RG-.js → session-panel-C3ATCyiE.js} +1 -1
- package/dist/assets/{snippets-panel-BaV08Ib1.js → snippets-panel-7wbroCWC.js} +1 -1
- package/dist/assets/{state-DZeUz07_.js → state-BXzpumI3.js} +1 -1
- package/dist/assets/{state-9-n7I_Bo.js → state-BgrGQPFs.js} +1 -1
- package/dist/assets/{useAsyncData-CaAFMbY9.js → useAsyncData-aCoWDe-l.js} +1 -1
- package/dist/assets/{useNotebookActions-CyWR4QZi.js → useNotebookActions-DUE0u7Q9.js} +1 -1
- package/dist/assets/{vega-component-D_AgSSfE.js → vega-component-B2_J2GQq.js} +1 -1
- package/dist/index.html +7 -7
- package/package.json +1 -1
- package/src/hooks/useAsyncData.ts +1 -1
- package/src/plugins/impl/DataTablePlugin.tsx +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as ie}from"./chunk-LvLJmgfZ.js";import{d as de,l as De,p as he,u as K}from"./useEvent-D91BmmQi.js";import{t as Me}from"./react-Bj1aDYRI.js";import{Dr as Ve,Dt as Be,E as Pe,Er as ue,Fn as Ee,Fr as xe,Ft as Oe,Ht as Ue,Mn as Re,Mr as pe,N as Ge,Nn as Ae,Or as ze,Pr as We,Qn as He,Tr as fe,Ut as Ke,Vt as Je,Zn as Qe,a as Xe,er as Ye,f as Ze,gi as ea,j as aa,jr as be,lr as ta,mn as sa,or as la,ur as se,wr as le,xr as na}from"./cells-CuaAKcwV.js";import"./react-dom-CSu739Rf.js";import{t as ge}from"./compiler-runtime-B3qBwwSJ.js";import{o as ra}from"./utils-8btzWeZg.js";import{t as oa}from"./ErrorBoundary-dxChUL02.js";import{t as O}from"./cn-DYvqRARy.js";import{t as ma}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{n as ca}from"./multi-map-MSuUqmbC.js";import"./popover-AtoFZ7i4.js";import{G as je,I as ne,J as ia,K as da,Y as ha,q as ua}from"./JsonOutput-Wyxa3w5g.js";import"./download-CxGVI9eo.js";import{t as re}from"./tooltip-DmqhBBs6.js";import{r as xa,t as ee}from"./button-BKVLeSTX.js";import"./dist-VwkX7yeV.js";import{u as J}from"./arrays-DAC2orgH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{i as pa}from"./strings-pfr2N700.js";import{r as fa}from"./requests-9-v2bhoi.js";import{t as ba}from"./createLucideIcon-w-Qo9n0R.js";import{t as ga}from"./x-Bv2rCglF.js";import"./markdown-renderer-2XpTunxF.js";import{t as Ne}from"./add-connection-dialog-D_pURG16.js";import{t as ye}from"./plus-BYq_Btg-.js";import{a as ja}from"./input-Bg12i6qY.js";import{n as Na,o as ya}from"./column-preview-DH0JBNY2.js";import{t as va}from"./workflow-BAgKBPlq.js";import"./dist-BvlMLwcr.js";import"./dist-4lB-oR9j.js";import"./dist-CxquLoAZ.js";import"./dist-Dnlw22ji.js";import"./dist-CgYlATe-.js";import"./session-DdnWW30b.js";import"./purify.es-BFDc-_i_.js";import"./dates-stqTIkXD.js";import{t as wa}from"./copy-icon-BGs1Pbai.js";import{t as Sa}from"./context-DGqo1TbK.js";import"./utils-BZwMGX81.js";import"./vega-loader.browser-DXARUlxo.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{t as ve}from"./cell-link-D5GhiNrn.js";import{n as oe}from"./useAsyncData-CaAFMbY9.js";import{a as Ca,o as ae,t as _a,u as ka}from"./command-DvF_4mQa.js";import"./chunk-5FQGJX7Z-Cyc7d5AB.js";import{r as Fa}from"./html-to-image-C-c-Hfuw.js";import{o as $a}from"./focus-B524Cy57.js";import{a as Ia,i as Ta,n as La,o as we,r as qa,t as Da}from"./table-B03CpBmt.js";import"./react-resizable-panels.browser.esm-BUNcfKXO.js";import{n as Ma}from"./icons-DlzgV4KY.js";import{t as Se}from"./useAddCell-BMYemCZ-.js";import{a as me,i as te,o as ce,r as Ce,s as _e,t as Va,u as Ba}from"./components-CtOW1DR4.js";import{t as Pa}from"./empty-state-BbLVXQU7.js";import{n as Ea,t as Oa}from"./common-BKyn8lE1.js";import{a as Ua,i as Ra,n as ke,r as Fe,t as $e}from"./components-CBihADZo.js";var Ga=ba("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"}]]),G=ge(),C=ie(Me(),1),t=ie(ma(),1),S={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=he(a=>{let e=a(ue),s=a(Ee),l=a(Xe);return J(e,r=>{if(!r.variable_name)return-1;let o=Object.values(s).find(j=>j.name===r.variable_name);if(!o)return 0;let n=l.inOrderIds.indexOf(o.declaredBy[0]);return n===-1?0:n})});const Ie=he(a=>{let e=new Map(a(na));for(let s of xe){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=>xe.has(s.name)?1:0)}),za=()=>{let a=(0,G.c)(32),[e,s]=C.useState(""),l=de(fe),r=K(Aa),o=K(Ie);if(r.length===0&&o.length===0){let u;return a[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(Pa,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(Ne,{children:(0,t.jsxs)(ee,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(ye,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(se,{})}),a[0]=u):u=a[0],u}let n=!!e.trim(),j;a[1]===l?j=a[2]:(j=u=>{l(u.length>0),s(u)},a[1]=l,a[2]=j);let g;a[3]!==e||a[4]!==j?(g=(0,t.jsx)(Ca,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:j,rootClassName:"flex-1 border-r border-b-0"}),a[3]=e,a[4]=j,a[5]=g):g=a[5];let N;a[6]===n?N=a[7]:(N=n&&(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)(ga,{className:"h-4 w-4"})}),a[6]=n,a[7]=N);let f;a[8]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)(Ne,{children:(0,t.jsx)(ee,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,t.jsx)(ye,{className:"h-4 w-4"})})}),a[8]=f):f=a[8];let c;a[9]!==g||a[10]!==N?(c=(0,t.jsxs)("div",{className:"flex items-center w-full border-b",children:[g,N,f]}),a[9]=g,a[10]=N,a[11]=c):c=a[11];let i;if(a[12]!==o||a[13]!==n||a[14]!==e){let u;a[16]!==n||a[17]!==e?(u=x=>(0,t.jsx)(Wa,{connection:x,hasChildren:x.databases.length>0,children:x.databases.map(b=>(0,t.jsx)(Ha,{engineName:x.name,database:b,hasSearch:n,children:(0,t.jsx)(Ka,{schemas:b.schemas,defaultSchema:x.default_schema,defaultDatabase:x.default_database,engineName:x.name,databaseName:b.name,hasSearch:n,searchValue:e,dialect:x.dialect})},b.name))},x.name),a[16]=n,a[17]=e,a[18]=u):u=a[18],i=o.map(u),a[12]=o,a[13]=n,a[14]=e,a[15]=i}else i=a[15];let h;a[19]!==o.length||a[20]!==r.length?(h=o.length>0&&r.length>0&&(0,t.jsxs)(Ce,{className:S.engine,children:[(0,t.jsx)(Ma,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[19]=o.length,a[20]=r.length,a[21]=h):h=a[21];let p;a[22]!==e||a[23]!==r?(p=r.length>0&&(0,t.jsx)(Te,{tables:r,searchValue:e}),a[22]=e,a[23]=r,a[24]=p):p=a[24];let d;a[25]!==i||a[26]!==h||a[27]!==p?(d=(0,t.jsxs)(ka,{className:"flex flex-col",children:[i,h,p]}),a[25]=i,a[26]=h,a[27]=p,a[28]=d):d=a[28];let m;return a[29]!==c||a[30]!==d?(m=(0,t.jsxs)(_a,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[c,d]}),a[29]=c,a[30]=d,a[31]=m):m=a[31],m};var Wa=a=>{let e=(0,G.c)(25),{connection:s,children:l,hasChildren:r}=a,o=s.name===We,n=o?"In-Memory":s.name,{previewDataSourceConnection:j}=fa(),g;e[0]!==s.name||e[1]!==j?(g=async()=>{await j({engine:s.name})},e[0]=s.name,e[1]=j,e[2]=g):g=e[2];let N=g,f;e[3]===s.dialect?f=e[4]:(f=(0,t.jsx)(Be,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=f);let c;e[5]===s.dialect?c=e[6]:(c=Qe(s.dialect),e[5]=s.dialect,e[6]=c);let i;e[7]===c?i=e[8]:(i=(0,t.jsx)("span",{className:"text-xs",children:c}),e[7]=c,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]!==o?(d=!o&&(0,t.jsx)(Ba,{onClick:N,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[11]=N,e[12]=o,e[13]=d):d=e[13];let m;e[14]!==f||e[15]!==i||e[16]!==p||e[17]!==d?(m=(0,t.jsxs)(Ce,{className:S.engine,children:[f,i,p,d]}),e[14]=f,e[15]=i,e[16]=p,e[17]=d,e[18]=m):m=e[18];let u;e[19]!==l||e[20]!==r?(u=r?l:(0,t.jsx)(te,{content:"No databases available",className:S.engineEmpty}),e[19]=l,e[20]=r,e[21]=u):u=e[21];let x;return e[22]!==m||e[23]!==u?(x=(0,t.jsxs)(t.Fragment,{children:[m,u]}),e[22]=m,e[23]=u,e[24]=x):x=e[24],x},Ha=a=>{let e=(0,G.c)(26),{hasSearch:s,engineName:l,database:r,children:o}=a,[n,j]=C.useState(!1),[g,N]=C.useState(!1),[f,c]=C.useState(s);f!==s&&(c(s),j(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",S.database),e[0]=i):i=e[0];let h;e[1]!==n||e[2]!==g?(h=()=>{j(!n),N(!g)},e[1]=n,e[2]=g,e[3]=h):h=e[3];let p=`${l}:${r.name}`,d;e[4]===n?d=e[5]:(d=(0,t.jsx)(_e,{isExpanded:n}),e[4]=n,e[5]=d);let m=g&&n?"text-foreground":"text-muted-foreground",u;e[6]===m?u=e[7]:(u=O("h-4 w-4",m),e[6]=m,e[7]=u);let x;e[8]===u?x=e[9]:(x=(0,t.jsx)(se,{className:u}),e[8]=u,e[9]=x);let b=g&&n&&"font-semibold",y;e[10]===b?y=e[11]:(y=O(b),e[10]=b,e[11]=y);let v;e[12]===r.name?v=e[13]:(v=r.name===""?(0,t.jsx)("i",{children:"Not connected"}):r.name,e[12]=r.name,e[13]=v);let w;e[14]!==v||e[15]!==y?(w=(0,t.jsx)("span",{className:y,children:v}),e[14]=v,e[15]=y,e[16]=w):w=e[16];let _;e[17]!==w||e[18]!==h||e[19]!==p||e[20]!==d||e[21]!==x?(_=(0,t.jsxs)(ae,{className:i,onSelect:h,value:p,children:[d,x,w]}),e[17]=w,e[18]=h,e[19]=p,e[20]=d,e[21]=x,e[22]=_):_=e[22];let L=n&&o,k;return e[23]!==_||e[24]!==L?(k=(0,t.jsxs)(t.Fragment,{children:[_,L]}),e[23]=_,e[24]=L,e[25]=k):k=e[25],k},Ka=({schemas:a,defaultSchema:e,defaultDatabase:s,dialect:l,engineName:r,databaseName:o,hasSearch:n,searchValue:j})=>{let{addSchemaList:g}=le(),[N,f]=C.useState(!1),[c,i]=C.useState(!1),{isPending:h,error:p}=oe(async()=>{if(a.length===0&&r&&!N){f(!0),i(!0);try{g({schemas:(await Je.request({engine:r,database:o})).schemas??[],sqlSchemaContext:{engine:r,database:o}})}finally{i(!1)}}},[a.length,r,o,N]);return h||c?(0,t.jsx)(ce,{message:"Loading schemas...",className:S.schemaLoading}):p?(0,t.jsx)(me,{error:p,className:S.schemaLoading}):a.length===0?(0,t.jsx)(te,{content:"No schemas available",className:S.schemaEmpty}):(0,t.jsx)(t.Fragment,{children:a.filter(d=>j?d.tables.some(m=>m.name.toLowerCase().includes(j.toLowerCase())):!0).map(d=>(0,t.jsx)(Ja,{databaseName:o,schema:d,hasSearch:n,children:(0,t.jsx)(Te,{tables:d.tables,searchValue:j,sqlTableContext:{engine:r,database:o,schema:d.name,defaultSchema:e,defaultDatabase:s,dialect:l}})},d.name))})},Ja=a=>{let e=(0,G.c)(24),{databaseName:s,schema:l,children:r,hasSearch:o}=a,[n,j]=C.useState(o),[g,N]=C.useState(!1),f=`${s}:${l.name}`;if(be(l.name))return r;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",S.schema),e[0]=c):c=e[0];let i;e[1]!==n||e[2]!==g?(i=()=>{j(!n),N(!g)},e[1]=n,e[2]=g,e[3]=i):i=e[3];let h;e[4]===n?h=e[5]:(h=(0,t.jsx)(_e,{isExpanded:n}),e[4]=n,e[5]=h);let p=g&&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 m;e[8]===d?m=e[9]:(m=(0,t.jsx)(la,{className:d}),e[8]=d,e[9]=m);let u=g&&n&&"font-semibold",x;e[10]===u?x=e[11]:(x=O(u),e[10]=u,e[11]=x);let b;e[12]!==l.name||e[13]!==x?(b=(0,t.jsx)("span",{className:x,children:l.name}),e[12]=l.name,e[13]=x,e[14]=b):b=e[14];let y;e[15]!==i||e[16]!==h||e[17]!==m||e[18]!==b||e[19]!==f?(y=(0,t.jsxs)(ae,{className:c,onSelect:i,value:f,children:[h,m,b]}),e[15]=i,e[16]=h,e[17]=m,e[18]=b,e[19]=f,e[20]=y):y=e[20];let v=n&&r,w;return e[21]!==y||e[22]!==v?(w=(0,t.jsxs)(t.Fragment,{children:[y,v]}),e[21]=y,e[22]=v,e[23]=w):w=e[23],w},Te=a=>{let e=(0,G.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:o}=le(),[n,j]=C.useState(!1),[g,N]=C.useState(!1),f;e[0]!==o||e[1]!==l||e[2]!==s.length||e[3]!==n?(f=async()=>{if(s.length===0&&l&&!n){j(!0),N(!0);let{engine:m,database:u,schema:x}=l,b=await Ke.request({engine:m,database:u,schema:x});if(!(b!=null&&b.tables))throw N(!1),Error("No tables available");o({tables:b.tables,sqlTableContext:l}),N(!1)}},e[0]=o,e[1]=l,e[2]=s.length,e[3]=n,e[4]=f):f=e[4];let c;e[5]!==l||e[6]!==s.length||e[7]!==n?(c=[s.length,l,n],e[5]=l,e[6]=s.length,e[7]=n,e[8]=c):c=e[8];let{isPending:i,error:h}=oe(f,c);if(i||g){let m;return e[9]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(ce,{message:"Loading tables...",className:S.tableLoading}),e[9]=m):m=e[9],m}if(h){let m;return e[10]===h?m=e[11]:(m=(0,t.jsx)(me,{error:h,className:S.tableLoading}),e[10]=h,e[11]=m),m}if(s.length===0){let m;return e[12]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(te,{content:"No tables found",className:S.tableLoading}),e[12]=m):m=e[12],m}let p;if(e[13]!==r||e[14]!==l||e[15]!==s){let m;e[17]===r?m=e[18]:(m=b=>r?b.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=m);let u=s.filter(m),x;e[19]!==r||e[20]!==l?(x=b=>(0,t.jsx)(Qa,{table:b,sqlTableContext:l,isSearching:!!r},b.name),e[19]=r,e[20]=l,e[21]=x):x=e[21],p=u.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},Qa=a=>{let e=(0,G.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:o}=le(),[n,j]=C.useState(!1),[g,N]=C.useState(!1),f=s.columns.length>0,c;e[0]!==o||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==f||e[5]!==g?(c=async()=>{if(n&&!f&&l&&!g){N(!0);let{engine:M,database:Y,schema:qe}=l,Z=await Ue.request({engine:M,database:Y,schema:qe,tableName:s.name});if(!(Z!=null&&Z.table))throw Error("No table details available");o({table:Z.table,sqlTableContext:l})}},e[0]=o,e[1]=n,e[2]=l,e[3]=s.name,e[4]=f,e[5]=g,e[6]=c):c=e[6];let i;e[7]!==n||e[8]!==f?(i=[n,f],e[7]=n,e[8]=f,e[9]=i):i=e[9];let{isFetching:h,isPending:p,error:d}=oe(c,i),m=K(ra),u=$a(),{createNewCell:x}=Pe(),b=Se(),y;e[10]!==b||e[11]!==m||e[12]!==x||e[13]!==u||e[14]!==l||e[15]!==s?(y=()=>{Fa({autoInstantiate:m,createNewCell:x,fromCellId:u}),b((()=>{if(s.source_type==="catalog"){let M=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${M}")`}if(l)return pe({table:s,columnName:"*",sqlTableContext:l});switch(s.source_type){case"local":return`mo.ui.table(${s.name})`;case"duckdb":case"connection":return pe({table:s,columnName:"*",sqlTableContext:l});default:return pa(s.source_type),""}})())},e[10]=b,e[11]=m,e[12]=x,e[13]=u,e[14]=l,e[15]=s,e[16]=y):y=e[16];let v=y,w;e[17]!==s.num_columns||e[18]!==s.num_rows?(w=()=>{let M=[];return s.num_rows!=null&&M.push(`${s.num_rows} rows`),s.num_columns!=null&&M.push(`${s.num_columns} columns`),M.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:M.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=w):w=e[19];let _=w,L;e[20]!==d||e[21]!==h||e[22]!==p||e[23]!==l||e[24]!==s?(L=()=>{if(p||h)return(0,t.jsx)(ce,{message:"Loading columns...",className:S.tableLoading});if(d)return(0,t.jsx)(me,{error:d,className:S.tableLoading});let M=s.columns;return M.length===0?(0,t.jsx)(te,{content:"No columns found",className:S.tableLoading}):M.map(Y=>(0,t.jsx)(Xa,{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]=L):L=e[25];let k=L,q;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(q=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?Ye:ta,{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]=q):q=e[30];let V=q,B=l?`${l.database}.${l.schema}.${s.name}`:s.name,P=l&&(be(l.schema)?S.tableSchemaless:S.tableWithSchema),E=(n||r)&&"font-semibold",F;e[31]!==P||e[32]!==E?(F=O("rounded-none group h-8 cursor-pointer",P,E),e[31]=P,e[32]=E,e[33]=F):F=e[33];let $;e[34]===n?$=e[35]:($=()=>j(!n),e[34]=n,e[35]=$);let I;e[36]===V?I=e[37]:(I=V(),e[36]=V,e[37]=I);let D;e[38]===s.name?D=e[39]:(D=(0,t.jsx)("span",{className:"text-sm",children:s.name}),e[38]=s.name,e[39]=D);let U;e[40]!==I||e[41]!==D?(U=(0,t.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[I,D]}),e[40]=I,e[41]=D,e[42]=U):U=e[42];let R;e[43]===_?R=e[44]:(R=_(),e[43]=_,e[44]=R);let T;e[45]===v?T=e[46]:(T=xa.stopPropagation(()=>v()),e[45]=v,e[46]=T);let Q;e[47]===Symbol.for("react.memo_cache_sentinel")?(Q=(0,t.jsx)(ya,{className:"h-3 w-3"}),e[47]=Q):Q=e[47];let z;e[48]===T?z=e[49]:(z=(0,t.jsx)(re,{content:"Add table to notebook",delayDuration:400,children:(0,t.jsx)(ee,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:T,children:Q})}),e[48]=T,e[49]=z);let W;e[50]!==n||e[51]!==$||e[52]!==U||e[53]!==R||e[54]!==z||e[55]!==F||e[56]!==B?(W=(0,t.jsxs)(ae,{className:F,value:B,"aria-selected":n,forceMount:!0,onSelect:$,children:[U,R,z]}),e[50]=n,e[51]=$,e[52]=U,e[53]=R,e[54]=z,e[55]=F,e[56]=B,e[57]=W):W=e[57];let H;e[58]!==n||e[59]!==k?(H=n&&k(),e[58]=n,e[59]=k,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},Xa=a=>{var U,R;let e=(0,G.c)(48),{table:s,column:l,sqlTableContext:r}=a,[o,n]=C.useState(!1),j=K(fe),g=de(Ve);j&&o&&n(!1),g(o?T=>new Set([...T,`${s.name}:${l.name}`]):T=>(T.delete(`${s.name}:${l.name}`),new Set(T)));let N=Se(),{columnsPreviews:f}=ze(),c;e[0]!==l.name||e[1]!==s.primary_keys?(c=((U=s.primary_keys)==null?void 0:U.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=c):c=e[2];let i=c,h;e[3]!==l.name||e[4]!==s.indexes?(h=((R=s.indexes)==null?void 0:R.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=T=>{N(T)},e[6]=N,e[7]=d);let m=d,u=Ya,x=o?"font-semibold":"",b;e[8]!==l.name||e[9]!==x?(b=(0,t.jsx)("span",{className:x,children:l.name}),e[8]=l.name,e[9]=x,e[10]=b):b=e[10];let y=b,v=`${s.name}.${l.name}`,w=`${s.name}.${l.name}`,_;e[11]===o?_=e[12]:(_=()=>n(!o),e[11]=o,e[12]=_);let L=r?S.columnSql:S.columnLocal,k;e[13]===L?k=e[14]:(k=O("flex flex-row gap-2 items-center flex-1",L),e[13]=L,e[14]=k);let q;e[15]!==l.type||e[16]!==y?(q=(0,t.jsx)(Va,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=q):q=e[17];let V;e[18]===i?V=e[19]:(V=i&&u({tooltipContent:"Primary key",content:"PK"}),e[18]=i,e[19]=V);let B;e[20]===p?B=e[21]:(B=p&&u({tooltipContent:"Indexed",content:"IDX"}),e[20]=p,e[21]=B);let P;e[22]!==k||e[23]!==q||e[24]!==V||e[25]!==B?(P=(0,t.jsxs)("div",{className:k,children:[q,V,B]}),e[22]=k,e[23]=q,e[24]=V,e[25]=B,e[26]=P):P=e[26];let E;e[27]===l.name?E=e[28]:(E=(0,t.jsx)(re,{content:"Copy column name",delayDuration:400,children:(0,t.jsx)(ee,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,t.jsx)(wa,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[27]=l.name,e[28]=E);let F;e[29]===l.external_type?F=e[30]:(F=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[29]=l.external_type,e[30]=F);let $;e[31]!==P||e[32]!==E||e[33]!==F||e[34]!==v||e[35]!==w||e[36]!==_?($=(0,t.jsxs)(ae,{className:"rounded-none py-1 group cursor-pointer",value:w,onSelect:_,children:[P,E,F]},v),e[31]=P,e[32]=E,e[33]=F,e[34]=v,e[35]=w,e[36]=_,e[37]=$):$=e[37];let I;e[38]!==l||e[39]!==f||e[40]!==m||e[41]!==o||e[42]!==r||e[43]!==s?(I=o&&(0,t.jsx)("div",{className:O(S.columnPreview,"pr-2 py-2 bg-(--slate-1) shadow-inner border-b"),children:(0,t.jsx)(oa,{children:(0,t.jsx)(Na,{table:s,column:l,onAddColumnChart:m,preview:f.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=f,e[40]=m,e[41]=o,e[42]=r,e[43]=s,e[44]=I):I=e[44];let D;return e[45]!==$||e[46]!==I?(D=(0,t.jsxs)(t.Fragment,{children:[$,I]}),e[45]=$,e[46]=I,e[47]=D):D=e[47],D};function Ya(a){let{tooltipContent:e,content:s}=a;return(0,t.jsx)(re,{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 ds(a){return a}var A={name:"name",type:"type-value",defs:"defs-refs"},Za=[{id:A.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)(Oa,{name:e,declaredBy:s})}},{id:A.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:A.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=o=>{let n=Ze(o);n&&sa(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)(ve,{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((o,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)(ve,{variant:"focus",cellId:o,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(o)},o),n<e.length-1&&", "]},o))})]}),(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)(va,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(Ea,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function et({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:A.defs,desc:!1});let l=[];switch(e.id){case A.name:l=J(a,r=>r.name);break;case A.type:l=J(a,r=>r.dataType);break;case A.defs:l=J(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.toReversed():l}const Le=(0,C.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=C.useState([]),[o,n]=C.useState(""),j=Ge(),{locale:g}=Sa(),N=(0,C.useMemo)(()=>{let c=i=>{let h=j[i];return Oe(h)?`cell-${e.indexOf(i)}`:h??`cell-${e.indexOf(i)}`};return Object.values(s).map(i=>({...i,declaredByNames:i.declaredBy.map(c),usedByNames:i.usedBy.map(c)}))},[s,j,e]),f=da({data:(0,C.useMemo)(()=>{let c=new Map;return e.forEach((i,h)=>c.set(i,h)),et({variables:N,sort:l[0],cellIdToIndex:c})},[N,l,e]),columns:Za,getCoreRowModel:ua(),onGlobalFilterChange:n,getFilteredRowModel:ia(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(c){return c.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:g,onSortingChange:r,getSortedRowModel:ha(),state:{sorting:l,globalFilter:o}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ja,{className:"w-full",placeholder:"Search",value:o,onChange:c=>n(c.target.value)}),(0,t.jsxs)(Da,{className:O("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)(Ia,{children:(0,t.jsx)(we,{className:"whitespace-nowrap text-xs",children:f.getFlatHeaders().map(c=>(0,t.jsx)(Ta,{className:"sticky top-0 bg-background border-b",children:je(c.column.columnDef.header,c.getContext())},c.id))})}),(0,t.jsx)(La,{children:f.getRowModel().rows.map(c=>(0,t.jsx)(we,{className:"hover:bg-accent",children:c.getVisibleCells().map(i=>(0,t.jsx)(qa,{className:"border-b",children:je(i.column.columnDef.cell,i.getContext())},i.id))},c.id))})]})]})});Le.displayName="VariableTable";var at=ge(),tt=ea("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},Re),st=()=>{let a=(0,at.c)(24),e=Ae(),s=aa(),l=K(ue),r=K(Ie),[o,n]=De(tt),j=l.length+r.length,g;a[0]!==j||a[1]!==o.hasUserInteracted||a[2]!==o.openSections?(g=!o.hasUserInteracted&&j>0?[...new Set([...o.openSections,"datasources"])]:o.openSections,a[0]=j,a[1]=o.hasUserInteracted,a[2]=o.openSections,a[3]=g):g=a[3];let N=g,f;a[4]===n?f=a[5]:(f=v=>{n({openSections:v,hasUserInteracted:!0})},a[4]=n,a[5]=f);let c=f,i=!N.includes("datasources")&&j>0,h;a[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)(se,{className:"w-4 h-4"}),a[6]=h):h=a[6];let p;a[7]!==j||a[8]!==i?(p=i&&(0,t.jsx)(Ra,{children:j}),a[7]=j,a[8]=i,a[9]=p):p=a[9];let d;a[10]===p?d=a[11]:(d=(0,t.jsxs)(Fe,{children:[h,"Data sources",p]}),a[10]=p,a[11]=d);let m;a[12]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)($e,{children:(0,t.jsx)(za,{})}),a[12]=m):m=a[12];let u;a[13]===d?u=a[14]:(u=(0,t.jsxs)(ke,{value:"datasources",children:[d,m]}),a[13]=d,a[14]=u);let x;a[15]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)(Fe,{children:[(0,t.jsx)(He,{className:"w-4 h-4"}),"Variables"]}),a[15]=x):x=a[15];let b;a[16]!==s||a[17]!==e?(b=(0,t.jsxs)(ke,{value:"variables",lastItem:!0,children:[x,(0,t.jsx)($e,{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)(Le,{cellIds:s.inOrderIds,variables:e})})]}),a[16]=s,a[17]=e,a[18]=b):b=a[18];let y;return a[19]!==c||a[20]!==N||a[21]!==u||a[22]!==b?(y=(0,t.jsxs)(ca,{type:"multiple",value:N,onValueChange:c,className:"flex flex-col h-full overflow-auto",children:[u,b]}),a[19]=c,a[20]=N,a[21]=u,a[22]=b,a[23]=y):y=a[23],y};export{st as default};
|
|
1
|
+
import{s as ie}from"./chunk-LvLJmgfZ.js";import{d as de,l as De,p as he,u as K}from"./useEvent-D91BmmQi.js";import{t as Me}from"./react-Bj1aDYRI.js";import{Dr as Ve,Dt as Be,E as Pe,Er as ue,Fn as Ee,Fr as xe,Ft as Oe,Ht as Ue,Mn as Re,Mr as pe,N as Ge,Nn as Ae,Or as ze,Pr as We,Qn as He,Tr as fe,Ut as Ke,Vt as Je,Zn as Qe,a as Xe,er as Ye,f as Ze,gi as ea,j as aa,jr as be,lr as ta,mn as sa,or as la,ur as se,wr as le,xr as na}from"./cells-CuaAKcwV.js";import"./react-dom-CSu739Rf.js";import{t as ge}from"./compiler-runtime-B3qBwwSJ.js";import{o as ra}from"./utils-8btzWeZg.js";import{t as oa}from"./ErrorBoundary-dxChUL02.js";import{t as O}from"./cn-DYvqRARy.js";import{t as ma}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{n as ca}from"./multi-map-MSuUqmbC.js";import"./popover-AtoFZ7i4.js";import{G as je,I as ne,J as ia,K as da,Y as ha,q as ua}from"./JsonOutput-B4a1SeX3.js";import"./download-CxGVI9eo.js";import{t as re}from"./tooltip-DmqhBBs6.js";import{r as xa,t as ee}from"./button-BKVLeSTX.js";import"./dist-VwkX7yeV.js";import{u as J}from"./arrays-DAC2orgH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{i as pa}from"./strings-pfr2N700.js";import{r as fa}from"./requests-9-v2bhoi.js";import{t as ba}from"./createLucideIcon-w-Qo9n0R.js";import{t as ga}from"./x-Bv2rCglF.js";import"./markdown-renderer-CcawdlL_.js";import{t as Ne}from"./add-connection-dialog-CI1RS_P_.js";import{t as ye}from"./plus-BYq_Btg-.js";import{a as ja}from"./input-Bg12i6qY.js";import{n as Na,o as ya}from"./column-preview-BFwkHbxq.js";import{t as va}from"./workflow-BAgKBPlq.js";import"./dist-BvlMLwcr.js";import"./dist-4lB-oR9j.js";import"./dist-CxquLoAZ.js";import"./dist-Dnlw22ji.js";import"./dist-CgYlATe-.js";import"./session-DdnWW30b.js";import"./purify.es-BFDc-_i_.js";import"./dates-stqTIkXD.js";import{t as wa}from"./copy-icon-BGs1Pbai.js";import{t as Sa}from"./context-DGqo1TbK.js";import"./utils-BZwMGX81.js";import"./vega-loader.browser-DXARUlxo.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{t as ve}from"./cell-link-D5GhiNrn.js";import{n as oe}from"./useAsyncData-aCoWDe-l.js";import{a as Ca,o as ae,t as _a,u as ka}from"./command-DvF_4mQa.js";import"./chunk-5FQGJX7Z-Cyc7d5AB.js";import{r as Fa}from"./html-to-image-C-c-Hfuw.js";import{o as $a}from"./focus-B524Cy57.js";import{a as Ia,i as Ta,n as La,o as we,r as qa,t as Da}from"./table-B03CpBmt.js";import"./react-resizable-panels.browser.esm-BUNcfKXO.js";import{n as Ma}from"./icons-DlzgV4KY.js";import{t as Se}from"./useAddCell-BMYemCZ-.js";import{a as me,i as te,o as ce,r as Ce,s as _e,t as Va,u as Ba}from"./components-CtOW1DR4.js";import{t as Pa}from"./empty-state-BbLVXQU7.js";import{n as Ea,t as Oa}from"./common-BKyn8lE1.js";import{a as Ua,i as Ra,n as ke,r as Fe,t as $e}from"./components-CBihADZo.js";var Ga=ba("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"}]]),G=ge(),C=ie(Me(),1),t=ie(ma(),1),S={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=he(a=>{let e=a(ue),s=a(Ee),l=a(Xe);return J(e,r=>{if(!r.variable_name)return-1;let o=Object.values(s).find(j=>j.name===r.variable_name);if(!o)return 0;let n=l.inOrderIds.indexOf(o.declaredBy[0]);return n===-1?0:n})});const Ie=he(a=>{let e=new Map(a(na));for(let s of xe){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=>xe.has(s.name)?1:0)}),za=()=>{let a=(0,G.c)(32),[e,s]=C.useState(""),l=de(fe),r=K(Aa),o=K(Ie);if(r.length===0&&o.length===0){let u;return a[0]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(Pa,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(Ne,{children:(0,t.jsxs)(ee,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(ye,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(se,{})}),a[0]=u):u=a[0],u}let n=!!e.trim(),j;a[1]===l?j=a[2]:(j=u=>{l(u.length>0),s(u)},a[1]=l,a[2]=j);let g;a[3]!==e||a[4]!==j?(g=(0,t.jsx)(Ca,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:j,rootClassName:"flex-1 border-r border-b-0"}),a[3]=e,a[4]=j,a[5]=g):g=a[5];let N;a[6]===n?N=a[7]:(N=n&&(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)(ga,{className:"h-4 w-4"})}),a[6]=n,a[7]=N);let f;a[8]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)(Ne,{children:(0,t.jsx)(ee,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,t.jsx)(ye,{className:"h-4 w-4"})})}),a[8]=f):f=a[8];let c;a[9]!==g||a[10]!==N?(c=(0,t.jsxs)("div",{className:"flex items-center w-full border-b",children:[g,N,f]}),a[9]=g,a[10]=N,a[11]=c):c=a[11];let i;if(a[12]!==o||a[13]!==n||a[14]!==e){let u;a[16]!==n||a[17]!==e?(u=x=>(0,t.jsx)(Wa,{connection:x,hasChildren:x.databases.length>0,children:x.databases.map(b=>(0,t.jsx)(Ha,{engineName:x.name,database:b,hasSearch:n,children:(0,t.jsx)(Ka,{schemas:b.schemas,defaultSchema:x.default_schema,defaultDatabase:x.default_database,engineName:x.name,databaseName:b.name,hasSearch:n,searchValue:e,dialect:x.dialect})},b.name))},x.name),a[16]=n,a[17]=e,a[18]=u):u=a[18],i=o.map(u),a[12]=o,a[13]=n,a[14]=e,a[15]=i}else i=a[15];let h;a[19]!==o.length||a[20]!==r.length?(h=o.length>0&&r.length>0&&(0,t.jsxs)(Ce,{className:S.engine,children:[(0,t.jsx)(Ma,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[19]=o.length,a[20]=r.length,a[21]=h):h=a[21];let p;a[22]!==e||a[23]!==r?(p=r.length>0&&(0,t.jsx)(Te,{tables:r,searchValue:e}),a[22]=e,a[23]=r,a[24]=p):p=a[24];let d;a[25]!==i||a[26]!==h||a[27]!==p?(d=(0,t.jsxs)(ka,{className:"flex flex-col",children:[i,h,p]}),a[25]=i,a[26]=h,a[27]=p,a[28]=d):d=a[28];let m;return a[29]!==c||a[30]!==d?(m=(0,t.jsxs)(_a,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[c,d]}),a[29]=c,a[30]=d,a[31]=m):m=a[31],m};var Wa=a=>{let e=(0,G.c)(25),{connection:s,children:l,hasChildren:r}=a,o=s.name===We,n=o?"In-Memory":s.name,{previewDataSourceConnection:j}=fa(),g;e[0]!==s.name||e[1]!==j?(g=async()=>{await j({engine:s.name})},e[0]=s.name,e[1]=j,e[2]=g):g=e[2];let N=g,f;e[3]===s.dialect?f=e[4]:(f=(0,t.jsx)(Be,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=f);let c;e[5]===s.dialect?c=e[6]:(c=Qe(s.dialect),e[5]=s.dialect,e[6]=c);let i;e[7]===c?i=e[8]:(i=(0,t.jsx)("span",{className:"text-xs",children:c}),e[7]=c,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]!==o?(d=!o&&(0,t.jsx)(Ba,{onClick:N,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[11]=N,e[12]=o,e[13]=d):d=e[13];let m;e[14]!==f||e[15]!==i||e[16]!==p||e[17]!==d?(m=(0,t.jsxs)(Ce,{className:S.engine,children:[f,i,p,d]}),e[14]=f,e[15]=i,e[16]=p,e[17]=d,e[18]=m):m=e[18];let u;e[19]!==l||e[20]!==r?(u=r?l:(0,t.jsx)(te,{content:"No databases available",className:S.engineEmpty}),e[19]=l,e[20]=r,e[21]=u):u=e[21];let x;return e[22]!==m||e[23]!==u?(x=(0,t.jsxs)(t.Fragment,{children:[m,u]}),e[22]=m,e[23]=u,e[24]=x):x=e[24],x},Ha=a=>{let e=(0,G.c)(26),{hasSearch:s,engineName:l,database:r,children:o}=a,[n,j]=C.useState(!1),[g,N]=C.useState(!1),[f,c]=C.useState(s);f!==s&&(c(s),j(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",S.database),e[0]=i):i=e[0];let h;e[1]!==n||e[2]!==g?(h=()=>{j(!n),N(!g)},e[1]=n,e[2]=g,e[3]=h):h=e[3];let p=`${l}:${r.name}`,d;e[4]===n?d=e[5]:(d=(0,t.jsx)(_e,{isExpanded:n}),e[4]=n,e[5]=d);let m=g&&n?"text-foreground":"text-muted-foreground",u;e[6]===m?u=e[7]:(u=O("h-4 w-4",m),e[6]=m,e[7]=u);let x;e[8]===u?x=e[9]:(x=(0,t.jsx)(se,{className:u}),e[8]=u,e[9]=x);let b=g&&n&&"font-semibold",y;e[10]===b?y=e[11]:(y=O(b),e[10]=b,e[11]=y);let v;e[12]===r.name?v=e[13]:(v=r.name===""?(0,t.jsx)("i",{children:"Not connected"}):r.name,e[12]=r.name,e[13]=v);let w;e[14]!==v||e[15]!==y?(w=(0,t.jsx)("span",{className:y,children:v}),e[14]=v,e[15]=y,e[16]=w):w=e[16];let _;e[17]!==w||e[18]!==h||e[19]!==p||e[20]!==d||e[21]!==x?(_=(0,t.jsxs)(ae,{className:i,onSelect:h,value:p,children:[d,x,w]}),e[17]=w,e[18]=h,e[19]=p,e[20]=d,e[21]=x,e[22]=_):_=e[22];let L=n&&o,k;return e[23]!==_||e[24]!==L?(k=(0,t.jsxs)(t.Fragment,{children:[_,L]}),e[23]=_,e[24]=L,e[25]=k):k=e[25],k},Ka=({schemas:a,defaultSchema:e,defaultDatabase:s,dialect:l,engineName:r,databaseName:o,hasSearch:n,searchValue:j})=>{let{addSchemaList:g}=le(),[N,f]=C.useState(!1),[c,i]=C.useState(!1),{isPending:h,error:p}=oe(async()=>{if(a.length===0&&r&&!N){f(!0),i(!0);try{g({schemas:(await Je.request({engine:r,database:o})).schemas??[],sqlSchemaContext:{engine:r,database:o}})}finally{i(!1)}}},[a.length,r,o,N]);return h||c?(0,t.jsx)(ce,{message:"Loading schemas...",className:S.schemaLoading}):p?(0,t.jsx)(me,{error:p,className:S.schemaLoading}):a.length===0?(0,t.jsx)(te,{content:"No schemas available",className:S.schemaEmpty}):(0,t.jsx)(t.Fragment,{children:a.filter(d=>j?d.tables.some(m=>m.name.toLowerCase().includes(j.toLowerCase())):!0).map(d=>(0,t.jsx)(Ja,{databaseName:o,schema:d,hasSearch:n,children:(0,t.jsx)(Te,{tables:d.tables,searchValue:j,sqlTableContext:{engine:r,database:o,schema:d.name,defaultSchema:e,defaultDatabase:s,dialect:l}})},d.name))})},Ja=a=>{let e=(0,G.c)(24),{databaseName:s,schema:l,children:r,hasSearch:o}=a,[n,j]=C.useState(o),[g,N]=C.useState(!1),f=`${s}:${l.name}`;if(be(l.name))return r;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",S.schema),e[0]=c):c=e[0];let i;e[1]!==n||e[2]!==g?(i=()=>{j(!n),N(!g)},e[1]=n,e[2]=g,e[3]=i):i=e[3];let h;e[4]===n?h=e[5]:(h=(0,t.jsx)(_e,{isExpanded:n}),e[4]=n,e[5]=h);let p=g&&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 m;e[8]===d?m=e[9]:(m=(0,t.jsx)(la,{className:d}),e[8]=d,e[9]=m);let u=g&&n&&"font-semibold",x;e[10]===u?x=e[11]:(x=O(u),e[10]=u,e[11]=x);let b;e[12]!==l.name||e[13]!==x?(b=(0,t.jsx)("span",{className:x,children:l.name}),e[12]=l.name,e[13]=x,e[14]=b):b=e[14];let y;e[15]!==i||e[16]!==h||e[17]!==m||e[18]!==b||e[19]!==f?(y=(0,t.jsxs)(ae,{className:c,onSelect:i,value:f,children:[h,m,b]}),e[15]=i,e[16]=h,e[17]=m,e[18]=b,e[19]=f,e[20]=y):y=e[20];let v=n&&r,w;return e[21]!==y||e[22]!==v?(w=(0,t.jsxs)(t.Fragment,{children:[y,v]}),e[21]=y,e[22]=v,e[23]=w):w=e[23],w},Te=a=>{let e=(0,G.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:o}=le(),[n,j]=C.useState(!1),[g,N]=C.useState(!1),f;e[0]!==o||e[1]!==l||e[2]!==s.length||e[3]!==n?(f=async()=>{if(s.length===0&&l&&!n){j(!0),N(!0);let{engine:m,database:u,schema:x}=l,b=await Ke.request({engine:m,database:u,schema:x});if(!(b!=null&&b.tables))throw N(!1),Error("No tables available");o({tables:b.tables,sqlTableContext:l}),N(!1)}},e[0]=o,e[1]=l,e[2]=s.length,e[3]=n,e[4]=f):f=e[4];let c;e[5]!==l||e[6]!==s.length||e[7]!==n?(c=[s.length,l,n],e[5]=l,e[6]=s.length,e[7]=n,e[8]=c):c=e[8];let{isPending:i,error:h}=oe(f,c);if(i||g){let m;return e[9]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(ce,{message:"Loading tables...",className:S.tableLoading}),e[9]=m):m=e[9],m}if(h){let m;return e[10]===h?m=e[11]:(m=(0,t.jsx)(me,{error:h,className:S.tableLoading}),e[10]=h,e[11]=m),m}if(s.length===0){let m;return e[12]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(te,{content:"No tables found",className:S.tableLoading}),e[12]=m):m=e[12],m}let p;if(e[13]!==r||e[14]!==l||e[15]!==s){let m;e[17]===r?m=e[18]:(m=b=>r?b.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=m);let u=s.filter(m),x;e[19]!==r||e[20]!==l?(x=b=>(0,t.jsx)(Qa,{table:b,sqlTableContext:l,isSearching:!!r},b.name),e[19]=r,e[20]=l,e[21]=x):x=e[21],p=u.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},Qa=a=>{let e=(0,G.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:o}=le(),[n,j]=C.useState(!1),[g,N]=C.useState(!1),f=s.columns.length>0,c;e[0]!==o||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==f||e[5]!==g?(c=async()=>{if(n&&!f&&l&&!g){N(!0);let{engine:M,database:Y,schema:qe}=l,Z=await Ue.request({engine:M,database:Y,schema:qe,tableName:s.name});if(!(Z!=null&&Z.table))throw Error("No table details available");o({table:Z.table,sqlTableContext:l})}},e[0]=o,e[1]=n,e[2]=l,e[3]=s.name,e[4]=f,e[5]=g,e[6]=c):c=e[6];let i;e[7]!==n||e[8]!==f?(i=[n,f],e[7]=n,e[8]=f,e[9]=i):i=e[9];let{isFetching:h,isPending:p,error:d}=oe(c,i),m=K(ra),u=$a(),{createNewCell:x}=Pe(),b=Se(),y;e[10]!==b||e[11]!==m||e[12]!==x||e[13]!==u||e[14]!==l||e[15]!==s?(y=()=>{Fa({autoInstantiate:m,createNewCell:x,fromCellId:u}),b((()=>{if(s.source_type==="catalog"){let M=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${M}")`}if(l)return pe({table:s,columnName:"*",sqlTableContext:l});switch(s.source_type){case"local":return`mo.ui.table(${s.name})`;case"duckdb":case"connection":return pe({table:s,columnName:"*",sqlTableContext:l});default:return pa(s.source_type),""}})())},e[10]=b,e[11]=m,e[12]=x,e[13]=u,e[14]=l,e[15]=s,e[16]=y):y=e[16];let v=y,w;e[17]!==s.num_columns||e[18]!==s.num_rows?(w=()=>{let M=[];return s.num_rows!=null&&M.push(`${s.num_rows} rows`),s.num_columns!=null&&M.push(`${s.num_columns} columns`),M.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:M.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=w):w=e[19];let _=w,L;e[20]!==d||e[21]!==h||e[22]!==p||e[23]!==l||e[24]!==s?(L=()=>{if(p||h)return(0,t.jsx)(ce,{message:"Loading columns...",className:S.tableLoading});if(d)return(0,t.jsx)(me,{error:d,className:S.tableLoading});let M=s.columns;return M.length===0?(0,t.jsx)(te,{content:"No columns found",className:S.tableLoading}):M.map(Y=>(0,t.jsx)(Xa,{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]=L):L=e[25];let k=L,q;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(q=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?Ye:ta,{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]=q):q=e[30];let V=q,B=l?`${l.database}.${l.schema}.${s.name}`:s.name,P=l&&(be(l.schema)?S.tableSchemaless:S.tableWithSchema),E=(n||r)&&"font-semibold",F;e[31]!==P||e[32]!==E?(F=O("rounded-none group h-8 cursor-pointer",P,E),e[31]=P,e[32]=E,e[33]=F):F=e[33];let $;e[34]===n?$=e[35]:($=()=>j(!n),e[34]=n,e[35]=$);let I;e[36]===V?I=e[37]:(I=V(),e[36]=V,e[37]=I);let D;e[38]===s.name?D=e[39]:(D=(0,t.jsx)("span",{className:"text-sm",children:s.name}),e[38]=s.name,e[39]=D);let U;e[40]!==I||e[41]!==D?(U=(0,t.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[I,D]}),e[40]=I,e[41]=D,e[42]=U):U=e[42];let R;e[43]===_?R=e[44]:(R=_(),e[43]=_,e[44]=R);let T;e[45]===v?T=e[46]:(T=xa.stopPropagation(()=>v()),e[45]=v,e[46]=T);let Q;e[47]===Symbol.for("react.memo_cache_sentinel")?(Q=(0,t.jsx)(ya,{className:"h-3 w-3"}),e[47]=Q):Q=e[47];let z;e[48]===T?z=e[49]:(z=(0,t.jsx)(re,{content:"Add table to notebook",delayDuration:400,children:(0,t.jsx)(ee,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:T,children:Q})}),e[48]=T,e[49]=z);let W;e[50]!==n||e[51]!==$||e[52]!==U||e[53]!==R||e[54]!==z||e[55]!==F||e[56]!==B?(W=(0,t.jsxs)(ae,{className:F,value:B,"aria-selected":n,forceMount:!0,onSelect:$,children:[U,R,z]}),e[50]=n,e[51]=$,e[52]=U,e[53]=R,e[54]=z,e[55]=F,e[56]=B,e[57]=W):W=e[57];let H;e[58]!==n||e[59]!==k?(H=n&&k(),e[58]=n,e[59]=k,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},Xa=a=>{var U,R;let e=(0,G.c)(48),{table:s,column:l,sqlTableContext:r}=a,[o,n]=C.useState(!1),j=K(fe),g=de(Ve);j&&o&&n(!1),g(o?T=>new Set([...T,`${s.name}:${l.name}`]):T=>(T.delete(`${s.name}:${l.name}`),new Set(T)));let N=Se(),{columnsPreviews:f}=ze(),c;e[0]!==l.name||e[1]!==s.primary_keys?(c=((U=s.primary_keys)==null?void 0:U.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=c):c=e[2];let i=c,h;e[3]!==l.name||e[4]!==s.indexes?(h=((R=s.indexes)==null?void 0:R.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=T=>{N(T)},e[6]=N,e[7]=d);let m=d,u=Ya,x=o?"font-semibold":"",b;e[8]!==l.name||e[9]!==x?(b=(0,t.jsx)("span",{className:x,children:l.name}),e[8]=l.name,e[9]=x,e[10]=b):b=e[10];let y=b,v=`${s.name}.${l.name}`,w=`${s.name}.${l.name}`,_;e[11]===o?_=e[12]:(_=()=>n(!o),e[11]=o,e[12]=_);let L=r?S.columnSql:S.columnLocal,k;e[13]===L?k=e[14]:(k=O("flex flex-row gap-2 items-center flex-1",L),e[13]=L,e[14]=k);let q;e[15]!==l.type||e[16]!==y?(q=(0,t.jsx)(Va,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=q):q=e[17];let V;e[18]===i?V=e[19]:(V=i&&u({tooltipContent:"Primary key",content:"PK"}),e[18]=i,e[19]=V);let B;e[20]===p?B=e[21]:(B=p&&u({tooltipContent:"Indexed",content:"IDX"}),e[20]=p,e[21]=B);let P;e[22]!==k||e[23]!==q||e[24]!==V||e[25]!==B?(P=(0,t.jsxs)("div",{className:k,children:[q,V,B]}),e[22]=k,e[23]=q,e[24]=V,e[25]=B,e[26]=P):P=e[26];let E;e[27]===l.name?E=e[28]:(E=(0,t.jsx)(re,{content:"Copy column name",delayDuration:400,children:(0,t.jsx)(ee,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,t.jsx)(wa,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[27]=l.name,e[28]=E);let F;e[29]===l.external_type?F=e[30]:(F=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[29]=l.external_type,e[30]=F);let $;e[31]!==P||e[32]!==E||e[33]!==F||e[34]!==v||e[35]!==w||e[36]!==_?($=(0,t.jsxs)(ae,{className:"rounded-none py-1 group cursor-pointer",value:w,onSelect:_,children:[P,E,F]},v),e[31]=P,e[32]=E,e[33]=F,e[34]=v,e[35]=w,e[36]=_,e[37]=$):$=e[37];let I;e[38]!==l||e[39]!==f||e[40]!==m||e[41]!==o||e[42]!==r||e[43]!==s?(I=o&&(0,t.jsx)("div",{className:O(S.columnPreview,"pr-2 py-2 bg-(--slate-1) shadow-inner border-b"),children:(0,t.jsx)(oa,{children:(0,t.jsx)(Na,{table:s,column:l,onAddColumnChart:m,preview:f.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=f,e[40]=m,e[41]=o,e[42]=r,e[43]=s,e[44]=I):I=e[44];let D;return e[45]!==$||e[46]!==I?(D=(0,t.jsxs)(t.Fragment,{children:[$,I]}),e[45]=$,e[46]=I,e[47]=D):D=e[47],D};function Ya(a){let{tooltipContent:e,content:s}=a;return(0,t.jsx)(re,{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 ds(a){return a}var A={name:"name",type:"type-value",defs:"defs-refs"},Za=[{id:A.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)(Oa,{name:e,declaredBy:s})}},{id:A.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:A.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=o=>{let n=Ze(o);n&&sa(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)(ve,{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((o,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)(ve,{variant:"focus",cellId:o,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(o)},o),n<e.length-1&&", "]},o))})]}),(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)(va,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(Ea,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function et({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:A.defs,desc:!1});let l=[];switch(e.id){case A.name:l=J(a,r=>r.name);break;case A.type:l=J(a,r=>r.dataType);break;case A.defs:l=J(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.toReversed():l}const Le=(0,C.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=C.useState([]),[o,n]=C.useState(""),j=Ge(),{locale:g}=Sa(),N=(0,C.useMemo)(()=>{let c=i=>{let h=j[i];return Oe(h)?`cell-${e.indexOf(i)}`:h??`cell-${e.indexOf(i)}`};return Object.values(s).map(i=>({...i,declaredByNames:i.declaredBy.map(c),usedByNames:i.usedBy.map(c)}))},[s,j,e]),f=da({data:(0,C.useMemo)(()=>{let c=new Map;return e.forEach((i,h)=>c.set(i,h)),et({variables:N,sort:l[0],cellIdToIndex:c})},[N,l,e]),columns:Za,getCoreRowModel:ua(),onGlobalFilterChange:n,getFilteredRowModel:ia(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(c){return c.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:g,onSortingChange:r,getSortedRowModel:ha(),state:{sorting:l,globalFilter:o}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ja,{className:"w-full",placeholder:"Search",value:o,onChange:c=>n(c.target.value)}),(0,t.jsxs)(Da,{className:O("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)(Ia,{children:(0,t.jsx)(we,{className:"whitespace-nowrap text-xs",children:f.getFlatHeaders().map(c=>(0,t.jsx)(Ta,{className:"sticky top-0 bg-background border-b",children:je(c.column.columnDef.header,c.getContext())},c.id))})}),(0,t.jsx)(La,{children:f.getRowModel().rows.map(c=>(0,t.jsx)(we,{className:"hover:bg-accent",children:c.getVisibleCells().map(i=>(0,t.jsx)(qa,{className:"border-b",children:je(i.column.columnDef.cell,i.getContext())},i.id))},c.id))})]})]})});Le.displayName="VariableTable";var at=ge(),tt=ea("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},Re),st=()=>{let a=(0,at.c)(24),e=Ae(),s=aa(),l=K(ue),r=K(Ie),[o,n]=De(tt),j=l.length+r.length,g;a[0]!==j||a[1]!==o.hasUserInteracted||a[2]!==o.openSections?(g=!o.hasUserInteracted&&j>0?[...new Set([...o.openSections,"datasources"])]:o.openSections,a[0]=j,a[1]=o.hasUserInteracted,a[2]=o.openSections,a[3]=g):g=a[3];let N=g,f;a[4]===n?f=a[5]:(f=v=>{n({openSections:v,hasUserInteracted:!0})},a[4]=n,a[5]=f);let c=f,i=!N.includes("datasources")&&j>0,h;a[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)(se,{className:"w-4 h-4"}),a[6]=h):h=a[6];let p;a[7]!==j||a[8]!==i?(p=i&&(0,t.jsx)(Ra,{children:j}),a[7]=j,a[8]=i,a[9]=p):p=a[9];let d;a[10]===p?d=a[11]:(d=(0,t.jsxs)(Fe,{children:[h,"Data sources",p]}),a[10]=p,a[11]=d);let m;a[12]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)($e,{children:(0,t.jsx)(za,{})}),a[12]=m):m=a[12];let u;a[13]===d?u=a[14]:(u=(0,t.jsxs)(ke,{value:"datasources",children:[d,m]}),a[13]=d,a[14]=u);let x;a[15]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)(Fe,{children:[(0,t.jsx)(He,{className:"w-4 h-4"}),"Variables"]}),a[15]=x):x=a[15];let b;a[16]!==s||a[17]!==e?(b=(0,t.jsxs)(ke,{value:"variables",lastItem:!0,children:[x,(0,t.jsx)($e,{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)(Le,{cellIds:s.inOrderIds,variables:e})})]}),a[16]=s,a[17]=e,a[18]=b):b=a[18];let y;return a[19]!==c||a[20]!==N||a[21]!==u||a[22]!==b?(y=(0,t.jsxs)(ca,{type:"multiple",value:N,onValueChange:c,className:"flex flex-col h-full overflow-auto",children:[u,b]}),a[19]=c,a[20]=N,a[21]=u,a[22]=b,a[23]=y):y=a[23],y};export{st as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as I}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as P}from"./react-Bj1aDYRI.js";import{E as q}from"./cells-CuaAKcwV.js";import"./react-dom-CSu739Rf.js";import{t as $}from"./compiler-runtime-B3qBwwSJ.js";import{n as D}from"./useEventListener-DGjKht0c.js";import{n as F}from"./constants-tOPFFcLZ.js";import{t as G}from"./cn-DYvqRARy.js";import{t as R}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{t as T}from"./tooltip-DmqhBBs6.js";import{t as w}from"./button-BKVLeSTX.js";import{at as W}from"./dist-VwkX7yeV.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as A}from"./requests-9-v2bhoi.js";import{n as E,t as B}from"./LazyAnyLanguageCodeMirror-CoYqQxHb.js";import{t as J}from"./x-Bv2rCglF.js";import{t as K}from"./spinner-C5wIpWgQ.js";import{t as L}from"./plus-BYq_Btg-.js";import"./dist-BvlMLwcr.js";import"./dist-4lB-oR9j.js";import"./dist-CxquLoAZ.js";import"./dist-Dnlw22ji.js";import"./dist-CgYlATe-.js";import"./session-DdnWW30b.js";import{r as U}from"./useTheme-DCDmxPD0.js";import"./purify.es-BFDc-_i_.js";import{t as V}from"./RenderHTML-HmYLAtrW.js";import{a as X,c as Y,i as Q,n as Z,r as ee}from"./dialog-BYjetQgE.js";import{n as te}from"./ImperativeModal-DoGv2BXV.js";import{n as se}from"./error-banner-bXc_9BBZ.js";import{n as re}from"./useAsyncData-
|
|
1
|
+
import{s as I}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as P}from"./react-Bj1aDYRI.js";import{E as q}from"./cells-CuaAKcwV.js";import"./react-dom-CSu739Rf.js";import{t as $}from"./compiler-runtime-B3qBwwSJ.js";import{n as D}from"./useEventListener-DGjKht0c.js";import{n as F}from"./constants-tOPFFcLZ.js";import{t as G}from"./cn-DYvqRARy.js";import{t as R}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{t as T}from"./tooltip-DmqhBBs6.js";import{t as w}from"./button-BKVLeSTX.js";import{at as W}from"./dist-VwkX7yeV.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as A}from"./requests-9-v2bhoi.js";import{n as E,t as B}from"./LazyAnyLanguageCodeMirror-CoYqQxHb.js";import{t as J}from"./x-Bv2rCglF.js";import{t as K}from"./spinner-C5wIpWgQ.js";import{t as L}from"./plus-BYq_Btg-.js";import"./dist-BvlMLwcr.js";import"./dist-4lB-oR9j.js";import"./dist-CxquLoAZ.js";import"./dist-Dnlw22ji.js";import"./dist-CgYlATe-.js";import"./session-DdnWW30b.js";import{r as U}from"./useTheme-DCDmxPD0.js";import"./purify.es-BFDc-_i_.js";import{t as V}from"./RenderHTML-HmYLAtrW.js";import{a as X,c as Y,i as Q,n as Z,r as ee}from"./dialog-BYjetQgE.js";import{n as te}from"./ImperativeModal-DoGv2BXV.js";import{n as se}from"./error-banner-bXc_9BBZ.js";import{n as re}from"./useAsyncData-aCoWDe-l.js";import{a as le,o as oe,r as ie,t as ae,u as ne}from"./command-DvF_4mQa.js";import{o as me}from"./focus-B524Cy57.js";import{n as ce,r as de,t as M}from"./react-resizable-panels.browser.esm-BUNcfKXO.js";import{t as pe}from"./empty-state-BbLVXQU7.js";import{n as he,r as fe}from"./panel-context-aIZ10ULn.js";import{t as H}from"./kiosk-mode-CnJjuo6B.js";var O=$(),C=I(P(),1),s=I(R(),1),xe=D;const ue=t=>{let e=(0,O.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,O.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}=re(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)(le,{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)(ie,{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)(M,{defaultSize:40,minSize:20,maxSize:70,children:(0,s.jsxs)(ae,{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)(de,{className:p}),t[14]=p,t[15]=x);let n;t[16]===r?n=t[17]:(n=(0,s.jsx)(M,{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)(ce,{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}=q(),a=me(),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)(E,{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)(H,{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)(H,{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)(E,{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)(oe,{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,3 +1,3 @@
|
|
|
1
|
-
var Ht=Object.defineProperty;var De=f=>{throw TypeError(f)};var Ot=(f,h,y)=>h in f?Ht(f,h,{enumerable:!0,configurable:!0,writable:!0,value:y}):f[h]=y;var n=(f,h,y)=>Ot(f,typeof h!="symbol"?h+"":h,y),ue=(f,h,y)=>h.has(f)||De("Cannot "+y);var o=(f,h,y)=>(ue(f,h,"read from private field"),y?y.call(f):h.get(f)),_=(f,h,y)=>h.has(f)?De("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(f):h.set(f,y),C=(f,h,y,z)=>(ue(f,h,"write to private field"),z?z.call(f,y):h.set(f,y),y),A=(f,h,y)=>(ue(f,h,"access private method"),y);import{i as Q,p as de,u as $t}from"./useEvent-D91BmmQi.js";import{An as zt,b as Vt,bi as Qt,ci as Yt,di as Gt,hi as Jt,it as He,pi as Kt,x as Xt,xi as Y,__tla as Zt}from"./cells-CuaAKcwV.js";import{t as er}from"./get-D7jeR2wg.js";import{t as tr}from"./debounce-BbSyBDA8.js";import{t as rr}from"./_baseSet-49dbm-yb.js";import{_ as p,y as g}from"./useEventListener-DGjKht0c.js";import{t as sr}from"./invariant-CkiqGLcK.js";import{S as nr}from"./utils-8btzWeZg.js";import{S as ar,n as ir}from"./config-Cgj0Ahvb.js";import{n as or}from"./switch-C2idsSNO.js";import{n as Oe}from"./globals-Bh85lAn7.js";import{at as ce,ot as $e,__tla as lr}from"./JsonOutput-
|
|
1
|
+
var Ht=Object.defineProperty;var De=f=>{throw TypeError(f)};var Ot=(f,h,y)=>h in f?Ht(f,h,{enumerable:!0,configurable:!0,writable:!0,value:y}):f[h]=y;var n=(f,h,y)=>Ot(f,typeof h!="symbol"?h+"":h,y),ue=(f,h,y)=>h.has(f)||De("Cannot "+y);var o=(f,h,y)=>(ue(f,h,"read from private field"),y?y.call(f):h.get(f)),_=(f,h,y)=>h.has(f)?De("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(f):h.set(f,y),C=(f,h,y,z)=>(ue(f,h,"write to private field"),z?z.call(f,y):h.set(f,y),y),A=(f,h,y)=>(ue(f,h,"access private method"),y);import{i as Q,p as de,u as $t}from"./useEvent-D91BmmQi.js";import{An as zt,b as Vt,bi as Qt,ci as Yt,di as Gt,hi as Jt,it as He,pi as Kt,x as Xt,xi as Y,__tla as Zt}from"./cells-CuaAKcwV.js";import{t as er}from"./get-D7jeR2wg.js";import{t as tr}from"./debounce-BbSyBDA8.js";import{t as rr}from"./_baseSet-49dbm-yb.js";import{_ as p,y as g}from"./useEventListener-DGjKht0c.js";import{t as sr}from"./invariant-CkiqGLcK.js";import{S as nr}from"./utils-8btzWeZg.js";import{S as ar,n as ir}from"./config-Cgj0Ahvb.js";import{n as or}from"./switch-C2idsSNO.js";import{n as Oe}from"./globals-Bh85lAn7.js";import{at as ce,ot as $e,__tla as lr}from"./JsonOutput-B4a1SeX3.js";import{t as ur}from"./createReducer-CYlwteGD.js";import{r as dr}from"./strings-pfr2N700.js";import{t as pe}from"./requests-9-v2bhoi.js";import{a as ze,l as cr,r as Ve,__tla as pr}from"./markdown-renderer-CcawdlL_.js";import{t as fr}from"./DeferredRequestRegistry-BLWK1eKa.js";import{t as hr}from"./preload-helper-D2MJg03u.js";import{t as Qe}from"./Deferred-DxQeE5uh.js";import{t as Ye}from"./uuid-DXdzqzcr.js";import{t as mr}from"./use-toast-BDYuj3zG.js";import{n as gr,r as yr,t as wr}from"./share-0LPgOyiW.js";import{t as br}from"./blob-CTort_or.js";import{i as Ge,r as vr,t as _r}from"./events-Qeh-bHlj.js";let G,fe,he,Je,Ke,Xe,Ze,et,J,tt,me,rt,st,nt,ge,at,ne,it,ot,ye,lt,ut,Cr=Promise.all([(()=>{try{return Zt}catch{}})(),(()=>{try{return lr}catch{}})(),(()=>{try{return pr}catch{}})()]).then(async()=>{var U,ee,ct,Ie,M,T,E,Le,F,Ne,P,V,D,ae,Ae,Ue,te,I,L,H,R,j,N,pt,ft,ht,re;function f(t,e,r){return t==null?t:rr(t,e,r)}G=f,ut=de(null);var{valueAtom:h,useActions:y}=ur(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Ye()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});Je=()=>$t(h),lt=function(){return y()};let z,be,ve;z=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)}},ye=class we{constructor(e){n(this,"subscriptions",new z);this.producer=e}static withProducerCallback(e){return new we(e)}static empty(){return new we}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)}},be=1e10,ve=1e3;function K(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 gt(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,Dt)}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=ve}=t;t.transport&&a(t.transport),t.requestHandler&&u(t.requestHandler),t._debugHooks&&r(t._debugHooks);let v=0;function q(){return v<=be?++v:v=0}let x=new Map,S=new Map;function O(l,...c){let w=c[0];return new Promise((m,b)=>{var $;if(!s.send)throw K(["send"],"make requests");let k=q(),W={type:"request",id:k,method:l,params:w};x.set(k,{resolve:m,reject:b}),d!==1/0&&S.set(k,setTimeout(()=>{S.delete(k),b(Error("RPC request timed out."))},d)),($=e.onSend)==null||$.call(e,W),s.send(W)})}let se=new Proxy(O,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>O(c,m)}),Te=se;function je(l,...c){var b;let w=c[0];if(!s.send)throw K(["send"],"send messages");let m={type:"message",id:l,payload:w};(b=e.onSend)==null||b.call(e,m),s.send(m)}let Be=new Proxy(je,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>je(c,m)}),We=Be,B=new Map,le=new Set;function Bt(l,c){var w;if(!s.registerHandler)throw K(["registerHandler"],"register message listeners");if(l==="*"){le.add(c);return}B.has(l)||B.set(l,new Set),(w=B.get(l))==null||w.add(c)}function Wt(l,c){var w,m;if(l==="*"){le.delete(c);return}(w=B.get(l))==null||w.delete(c),((m=B.get(l))==null?void 0:m.size)===0&&B.delete(l)}async function Dt(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 K(["send","requestHandler"],"handle requests");let{id:m,method:b,params:k}=l,W;try{W={type:"response",id:m,success:!0,payload:await i(b,k)}}catch($){if(!($ instanceof Error))throw $;W={type:"response",id:m,success:!1,error:$.message}}(w=e.onSend)==null||w.call(e,W),s.send(W);return}if(l.type==="response"){let m=S.get(l.id);m!=null&&clearTimeout(m);let{resolve:b,reject:k}=x.get(l.id)??{};l.success?b==null||b(l.payload):k==null||k(Error(l.error));return}if(l.type==="message"){for(let b of le)b(l.id,l.payload);let m=B.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:Te,send:Be,sendProxy:We,addMessageListener:Bt,removeMessageListener:Wt,proxy:{send:We,request:Te},_setDebugHooks:r}}function yt(t){return gt(t)}var _e="[transport-id]";function wt(t,e){let{transportId:r}=e;return r==null?t:{[_e]:r,data:t}}function bt(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[_e]!==r)return[!0];i=t.data}return a===!1?[!0]:[!1,i]}function vt(t,e={}){let{transportId:r,filter:s,remotePort:a}=e,i=t,u=a??t,d;return{send(v){u.postMessage(wt(v,{transportId:r}))},registerHandler(v){d=q=>{let x=q.data,[S,O]=bt(x,{transportId:r,filter:()=>s==null?void 0:s(q)});S||v(O)},i.addEventListener("message",d)},unregisterHandler(){d&&i.removeEventListener("message",d)}}}function _t(t,e){return vt(t,e)}function Ce(t){return yt({transport:_t(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{p.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{p.debug("[rpc] Worker -> Parent",e)}}})}fe=de("Initializing..."),et=de(t=>{let e=t(Vt),r=Object.values(e.cellRuntime);return r.some(s=>!cr(s.output))?!0:r.every(s=>s.status==="idle")});var Re=gr(),qe="marimo:file",xe=new Yt(null);const Ct={saveFile(t){xe.set(qe,t)},readFile(){return xe.get(qe)}};var Rt={saveFile(t){Y.setCodeForHash((0,Re.compressToEncodedURIComponent)(t))},readFile(){let t=Y.getCodeFromHash()||Y.getCodeFromSearchParam();return t?(0,Re.decompressFromEncodedURIComponent)(t):null}};const qt={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var xt={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 St={saveFile(t){},readFile(){return Q.get(Gt)??null}};var Et={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
|
|
2
2
|
`)}},Se=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;J=new Se([St,qt,Rt]),X=new Se([Ct,xt,Et]),ge=class dt{constructor(){n(this,"initialized",new Qe);n(this,"sendRename",async({filename:e})=>(e===null||(Y.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&&(J.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
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=>(Q.get(Xt)||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}),or.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&&(J.saveFile(e.contents),X.saveFile(e.contents)),yr(),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=wr({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:Ye()}),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=>await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:e}));n(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_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);ar()&&(this.rpc=Ce(new Worker(new URL(""+new URL("worker-BPV9SmHz.js",import.meta.url).href,""+import.meta.url),{type:"module",name:Oe()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{Q.set(fe,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(p.error(e),mr({title:"Error initializing",description:e,variant:"danger"})),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 dt),window[e]}getSaveWorker(){return He()==="read"?(p.debug("Skipping SaveWorker in read-mode"),{readFile:g,readNotebook:g,saveNotebook:g}):Ce(new Worker(new URL(""+new URL("save-worker-CtJsIYIM.js",import.meta.url).href,""+import.meta.url),{type:"module",name:Oe()})).proxy.request}async startSession(){let e=await J.readFile(),r=await X.readFile(),s=Q.get(Kt)??Y.getFilename(),a=Q.get(nr),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:He()==="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})}},rt=function(){return ye.withProducerCallback(t=>{ge.INSTANCE.attachMessageConsumer(t)})},Xe=function(t=ce()){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":kt(a)}})}return e(r,s)}catch(i){return p.error("Error parsing URL",i),e(r,s)}},()=>{window.fetch=e}};function kt(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}Ze=function(t,e=ce()){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 Ee(t){return t.startsWith(".")?t.slice(1):t}function Mt(t,e=ce()){let r=Z(t,e);if(!r)return t;let s=br(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=ke(t),i=ke(s);return e[t]||e[Ee(t)]||e[s]||e[Ee(s)]||a&&e[a]||i&&e[i]}function ke(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function ie(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(...ie(a,[...e,s]));else if(typeof t=="object"&&t)for(let[s,a]of Object.entries(t))r.push(...ie(a,[...e,s]));return r}function Pt(t){let e=ie(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),s=[],a=[];for(let i of e){let u=er(t,i);if(u instanceof DataView){let d=ze(u);s.push(d),a.push(i),G(r,i,d)}}return{state:r,buffers:s,bufferPaths:a}}function Me(t){let{state:e,bufferPaths:r,buffers:s}=t;if(!r||r.length===0)return e;s&&sr(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"?G(a,u,Ve(d)):G(a,u,d)}return a}const Pe={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 Ft(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 It=(Ie=class{constructor(){_(this,ee);_(this,U,new Map)}getModule(t,e){let r=o(this,U).get(e);if(r)return r;let s=A(this,ee,ct).call(this,t).catch(a=>{throw o(this,U).delete(e),a});return o(this,U).set(e,s),s}invalidate(t){p.debug(`[WidgetDefRegistry] Invalidating module cache for hash=${t}`),o(this,U).delete(t)}},U=new WeakMap,ee=new WeakSet,ct=async function(t){let e=ir(t).toString();return $e()&&(e=Mt(e)),hr(()=>import(e).then(async r=>(await r.__tla,r)),[],import.meta.url)},Ie),Lt=(Le=class{constructor(){_(this,M);_(this,T);_(this,E)}async bind(t,e){var i,u;if(o(this,E)&&o(this,T)===t)return o(this,E);o(this,E)&&o(this,T)!==t&&(p.debug("[WidgetBinding] Hot-reload detected, aborting previous binding"),(i=o(this,M))==null||i.abort(),C(this,M,void 0),C(this,E,void 0)),C(this,T,t),C(this,M,new AbortController);let r=o(this,M).signal,s=typeof t=="function"?await t():t,a=await((u=s.initialize)==null?void 0:u.call(s,{model:e,experimental:Pe}));return a&&r.addEventListener("abort",a),C(this,E,async(d,v)=>{var x;let q=await((x=s.render)==null?void 0:x.call(s,{model:e,el:d,experimental:Pe}));q&&Ft([v,r]).addEventListener("abort",()=>{let S=v.aborted?"view unmount":"binding destroyed";p.debug(`[WidgetBinding] Render cleanup triggered (reason: ${S})`),q()})}),o(this,E)}destroy(){var t;p.debug("[WidgetBinding] Destroying binding, aborting initialize lifecycle"),(t=o(this,M))==null||t.abort(),C(this,M,void 0),C(this,T,void 0),C(this,E,void 0)}},M=new WeakMap,T=new WeakMap,E=new WeakMap,Le),Nt=(Ne=class{constructor(){_(this,F,new Map)}getOrCreate(t){let e=o(this,F).get(t);return e||(e=new Lt,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,Ne);ot=new It,me=new Nt;var At=(Ae=class{constructor(t=1e4){_(this,D);_(this,P,new Map);_(this,V);C(this,V,t)}get(t){let e=A(this,D,ae).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,V)),e.deferred.promise}create(t,e){let r=A(this,D,ae).call(this,t);r.deferred.resolve(e(r.controller.signal))}set(t,e){A(this,D,ae).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,V=new WeakMap,D=new WeakSet,ae=function(t){let e=o(this,P).get(t);return e||(e={deferred:new Qe,controller:new AbortController},o(this,P).set(t,e)),e},Ae),Fe=Symbol("marimo");function oe(t){return t[Fe]}ne=new At;var Ut=(Ue=Fe,j=class{constructor(e,r,s){_(this,N);_(this,te,"change");_(this,I);_(this,L);_(this,H);_(this,R,{});n(this,Ue,{updateAndEmitDiffs:e=>A(this,N,ft).call(this,e),emitCustomMessage:(e,r)=>A(this,N,ht).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,tr(()=>{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,pt).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,pt=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)}},ft=function(e){e!=null&&Object.keys(e).forEach(r=>{let s=r;o(this,L)[s]!==e[s]&&this.set(s,e[s])})},ht=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",ne),j);Ke=async function(t,e){let r=e.model_id,s=e.message,a=("buffers"in s?s.buffers:[]).map(Ve);switch(s.method){case"open":{let{state:i,buffer_paths:u=[]}=s,d=Me({state:i,bufferPaths:u,buffers:a}),v=t.getSync(r);if(v){oe(v).updateAndEmitDiffs(d);return}t.create(r,q=>new Ut(d,$e()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(x){if(q.aborted){p.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:S,buffers:O,bufferPaths:se}=Pt(x);await pe().sendModelValue({modelId:r,message:{method:"update",state:S,bufferPaths:se},buffers:O})},async sendCustomMessage(x,S){if(q.aborted){p.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await pe().sendModelValue({modelId:r,message:{method:"custom",content:x},buffers:S.map(ze)})}},q));return}case"custom":oe(await t.get(r)).emitCustomMessage({method:"custom",content:s.content},a);return;case"close":me.destroy(r),t.delete(r);return;case"update":{let{state:i,buffer_paths:u=[]}=s,d=Me({state:i,bufferPaths:u,buffers:a});oe(await t.get(r)).updateAndEmitDiffs(d);return}default:dr(s)}},zt(ne,"MODEL_MANAGER");function Tt(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}he=class mt{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new mt),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:Qt(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(Tt(r)){a.value=r.value,a.elements.forEach(i=>{i.dispatchEvent(Ge.create({bubbles:!1,composed:!0,detail:{value:r.value,element:i}}))});return}a.elements.forEach(i=>{i.dispatchEvent(_r.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(Ge.create({bubbles:!1,composed:!0,detail:{value:s,element:i}}))}),document.dispatchEvent(vr.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},nt=he.INSTANCE,tt=new fr("function-call-result",async(t,e)=>{await pe().sendFunctionRequest({functionCallId:t,...e})}),it="68px";var jt="288px";st=t=>t?/^\d+$/.test(t)?`${t}px`:t:jt,at=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{G as S,fe as _,Cr as __tla,he as a,Je as b,Ke as c,Xe as d,Ze as f,et as g,J as h,tt as i,me as l,rt as m,st as n,nt as o,ge as p,at as r,ne as s,it as t,ot as u,ye as v,lt as x,ut as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as E,u as b}from"./useEvent-D91BmmQi.js";import{t as k}from"./compiler-runtime-B3qBwwSJ.js";import{t as q}from"./createReducer-CYlwteGD.js";import{t as y}from"./requests-9-v2bhoi.js";import{t as A}from"./createLucideIcon-w-Qo9n0R.js";import{t as g}from"./DeferredRequestRegistry-BLWK1eKa.js";import{n as $}from"./useAsyncData-
|
|
1
|
+
import{p as E,u as b}from"./useEvent-D91BmmQi.js";import{t as k}from"./compiler-runtime-B3qBwwSJ.js";import{t as q}from"./createReducer-CYlwteGD.js";import{t as y}from"./requests-9-v2bhoi.js";import{t as A}from"./createLucideIcon-w-Qo9n0R.js";import{t as g}from"./DeferredRequestRegistry-BLWK1eKa.js";import{n as $}from"./useAsyncData-aCoWDe-l.js";var I=A("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);const v=new g("storage-list-entries",async(r,t)=>{await y().listStorageEntries({requestId:r,...t})}),N=new g("storage-download",async(r,t)=>{await y().downloadStorage({requestId:r,...t})});function w(r,t){return`${r}::${t??""}`}function _(r){return`${r}::`}var z=k();function C(){return{namespaces:[],entriesByPath:new Map}}var{reducer:O,createActions:Q,valueAtom:P,useActions:F}=q(C,{setNamespaces:(r,t)=>{let e=new Map(r.namespaces.map(a=>[a.name,a]));for(let a of t.namespaces)e.set(a.name,a);return{...r,namespaces:[...e.values()]}},setEntries:(r,t)=>{let e=w(t.namespace,t.prefix),a=new Map(r.entriesByPath);return a.set(e,t.entries),{...r,entriesByPath:a}},clearNamespaceCache:(r,t)=>{let e=new Map(r.entriesByPath),a=_(t);for(let n of e.keys())n.startsWith(a)&&e.delete(n);return{...r,entriesByPath:e}},filterFromVariables:(r,t)=>{let e=new Set(t),a=r.namespaces.filter(n=>e.has(n.name));return{...r,namespaces:a}}});const x=()=>b(P),H=E(r=>r(P).namespaces);function B(){return F()}function V(r,t){let e=(0,z.c)(20),{entriesByPath:a}=x(),{setEntries:n}=B(),o;e[0]!==a||e[1]!==r||e[2]!==t?(o=a.get(w(r,t)),e[0]=a,e[1]=r,e[2]=t,e[3]=o):o=e[3];let s=o,m;e[4]!==s||e[5]!==r||e[6]!==t||e[7]!==n?(m=async()=>{if(s)return;let d=await v.request({namespace:r,prefix:t??"",limit:150});if(d.error)throw Error(d.error);n({namespace:r,prefix:t,entries:d.entries})},e[4]=s,e[5]=r,e[6]=t,e[7]=n,e[8]=m):m=e[8];let f=s===void 0,c;e[9]!==r||e[10]!==t||e[11]!==f?(c=[r,t,f],e[9]=r,e[10]=t,e[11]=f,e[12]=c):c=e[12];let{isPending:M,error:S,refetch:l}=$(m,c),i;e[13]===s?i=e[14]:(i=s??[],e[13]=s,e[14]=i);let u=M&&!s,h=s?void 0:S,p;return e[15]!==l||e[16]!==i||e[17]!==u||e[18]!==h?(p={entries:i,isPending:u,error:h,refetch:l},e[15]=l,e[16]=i,e[17]=u,e[18]=h,e[19]=p):p=e[19],p}export{w as a,I as c,V as i,x as n,N as o,B as r,v as s,H as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as S}from"./chunk-LvLJmgfZ.js";import{n as _}from"./useEvent-D91BmmQi.js";import{t as A}from"./react-Bj1aDYRI.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as F}from"./invariant-CkiqGLcK.js";var E=D(),y=S(A(),1),a={error(e,s){return{status:"error",data:s,error:e,isPending:!1,isFetching:!1}},success(e){return{status:"success",data:e,error:void 0,isPending:!1,isFetching:!1}},loading(e){return{status:"loading",data:e,error:void 0,isPending:!1,isFetching:!0}},pending(){return{status:"pending",data:void 0,error:void 0,isPending:!0,isFetching:!0}}};function q(...e){F(e.length>0,"combineAsyncData requires at least one response");let s=()=>{e.forEach(r=>r.refetch())},t=e.find(r=>r.status==="error");if(t!=null&&t.error)return{...a.error(t.error),refetch:s};if(e.every(r=>r.status==="success"))return{...a.success(e.map(r=>r.data)),refetch:s};let n=e.some(r=>r.status==="loading"),v=e.every(r=>r.data!==void 0);return n&&v?{...a.loading(e.map(r=>r.data)),refetch:s}:{...a.pending(),refetch:s}}function w(e,s){let t=(0,E.c)(17),[n,v]=(0,y.useState)(0),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=a.pending(),t[0]=r):r=t[0];let[o,
|
|
1
|
+
import{s as S}from"./chunk-LvLJmgfZ.js";import{n as _}from"./useEvent-D91BmmQi.js";import{t as A}from"./react-Bj1aDYRI.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as F}from"./invariant-CkiqGLcK.js";var E=D(),y=S(A(),1),a={error(e,s){return{status:"error",data:s,error:e,isPending:!1,isFetching:!1}},success(e){return{status:"success",data:e,error:void 0,isPending:!1,isFetching:!1}},loading(e){return{status:"loading",data:e,error:void 0,isPending:!1,isFetching:!0}},pending(){return{status:"pending",data:void 0,error:void 0,isPending:!0,isFetching:!0}}};function q(...e){F(e.length>0,"combineAsyncData requires at least one response");let s=()=>{e.forEach(r=>r.refetch())},t=e.find(r=>r.status==="error");if(t!=null&&t.error)return{...a.error(t.error),refetch:s};if(e.every(r=>r.status==="success"))return{...a.success(e.map(r=>r.data)),refetch:s};let n=e.some(r=>r.status==="loading"),v=e.every(r=>r.data!==void 0);return n&&v?{...a.loading(e.map(r=>r.data)),refetch:s}:{...a.pending(),refetch:s}}function w(e,s){let t=(0,E.c)(17),[n,v]=(0,y.useState)(0),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=a.pending(),t[0]=r):r=t[0];let[o,f]=(0,y.useState)(r),g;t[1]===e?g=t[2]:(g=typeof e=="function"?{fetch:e}:e,t[1]=e,t[2]=g);let c=_(g.fetch),p;t[3]===c?p=t[4]:(p=()=>{let i=new AbortController,l=!1;return f(x),c({previous:()=>{l=!0}}).then(b=>{i.signal.aborted||l||f(a.success(b))}).catch(b=>{i.signal.aborted||f(P=>a.error(b,P.data))}),()=>{i.abort()}},t[3]=c,t[4]=p);let h;t[5]!==s||t[6]!==c||t[7]!==n?(h=[...s,n,c],t[5]=s,t[6]=c,t[7]=n,t[8]=h):h=t[8],(0,y.useEffect)(p,h);let u;t[9]===o?u=t[10]:(u=i=>{let l;typeof i=="function"?(F(o.status==="success"||o.status==="loading","No previous state value."),l=i(o.data)):l=i,f(a.success(l))},t[9]=o,t[10]=u);let d;t[11]===n?d=t[12]:(d=()=>v(n+1),t[11]=n,t[12]=d);let m;return t[13]!==o||t[14]!==u||t[15]!==d?(m={...o,setData:u,refetch:d},t[13]=o,t[14]=u,t[15]=d,t[16]=m):m=t[16],m}function x(e){return e.status==="success"||e.status==="loading"?a.loading(e.data):a.pending()}export{w as n,q as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as ze}from"./chunk-LvLJmgfZ.js";import{d as $,l as ct,p as ht,u as me}from"./useEvent-D91BmmQi.js";import{t as mt}from"./react-Bj1aDYRI.js";import{E as Me,En as pt,Jt as ut,Rr as ft,Tn as xt,_ as yt,cr as kt,ct as We,h as _e,kn as bt,ot as wt,pr as jt,st as gt,t as vt,ur as Ct,vr as zt,wi as pe,wn as Mt}from"./cells-CuaAKcwV.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{n as Wt,x as _t}from"./ai-model-dropdown-DUK_vWZh.js";import{_ as H,d as Ne}from"./useEventListener-DGjKht0c.js";import{y as Nt}from"./utils-8btzWeZg.js";import{n as L,t as Se}from"./constants-tOPFFcLZ.js";import{S as ue,h as St,n as Dt,o as Pt,x as At}from"./config-Cgj0Ahvb.js";import{t as It}from"./jsx-runtime-Blw4afVn.js";import{o as Et}from"./alert-dialog-CXspBRlP.js";import{a as Lt,c as fe,o as xe,s as Tt}from"./popover-AtoFZ7i4.js";import{a as Rt,c as $t,i as Ht,n as qt,r as Bt,s as Ft,t as Ot}from"./select--zcABebs.js";import{gt as Ut}from"./JsonOutput-Wyxa3w5g.js";import{c as De,d as ye,n as Vt,o as Yt,r as ke,t as Kt}from"./download-CxGVI9eo.js";import{m as Gt}from"./form-COrD4PHo.js";import{t as Pe}from"./tooltip-DmqhBBs6.js";import{r as Ae,t as q}from"./button-BKVLeSTX.js";import{i as Jt,r as Qt,t as Ie}from"./strings-pfr2N700.js";import{r as B}from"./requests-9-v2bhoi.js";import{t as b}from"./createLucideIcon-w-Qo9n0R.js";import{a as Ee,f as Xt,i as Le,m as Zt,p as Te,u as Re}from"./layout-KyEkcuqM.js";import{t as be}from"./check-B-sKate2.js";import{n as ea}from"./maps-B4xARV9R.js";import{r as ta}from"./useCellActionButton-BKZyr81R.js";import{t as $e}from"./copy-DFMsQ6MJ.js";import{t as aa}from"./eye-off-DgRJ-xBZ.js";import{t as ae}from"./file-l37OnSN4.js";import{t as oa}from"./github-C3N4cuN4.js";import{n as na,r as sa,t as la}from"./youtube-D6LtMx2w.js";import{i as ia,n as He}from"./add-connection-dialog-D_pURG16.js";import{n as ra,t as da}from"./square-COtNnHUC.js";import{t as ca}from"./image-BgkzrnsX.js";import{t as ha}from"./link-dU_vDDSR.js";import{r as ma}from"./input-Bg12i6qY.js";import{t as pa}from"./settings-C1bg8A2T.js";import{t as ua}from"./sparkles-B79Qf6ma.js";import{y as fa}from"./textarea-CI3yaazO.js";import{t as S}from"./use-toast-BDYuj3zG.js";import{n as qe,t as xa}from"./paths-BzSgteR-.js";import{o as ya}from"./session-DdnWW30b.js";import{n as F}from"./copy-Bizk-4hH.js";import{r as ka}from"./useRunCells-B5o8P7HV.js";import{a as Be,c as Fe,i as Oe,n as Ue,r as Ve}from"./dialog-BYjetQgE.js";import{n as we}from"./ImperativeModal-DoGv2BXV.js";import{r as ba,t as wa}from"./share-0LPgOyiW.js";import{a as ja}from"./cell-link-D5GhiNrn.js";import{a as ga}from"./renderShortcut-DrDh2657.js";import{t as va}from"./icons-DlzgV4KY.js";import{n as Ca}from"./marimo-icons-Dp8wmdDL.js";import{t as za}from"./links-C19POYUQ.js";import{r as Ma,t as Ye}from"./hooks-DG20O34i.js";import{t as Ke}from"./types-DOdUT9LT.js";var Wa=b("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),_a=b("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),Ge=b("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Je=b("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Qe=b("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Na=b("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),Sa=b("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Da=b("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Xe=b("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),Pa=b("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),Aa=b("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),Ia=b("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Ze=b("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Ea=b("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),La=b("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),et=b("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),je=N(),D=ze(mt(),1),a=ze(It(),1);function Ta(){return"uvx marimo@latest"}function Ra(t,e,n){let o=n?" --with-token":"",s=`${Ta()} pair prompt --url '${e}'${o}`;switch(t){case"claude":return`claude "$(${s} --claude)"`;case"codex":return`codex "$(${s} --codex)"`;case"opencode":return`opencode "$(${s} --opencode)"`;default:Qt(t)}}function $a(t){return t.length<=4?"****":`${"*".repeat(Math.min(t.length-4,8))}${t.slice(-4)}`}var Ha="npx skills add marimo-team/marimo-pair";function qa(){let t=(0,je.c)(2),[e,n]=(0,D.useState)(null),o,s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{fetch(Dt("/auth/token").href,{credentials:"include"}).then(Ba).then(r=>n((r==null?void 0:r.token)??null)).catch(()=>n(null))},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,D.useEffect)(o,s),e}function Ba(t){return t.ok?t.json():null}const Fa=t=>{let e=(0,je.c)(32),{onClose:n}=t,[o,s]=(0,D.useState)("claude"),r=Pt(),i=qa(),l=!!i,d;e[0]!==o||e[1]!==l||e[2]!==r.httpURL?(d=Ra(o,r.httpURL.toString(),l),e[0]=o,e[1]=l,e[2]=r.httpURL,e[3]=d):d=e[3];let c=d,m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(Fe,{children:"Pair with an agent"}),e[4]=m):m=e[4];let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsxs)(Be,{children:[m,(0,a.jsxs)(Ve,{children:["Use an AI coding agent to pair-program on this notebook."," ",(0,a.jsx)("a",{href:"https://links.marimo.app/marimo-pair",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Learn more"}),"."]})]}),e[5]=p):p=e[5];let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"1. Install the skill"}),(0,a.jsx)(O,{command:Ha})]}),e[6]=h):h=e[6];let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)("span",{className:"text-sm font-medium",children:"2. Run in your terminal"}),e[7]=u):u=e[7];let x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x=_=>s(_),e[8]=x):x=e[8];let w;e[9]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsxs)(Tt,{className:"w-full",children:[(0,a.jsx)(fe,{value:"claude",className:"flex-1",children:"Claude"}),(0,a.jsx)(fe,{value:"codex",className:"flex-1",children:"Codex"}),(0,a.jsx)(fe,{value:"opencode",className:"flex-1",children:"OpenCode"})]}),e[9]=w):w=e[9];let y;e[10]===c?y=e[11]:(y=(0,a.jsx)(xe,{value:"claude",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[10]=c,e[11]=y);let k;e[12]===c?k=e[13]:(k=(0,a.jsx)(xe,{value:"codex",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[12]=c,e[13]=k);let j;e[14]===c?j=e[15]:(j=(0,a.jsx)(xe,{value:"opencode",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[14]=c,e[15]=j);let g;e[16]!==o||e[17]!==j||e[18]!==y||e[19]!==k?(g=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[u,(0,a.jsxs)(Lt,{value:o,onValueChange:x,children:[w,y,k,j]})]}),e[16]=o,e[17]=j,e[18]=y,e[19]=k,e[20]=g):g=e[20];let z;e[21]!==i||e[22]!==l?(z=l&&i&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"3. Paste when prompted for token"}),(0,a.jsx)(O,{command:i,display:$a(i)})]}),e[21]=i,e[22]=l,e[23]=z):z=e[23];let v;e[24]!==g||e[25]!==z?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[h,g,z]}),e[24]=g,e[25]=z,e[26]=v):v=e[26];let M;e[27]===n?M=e[28]:(M=(0,a.jsx)(Oe,{children:(0,a.jsx)(q,{variant:"secondary",onClick:n,children:"Close"})}),e[27]=n,e[28]=M);let W;return e[29]!==v||e[30]!==M?(W=(0,a.jsxs)(Ue,{className:"sm:max-w-lg",children:[p,v,M]}),e[29]=v,e[30]=M,e[31]=W):W=e[31],W};var O=t=>{let e=(0,je.c)(15),{command:n,display:o}=t,[s,r]=(0,D.useState)(!1),i;e[0]===n?i=e[1]:(i=Ae.stopPropagation(async x=>{x.preventDefault(),await F(n),r(!0),setTimeout(()=>r(!1),2e3)}),e[0]=n,e[1]=i);let l=i,d=o??n,c;e[2]===d?c=e[3]:(c=(0,a.jsx)("code",{className:"flex-1 select-all break-words",children:d}),e[2]=d,e[3]=c);let m;e[4]===s?m=e[5]:(m=s?(0,a.jsx)(be,{size:14,strokeWidth:1.5}):(0,a.jsx)($e,{size:14,strokeWidth:1.5}),e[4]=s,e[5]=m);let p;e[6]!==l||e[7]!==m?(p=(0,a.jsx)(q,{onClick:l,size:"xs",variant:"ghost",children:m}),e[6]=l,e[7]=m,e[8]=p):p=e[8];let h;e[9]!==s||e[10]!==p?(h=(0,a.jsx)(Pe,{content:"Copied!",open:s,children:p}),e[9]=s,e[10]=p,e[11]=h):h=e[11];let u;return e[12]!==c||e[13]!==h?(u=(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-muted px-3 py-2 font-mono text-xs",children:[c,h]}),e[12]=c,e[13]=h,e[14]=u):u=e[14],u},tt=N(),oe="https://static.marimo.app";const Oa=t=>{let e=(0,tt.c)(25),{onClose:n}=t,[o,s]=(0,D.useState)(""),{exportAsHTML:r}=B(),i=`${o}-${Math.random().toString(36).slice(2,6)}`,l=`${oe}/static/${i}`,d;e[0]!==r||e[1]!==n||e[2]!==i?(d=async g=>{g.preventDefault(),n();let z=await r({download:!1,includeCode:!0,files:Xt.INSTANCE.filenames()}),v=S({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${oe}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:z,path:i})}).catch(()=>{v.dismiss(),S({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:L.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),v.dismiss(),S({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},e[0]=r,e[1]=n,e[2]=i,e[3]=d):d=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Fe,{children:"Share static notebook"}),e[4]=c):c=e[4];let m;e[5]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsxs)(Be,{children:[c,(0,a.jsxs)(Ve,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:oe,target:"_blank",children:oe}),"."]})]}),e[5]=m):m=e[5];let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=g=>{s(g.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},e[6]=p):p=e[6];let h;e[7]===o?h=e[8]:(h=(0,a.jsx)(ma,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:p,required:!0,autoComplete:"off"}),e[7]=o,e[8]=h);let u;e[9]===l?u=e[10]:(u=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Ua,{text:l}),(0,a.jsx)("span",{className:"text-primary",children:l})]})]}),e[9]=l,e[10]=u);let x;e[11]!==h||e[12]!==u?(x=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[h,u]}),e[11]=h,e[12]=u,e[13]=x):x=e[13];let w;e[14]===n?w=e[15]:(w=(0,a.jsx)(q,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:n,children:"Cancel"}),e[14]=n,e[15]=w);let y;e[16]===l?y=e[17]:(y=(0,a.jsx)(q,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await F(l)},children:"Create"}),e[16]=l,e[17]=y);let k;e[18]!==w||e[19]!==y?(k=(0,a.jsxs)(Oe,{children:[w,y]}),e[18]=w,e[19]=y,e[20]=k):k=e[20];let j;return e[21]!==d||e[22]!==k||e[23]!==x?(j=(0,a.jsx)(Ue,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[m,x,k]})}),e[21]=d,e[22]=k,e[23]=x,e[24]=j):j=e[24],j};var Ua=t=>{let e=(0,tt.c)(8),[n,o]=D.useState(!1),s;e[0]===t.text?s=e[1]:(s=Ae.stopPropagation(async c=>{c.preventDefault(),await F(t.text),o(!0),setTimeout(()=>o(!1),2e3)}),e[0]=t.text,e[1]=s);let r=s,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)($e,{size:14,strokeWidth:1.5}),e[2]=i):i=e[2];let l;e[3]===r?l=e[4]:(l=(0,a.jsx)(q,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:i}),e[3]=r,e[4]=l);let d;return e[5]!==n||e[6]!==l?(d=(0,a.jsx)(Pe,{content:"Copied!",open:n,children:l}),e[5]=n,e[6]=l,e[7]=d):d=e[7],d},Va=N();function Ya(){let t=document.getElementsByClassName(Se.outputArea);for(let e of t){let n=e.getBoundingClientRect();if(n.bottom>0&&n.top<window.innerHeight){let o=pe.findElement(e);if(!o){H.warn("Could not find HTMLCellId for visible output area",e);continue}return{cellId:pe.parse(o.id)}}}return H.warn("No visible output area found for scroll anchor"),null}function Ka(t){if(!t){H.warn("No scroll anchor provided to restore scroll position");return}let e=document.getElementById(pe.create(t.cellId));if(!e){H.warn("Could not find cell element to restore scroll position",t.cellId);return}if(!e.querySelector(`.${Se.outputArea}`)){H.warn("Could not find output area to restore scroll position",t.cellId);return}e.scrollIntoView({block:"start",behavior:"auto"})}function at(){let t=(0,Va.c)(2),e=$(We),n;return t[0]===e?n=t[1]:(n=()=>{let o=Ya();e(s=>({mode:gt(s.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Ka(o)})})},t[0]=e,t[1]=n),n}const ot=ht(!1);var Ga=N();const Ja=()=>{let t=(0,Ga.c)(7),{selectedLayout:e}=Ee(),{setLayoutView:n}=Le();if(ue()&&!bt("wasm_layouts"))return null;let o;t[0]===n?o=t[1]:(o=l=>n(l),t[0]=n,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ft,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)($t,{placeholder:"Select a view"})}),t[2]=s):s=t[2];let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(qt,{children:(0,a.jsxs)(Bt,{children:[(0,a.jsx)(Rt,{children:"View as"}),Ke.map(Xa)]})}),t[3]=r):r=t[3];let i;return t[4]!==e||t[5]!==o?(i=(0,a.jsxs)(Ot,{"data-testid":"layout-select",value:e,onValueChange:o,children:[s,r]}),t[4]=e,t[5]=o,t[6]=i):i=t[6],i};function Qa(t){return(0,a.jsx)(nt(t),{className:"h-4 w-4"})}function nt(t){switch(t){case"vertical":return Pa;case"grid":return sa;case"slides":return Ze;default:return Jt(t),da}}function st(t){return Ie.startCase(t)}function Xa(t){return(0,a.jsx)(Ht,{value:t,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Qa(t),(0,a.jsx)("span",{children:st(t)})]})},t)}async function Za(t){let{filename:e,preset:n,downloadPDF:o}=t;await o({filename:e,webpdf:!1,preset:n,includeInputs:!0,rasterServer:"static"})}var eo=N();function to(t){let e=(0,eo.c)(5),{openPrompt:n,closeModal:o}=we(),{sendCopy:s}=B(),r;return e[0]!==o||e[1]!==n||e[2]!==s||e[3]!==t?(r=()=>{if(!t)return null;let i=xa.guessDeliminator(t);n({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${qe.basename(t)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:l=>{let d=i.join(qe.dirname(t),l);s({source:t,destination:d}).then(()=>{o(),S({title:"Notebook copied",description:"A copy of the notebook has been created."}),za(d)})}})},e[0]=o,e[1]=n,e[2]=s,e[3]=t,e[4]=r):r=e[4],r}const ao=()=>{let{updateCellConfig:t}=Me(),{saveCellConfig:e}=B();return(0,D.useCallback)(async()=>{let n=new ut,o=_e(),s=o.cellIds.inOrderIds,r={};for(let l of s){if(o.cellData[l]===void 0)continue;let{code:d,config:c}=o.cellData[l];c.hide_code||n.isSupported(d)&&(r[l]={hide_code:!0})}let i=Ne.entries(r);if(i.length!==0){await e({configs:r});for(let[l,d]of i)t({cellId:l,config:d})}},[t])};var oo=N();function lt(){let t=(0,oo.c)(4),{openConfirm:e}=we(),n=$(St),{sendRestart:o}=B(),s;return t[0]!==e||t[1]!==o||t[2]!==n?(s=()=>{e({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Et,{onClick:async()=>{n({state:At.CLOSING}),await o(),ba()},"aria-label":"Confirm Restart",children:"Restart"})})},t[0]=e,t[1]=o,t[2]=n,t[3]=s):s=t[3],s}var no=N(),T=t=>{t==null||t.preventDefault(),t==null||t.stopPropagation()};function so(){var ve,Ce;let t=(0,no.c)(51),e=ja(),{openModal:n,closeModal:o}=we(),{toggleApplication:s}=Mt(),{selectedPanel:r}=xt(),[i]=ct(We),l=me(wt),d=ao(),[c]=Nt(),{updateCellConfig:m,undoDeleteCell:p,clearAllCellOutputs:h,addSetupCellIfDoesntExist:u,collapseAllCells:x,expandAllCells:w}=Me(),y=lt(),k=ka(),j=to(e),g=$(ot),z=$(Wt),v=$(_t),{exportAsIPYNB:M,exportAsMarkdown:W,readCode:_,saveCellConfig:se,updateCellOutputs:P}=B(),A=Ma(),le=me(yt),ie=me(vt),{selectedLayout:U}=Ee(),{setLayoutView:re}=Le(),V=at(),Y=((ve=c.sharing)==null?void 0:ve.html)??!0,K=((Ce=c.sharing)==null?void 0:Ce.wasm)??!0,ge=!ue(),de=U==="slides",it=Co,rt=vo,G;t[0]!==e||t[1]!==A||t[2]!==P?(G=async f=>{let{preset:C,title:R}=f;if(!e){ne();return}await De(R,async he=>{await Ye({takeScreenshots:()=>A({progress:he}),updateCellOutputs:P}),await Za({filename:e,preset:C,downloadPDF:Vt})})},t[0]=e,t[1]=A,t[2]=P,t[3]=G):G=t[3];let I=G,J;t[4]===I?J=t[5]:(J=async()=>{if(ge){await I({preset:"document",title:"Downloading Document PDF..."});return}let f=new Event("export-beforeprint"),C=new Event("export-afterprint");window.dispatchEvent(f),setTimeout(go,0),setTimeout(()=>window.dispatchEvent(C),0)},t[4]=I,t[5]=J);let Q=J,X;t[6]!==M||t[7]!==e||t[8]!==A||t[9]!==P?(X=async()=>{if(!e){ne();return}await De("Downloading IPYNB...",async f=>{await Ye({takeScreenshots:()=>A({progress:f}),updateCellOutputs:P});let C=await M({download:!1});ke(new Blob([C],{type:"application/x-ipynb+json"}),ye.toIPYNB(document.title))})},t[6]=M,t[7]=e,t[8]=A,t[9]=P,t[10]=X):X=t[10];let ce=X,Z;t[11]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,a.jsx)(Ut,{size:14,strokeWidth:1.5}),t[11]=Z):Z=t[11];let ee;t[12]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,a.jsx)(Te,{size:14,strokeWidth:1.5}),t[12]=ee):ee=t[12];let E;t[13]===e?E=t[14]:(E=async()=>{if(!e){ne();return}await Re({filename:e,includeCode:!0})},t[13]=e,t[14]=E);let te;return t[15]!==u||t[16]!==ie||t[17]!==h||t[18]!==o||t[19]!==x||t[20]!==j||t[21]!==I||t[22]!==w||t[23]!==W||t[24]!==e||t[25]!==Q||t[26]!==ce||t[27]!==le||t[28]!==d||t[29]!==de||t[30]!==l||t[31]!==n||t[32]!==_||t[33]!==y||t[34]!==k||t[35]!==se||t[36]!==U||t[37]!==r||t[38]!==g||t[39]!==v||t[40]!==re||t[41]!==z||t[42]!==Y||t[43]!==K||t[44]!==E||t[45]!==s||t[46]!==V||t[47]!==p||t[48]!==m||t[49]!==i.mode?(te=[{icon:Z,label:"Download",handle:T,dropdown:[{icon:ee,label:"Download as HTML",handle:E},{icon:(0,a.jsx)(Te,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!e){ne();return}await Re({filename:e,includeCode:!1})}},{icon:(0,a.jsx)(va,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let f=await W({download:!1});ke(new Blob([f],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(Aa,{size:14,strokeWidth:1.5}),label:"Download as ipynb",handle:ce},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let f=await _();ke(new Blob([f.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",ga("global.hideCode",!1)]}),handle:jo},de?{divider:!0,icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:T,dropdown:[{icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Document Layout",handle:Q},{icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Slides Layout",rightElement:rt(!0),hidden:!ge,handle:async()=>{await I({preset:"slides",title:"Downloading Slides PDF..."})}}]}:{divider:!0,icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:Q}]},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Pair with an agent",handle:async()=>{n((0,a.jsx)(Fa,{onClose:o}))}},{icon:(0,a.jsx)(Ea,{size:14,strokeWidth:1.5}),label:"Share",handle:T,hidden:!Y&&!K,dropdown:[{icon:(0,a.jsx)(Gt,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!Y,handle:async()=>{n((0,a.jsx)(Oa,{onClose:o}))}},{icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!K,handle:async()=>{await F(wa({code:(await _()).contents})),S({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(Ia,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:T,dropdown:pt.flatMap(f=>{let{type:C,Icon:R,hidden:he,additionalKeywords:dt}=f;return he?[]:{label:Ie.startCase(C),rightElement:it(r===C),icon:(0,a.jsx)(R,{size:14,strokeWidth:1.5}),handle:()=>s(C),additionalKeywords:dt}})},{icon:(0,a.jsx)(Ze,{size:14,strokeWidth:1.5}),label:"Present as",handle:T,dropdown:[{icon:i.mode==="present"?(0,a.jsx)(fa,{size:14,strokeWidth:1.5}):(0,a.jsx)(Xe,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{V()}},...Ke.map((f,C)=>{let R=nt(f);return{divider:C===0,label:st(f),icon:(0,a.jsx)(R,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:U===f&&(0,a.jsx)(be,{size:14})}),handle:()=>{re(f),i.mode==="edit"&&V()}}})]},{icon:(0,a.jsx)(Sa,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!e||ue(),handle:j},{icon:(0,a.jsx)(Ge,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!e,handle:async()=>{await F((await _()).contents),S({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!le||l,handle:async()=>{let f=ft(_e());await se({configs:Ne.fromEntries(f.map(wo))});for(let C of f)m({cellId:C,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{u({})}},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{n((0,a.jsx)(He,{onClose:o}))}},{icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Add remote storage",handle:()=>{n((0,a.jsx)(He,{defaultTab:"storage",onClose:o}))}},{icon:(0,a.jsx)(et,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!ie||l,handle:()=>{p()}},{icon:(0,a.jsx)(La,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:y,additionalKeywords:["reset","reload","restart"]},{icon:(0,a.jsx)(Na,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{k()}},{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{h()}},{icon:(0,a.jsx)(aa,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(_a,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:x,redundant:!0},{icon:(0,a.jsx)(Wa,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:w,redundant:!0},{divider:!0,icon:(0,a.jsx)(Je,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>g(bo)},{icon:(0,a.jsx)(Da,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>v(ko)},{icon:(0,a.jsx)(pa,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>z(yo),redundant:!0,additionalKeywords:["preferences","options","configuration"]},{icon:(0,a.jsx)(ea,{size:14,strokeWidth:1.5}),label:"Resources",handle:T,dropdown:[{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Documentation",handle:xo},{icon:(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"GitHub",handle:fo},{icon:(0,a.jsx)(na,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:uo},{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"YouTube",handle:po},{icon:(0,a.jsx)(kt,{size:14,strokeWidth:1.5}),label:"Changelog",handle:mo}]},{divider:!0,icon:(0,a.jsx)(ra,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:ho},{icon:(0,a.jsx)(Ca,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:co}].filter(ro).map(lo),t[15]=u,t[16]=ie,t[17]=h,t[18]=o,t[19]=x,t[20]=j,t[21]=I,t[22]=w,t[23]=W,t[24]=e,t[25]=Q,t[26]=ce,t[27]=le,t[28]=d,t[29]=de,t[30]=l,t[31]=n,t[32]=_,t[33]=y,t[34]=k,t[35]=se,t[36]=U,t[37]=r,t[38]=g,t[39]=v,t[40]=re,t[41]=z,t[42]=Y,t[43]=K,t[44]=E,t[45]=s,t[46]=V,t[47]=p,t[48]=m,t[49]=i.mode,t[50]=te):te=t[50],te}function lo(t){return t.dropdown?{...t,dropdown:t.dropdown.filter(io)}:t}function io(t){return!t.hidden}function ro(t){return!t.hidden}function co(){let t=ya();window.open(t,"_blank")}function ho(){let t=document.baseURI.split("?")[0];window.open(t,"_self")}function mo(){window.open(L.releasesPage,"_blank")}function po(){window.open(L.youtube,"_blank")}function uo(){window.open(L.discordLink,"_blank")}function fo(){window.open(L.githubPage,"_blank")}function xo(){window.open(L.docsPage,"_blank")}function yo(t){return!t}function ko(t){return!t}function bo(t){return!t}function wo(t){return[t,{disabled:!1}]}async function jo(){let t=document.getElementById("App");t&&await Yt({element:t,filename:document.title,prepare:Kt})}function go(){return window.print()}function vo(t){return t?(0,a.jsx)("span",{className:"ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700",children:"Recommended"}):null}function Co(t){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:t&&(0,a.jsx)(be,{size:14})})}function ne(){S({title:"Error",description:"Notebooks must be named to be exported.",variant:"danger"})}export{at as a,Qe as c,ot as i,Je as l,lt as n,et as o,Ja as r,Xe as s,so as t,Ge as u};
|
|
1
|
+
import{s as ze}from"./chunk-LvLJmgfZ.js";import{d as $,l as ct,p as ht,u as me}from"./useEvent-D91BmmQi.js";import{t as mt}from"./react-Bj1aDYRI.js";import{E as Me,En as pt,Jt as ut,Rr as ft,Tn as xt,_ as yt,cr as kt,ct as We,h as _e,kn as bt,ot as wt,pr as jt,st as gt,t as vt,ur as Ct,vr as zt,wi as pe,wn as Mt}from"./cells-CuaAKcwV.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{n as Wt,x as _t}from"./ai-model-dropdown-Beo7Smw4.js";import{_ as H,d as Ne}from"./useEventListener-DGjKht0c.js";import{y as Nt}from"./utils-8btzWeZg.js";import{n as L,t as Se}from"./constants-tOPFFcLZ.js";import{S as ue,h as St,n as Dt,o as Pt,x as At}from"./config-Cgj0Ahvb.js";import{t as It}from"./jsx-runtime-Blw4afVn.js";import{o as Et}from"./alert-dialog-CXspBRlP.js";import{a as Lt,c as fe,o as xe,s as Tt}from"./popover-AtoFZ7i4.js";import{a as Rt,c as $t,i as Ht,n as qt,r as Bt,s as Ft,t as Ot}from"./select--zcABebs.js";import{gt as Ut}from"./JsonOutput-B4a1SeX3.js";import{c as De,d as ye,n as Vt,o as Yt,r as ke,t as Kt}from"./download-CxGVI9eo.js";import{m as Gt}from"./form-Cm06lVN1.js";import{t as Pe}from"./tooltip-DmqhBBs6.js";import{r as Ae,t as q}from"./button-BKVLeSTX.js";import{i as Jt,r as Qt,t as Ie}from"./strings-pfr2N700.js";import{r as B}from"./requests-9-v2bhoi.js";import{t as b}from"./createLucideIcon-w-Qo9n0R.js";import{a as Ee,f as Xt,i as Le,m as Zt,p as Te,u as Re}from"./layout-Bw_vLB-v.js";import{t as be}from"./check-B-sKate2.js";import{n as ea}from"./maps-B4xARV9R.js";import{r as ta}from"./useCellActionButton-BKZyr81R.js";import{t as $e}from"./copy-DFMsQ6MJ.js";import{t as aa}from"./eye-off-DgRJ-xBZ.js";import{t as ae}from"./file-l37OnSN4.js";import{t as oa}from"./github-C3N4cuN4.js";import{n as na,r as sa,t as la}from"./youtube-D6LtMx2w.js";import{i as ia,n as He}from"./add-connection-dialog-CI1RS_P_.js";import{n as ra,t as da}from"./square-COtNnHUC.js";import{t as ca}from"./image-BgkzrnsX.js";import{t as ha}from"./link-dU_vDDSR.js";import{r as ma}from"./input-Bg12i6qY.js";import{t as pa}from"./settings-C1bg8A2T.js";import{t as ua}from"./sparkles-B79Qf6ma.js";import{y as fa}from"./textarea-CI3yaazO.js";import{t as S}from"./use-toast-BDYuj3zG.js";import{n as qe,t as xa}from"./paths-BzSgteR-.js";import{o as ya}from"./session-DdnWW30b.js";import{n as F}from"./copy-Bizk-4hH.js";import{r as ka}from"./useRunCells-B5o8P7HV.js";import{a as Be,c as Fe,i as Oe,n as Ue,r as Ve}from"./dialog-BYjetQgE.js";import{n as we}from"./ImperativeModal-DoGv2BXV.js";import{r as ba,t as wa}from"./share-0LPgOyiW.js";import{a as ja}from"./cell-link-D5GhiNrn.js";import{a as ga}from"./renderShortcut-DrDh2657.js";import{t as va}from"./icons-DlzgV4KY.js";import{n as Ca}from"./marimo-icons-Dp8wmdDL.js";import{t as za}from"./links-C19POYUQ.js";import{r as Ma,t as Ye}from"./hooks-BMFl_Ghe.js";import{t as Ke}from"./types-DOdUT9LT.js";var Wa=b("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),_a=b("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),Ge=b("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Je=b("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Qe=b("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Na=b("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),Sa=b("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Da=b("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Xe=b("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),Pa=b("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),Aa=b("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),Ia=b("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Ze=b("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Ea=b("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),La=b("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),et=b("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),je=N(),D=ze(mt(),1),a=ze(It(),1);function Ta(){return"uvx marimo@latest"}function Ra(t,e,n){let o=n?" --with-token":"",s=`${Ta()} pair prompt --url '${e}'${o}`;switch(t){case"claude":return`claude "$(${s} --claude)"`;case"codex":return`codex "$(${s} --codex)"`;case"opencode":return`opencode "$(${s} --opencode)"`;default:Qt(t)}}function $a(t){return t.length<=4?"****":`${"*".repeat(Math.min(t.length-4,8))}${t.slice(-4)}`}var Ha="npx skills add marimo-team/marimo-pair";function qa(){let t=(0,je.c)(2),[e,n]=(0,D.useState)(null),o,s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{fetch(Dt("/auth/token").href,{credentials:"include"}).then(Ba).then(r=>n((r==null?void 0:r.token)??null)).catch(()=>n(null))},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,D.useEffect)(o,s),e}function Ba(t){return t.ok?t.json():null}const Fa=t=>{let e=(0,je.c)(32),{onClose:n}=t,[o,s]=(0,D.useState)("claude"),r=Pt(),i=qa(),l=!!i,d;e[0]!==o||e[1]!==l||e[2]!==r.httpURL?(d=Ra(o,r.httpURL.toString(),l),e[0]=o,e[1]=l,e[2]=r.httpURL,e[3]=d):d=e[3];let c=d,m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(Fe,{children:"Pair with an agent"}),e[4]=m):m=e[4];let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsxs)(Be,{children:[m,(0,a.jsxs)(Ve,{children:["Use an AI coding agent to pair-program on this notebook."," ",(0,a.jsx)("a",{href:"https://links.marimo.app/marimo-pair",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Learn more"}),"."]})]}),e[5]=p):p=e[5];let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"1. Install the skill"}),(0,a.jsx)(O,{command:Ha})]}),e[6]=h):h=e[6];let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)("span",{className:"text-sm font-medium",children:"2. Run in your terminal"}),e[7]=u):u=e[7];let x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x=_=>s(_),e[8]=x):x=e[8];let w;e[9]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsxs)(Tt,{className:"w-full",children:[(0,a.jsx)(fe,{value:"claude",className:"flex-1",children:"Claude"}),(0,a.jsx)(fe,{value:"codex",className:"flex-1",children:"Codex"}),(0,a.jsx)(fe,{value:"opencode",className:"flex-1",children:"OpenCode"})]}),e[9]=w):w=e[9];let y;e[10]===c?y=e[11]:(y=(0,a.jsx)(xe,{value:"claude",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[10]=c,e[11]=y);let k;e[12]===c?k=e[13]:(k=(0,a.jsx)(xe,{value:"codex",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[12]=c,e[13]=k);let j;e[14]===c?j=e[15]:(j=(0,a.jsx)(xe,{value:"opencode",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[14]=c,e[15]=j);let g;e[16]!==o||e[17]!==j||e[18]!==y||e[19]!==k?(g=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[u,(0,a.jsxs)(Lt,{value:o,onValueChange:x,children:[w,y,k,j]})]}),e[16]=o,e[17]=j,e[18]=y,e[19]=k,e[20]=g):g=e[20];let z;e[21]!==i||e[22]!==l?(z=l&&i&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"3. Paste when prompted for token"}),(0,a.jsx)(O,{command:i,display:$a(i)})]}),e[21]=i,e[22]=l,e[23]=z):z=e[23];let v;e[24]!==g||e[25]!==z?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[h,g,z]}),e[24]=g,e[25]=z,e[26]=v):v=e[26];let M;e[27]===n?M=e[28]:(M=(0,a.jsx)(Oe,{children:(0,a.jsx)(q,{variant:"secondary",onClick:n,children:"Close"})}),e[27]=n,e[28]=M);let W;return e[29]!==v||e[30]!==M?(W=(0,a.jsxs)(Ue,{className:"sm:max-w-lg",children:[p,v,M]}),e[29]=v,e[30]=M,e[31]=W):W=e[31],W};var O=t=>{let e=(0,je.c)(15),{command:n,display:o}=t,[s,r]=(0,D.useState)(!1),i;e[0]===n?i=e[1]:(i=Ae.stopPropagation(async x=>{x.preventDefault(),await F(n),r(!0),setTimeout(()=>r(!1),2e3)}),e[0]=n,e[1]=i);let l=i,d=o??n,c;e[2]===d?c=e[3]:(c=(0,a.jsx)("code",{className:"flex-1 select-all break-words",children:d}),e[2]=d,e[3]=c);let m;e[4]===s?m=e[5]:(m=s?(0,a.jsx)(be,{size:14,strokeWidth:1.5}):(0,a.jsx)($e,{size:14,strokeWidth:1.5}),e[4]=s,e[5]=m);let p;e[6]!==l||e[7]!==m?(p=(0,a.jsx)(q,{onClick:l,size:"xs",variant:"ghost",children:m}),e[6]=l,e[7]=m,e[8]=p):p=e[8];let h;e[9]!==s||e[10]!==p?(h=(0,a.jsx)(Pe,{content:"Copied!",open:s,children:p}),e[9]=s,e[10]=p,e[11]=h):h=e[11];let u;return e[12]!==c||e[13]!==h?(u=(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-muted px-3 py-2 font-mono text-xs",children:[c,h]}),e[12]=c,e[13]=h,e[14]=u):u=e[14],u},tt=N(),oe="https://static.marimo.app";const Oa=t=>{let e=(0,tt.c)(25),{onClose:n}=t,[o,s]=(0,D.useState)(""),{exportAsHTML:r}=B(),i=`${o}-${Math.random().toString(36).slice(2,6)}`,l=`${oe}/static/${i}`,d;e[0]!==r||e[1]!==n||e[2]!==i?(d=async g=>{g.preventDefault(),n();let z=await r({download:!1,includeCode:!0,files:Xt.INSTANCE.filenames()}),v=S({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${oe}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:z,path:i})}).catch(()=>{v.dismiss(),S({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:L.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),v.dismiss(),S({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},e[0]=r,e[1]=n,e[2]=i,e[3]=d):d=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Fe,{children:"Share static notebook"}),e[4]=c):c=e[4];let m;e[5]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsxs)(Be,{children:[c,(0,a.jsxs)(Ve,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:oe,target:"_blank",children:oe}),"."]})]}),e[5]=m):m=e[5];let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=g=>{s(g.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},e[6]=p):p=e[6];let h;e[7]===o?h=e[8]:(h=(0,a.jsx)(ma,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:p,required:!0,autoComplete:"off"}),e[7]=o,e[8]=h);let u;e[9]===l?u=e[10]:(u=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Ua,{text:l}),(0,a.jsx)("span",{className:"text-primary",children:l})]})]}),e[9]=l,e[10]=u);let x;e[11]!==h||e[12]!==u?(x=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[h,u]}),e[11]=h,e[12]=u,e[13]=x):x=e[13];let w;e[14]===n?w=e[15]:(w=(0,a.jsx)(q,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:n,children:"Cancel"}),e[14]=n,e[15]=w);let y;e[16]===l?y=e[17]:(y=(0,a.jsx)(q,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await F(l)},children:"Create"}),e[16]=l,e[17]=y);let k;e[18]!==w||e[19]!==y?(k=(0,a.jsxs)(Oe,{children:[w,y]}),e[18]=w,e[19]=y,e[20]=k):k=e[20];let j;return e[21]!==d||e[22]!==k||e[23]!==x?(j=(0,a.jsx)(Ue,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[m,x,k]})}),e[21]=d,e[22]=k,e[23]=x,e[24]=j):j=e[24],j};var Ua=t=>{let e=(0,tt.c)(8),[n,o]=D.useState(!1),s;e[0]===t.text?s=e[1]:(s=Ae.stopPropagation(async c=>{c.preventDefault(),await F(t.text),o(!0),setTimeout(()=>o(!1),2e3)}),e[0]=t.text,e[1]=s);let r=s,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)($e,{size:14,strokeWidth:1.5}),e[2]=i):i=e[2];let l;e[3]===r?l=e[4]:(l=(0,a.jsx)(q,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:i}),e[3]=r,e[4]=l);let d;return e[5]!==n||e[6]!==l?(d=(0,a.jsx)(Pe,{content:"Copied!",open:n,children:l}),e[5]=n,e[6]=l,e[7]=d):d=e[7],d},Va=N();function Ya(){let t=document.getElementsByClassName(Se.outputArea);for(let e of t){let n=e.getBoundingClientRect();if(n.bottom>0&&n.top<window.innerHeight){let o=pe.findElement(e);if(!o){H.warn("Could not find HTMLCellId for visible output area",e);continue}return{cellId:pe.parse(o.id)}}}return H.warn("No visible output area found for scroll anchor"),null}function Ka(t){if(!t){H.warn("No scroll anchor provided to restore scroll position");return}let e=document.getElementById(pe.create(t.cellId));if(!e){H.warn("Could not find cell element to restore scroll position",t.cellId);return}if(!e.querySelector(`.${Se.outputArea}`)){H.warn("Could not find output area to restore scroll position",t.cellId);return}e.scrollIntoView({block:"start",behavior:"auto"})}function at(){let t=(0,Va.c)(2),e=$(We),n;return t[0]===e?n=t[1]:(n=()=>{let o=Ya();e(s=>({mode:gt(s.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Ka(o)})})},t[0]=e,t[1]=n),n}const ot=ht(!1);var Ga=N();const Ja=()=>{let t=(0,Ga.c)(7),{selectedLayout:e}=Ee(),{setLayoutView:n}=Le();if(ue()&&!bt("wasm_layouts"))return null;let o;t[0]===n?o=t[1]:(o=l=>n(l),t[0]=n,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ft,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)($t,{placeholder:"Select a view"})}),t[2]=s):s=t[2];let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(qt,{children:(0,a.jsxs)(Bt,{children:[(0,a.jsx)(Rt,{children:"View as"}),Ke.map(Xa)]})}),t[3]=r):r=t[3];let i;return t[4]!==e||t[5]!==o?(i=(0,a.jsxs)(Ot,{"data-testid":"layout-select",value:e,onValueChange:o,children:[s,r]}),t[4]=e,t[5]=o,t[6]=i):i=t[6],i};function Qa(t){return(0,a.jsx)(nt(t),{className:"h-4 w-4"})}function nt(t){switch(t){case"vertical":return Pa;case"grid":return sa;case"slides":return Ze;default:return Jt(t),da}}function st(t){return Ie.startCase(t)}function Xa(t){return(0,a.jsx)(Ht,{value:t,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Qa(t),(0,a.jsx)("span",{children:st(t)})]})},t)}async function Za(t){let{filename:e,preset:n,downloadPDF:o}=t;await o({filename:e,webpdf:!1,preset:n,includeInputs:!0,rasterServer:"static"})}var eo=N();function to(t){let e=(0,eo.c)(5),{openPrompt:n,closeModal:o}=we(),{sendCopy:s}=B(),r;return e[0]!==o||e[1]!==n||e[2]!==s||e[3]!==t?(r=()=>{if(!t)return null;let i=xa.guessDeliminator(t);n({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${qe.basename(t)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:l=>{let d=i.join(qe.dirname(t),l);s({source:t,destination:d}).then(()=>{o(),S({title:"Notebook copied",description:"A copy of the notebook has been created."}),za(d)})}})},e[0]=o,e[1]=n,e[2]=s,e[3]=t,e[4]=r):r=e[4],r}const ao=()=>{let{updateCellConfig:t}=Me(),{saveCellConfig:e}=B();return(0,D.useCallback)(async()=>{let n=new ut,o=_e(),s=o.cellIds.inOrderIds,r={};for(let l of s){if(o.cellData[l]===void 0)continue;let{code:d,config:c}=o.cellData[l];c.hide_code||n.isSupported(d)&&(r[l]={hide_code:!0})}let i=Ne.entries(r);if(i.length!==0){await e({configs:r});for(let[l,d]of i)t({cellId:l,config:d})}},[t])};var oo=N();function lt(){let t=(0,oo.c)(4),{openConfirm:e}=we(),n=$(St),{sendRestart:o}=B(),s;return t[0]!==e||t[1]!==o||t[2]!==n?(s=()=>{e({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Et,{onClick:async()=>{n({state:At.CLOSING}),await o(),ba()},"aria-label":"Confirm Restart",children:"Restart"})})},t[0]=e,t[1]=o,t[2]=n,t[3]=s):s=t[3],s}var no=N(),T=t=>{t==null||t.preventDefault(),t==null||t.stopPropagation()};function so(){var ve,Ce;let t=(0,no.c)(51),e=ja(),{openModal:n,closeModal:o}=we(),{toggleApplication:s}=Mt(),{selectedPanel:r}=xt(),[i]=ct(We),l=me(wt),d=ao(),[c]=Nt(),{updateCellConfig:m,undoDeleteCell:p,clearAllCellOutputs:h,addSetupCellIfDoesntExist:u,collapseAllCells:x,expandAllCells:w}=Me(),y=lt(),k=ka(),j=to(e),g=$(ot),z=$(Wt),v=$(_t),{exportAsIPYNB:M,exportAsMarkdown:W,readCode:_,saveCellConfig:se,updateCellOutputs:P}=B(),A=Ma(),le=me(yt),ie=me(vt),{selectedLayout:U}=Ee(),{setLayoutView:re}=Le(),V=at(),Y=((ve=c.sharing)==null?void 0:ve.html)??!0,K=((Ce=c.sharing)==null?void 0:Ce.wasm)??!0,ge=!ue(),de=U==="slides",it=Co,rt=vo,G;t[0]!==e||t[1]!==A||t[2]!==P?(G=async f=>{let{preset:C,title:R}=f;if(!e){ne();return}await De(R,async he=>{await Ye({takeScreenshots:()=>A({progress:he}),updateCellOutputs:P}),await Za({filename:e,preset:C,downloadPDF:Vt})})},t[0]=e,t[1]=A,t[2]=P,t[3]=G):G=t[3];let I=G,J;t[4]===I?J=t[5]:(J=async()=>{if(ge){await I({preset:"document",title:"Downloading Document PDF..."});return}let f=new Event("export-beforeprint"),C=new Event("export-afterprint");window.dispatchEvent(f),setTimeout(go,0),setTimeout(()=>window.dispatchEvent(C),0)},t[4]=I,t[5]=J);let Q=J,X;t[6]!==M||t[7]!==e||t[8]!==A||t[9]!==P?(X=async()=>{if(!e){ne();return}await De("Downloading IPYNB...",async f=>{await Ye({takeScreenshots:()=>A({progress:f}),updateCellOutputs:P});let C=await M({download:!1});ke(new Blob([C],{type:"application/x-ipynb+json"}),ye.toIPYNB(document.title))})},t[6]=M,t[7]=e,t[8]=A,t[9]=P,t[10]=X):X=t[10];let ce=X,Z;t[11]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,a.jsx)(Ut,{size:14,strokeWidth:1.5}),t[11]=Z):Z=t[11];let ee;t[12]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,a.jsx)(Te,{size:14,strokeWidth:1.5}),t[12]=ee):ee=t[12];let E;t[13]===e?E=t[14]:(E=async()=>{if(!e){ne();return}await Re({filename:e,includeCode:!0})},t[13]=e,t[14]=E);let te;return t[15]!==u||t[16]!==ie||t[17]!==h||t[18]!==o||t[19]!==x||t[20]!==j||t[21]!==I||t[22]!==w||t[23]!==W||t[24]!==e||t[25]!==Q||t[26]!==ce||t[27]!==le||t[28]!==d||t[29]!==de||t[30]!==l||t[31]!==n||t[32]!==_||t[33]!==y||t[34]!==k||t[35]!==se||t[36]!==U||t[37]!==r||t[38]!==g||t[39]!==v||t[40]!==re||t[41]!==z||t[42]!==Y||t[43]!==K||t[44]!==E||t[45]!==s||t[46]!==V||t[47]!==p||t[48]!==m||t[49]!==i.mode?(te=[{icon:Z,label:"Download",handle:T,dropdown:[{icon:ee,label:"Download as HTML",handle:E},{icon:(0,a.jsx)(Te,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!e){ne();return}await Re({filename:e,includeCode:!1})}},{icon:(0,a.jsx)(va,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let f=await W({download:!1});ke(new Blob([f],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(Aa,{size:14,strokeWidth:1.5}),label:"Download as ipynb",handle:ce},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let f=await _();ke(new Blob([f.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",ga("global.hideCode",!1)]}),handle:jo},de?{divider:!0,icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:T,dropdown:[{icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Document Layout",handle:Q},{icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Slides Layout",rightElement:rt(!0),hidden:!ge,handle:async()=>{await I({preset:"slides",title:"Downloading Slides PDF..."})}}]}:{divider:!0,icon:(0,a.jsx)(ae,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:Q}]},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Pair with an agent",handle:async()=>{n((0,a.jsx)(Fa,{onClose:o}))}},{icon:(0,a.jsx)(Ea,{size:14,strokeWidth:1.5}),label:"Share",handle:T,hidden:!Y&&!K,dropdown:[{icon:(0,a.jsx)(Gt,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!Y,handle:async()=>{n((0,a.jsx)(Oa,{onClose:o}))}},{icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!K,handle:async()=>{await F(wa({code:(await _()).contents})),S({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(Ia,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:T,dropdown:pt.flatMap(f=>{let{type:C,Icon:R,hidden:he,additionalKeywords:dt}=f;return he?[]:{label:Ie.startCase(C),rightElement:it(r===C),icon:(0,a.jsx)(R,{size:14,strokeWidth:1.5}),handle:()=>s(C),additionalKeywords:dt}})},{icon:(0,a.jsx)(Ze,{size:14,strokeWidth:1.5}),label:"Present as",handle:T,dropdown:[{icon:i.mode==="present"?(0,a.jsx)(fa,{size:14,strokeWidth:1.5}):(0,a.jsx)(Xe,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{V()}},...Ke.map((f,C)=>{let R=nt(f);return{divider:C===0,label:st(f),icon:(0,a.jsx)(R,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:U===f&&(0,a.jsx)(be,{size:14})}),handle:()=>{re(f),i.mode==="edit"&&V()}}})]},{icon:(0,a.jsx)(Sa,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!e||ue(),handle:j},{icon:(0,a.jsx)(Ge,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!e,handle:async()=>{await F((await _()).contents),S({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!le||l,handle:async()=>{let f=ft(_e());await se({configs:Ne.fromEntries(f.map(wo))});for(let C of f)m({cellId:C,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{u({})}},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{n((0,a.jsx)(He,{onClose:o}))}},{icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Add remote storage",handle:()=>{n((0,a.jsx)(He,{defaultTab:"storage",onClose:o}))}},{icon:(0,a.jsx)(et,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!ie||l,handle:()=>{p()}},{icon:(0,a.jsx)(La,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:y,additionalKeywords:["reset","reload","restart"]},{icon:(0,a.jsx)(Na,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{k()}},{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{h()}},{icon:(0,a.jsx)(aa,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(_a,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:x,redundant:!0},{icon:(0,a.jsx)(Wa,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:w,redundant:!0},{divider:!0,icon:(0,a.jsx)(Je,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>g(bo)},{icon:(0,a.jsx)(Da,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>v(ko)},{icon:(0,a.jsx)(pa,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>z(yo),redundant:!0,additionalKeywords:["preferences","options","configuration"]},{icon:(0,a.jsx)(ea,{size:14,strokeWidth:1.5}),label:"Resources",handle:T,dropdown:[{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Documentation",handle:xo},{icon:(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"GitHub",handle:fo},{icon:(0,a.jsx)(na,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:uo},{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"YouTube",handle:po},{icon:(0,a.jsx)(kt,{size:14,strokeWidth:1.5}),label:"Changelog",handle:mo}]},{divider:!0,icon:(0,a.jsx)(ra,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:ho},{icon:(0,a.jsx)(Ca,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:co}].filter(ro).map(lo),t[15]=u,t[16]=ie,t[17]=h,t[18]=o,t[19]=x,t[20]=j,t[21]=I,t[22]=w,t[23]=W,t[24]=e,t[25]=Q,t[26]=ce,t[27]=le,t[28]=d,t[29]=de,t[30]=l,t[31]=n,t[32]=_,t[33]=y,t[34]=k,t[35]=se,t[36]=U,t[37]=r,t[38]=g,t[39]=v,t[40]=re,t[41]=z,t[42]=Y,t[43]=K,t[44]=E,t[45]=s,t[46]=V,t[47]=p,t[48]=m,t[49]=i.mode,t[50]=te):te=t[50],te}function lo(t){return t.dropdown?{...t,dropdown:t.dropdown.filter(io)}:t}function io(t){return!t.hidden}function ro(t){return!t.hidden}function co(){let t=ya();window.open(t,"_blank")}function ho(){let t=document.baseURI.split("?")[0];window.open(t,"_self")}function mo(){window.open(L.releasesPage,"_blank")}function po(){window.open(L.youtube,"_blank")}function uo(){window.open(L.discordLink,"_blank")}function fo(){window.open(L.githubPage,"_blank")}function xo(){window.open(L.docsPage,"_blank")}function yo(t){return!t}function ko(t){return!t}function bo(t){return!t}function wo(t){return[t,{disabled:!1}]}async function jo(){let t=document.getElementById("App");t&&await Yt({element:t,filename:document.title,prepare:Kt})}function go(){return window.print()}function vo(t){return t?(0,a.jsx)("span",{className:"ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700",children:"Recommended"}):null}function Co(t){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:t&&(0,a.jsx)(be,{size:14})})}function ne(){S({title:"Error",description:"Notebooks must be named to be exported.",variant:"danger"})}export{at as a,Qe as c,ot as i,Je as l,lt as n,et as o,Ja as r,Xe as s,so as t,Ge as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-D91BmmQi.js";import{t as Y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{t as et}from"./debounce-BbSyBDA8.js";import{_,d as T}from"./useEventListener-DGjKht0c.js";import{n as V}from"./config-Cgj0Ahvb.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as rt}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{t as at}from"./tooltip-DmqhBBs6.js";import{r as it}from"./button-BKVLeSTX.js";import{d as N}from"./arrays-DAC2orgH.js";import{u as ot}from"./toDate-BGIVWsZ9.js";import"./session-DdnWW30b.js";import{r as lt}from"./useTheme-DCDmxPD0.js";import{t as ct}from"./isValid-U-UFA9KI.js";import{a as st,r as mt,t as pt}from"./utils-BZwMGX81.js";import{n as ut}from"./vega-loader.browser-DXARUlxo.js";import{t as ft}from"./react-vega-BVBnH7ue.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{r as dt,t as ht}from"./alert-DF3HbVtk.js";import{n as gt}from"./error-banner-bXc_9BBZ.js";import{n as yt}from"./useAsyncData-CaAFMbY9.js";import{t as vt}from"./formats-BQHP_yQk.js";import{t as H}from"./useDeepCompareMemoize-D0WTlCXt.js";var kt=tt(),S=z(Y(),1);function bt(t){return t.data&&"url"in t.data&&(t.data.url=V(t.data.url).href),t}const u={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var F=new Set(["boxplot","errorband","errorbar"]);const x={getMarkType(t){let e=typeof t=="string"?t:t.type;if(F.has(e))throw Error("Not supported");return e},isInteractive(t){let e=typeof t=="string"?t:t.type;return!F.has(e)},makeClickable(t){let e=typeof t=="string"?t:t.type;return e in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:e,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(e=>e.startsWith("select_point"))},hasInterval(t){return t.some(e=>e.startsWith("select_interval"))},hasLegend(t){return t.some(e=>e.startsWith("legend_selection"))},hasPanZoom(t){return t.some(e=>e.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},j={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,e){return{name:y.interval(e),select:{type:"interval",encodings:W(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,e){return{name:y.point(e),select:{type:"point",encodings:W(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function W(t){switch(x.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let e=wt(t);return e==="horizontal"?["y"]:e==="vertical"?["x"]:void 0}case u.circle:case u.geoshape:case u.line:case u.point:case u.rect:case u.rule:case u.square:case u.text:case u.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(e=>e==null?!1:"select"in e&&e.select!==void 0).map(e=>e.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function wt(t){var a,r;if(!t||!("mark"in t))return;let e=(a=t.encoding)==null?void 0:a.x,n=(r=t.encoding)==null?void 0:r.y;if(e&&"type"in e&&e.type==="nominal")return"vertical";if(n&&"type"in n&&n.type==="nominal"||e&&"aggregate"in e)return"horizontal";if(n&&"aggregate"in n)return"vertical"}function St(t){if(!t.encoding)return[];let e=[];for(let n of Object.values(t.encoding))n&&typeof n=="object"&&"bin"in n&&n.bin&&"field"in n&&typeof n.field=="string"&&e.push(n.field);return e}function D(t){if(!t||!("encoding"in t))return[];let{encoding:e}=t;return e?Object.entries(e).flatMap(n=>{let[a,r]=n;return!r||!xt.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var xt=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function G(t,e,n,a){let r=n.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:n).map(o=>({param:o}))};if(t==="opacity"){let o=x.getOpacity(a)||1;return{...e,opacity:{condition:{test:i,value:o},value:o/5}}}else return e}function At(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let e=t.select;if(typeof e=="string")return JSON.stringify({type:e,bind:t.bind});let n={type:e.type,encodings:"encodings"in e&&e.encodings?[...e.encodings].toSorted():void 0,fields:"fields"in e&&e.fields?[...e.fields].toSorted():void 0,bind:t.bind};return JSON.stringify(n)}function $(t){let e=E(t);if(e.length===0)return t;let n=_t(e);return n.length===0?t:{...L(K(t,new Set(n.map(a=>a.name))),n.map(a=>a.name)),params:[...t.params||[],...n]}}function E(t){let e=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let n of t.vconcat)e.push(...E(n));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let n of t.hconcat)e.push(...E(n));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&e.push({params:t.params})}return e}function _t(t){if(t.length===0)return[];let e=new Map,n=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=At(o);i.has(l)||(i.add(l),e.has(l)||e.set(l,{count:0,param:o}),e.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of e)r===n&&a.push(i);return a}function K(t,e){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(n=>K(n,e))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(n=>K(n,e))};if("mark"in t&&"params"in t&&t.params){let n=t.params,a=[];for(let r of n){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}e.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,e){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(n=>L(n,e))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(n=>L(n,e))}:"layer"in t?t:"mark"in t&&x.isInteractive(t.mark)?{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",t.encoding||{},e,t.mark)}:t}function Z(t,e){var l,k;let{chartSelection:n=!0,fieldSelection:a=!0}=e;if(!n&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(n=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let p=t.layer.flatMap(f=>"mark"in f?D(f):[]);v=[...new Set(p)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((p,f)=>{if(!("mark"in p))return p;let h=p;if(f===0&&v.length>0){let O=v.map(M=>j.legend(M));h={...h,params:[...h.params||[],...O]}}return h=q(h,n,f),h=R(h),f===0&&(h=J(h)),h});return{...t,layer:w}}if(!("mark"in t)||!x.isInteractive(t.mark))return t;let o=t;return o=jt(o,a),o=q(o,n,void 0),o=R(o),o=J(o),o}function jt(t,e){if(e===!1)return t;let n=D(t);Array.isArray(e)&&(n=n.filter(i=>e.includes(i)));let a=n.map(i=>j.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function q(t,e,n){if(e===!1)return t;let a;try{a=x.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=St(t),i=e===!0?r.length>0?["point"]:Ot(a):[e];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?j.interval(t,n):j.point(t,n)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(j.binColoring(n)),{...t,params:l}}function J(t){let e;try{e=x.getMarkType(t.mark)}catch{}if(e==="geoshape")return t;let n=t.params||[];return n.some(a=>a.bind==="scales")?t:{...t,params:[...n,j.panZoom()]}}function R(t){let e="encoding"in t?t.encoding:void 0,n=t.params||[],a=n.map(r=>r.name);return n.length===0||!x.isInteractive(t.mark)?t:{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",e||{},a,t.mark)}}function Ot(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function Mt(t){if(!t)return t;let e="datasets"in t?{...t.datasets}:{},n=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(n));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(n));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(n));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await n(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=V(r.data.url)}catch{return r}let o=await st(i.href,r.data.format);return e[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await n(t);return Object.keys(e).length===0?a:{...a,datasets:e}}var d=z(rt(),1);ut("arrow",vt);var Nt=t=>{let e=(0,kt.c)(12),{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;e[0]===o?(k=e[1],s=e[2]):(k=async()=>Mt(o),s=[o],e[0]=o,e[1]=k,e[2]=s);let{data:m,error:v}=yt(k,s);if(v){let p;return e[3]===v?p=e[4]:(p=(0,d.jsx)(gt,{error:v}),e[3]=v,e[4]=p),p}if(!m)return null;let w;return e[5]!==r||e[6]!==l||e[7]!==i||e[8]!==m||e[9]!==a||e[10]!==n?(w=(0,d.jsx)(Pt,{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),e[5]=r,e[6]=l,e[7]=i,e[8]=m,e[9]=a,e[10]=n,e[11]=w):w=e[11],w},Pt=({value:t,setValue:e,chartSelection:n,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=lt(),l=(0,S.useRef)(null),k=(0,S.useRef)(void 0),[s,m]=(0,S.useState)(),v=(0,S.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,S.useMemo)(()=>Z(bt(w),{chartSelection:n,fieldSelection:a}),[w,n,a]),f=(0,S.useMemo)(()=>P(p),[p]),h=C(c=>{e({...t,...c})}),O=(0,S.useMemo)(()=>et((c,g)=>{_.debug("[Vega signal]",c,g);let b=T.mapValues(g,Ct);b=T.mapValues(b,It),h({[c]:b})},100),[h]),M=H(f),I=(0,S.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,X)=>O(b,X)}),c),[]),[M,O]),B=C(c=>{_.error(c),_.debug(p),m(c)}),Q=C(c=>{_.debug("[Vega view] created",c),k.current=c,m(void 0)}),U=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(at,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(ot,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ft({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:mt.call,renderer:"canvas"},onError:B,onEmbed:Q});return(0,S.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){_.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){_.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(ht,{variant:"destructive",children:[(0,d.jsx)(dt,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:nt("relative"),onPointerDown:it.stopPropagation(),children:[(0,d.jsx)("div",{ref:l,"data-container-width":pt(p)}),U()]})]})};function It(t){return t instanceof Set?[...t]:t}function Ct(t){return Array.isArray(t)?t.map(e=>e instanceof Date&&ct(e)?new Date(e).getTime():e):t}var Et=Nt;export{Et as default};
|
|
1
|
+
import{s as z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-D91BmmQi.js";import{t as Y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{t as et}from"./debounce-BbSyBDA8.js";import{_,d as T}from"./useEventListener-DGjKht0c.js";import{n as V}from"./config-Cgj0Ahvb.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as rt}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import{t as at}from"./tooltip-DmqhBBs6.js";import{r as it}from"./button-BKVLeSTX.js";import{d as N}from"./arrays-DAC2orgH.js";import{u as ot}from"./toDate-BGIVWsZ9.js";import"./session-DdnWW30b.js";import{r as lt}from"./useTheme-DCDmxPD0.js";import{t as ct}from"./isValid-U-UFA9KI.js";import{a as st,r as mt,t as pt}from"./utils-BZwMGX81.js";import{n as ut}from"./vega-loader.browser-DXARUlxo.js";import{t as ft}from"./react-vega-BVBnH7ue.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{r as dt,t as ht}from"./alert-DF3HbVtk.js";import{n as gt}from"./error-banner-bXc_9BBZ.js";import{n as yt}from"./useAsyncData-aCoWDe-l.js";import{t as vt}from"./formats-BQHP_yQk.js";import{t as H}from"./useDeepCompareMemoize-D0WTlCXt.js";var kt=tt(),S=z(Y(),1);function bt(t){return t.data&&"url"in t.data&&(t.data.url=V(t.data.url).href),t}const u={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var F=new Set(["boxplot","errorband","errorbar"]);const x={getMarkType(t){let e=typeof t=="string"?t:t.type;if(F.has(e))throw Error("Not supported");return e},isInteractive(t){let e=typeof t=="string"?t:t.type;return!F.has(e)},makeClickable(t){let e=typeof t=="string"?t:t.type;return e in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:e,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(e=>e.startsWith("select_point"))},hasInterval(t){return t.some(e=>e.startsWith("select_interval"))},hasLegend(t){return t.some(e=>e.startsWith("legend_selection"))},hasPanZoom(t){return t.some(e=>e.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},j={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,e){return{name:y.interval(e),select:{type:"interval",encodings:W(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,e){return{name:y.point(e),select:{type:"point",encodings:W(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function W(t){switch(x.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let e=wt(t);return e==="horizontal"?["y"]:e==="vertical"?["x"]:void 0}case u.circle:case u.geoshape:case u.line:case u.point:case u.rect:case u.rule:case u.square:case u.text:case u.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(e=>e==null?!1:"select"in e&&e.select!==void 0).map(e=>e.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function wt(t){var a,r;if(!t||!("mark"in t))return;let e=(a=t.encoding)==null?void 0:a.x,n=(r=t.encoding)==null?void 0:r.y;if(e&&"type"in e&&e.type==="nominal")return"vertical";if(n&&"type"in n&&n.type==="nominal"||e&&"aggregate"in e)return"horizontal";if(n&&"aggregate"in n)return"vertical"}function St(t){if(!t.encoding)return[];let e=[];for(let n of Object.values(t.encoding))n&&typeof n=="object"&&"bin"in n&&n.bin&&"field"in n&&typeof n.field=="string"&&e.push(n.field);return e}function D(t){if(!t||!("encoding"in t))return[];let{encoding:e}=t;return e?Object.entries(e).flatMap(n=>{let[a,r]=n;return!r||!xt.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var xt=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function G(t,e,n,a){let r=n.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:n).map(o=>({param:o}))};if(t==="opacity"){let o=x.getOpacity(a)||1;return{...e,opacity:{condition:{test:i,value:o},value:o/5}}}else return e}function At(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let e=t.select;if(typeof e=="string")return JSON.stringify({type:e,bind:t.bind});let n={type:e.type,encodings:"encodings"in e&&e.encodings?[...e.encodings].toSorted():void 0,fields:"fields"in e&&e.fields?[...e.fields].toSorted():void 0,bind:t.bind};return JSON.stringify(n)}function $(t){let e=E(t);if(e.length===0)return t;let n=_t(e);return n.length===0?t:{...L(K(t,new Set(n.map(a=>a.name))),n.map(a=>a.name)),params:[...t.params||[],...n]}}function E(t){let e=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let n of t.vconcat)e.push(...E(n));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let n of t.hconcat)e.push(...E(n));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&e.push({params:t.params})}return e}function _t(t){if(t.length===0)return[];let e=new Map,n=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=At(o);i.has(l)||(i.add(l),e.has(l)||e.set(l,{count:0,param:o}),e.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of e)r===n&&a.push(i);return a}function K(t,e){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(n=>K(n,e))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(n=>K(n,e))};if("mark"in t&&"params"in t&&t.params){let n=t.params,a=[];for(let r of n){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}e.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,e){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(n=>L(n,e))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(n=>L(n,e))}:"layer"in t?t:"mark"in t&&x.isInteractive(t.mark)?{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",t.encoding||{},e,t.mark)}:t}function Z(t,e){var l,k;let{chartSelection:n=!0,fieldSelection:a=!0}=e;if(!n&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(n=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let p=t.layer.flatMap(f=>"mark"in f?D(f):[]);v=[...new Set(p)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((p,f)=>{if(!("mark"in p))return p;let h=p;if(f===0&&v.length>0){let O=v.map(M=>j.legend(M));h={...h,params:[...h.params||[],...O]}}return h=q(h,n,f),h=R(h),f===0&&(h=J(h)),h});return{...t,layer:w}}if(!("mark"in t)||!x.isInteractive(t.mark))return t;let o=t;return o=jt(o,a),o=q(o,n,void 0),o=R(o),o=J(o),o}function jt(t,e){if(e===!1)return t;let n=D(t);Array.isArray(e)&&(n=n.filter(i=>e.includes(i)));let a=n.map(i=>j.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function q(t,e,n){if(e===!1)return t;let a;try{a=x.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=St(t),i=e===!0?r.length>0?["point"]:Ot(a):[e];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?j.interval(t,n):j.point(t,n)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(j.binColoring(n)),{...t,params:l}}function J(t){let e;try{e=x.getMarkType(t.mark)}catch{}if(e==="geoshape")return t;let n=t.params||[];return n.some(a=>a.bind==="scales")?t:{...t,params:[...n,j.panZoom()]}}function R(t){let e="encoding"in t?t.encoding:void 0,n=t.params||[],a=n.map(r=>r.name);return n.length===0||!x.isInteractive(t.mark)?t:{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",e||{},a,t.mark)}}function Ot(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function Mt(t){if(!t)return t;let e="datasets"in t?{...t.datasets}:{},n=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(n));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(n));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(n));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await n(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=V(r.data.url)}catch{return r}let o=await st(i.href,r.data.format);return e[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await n(t);return Object.keys(e).length===0?a:{...a,datasets:e}}var d=z(rt(),1);ut("arrow",vt);var Nt=t=>{let e=(0,kt.c)(12),{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;e[0]===o?(k=e[1],s=e[2]):(k=async()=>Mt(o),s=[o],e[0]=o,e[1]=k,e[2]=s);let{data:m,error:v}=yt(k,s);if(v){let p;return e[3]===v?p=e[4]:(p=(0,d.jsx)(gt,{error:v}),e[3]=v,e[4]=p),p}if(!m)return null;let w;return e[5]!==r||e[6]!==l||e[7]!==i||e[8]!==m||e[9]!==a||e[10]!==n?(w=(0,d.jsx)(Pt,{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),e[5]=r,e[6]=l,e[7]=i,e[8]=m,e[9]=a,e[10]=n,e[11]=w):w=e[11],w},Pt=({value:t,setValue:e,chartSelection:n,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=lt(),l=(0,S.useRef)(null),k=(0,S.useRef)(void 0),[s,m]=(0,S.useState)(),v=(0,S.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,S.useMemo)(()=>Z(bt(w),{chartSelection:n,fieldSelection:a}),[w,n,a]),f=(0,S.useMemo)(()=>P(p),[p]),h=C(c=>{e({...t,...c})}),O=(0,S.useMemo)(()=>et((c,g)=>{_.debug("[Vega signal]",c,g);let b=T.mapValues(g,Ct);b=T.mapValues(b,It),h({[c]:b})},100),[h]),M=H(f),I=(0,S.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,X)=>O(b,X)}),c),[]),[M,O]),B=C(c=>{_.error(c),_.debug(p),m(c)}),Q=C(c=>{_.debug("[Vega view] created",c),k.current=c,m(void 0)}),U=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(at,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(ot,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ft({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:mt.call,renderer:"canvas"},onError:B,onEmbed:Q});return(0,S.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){_.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){_.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(ht,{variant:"destructive",children:[(0,d.jsx)(dt,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:nt("relative"),onPointerDown:it.stopPropagation(),children:[(0,d.jsx)("div",{ref:l,"data-container-width":pt(p)}),U()]})]})};function It(t){return t instanceof Set?[...t]:t}function Ct(t){return Array.isArray(t)?t.map(e=>e instanceof Date&&ct(e)?new Date(e).getTime():e):t}var Et=Nt;export{Et as default};
|