@marimo-team/frontend 0.18.5-dev187 → 0.18.5-dev194

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.
@@ -1 +0,0 @@
1
- import{s as re}from"./chunk-LvLJmgfZ.js";import{d as oe,i as Ve,l as Me,p as ce,u as Z}from"./useEvent-DlWF5OMa.js";import{t as Oe}from"./react-BGmjiNul.js";import{A as Le,An as Pe,Bn as se,C as Ae,Dn as ze,In as Ee,Jt as me,Kr as Re,O as Ge,On as Ke,St as He,Zn as Je,a as Ue,cr as ie,d as de,dr as ue,dt as We,er as he,fn as Xe,hn as xe,ht as Ye,ir as pe,nr as Ze,pn as Qe,rr as ea,sr as fe,tr as be,ur as aa,xt as ta,zn as sa}from"./cells-Dk_j8HX9.js";import"./react-dom-C9fstfnp.js";import{t as le}from"./compiler-runtime-DeeZ7FnK.js";import{i as la}from"./useLifecycle-CmDXEyIC.js";import{t as ge}from"./add-database-form-DkSxzOXk.js";import"./tooltip-CrRUCOBw.js";import{t as J}from"./sortBy-Bdnw8bdS.js";import{o as na}from"./utils-CJJIceVn.js";import"./config-babG4OBR.js";import{t as ra}from"./ErrorBoundary-Drf1manw.js";import{t as oa}from"./jsx-runtime-DN_bIXfG.js";import{r as ca,t as Q}from"./button-DuYGqRtX.js";import{t as z}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import{B as ma,I as je,L as ia,R as da,k as ne,z as ua}from"./JsonOutput-BCHaEg3R.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as ha}from"./requests-C0HaHO6a.js";import{t as xa}from"./createLucideIcon-CW2xpJ57.js";import{h as pa}from"./select-D0g5GnIs.js";import"./download-Dsuja3On.js";import"./markdown-renderer-COkLQ1b5.js";import{t as Ne}from"./plus-CHesBJpY.js";import{t as fa}from"./refresh-cw-Din9uFKE.js";import{a as ba}from"./input-CaEtLL8p.js";import{c as ye,d as ve,f as we,l as ee,n as ga,o as ja,p as Na,u as Se}from"./column-preview-Cqovvoyb.js";import{t as ya}from"./workflow-ZGK5flRg.js";import{t as va}from"./badge-DAnNhy3O.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import"./Combination-D1TsGrBC.js";import{t as ae}from"./tooltip-CvjcEpZC.js";import"./dates-CdsE1R40.js";import{t as wa}from"./context-BAYdLMF_.js";import"./popover-DtnzNVk-.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{t as Sa}from"./copy-icon-B69c-352.js";import"./purify.es-N-2faAGj.js";import{a as Ce,i as _e,n as Ca,r as ke}from"./multi-map-fjX9ImVF.js";import{t as $e}from"./cell-link-DNVmmRzI.js";import{n as Fe}from"./useAsyncData-BJJJOr9W.js";import{a as _a,o as te,t as ka,u as $a}from"./command-gUA-HncX.js";import"./chunk-OGVTOU66-CjNLT2C3.js";import"./katex-AwOI3EvM.js";import"./marked.esm-CHnOtnr3.js";import{r as Fa}from"./es-DjCjT1hB.js";import{o as Ta}from"./focus-U1ePwk4d.js";import{a as Ia,i as Ba,n as Da,o as Te,r as qa,t as Va}from"./table--_20dwBZ.js";import{n as Ma}from"./icons-D4lB4En9.js";import{t as Ie}from"./useAddCell-FisWjOQO.js";import{t as Oa}from"./empty-state-B0XJ9ZUi.js";import{n as La,t as Pa}from"./common-BWR26KIv.js";var Aa=xa("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"}]]),w=re(Oe(),1),za=le(),t=re(oa(),1);const Ea=a=>{let e=(0,za.c)(8),{variableName:s,className:l}=a,r;e[0]===s?r=e[1]:(r=()=>{let p=Ra(s);if(!p)return;let f=de(p);f&&me(f,s)},e[0]=s,e[1]=r);let m=r,n;e[2]===l?n=e[3]:(n=z("text-link opacity-80 hover:opacity-100 hover:underline",l),e[2]=l,e[3]=n);let j;return e[4]!==m||e[5]!==n||e[6]!==s?(j=(0,t.jsx)("button",{type:"button",onClick:m,className:n,children:s}),e[4]=m,e[5]=n,e[6]=s,e[7]=j):j=e[7],j};function Ra(a){let e=Ve.get(xe)[a];if(e)return e.declaredBy[0]}var E=le(),Ga=ce(a=>{let e=a(Ze),s=a(xe),l=a(Ue);return J(e,r=>{if(!r.variable_name)return-1;let m=Object.values(s).find(j=>j.name===r.variable_name);if(!m)return 0;let n=l.inOrderIds.indexOf(m.declaredBy[0]);return n===-1?0:n})}),Ka=ce(a=>{let e=new Map(a(Je));for(let s of ue){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=>ue.has(s.name)?1:0)});const Ha=()=>{let a=(0,E.c)(32),[e,s]=w.useState(""),l=oe(be),r=Z(Ga),m=Z(Ka);if(r.length===0&&m.length===0){let b;return a[0]===Symbol.for("react.memo_cache_sentinel")?(b=(0,t.jsx)(Oa,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(ge,{children:(0,t.jsxs)(Q,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(Ne,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(se,{})}),a[0]=b):b=a[0],b}let n=!!e.trim(),j;a[1]===l?j=a[2]:(j=b=>{l(b.length>0),s(b)},a[1]=l,a[2]=j);let p;a[3]!==e||a[4]!==j?(p=(0,t.jsx)(_a,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:j,rootClassName:"flex-1 border-r"}),a[3]=e,a[4]=j,a[5]=p):p=a[5];let f;a[6]===n?f=a[7]:(f=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)(pa,{className:"h-4 w-4"})}),a[6]=n,a[7]=f);let x;a[8]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ge,{children:(0,t.jsx)("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",children:(0,t.jsx)(Ne,{className:"h-4 w-4"})})}),a[8]=x):x=a[8];let c;a[9]!==p||a[10]!==f?(c=(0,t.jsxs)("div",{className:"flex items-center w-full",children:[p,f,x]}),a[9]=p,a[10]=f,a[11]=c):c=a[11];let o;if(a[12]!==m||a[13]!==n||a[14]!==e){let b;a[16]!==n||a[17]!==e?(b=N=>(0,t.jsx)(Ja,{connection:N,hasChildren:N.databases.length>0,children:N.databases.map(g=>(0,t.jsx)(Ua,{engineName:N.name,database:g,hasSearch:n,children:(0,t.jsx)(Wa,{schemas:g.schemas,defaultSchema:N.default_schema,defaultDatabase:N.default_database,engineName:N.name,databaseName:g.name,hasSearch:n,searchValue:e,dialect:N.dialect})},g.name))},N.name),a[16]=n,a[17]=e,a[18]=b):b=a[18],o=m.map(b),a[12]=m,a[13]=n,a[14]=e,a[15]=o}else o=a[15];let h;a[19]!==m.length||a[20]!==r.length?(h=m.length>0&&r.length>0&&(0,t.jsxs)(ye,{children:[(0,t.jsx)(Ma,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[19]=m.length,a[20]=r.length,a[21]=h):h=a[21];let d;a[22]!==e||a[23]!==r?(d=r.length>0&&(0,t.jsx)(Be,{tables:r,searchValue:e}),a[22]=e,a[23]=r,a[24]=d):d=a[24];let u;a[25]!==o||a[26]!==h||a[27]!==d?(u=(0,t.jsxs)($a,{className:"flex flex-col",children:[o,h,d]}),a[25]=o,a[26]=h,a[27]=d,a[28]=u):u=a[28];let i;return a[29]!==c||a[30]!==u?(i=(0,t.jsxs)(ka,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[c,u]}),a[29]=c,a[30]=u,a[31]=i):i=a[31],i};var Ja=a=>{let e=(0,E.c)(26),{connection:s,children:l,hasChildren:r}=a,m=s.name===aa,n=m?"In-Memory":s.name,{previewDataSourceConnection:j}=ha(),[p,f]=w.useState(!1),x;e[0]!==s.name||e[1]!==j?(x=async()=>{f(!0),await j({engine:s.name}),setTimeout(()=>f(!1),500)},e[0]=s.name,e[1]=j,e[2]=x):x=e[2];let c=x,o;e[3]===s.dialect?o=e[4]:(o=(0,t.jsx)(We,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=o);let h;e[5]===s.dialect?h=e[6]:(h=ze(s.dialect),e[5]=s.dialect,e[6]=h);let d;e[7]===h?d=e[8]:(d=(0,t.jsx)("span",{className:"text-xs",children:h}),e[7]=h,e[8]=d);let u=n,i;e[9]===u?i=e[10]:(i=(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,t.jsx)(Ea,{variableName:u}),")"]}),e[9]=u,e[10]=i);let b;e[11]!==c||e[12]!==m||e[13]!==p?(b=!m&&(0,t.jsx)(ae,{content:"Refresh connection",children:(0,t.jsx)(Q,{variant:"ghost",size:"icon",className:"ml-auto hover:bg-transparent hover:shadow-none",onClick:c,children:(0,t.jsx)(fa,{className:z("h-4 w-4 text-muted-foreground hover:text-foreground",p&&"animate-[spin_0.5s]")})})}),e[11]=c,e[12]=m,e[13]=p,e[14]=b):b=e[14];let N;e[15]!==o||e[16]!==d||e[17]!==i||e[18]!==b?(N=(0,t.jsxs)(ye,{children:[o,d,i,b]}),e[15]=o,e[16]=d,e[17]=i,e[18]=b,e[19]=N):N=e[19];let g;e[20]!==l||e[21]!==r?(g=r?l:(0,t.jsx)(ee,{content:"No databases available",className:"pl-2"}),e[20]=l,e[21]=r,e[22]=g):g=e[22];let y;return e[23]!==N||e[24]!==g?(y=(0,t.jsxs)(t.Fragment,{children:[N,g]}),e[23]=N,e[24]=g,e[25]=y):y=e[25],y},Ua=a=>{let e=(0,E.c)(25),{hasSearch:s,engineName:l,database:r,children:m}=a,[n,j]=w.useState(!1),[p,f]=w.useState(!1),[x,c]=w.useState(s);x!==s&&(c(s),j(s));let o;e[0]!==n||e[1]!==p?(o=()=>{j(!n),f(!p)},e[0]=n,e[1]=p,e[2]=o):o=e[2];let h=`${l}:${r.name}`,d;e[3]===n?d=e[4]:(d=(0,t.jsx)(we,{isExpanded:n}),e[3]=n,e[4]=d);let u=p&&n?"text-foreground":"text-muted-foreground",i;e[5]===u?i=e[6]:(i=z("h-4 w-4",u),e[5]=u,e[6]=i);let b;e[7]===i?b=e[8]:(b=(0,t.jsx)(se,{className:i}),e[7]=i,e[8]=b);let N=p&&n&&"font-semibold",g;e[9]===N?g=e[10]:(g=z(N),e[9]=N,e[10]=g);let y;e[11]===r.name?y=e[12]:(y=r.name===""?(0,t.jsx)("i",{children:"Not connected"}):r.name,e[11]=r.name,e[12]=y);let v;e[13]!==g||e[14]!==y?(v=(0,t.jsx)("span",{className:g,children:y}),e[13]=g,e[14]=y,e[15]=v):v=e[15];let S;e[16]!==o||e[17]!==v||e[18]!==h||e[19]!==d||e[20]!==b?(S=(0,t.jsxs)(te,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",onSelect:o,value:h,children:[d,b,v]}),e[16]=o,e[17]=v,e[18]=h,e[19]=d,e[20]=b,e[21]=S):S=e[21];let C=n&&m,_;return e[22]!==S||e[23]!==C?(_=(0,t.jsxs)(t.Fragment,{children:[S,C]}),e[22]=S,e[23]=C,e[24]=_):_=e[24],_},Wa=a=>{let e=(0,E.c)(22),{schemas:s,defaultSchema:l,defaultDatabase:r,dialect:m,engineName:n,databaseName:j,hasSearch:p,searchValue:f}=a;if(s.length===0){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(ee,{content:"No schemas available",className:"pl-6"}),e[0]=o):o=e[0],o}let x;if(e[1]!==j||e[2]!==r||e[3]!==l||e[4]!==m||e[5]!==n||e[6]!==p||e[7]!==s||e[8]!==f){let o;e[10]===f?o=e[11]:(o=u=>f?u.tables.some(i=>i.name.toLowerCase().includes(f.toLowerCase())):!0,e[10]=f,e[11]=o);let h=s.filter(o),d;e[12]!==j||e[13]!==r||e[14]!==l||e[15]!==m||e[16]!==n||e[17]!==p||e[18]!==f?(d=u=>(0,t.jsx)(Xa,{databaseName:j,schema:u,hasSearch:p,children:(0,t.jsx)(Be,{tables:u.tables,searchValue:f,sqlTableContext:{engine:n,database:j,schema:u.name,defaultSchema:l,defaultDatabase:r,dialect:m}})},u.name),e[12]=j,e[13]=r,e[14]=l,e[15]=m,e[16]=n,e[17]=p,e[18]=f,e[19]=d):d=e[19],x=h.map(d),e[1]=j,e[2]=r,e[3]=l,e[4]=m,e[5]=n,e[6]=p,e[7]=s,e[8]=f,e[9]=x}else x=e[9];let c;return e[20]===x?c=e[21]:(c=(0,t.jsx)(t.Fragment,{children:x}),e[20]=x,e[21]=c),c},Xa=a=>{let e=(0,E.c)(23),{databaseName:s,schema:l,children:r,hasSearch:m}=a,[n,j]=w.useState(m),[p,f]=w.useState(!1),x=`${s}:${l.name}`;if(fe(l.name))return r;let c;e[0]!==n||e[1]!==p?(c=()=>{j(!n),f(!p)},e[0]=n,e[1]=p,e[2]=c):c=e[2];let o;e[3]===n?o=e[4]:(o=(0,t.jsx)(we,{isExpanded:n}),e[3]=n,e[4]=o);let h=p&&n&&"text-foreground",d;e[5]===h?d=e[6]:(d=z("h-4 w-4 text-muted-foreground",h),e[5]=h,e[6]=d);let u;e[7]===d?u=e[8]:(u=(0,t.jsx)(Ee,{className:d}),e[7]=d,e[8]=u);let i=p&&n&&"font-semibold",b;e[9]===i?b=e[10]:(b=z(i),e[9]=i,e[10]=b);let N;e[11]!==l.name||e[12]!==b?(N=(0,t.jsx)("span",{className:b,children:l.name}),e[11]=l.name,e[12]=b,e[13]=N):N=e[13];let g;e[14]!==c||e[15]!==o||e[16]!==u||e[17]!==N||e[18]!==x?(g=(0,t.jsxs)(te,{className:"text-sm flex flex-row gap-1 items-center pl-5 cursor-pointer rounded-none",onSelect:c,value:x,children:[o,u,N]}),e[14]=c,e[15]=o,e[16]=u,e[17]=N,e[18]=x,e[19]=g):g=e[19];let y=n&&r,v;return e[20]!==y||e[21]!==g?(v=(0,t.jsxs)(t.Fragment,{children:[g,y]}),e[20]=y,e[21]=g,e[22]=v):v=e[22],v},Be=a=>{let e=(0,E.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:m}=he(),[n,j]=w.useState(!1),[p,f]=w.useState(!1),x;e[0]!==m||e[1]!==l||e[2]!==s.length||e[3]!==n?(x=async()=>{if(s.length===0&&l&&!n){j(!0),f(!0);let{engine:i,database:b,schema:N}=l,g=await He.request({engine:i,database:b,schema:N});if(!(g!=null&&g.tables))throw f(!1),Error("No tables available");m({tables:g.tables,sqlTableContext:l}),f(!1)}},e[0]=m,e[1]=l,e[2]=s.length,e[3]=n,e[4]=x):x=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:o,error:h}=Fe(x,c);if(o||p){let i;return e[9]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(ve,{message:"Loading tables...",className:"pl-12"}),e[9]=i):i=e[9],i}if(h){let i;return e[10]===h?i=e[11]:(i=(0,t.jsx)(Se,{error:h,className:"pl-12"}),e[10]=h,e[11]=i),i}if(s.length===0){let i;return e[12]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(ee,{content:"No tables found",className:"pl-9"}),e[12]=i):i=e[12],i}let d;if(e[13]!==r||e[14]!==l||e[15]!==s){let i;e[17]===r?i=e[18]:(i=g=>r?g.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=i);let b=s.filter(i),N;e[19]!==r||e[20]!==l?(N=g=>(0,t.jsx)(Ya,{table:g,sqlTableContext:l,isSearching:!!r},g.name),e[19]=r,e[20]=l,e[21]=N):N=e[21],d=b.map(N),e[13]=r,e[14]=l,e[15]=s,e[16]=d}else d=e[16];let u;return e[22]===d?u=e[23]:(u=(0,t.jsx)(t.Fragment,{children:d}),e[22]=d,e[23]=u),u},Ya=a=>{let e=(0,E.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:m}=he(),[n,j]=w.useState(!1),[p,f]=w.useState(!1),x=s.columns.length>0,c;e[0]!==m||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==x||e[5]!==p?(c=async()=>{if(n&&!x&&l&&!p){f(!0);let{engine:D,database:X,schema:qe}=l,Y=await ta.request({engine:D,database:X,schema:qe,tableName:s.name});if(!(Y!=null&&Y.table))throw Error("No table details available");m({table:Y.table,sqlTableContext:l})}},e[0]=m,e[1]=n,e[2]=l,e[3]=s.name,e[4]=x,e[5]=p,e[6]=c):c=e[6];let o;e[7]!==n||e[8]!==x?(o=[n,x],e[7]=n,e[8]=x,e[9]=o):o=e[9];let{isFetching:h,isPending:d,error:u}=Fe(c,o),i=Z(na),b=Ta(),{createNewCell:N}=Ae(),g=Ie(),y;e[10]!==g||e[11]!==i||e[12]!==N||e[13]!==b||e[14]!==l||e[15]!==s?(y=()=>{Fa({autoInstantiate:i,createNewCell:N,fromCellId:b}),g((()=>{if(s.source_type==="catalog"){let D=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${D}")`}if(l)return ie({table:s,columnName:"*",sqlTableContext:l});switch(s.source_type){case"local":return`mo.ui.table(${s.name})`;case"duckdb":case"connection":return ie({table:s,columnName:"*",sqlTableContext:l});default:return la(s.source_type),""}})())},e[10]=g,e[11]=i,e[12]=N,e[13]=b,e[14]=l,e[15]=s,e[16]=y):y=e[16];let v=y,S;e[17]!==s.num_columns||e[18]!==s.num_rows?(S=()=>{let D=[];return s.num_rows!=null&&D.push(`${s.num_rows} rows`),s.num_columns!=null&&D.push(`${s.num_columns} columns`),D.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:D.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=S):S=e[19];let C=S,_;e[20]!==u||e[21]!==h||e[22]!==d||e[23]!==l||e[24]!==s?(_=()=>{if(d||h)return(0,t.jsx)(ve,{message:"Loading columns...",className:"pl-12"});if(u)return(0,t.jsx)(Se,{error:u,className:"pl-12"});let D=s.columns;return D.length===0?(0,t.jsx)(ee,{content:"No columns found",className:"pl-12"}):D.map(X=>(0,t.jsx)(Za,{table:s,column:X,sqlTableContext:l},X.name))},e[20]=u,e[21]=h,e[22]=d,e[23]=l,e[24]=s,e[25]=_):_=e[25];let q=_,I;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(I=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?Pe:sa,{className:"h-3 w-3",strokeWidth:n||r?2.5:void 0})},e[26]=n,e[27]=r,e[28]=s.source_type,e[29]=s.type,e[30]=I):I=e[30];let V=I,M=l?`${l.database}.${l.schema}.${s.name}`:s.name,O=l&&(fe(l.schema)?"pl-9":"pl-12"),L=(n||r)&&"font-semibold",k;e[31]!==O||e[32]!==L?(k=z("rounded-none group h-8 cursor-pointer",O,L),e[31]=O,e[32]=L,e[33]=k):k=e[33];let $;e[34]===n?$=e[35]:($=()=>j(!n),e[34]=n,e[35]=$);let F;e[36]===V?F=e[37]:(F=V(),e[36]=V,e[37]=F);let B;e[38]===s.name?B=e[39]:(B=(0,t.jsx)("span",{className:"text-sm",children:s.name}),e[38]=s.name,e[39]=B);let P;e[40]!==F||e[41]!==B?(P=(0,t.jsxs)("div",{className:"flex gap-2 items-center flex-1",children:[F,B]}),e[40]=F,e[41]=B,e[42]=P):P=e[42];let A;e[43]===C?A=e[44]:(A=C(),e[43]=C,e[44]=A);let T;e[45]===v?T=e[46]:(T=ca.stopPropagation(()=>v()),e[45]=v,e[46]=T);let U;e[47]===Symbol.for("react.memo_cache_sentinel")?(U=(0,t.jsx)(Na,{className:"h-3 w-3"}),e[47]=U):U=e[47];let G;e[48]===T?G=e[49]:(G=(0,t.jsx)(ae,{content:"Add table to notebook",delayDuration:400,children:(0,t.jsx)(Q,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:T,children:U})}),e[48]=T,e[49]=G);let K;e[50]!==n||e[51]!==$||e[52]!==P||e[53]!==A||e[54]!==G||e[55]!==k||e[56]!==M?(K=(0,t.jsxs)(te,{className:k,value:M,"aria-selected":n,forceMount:!0,onSelect:$,children:[P,A,G]}),e[50]=n,e[51]=$,e[52]=P,e[53]=A,e[54]=G,e[55]=k,e[56]=M,e[57]=K):K=e[57];let H;e[58]!==n||e[59]!==q?(H=n&&q(),e[58]=n,e[59]=q,e[60]=H):H=e[60];let W;return e[61]!==K||e[62]!==H?(W=(0,t.jsxs)(t.Fragment,{children:[K,H]}),e[61]=K,e[62]=H,e[63]=W):W=e[63],W},Za=a=>{var P,A;let e=(0,E.c)(48),{table:s,column:l,sqlTableContext:r}=a,[m,n]=w.useState(!1),j=Z(be),p=oe(ea);j&&m&&n(!1),p(m?T=>new Set([...T,`${s.name}:${l.name}`]):T=>(T.delete(`${s.name}:${l.name}`),new Set(T)));let f=Ie(),{columnsPreviews:x}=pe(),c;e[0]!==l.name||e[1]!==s.primary_keys?(c=((P=s.primary_keys)==null?void 0:P.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=c):c=e[2];let o=c,h;e[3]!==l.name||e[4]!==s.indexes?(h=((A=s.indexes)==null?void 0:A.includes(l.name))||!1,e[3]=l.name,e[4]=s.indexes,e[5]=h):h=e[5];let d=h,u;e[6]===f?u=e[7]:(u=T=>{f(T)},e[6]=f,e[7]=u);let i=u,b=Qa,N=m?"font-semibold":"",g;e[8]!==l.name||e[9]!==N?(g=(0,t.jsx)("span",{className:N,children:l.name}),e[8]=l.name,e[9]=N,e[10]=g):g=e[10];let y=g,v=`${s.name}.${l.name}`,S=`${s.name}.${l.name}`,C;e[11]===m?C=e[12]:(C=()=>n(!m),e[11]=m,e[12]=C);let _=r?"pl-14":"pl-7",q;e[13]===_?q=e[14]:(q=z("flex flex-row gap-2 items-center flex-1",_),e[13]=_,e[14]=q);let I;e[15]!==l.type||e[16]!==y?(I=(0,t.jsx)(ja,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=I):I=e[17];let V;e[18]===o?V=e[19]:(V=o&&b({tooltipContent:"Primary key",content:"PK"}),e[18]=o,e[19]=V);let M;e[20]===d?M=e[21]:(M=d&&b({tooltipContent:"Indexed",content:"IDX"}),e[20]=d,e[21]=M);let O;e[22]!==q||e[23]!==I||e[24]!==V||e[25]!==M?(O=(0,t.jsxs)("div",{className:q,children:[I,V,M]}),e[22]=q,e[23]=I,e[24]=V,e[25]=M,e[26]=O):O=e[26];let L;e[27]===l.name?L=e[28]:(L=(0,t.jsx)(ae,{content:"Copy column name",delayDuration:400,children:(0,t.jsx)(Q,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,t.jsx)(Sa,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[27]=l.name,e[28]=L);let k;e[29]===l.external_type?k=e[30]:(k=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[29]=l.external_type,e[30]=k);let $;e[31]!==O||e[32]!==L||e[33]!==k||e[34]!==v||e[35]!==S||e[36]!==C?($=(0,t.jsxs)(te,{className:"rounded-none py-1 group cursor-pointer",value:S,onSelect:C,children:[O,L,k]},v),e[31]=O,e[32]=L,e[33]=k,e[34]=v,e[35]=S,e[36]=C,e[37]=$):$=e[37];let F;e[38]!==l||e[39]!==x||e[40]!==i||e[41]!==m||e[42]!==r||e[43]!==s?(F=m&&(0,t.jsx)("div",{className:"pl-10 pr-2 py-2 bg-(--slate-1) shadow-inner border-b",children:(0,t.jsx)(ra,{children:(0,t.jsx)(ga,{table:s,column:l,onAddColumnChart:i,preview:x.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=x,e[40]=i,e[41]=m,e[42]=r,e[43]=s,e[44]=F):F=e[44];let B;return e[45]!==$||e[46]!==F?(B=(0,t.jsxs)(t.Fragment,{children:[$,F]}),e[45]=$,e[46]=F,e[47]=B):B=e[47],B};function Qa(a){let{tooltipContent:e,content:s}=a;return(0,t.jsx)(ae,{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 hs(a){return a}var R={name:"name",type:"type-value",defs:"defs-refs"},et=[{id:R.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)(Pa,{name:e,declaredBy:s})}},{id:R.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:R.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=m=>{let n=de(m);n&&me(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)(Aa,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,t.jsx)($e,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>r(e[0])}):(0,t.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((m,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)($e,{variant:"focus",cellId:m,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(m)},m),n<e.length-1&&", "]},m))})]}),(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)(ya,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(La,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function at({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:R.defs,desc:!1});let l=[];switch(e.id){case R.name:l=J(a,r=>r.name);break;case R.type:l=J(a,r=>r.dataType);break;case R.defs:l=J(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.reverse():l}const De=(0,w.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=w.useState([]),[m,n]=w.useState(""),j=Le(),{locale:p}=wa(),f=(0,w.useMemo)(()=>{let c=o=>{let h=j[o];return Ye(h)?`cell-${e.indexOf(o)}`:h??`cell-${e.indexOf(o)}`};return Object.values(s).map(o=>({...o,declaredByNames:o.declaredBy.map(c),usedByNames:o.usedBy.map(c)}))},[s,j,e]),x=ia({data:(0,w.useMemo)(()=>{let c=new Map;return e.forEach((o,h)=>c.set(o,h)),at({variables:f,sort:l[0],cellIdToIndex:c})},[f,l,e]),columns:et,getCoreRowModel:da(),onGlobalFilterChange:n,getFilteredRowModel:ua(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(c){return c.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:p,onSortingChange:r,getSortedRowModel:ma(),state:{sorting:l,globalFilter:m}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ba,{className:"w-full",placeholder:"Search",value:m,onChange:c=>n(c.target.value)}),(0,t.jsxs)(Va,{className:z("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)(Ia,{children:(0,t.jsx)(Te,{className:"whitespace-nowrap text-xs",children:x.getFlatHeaders().map(c=>(0,t.jsx)(Ba,{className:"sticky top-0 bg-background border-b",children:je(c.column.columnDef.header,c.getContext())},c.id))})}),(0,t.jsx)(Da,{children:x.getRowModel().rows.map(c=>(0,t.jsx)(Te,{className:"hover:bg-accent",children:c.getVisibleCells().map(o=>(0,t.jsx)(qa,{className:"border-b",children:je(o.column.columnDef.cell,o.getContext())},o.id))},c.id))})]})]})});De.displayName="VariableTable";var tt=le(),st=Re("marimo:session-panel:open-sections",["variables"],Xe),lt=()=>{let a=(0,tt.c)(20),e=Qe(),s=Ge(),l=pe(),[r,m]=Me(st),n=l.tables.length,j;a[0]===r?j=a[1]:(j=r.includes("datasources"),a[0]=r,a[1]=j);let p=j,f;a[2]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)(se,{className:"w-4 h-4"}),a[2]=f):f=a[2];let x;a[3]!==n||a[4]!==p?(x=!p&&n>0&&(0,t.jsx)(va,{variant:"secondary",className:"ml-1 px-1.5 py-0 text-[10px]",children:n}),a[3]=n,a[4]=p,a[5]=x):x=a[5];let c;a[6]===x?c=a[7]:(c=(0,t.jsx)(Ce,{className:"px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[f,"Data sources",x]})}),a[6]=x,a[7]=c);let o;a[8]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(ke,{wrapperClassName:"p-0",children:(0,t.jsx)(Ha,{})}),a[8]=o):o=a[8];let h;a[9]===c?h=a[10]:(h=(0,t.jsxs)(_e,{value:"datasources",className:"border-b",children:[c,o]}),a[9]=c,a[10]=h);let d;a[11]===Symbol.for("react.memo_cache_sentinel")?(d=(0,t.jsx)(Ce,{className:"px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(Ke,{className:"w-4 h-4"}),"Variables"]})}),a[11]=d):d=a[11];let u;a[12]!==s||a[13]!==e?(u=(0,t.jsxs)(_e,{value:"variables",className:"border-b-0",children:[d,(0,t.jsx)(ke,{wrapperClassName:"p-0",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)(De,{cellIds:s.inOrderIds,variables:e})})]}),a[12]=s,a[13]=e,a[14]=u):u=a[14];let i;return a[15]!==r||a[16]!==m||a[17]!==h||a[18]!==u?(i=(0,t.jsxs)(Ca,{type:"multiple",value:r,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[h,u]}),a[15]=r,a[16]=m,a[17]=h,a[18]=u,a[19]=i):i=a[19],i};export{lt as default};