@marimo-team/frontend 0.24.1-dev109 → 0.24.1-dev110
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/{JsonOutput-DflXi8WP.js → JsonOutput-BYSpdF43.js} +10 -10
- package/dist/assets/{agent-panel-CvylOk8N.js → agent-panel-CIGDXQtn.js} +1 -1
- package/dist/assets/{cell-editor-B2FYa_r2.js → cell-editor-D7fjZc8_.js} +2 -2
- package/dist/assets/{column-preview-4ZtjRVCL.js → column-preview-Bnrq4bEC.js} +1 -1
- package/dist/assets/{command-palette-_ZYa5wz-.js → command-palette-CYaDy4p2.js} +1 -1
- package/dist/assets/{edit-page-DhK8zpUw.js → edit-page-DvStrWEF.js} +6 -6
- package/dist/assets/{file-explorer-panel-CBi7IrTJ.js → file-explorer-panel-CC4C9SnN.js} +1 -1
- package/dist/assets/index-BHZDiHTq.js +29 -0
- package/dist/assets/{layout-B1OYn1x9.js → layout-BBzwwt8g.js} +5 -5
- package/dist/assets/{panels-Bpc7gKzJ.js → panels-BTHaPtUZ.js} +1 -1
- package/dist/assets/{reveal-component-C-5eIjh7.js → reveal-component-CawytCeQ.js} +1 -1
- package/dist/assets/{run-page-Jmrd4hPR.js → run-page-DrxVLavD.js} +1 -1
- package/dist/assets/{scratchpad-panel-B37VTDcH.js → scratchpad-panel-DUioP0f7.js} +1 -1
- package/dist/assets/session-panel-DiKPWSPU.js +1 -0
- package/dist/assets/{skeleton-BOqU4fSS.js → skeleton-BDmfpU3X.js} +1 -1
- package/dist/assets/{useNotebookActions-Bh1LWIwk.js → useNotebookActions-AeYQuSXc.js} +2 -2
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/src/components/data-table/__tests__/column-explorer.test.tsx +61 -2
- package/src/components/data-table/__tests__/column-visibility-dropdown.test.tsx +130 -1
- package/src/components/data-table/__tests__/useColumnVisibility.test.ts +153 -1
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +54 -25
- package/src/components/data-table/column-visibility-dropdown.tsx +62 -14
- package/src/components/data-table/hooks/use-column-visibility.ts +76 -0
- package/src/components/data-table/show-only-column-button.tsx +58 -0
- package/dist/assets/index-PQMiMaaL.js +0 -29
- package/dist/assets/session-panel-DNhueSlc.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,u as i}from"./useEvent-xfs0Sn4r.js";import{t as a}from"./react-CBDbhulC.js";import{$i as o,$n as s,Aa as c,Ca as l,Cn as u,Co as d,D as f,Da as p,Ea as m,Ii as h,Kt as g,Li as _,Ln as v,M as y,Oa as b,P as x,Qn as S,Sa as C,Sn as w,Tr as T,Tt as E,Wn as D,Wt as O,Xi as k,Zn as A,_a as j,ai as M,ba as N,c as P,ea as F,fa as I,ga as L,i as R,ii as z,ja as B,ka as ee,kn as V,si as te,va as H,vn as U,wa as W,ya as ne,zi as re}from"./cells-qgj2MHef.js";import{t as ie}from"./compiler-runtime-CYIjoINj.js";import{c as ae}from"./utils-B-_Wem_I.js";import{t as G}from"./ErrorBoundary-ClXmeuxA.js";import{t as oe}from"./cn-ldLVeaqm.js";import{t as se}from"./jsx-runtime-B74pBk57.js";import{r as ce}from"./config-BzPQfGBM.js";import{$ as K,Q as q,_ as le,d as ue,et as de,g as fe,h as pe,m as me,nt as he,p as ge,rt as _e,tt as ve}from"./JsonOutput-DflXi8WP.js";import{t as ye}from"./tooltip-BO5vfMvm.js";import{r as be,t as xe}from"./button-MlJ5qApt.js";import{l as Se}from"./arrays-BqUx5USx.js";import{i as Ce}from"./strings-CReV1AYG.js";import{r as we}from"./requests-C6_IaFh7.js";import{t as Te}from"./createLucideIcon-B7HeEoG2.js";import{r as Ee}from"./useNumberFormatter-DHJ9s6Vk.js";import{a as De,r as Oe}from"./tree-actions-591V0MzS.js";import{a as ke}from"./input-Ddnr8OdM.js";import{n as Ae,o as je}from"./column-preview-4ZtjRVCL.js";import{t as Me}from"./workflow-SJ9KZapt.js";import{t as Ne}from"./context-Do8M9TDF.js";import{n as Pe}from"./useAsyncData-Buhk-UgR.js";import{t as Fe}from"./copy-icon-zfaCsLjV.js";import{t as Ie}from"./cell-link-RjRAdD7j.js";import{a as Le,i as Re,n as ze,o as Be,r as Ve,t as He}from"./table-DmqOOjfe.js";import{n as Ue}from"./icons-CjLa9BiH.js";import{t as We}from"./useAddCell-DcOC1-46.js";import{t as Ge}from"./useDeepCompareMemoize-CLytDdMl.js";import{t as Ke}from"./empty-state-kWyb5dCS.js";import{n as qe,t as Je}from"./common-UY3q-fId.js";import{a as Ye,i as Xe,n as Ze,o as Qe,r as $e,s as et,t as tt}from"./components-CxHV3A2M.js";import{r as nt}from"./panel-accordion-state-D4JACsZ3.js";var rt=Te(`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`}]]),J=ie(),Y=e(a(),1),X=se(),it=1;function at(e){return 1.75+e*it}function ot(e){return 3+e*it}function st(e){return 3.25+e*it}var Z={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function Q(e){return{paddingLeft:`${e}rem`}}var ct=n(e=>{let t=e(H),n=e(te),r=e(R);return Se(t,e=>{if(!e.variable_name)return-1;let t=Object.values(n).find(t=>t.name===e.variable_name);if(!t)return 0;let i=r.inOrderIds.indexOf(t.declaredBy[0]);return i===-1?0:i})}),lt=d(`marimo:datasources:hideEmpty`,!1,z,{getOnInit:!0});function ut(e){let t=!1,n=[];for(let r of e){if(!W(r)||!C(r)){n.push(r);continue}let e=r.child_schemas??[],i=ut(e);if(r.tables.length===0&&i.length===0){t=!0;continue}if(i===e){n.push(r);continue}t=!0,n.push({...r,child_schemas:i})}return t?n:e}function dt(e){let t=!1,n=[];for(let r of e){if(l(r)&&r.schemas.length===0){t=!0;continue}if(r.schemas.length===0){n.push(r);continue}let e=ut(r.schemas);if(e.length===0){t=!0;continue}if(e===r.schemas){n.push(r);continue}t=!0,n.push({...r,schemas:e})}return t?n:e}var ft=()=>{let e=(0,J.c)(42),[n,a]=Y.useState(``),[o,s]=t(lt),c=i(j),l=r(ct),u=r(I),d;bb0:{if(!o){d=u;break bb0}let t,n;e[0]===u?(t=e[1],n=e[2]):(t=!1,n=u.map(e=>{let n=dt(e.databases);return n===e.databases?e:(t=!0,{...e,databases:n})}),e[0]=u,e[1]=t,e[2]=n),d=t?n:u}let f=d;if(l.length===0&&f.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(Ke,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,X.jsx)(Qe,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,X.jsx)(F,{})}),e[3]=t):t=e[3],t}let p;e[4]===n?p=e[5]:(p=n.trim(),e[4]=n,e[5]=p);let m=!!p,h;e[6]===c?h=e[7]:(h=e=>{c(e.length>0),a(e)},e[6]=c,e[7]=h);let g;e[8]!==n||e[9]!==h?(g=(0,X.jsx)(w,{placeholder:`Search tables...`,className:`h-6 m-1`,value:n,onValueChange:h,rootClassName:`flex-1 border-r border-b-0`}),e[8]=n,e[9]=h,e[10]=g):g=e[10];let _;e[11]===m?_=e[12]:(_=m&&(0,X.jsx)(`button`,{type:`button`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,X.jsx)(Ee,{className:`h-4 w-4`})}),e[11]=m,e[12]=_);let v=!o,y;e[13]!==o||e[14]!==s?(y=()=>s(!o),e[13]=o,e[14]=s,e[15]=y):y=e[15];let b;e[16]!==v||e[17]!==y?(b=(0,X.jsx)(De,{"data-testid":`datasources-hide-empty-button`,isVisible:v,onToggle:y,showTooltip:`Show empty schemas and databases`,hideTooltip:`Hide empty schemas and databases`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[16]=v,e[17]=y,e[18]=b):b=e[18];let x;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,X.jsx)(Qe,{group:`database`,label:`Add database or catalog`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[19]=x):x=e[19];let S;e[20]!==g||e[21]!==_||e[22]!==b?(S=(0,X.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,_,b,x]}),e[20]=g,e[21]=_,e[22]=b,e[23]=S):S=e[23];let C;if(e[24]!==f||e[25]!==n){let t;e[27]===n?t=e[28]:(t=e=>(0,X.jsx)(pt,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,X.jsx)(_t,{connection:e,database:t,searchValue:n},t.name))},e.name),e[27]=n,e[28]=t),C=f.map(t),e[24]=f,e[25]=n,e[26]=C}else C=e[26];let T;e[29]!==f.length||e[30]!==l.length?(T=f.length>0&&l.length>0&&(0,X.jsxs)(ge,{className:`pr-2`,style:Q(Z.engine),children:[(0,X.jsx)(Ue,{className:`h-4 w-4 text-muted-foreground`}),(0,X.jsx)(`span`,{className:`text-xs`,children:`Python`})]}),e[29]=f.length,e[30]=l.length,e[31]=T):T=e[31];let E;e[32]!==n||e[33]!==l?(E=l.length>0&&(0,X.jsx)(xt,{tables:l,searchValue:n}),e[32]=n,e[33]=l,e[34]=E):E=e[34];let D;e[35]!==C||e[36]!==T||e[37]!==E?(D=(0,X.jsxs)(V,{className:`flex flex-col`,children:[C,T,E]}),e[35]=C,e[36]=T,e[37]=E,e[38]=D):D=e[38];let O;return e[39]!==D||e[40]!==S?(O=(0,X.jsxs)(U,{className:`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden`,shouldFilter:!1,children:[S,D]}),e[39]=D,e[40]=S,e[41]=O):O=e[41],O},pt=e=>{let t=(0,J.c)(26),{connection:n,children:r,hasChildren:i}=e,a=n.name===B,o=a?`In-Memory`:n.name,{previewDataSourceConnection:s}=we(),c;t[0]!==n.name||t[1]!==s?(c=async()=>{await s({engine:n.name})},t[0]=n.name,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=Q(Z.engine),t[3]=u):u=t[3];let d;t[4]===n.dialect?d=t[5]:(d=(0,X.jsx)(v,{className:`h-4 w-4 text-muted-foreground`,name:n.dialect}),t[4]=n.dialect,t[5]=d);let f;t[6]===n.dialect?f=t[7]:(f=h(n.dialect),t[6]=n.dialect,t[7]=f);let p;t[8]===f?p=t[9]:(p=(0,X.jsx)(`span`,{className:`text-xs`,children:f}),t[8]=f,t[9]=p);let m=o,g;t[10]===m?g=t[11]:(g=(0,X.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(0,X.jsx)(et,{variableName:m}),`)`]}),t[10]=m,t[11]=g);let _;t[12]!==l||t[13]!==a?(_=!a&&(0,X.jsx)(Oe,{onClick:l,tooltip:`Refresh connection`,className:`ml-auto h-4 p-0`,iconClassName:`h-3.5 w-3.5`}),t[12]=l,t[13]=a,t[14]=_):_=t[14];let y;t[15]!==d||t[16]!==p||t[17]!==g||t[18]!==_?(y=(0,X.jsxs)(ge,{className:`pr-2`,style:u,children:[d,p,g,_]}),t[15]=d,t[16]=p,t[17]=g,t[18]=_,t[19]=y):y=t[19];let b;t[20]!==r||t[21]!==i?(b=i?r:(0,X.jsx)(me,{content:`No databases available`,style:Q(Z.engineEmpty)}),t[20]=r,t[21]=i,t[22]=b):b=t[22];let x;return t[23]!==b||t[24]!==y?(x=(0,X.jsxs)(X.Fragment,{children:[y,b]}),t[23]=b,t[24]=y,t[25]=x):x=t[25],x},mt=Y.createContext(null);function ht(){let e=Y.useContext(mt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function gt(e,{schema:t,schemaPath:n}){return{engine:e.engineName,database:e.databaseName,schema:t,schemaPath:n,defaultSchema:e.defaultSchema,defaultDatabase:e.defaultDatabase,dialect:e.dialect}}var _t=e=>{let t=(0,J.c)(21),{connection:n,database:r,searchValue:i}=e,a;t[0]!==n.default_database||t[1]!==n.default_schema||t[2]!==n.dialect||t[3]!==n.name||t[4]!==r.name||t[5]!==i?(a={engineName:n.name,databaseName:r.name,dialect:n.dialect,defaultSchema:n.default_schema,defaultDatabase:n.default_database,searchValue:i},t[0]=n.default_database,t[1]=n.default_schema,t[2]=n.dialect,t[3]=n.name,t[4]=r.name,t[5]=i,t[6]=a):a=t[6];let o=a,s=n.name,c=r.schemas,u;t[7]===r?u=t[8]:(u=l(r),t[7]=r,t[8]=u);let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=[],t[9]=d):d=t[9];let f;t[10]!==r.schemas||t[11]!==u?(f=(0,X.jsx)(yt,{schemas:c,schemasResolved:u,schemaPath:d,depth:0}),t[10]=r.schemas,t[11]=u,t[12]=f):f=t[12];let p;t[13]!==f||t[14]!==o?(p=(0,X.jsx)(mt.Provider,{value:o,children:f}),t[13]=f,t[14]=o,t[15]=p):p=t[15];let m;return t[16]!==n.name||t[17]!==r||t[18]!==i||t[19]!==p?(m=(0,X.jsx)(vt,{engineName:s,database:r,searchValue:i,children:p}),t[16]=n.name,t[17]=r,t[18]=i,t[19]=p,t[20]=m):m=t[20],m},vt=e=>{let t=(0,J.c)(29),{searchValue:n,engineName:r,database:i,children:a}=e,o;t[0]!==i||t[1]!==n?(o=b(i,n),t[0]=i,t[1]=n,t[2]=o):o=t[2];let s=o,[c,l]=Y.useState(s),[d,f]=Y.useState(!1),[p,m]=Y.useState(n),[h,g]=Y.useState(s);(p!==n||h!==s)&&(m(n),g(s),l(s));let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=Q(Z.database),t[3]=_):_=t[3];let v;t[4]!==c||t[5]!==d?(v=()=>{l(!c),f(!d)},t[4]=c,t[5]=d,t[6]=v):v=t[6];let y=`${r}:${i.name}`,x;t[7]===c?x=t[8]:(x=(0,X.jsx)(le,{isExpanded:c}),t[7]=c,t[8]=x);let S=d&&c?`text-foreground`:`text-muted-foreground`,C;t[9]===S?C=t[10]:(C=oe(`h-4 w-4`,S),t[9]=S,t[10]=C);let w;t[11]===C?w=t[12]:(w=(0,X.jsx)(F,{className:C}),t[11]=C,t[12]=w);let T=d&&c&&`font-semibold`,E;t[13]===T?E=t[14]:(E=oe(T),t[13]=T,t[14]=E);let D;t[15]===i.name?D=t[16]:(D=i.name===``?(0,X.jsx)(`i`,{children:`Not connected`}):i.name,t[15]=i.name,t[16]=D);let O;t[17]!==E||t[18]!==D?(O=(0,X.jsx)(`span`,{className:E,children:D}),t[17]=E,t[18]=D,t[19]=O):O=t[19];let k;t[20]!==O||t[21]!==v||t[22]!==y||t[23]!==x||t[24]!==w?(k=(0,X.jsxs)(u,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:_,onSelect:v,value:y,children:[x,w,O]}),t[20]=O,t[21]=v,t[22]=y,t[23]=x,t[24]=w,t[25]=k):k=t[25];let A=c&&a,j;return t[26]!==k||t[27]!==A?(j=(0,X.jsxs)(X.Fragment,{children:[k,A]}),t[26]=k,t[27]=A,t[28]=j):j=t[28],j},yt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=ht(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=L(),l=Ge(e.schemaPath),[u,d]=Y.useState(!1),{isPending:f,error:p}=Pe(async()=>{if(!n&&a){d(!0);try{let e=await A.request({engine:a,database:o,schemaPath:l});c({schemas:e.schemas??[],sqlSchemaContext:{engine:a,database:o,schemaPath:l}})}finally{d(!1)}}},[n,a,o,l]),h=Q(at(r));return f||u?(0,X.jsx)(fe,{message:`Loading schemas...`,style:h}):p?(0,X.jsx)(pe,{error:p,style:h}):t.length===0?(0,X.jsx)(me,{content:`No schemas available`,style:h}):(0,X.jsx)(X.Fragment,{children:t.map(e=>m(e.name)?(0,X.jsx)(xt,{tables:e.tables,tablesResolved:W(e),searchValue:s,sqlTableContext:gt(i,{schema:e.name,schemaPath:l})},e.name):(0,X.jsx)(bt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},bt=e=>{let t=(0,J.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=ht(),{databaseName:o,searchValue:s}=a,c;t[0]!==n||t[1]!==s?(c=p(n,s),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l=c,[d,f]=Y.useState(l),[m,h]=Y.useState(!1),[g,_]=Y.useState(s),[v,y]=Y.useState(l),b;t[3]===r?b=t[4]:(b=r.join(`.`),t[3]=r,t[4]=b);let x=`${o}:${b}`,S;t[5]===n.child_schemas?S=t[6]:(S=n.child_schemas??[],t[5]=n.child_schemas,t[6]=S);let w=S;(g!==s||v!==l)&&(_(s),y(l),f(l));let T;t[7]===i?T=t[8]:(T=Q(at(i)),t[7]=i,t[8]=T);let E;t[9]!==d||t[10]!==m?(E=()=>{f(!d),h(!m)},t[9]=d,t[10]=m,t[11]=E):E=t[11];let D;t[12]===d?D=t[13]:(D=(0,X.jsx)(le,{isExpanded:d}),t[12]=d,t[13]=D);let O=m&&d&&`text-foreground`,A;t[14]===O?A=t[15]:(A=oe(`h-4 w-4 text-muted-foreground`,O),t[14]=O,t[15]=A);let j;t[16]===A?j=t[17]:(j=(0,X.jsx)(k,{className:A}),t[16]=A,t[17]=j);let M=m&&d&&`font-semibold`,N;t[18]===M?N=t[19]:(N=oe(M),t[18]=M,t[19]=N);let P;t[20]!==n.name||t[21]!==N?(P=(0,X.jsx)(`span`,{className:N,children:n.name}),t[20]=n.name,t[21]=N,t[22]=P):P=t[22];let F;t[23]!==P||t[24]!==T||t[25]!==E||t[26]!==D||t[27]!==j||t[28]!==x?(F=(0,X.jsxs)(u,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:T,onSelect:E,value:x,children:[D,j,P]}),t[23]=P,t[24]=T,t[25]=E,t[26]=D,t[27]=j,t[28]=x,t[29]=F):F=t[29];let I;t[30]!==w||t[31]!==i||t[32]!==d||t[33]!==n||t[34]!==r||t[35]!==s||t[36]!==a?(I=d&&(0,X.jsxs)(X.Fragment,{children:[(w.length>0||!C(n))&&(0,X.jsx)(yt,{schemas:w,schemasResolved:C(n),schemaPath:r,depth:i+1}),(0,X.jsx)(xt,{tables:n.tables,tablesResolved:W(n),searchValue:s,tableIndentRem:ot(i),columnIndentRem:st(i),sqlTableContext:gt(a,{schema:n.name,schemaPath:r})})]}),t[30]=w,t[31]=i,t[32]=d,t[33]=n,t[34]=r,t[35]=s,t[36]=a,t[37]=I):I=t[37];let L;return t[38]!==F||t[39]!==I?(L=(0,X.jsxs)(X.Fragment,{children:[F,I]}),t[38]=F,t[39]=I,t[40]=L):L=t[40],L},xt=e=>{let t=(0,J.c)(31),{tables:n,sqlTableContext:r,searchValue:i,tablesResolved:a,tableIndentRem:o,columnIndentRem:c}=e,l=a===void 0||a,{addTableList:u}=L(),[d,f]=Y.useState(!1),p;t[0]!==u||t[1]!==r||t[2]!==l?(p=async()=>{if(!l&&r){f(!0);let{engine:e,database:t,schema:n,schemaPath:i}=r,a=await s.request({engine:e,database:t,schema:n,schemaPath:i??[]});if(!a?.tables)throw f(!1),Error(`No tables available`);u({tables:a.tables,sqlTableContext:r}),f(!1)}},t[0]=u,t[1]=r,t[2]=l,t[3]=p):p=t[3];let m;t[4]!==r||t[5]!==l?(m=[l,r],t[4]=r,t[5]=l,t[6]=m):m=t[6];let{isPending:h,error:g}=Pe(p,m),_=o??Z.tableLoading,v;t[7]===_?v=t[8]:(v=Q(_),t[7]=_,t[8]=v);let y=v;if(h||d){let e;return t[9]===y?e=t[10]:(e=(0,X.jsx)(fe,{message:`Loading tables...`,style:y}),t[9]=y,t[10]=e),e}if(g){let e;return t[11]!==g||t[12]!==y?(e=(0,X.jsx)(pe,{error:g,style:y}),t[11]=g,t[12]=y,t[13]=e):e=t[13],e}if(n.length===0){let e;return t[14]===y?e=t[15]:(e=(0,X.jsx)(me,{content:`No tables found`,style:y}),t[14]=y,t[15]=e),e}let b;if(t[16]!==c||t[17]!==i||t[18]!==r||t[19]!==o||t[20]!==n){let e;t[22]===i?e=t[23]:(e=e=>!i||e.name.toLowerCase().includes(i.toLowerCase()),t[22]=i,t[23]=e);let a=n.filter(e),s;t[24]!==c||t[25]!==i||t[26]!==r||t[27]!==o?(s=e=>(0,X.jsx)(St,{table:e,sqlTableContext:r,isSearching:!!i,tableIndentRem:o,columnIndentRem:c},e.name),t[24]=c,t[25]=i,t[26]=r,t[27]=o,t[28]=s):s=t[28],b=a.map(s),t[16]=c,t[17]=i,t[18]=r,t[19]=o,t[20]=n,t[21]=b}else b=t[21];let x;return t[29]===b?x=t[30]:(x=(0,X.jsx)(X.Fragment,{children:b}),t[29]=b,t[30]=x),x},St=e=>{let t=(0,J.c)(69),{table:n,sqlTableContext:i,isSearching:a,tableIndentRem:s,columnIndentRem:l}=e,{addTable:d}=L(),[p,m]=Y.useState(!1),h=n.columns.length>0,_;t[0]!==d||t[1]!==p||t[2]!==i||t[3]!==n.name||t[4]!==h?(_=async()=>{if(p&&!h&&i){let{engine:e,database:t,schema:r,schemaPath:a}=i,o=await S.request({engine:e,database:t,schema:r,tableName:n.name,schemaPath:a??[]});if(!o?.table)throw Error(`No table details available`);d({table:o.table,sqlTableContext:i})}},t[0]=d,t[1]=p,t[2]=i,t[3]=n.name,t[4]=h,t[5]=_):_=t[5];let v;t[6]!==p||t[7]!==h?(v=[p,h],t[6]=p,t[7]=h,t[8]=v):v=t[8];let{isFetching:y,isPending:b,error:x}=Pe(_,v),C=r(ae),w=O(),{createNewCell:T}=f(),E=We(),D;t[9]!==E||t[10]!==C||t[11]!==T||t[12]!==w||t[13]!==i||t[14]!==n?(D=()=>{g({autoInstantiate:C,createNewCell:T,fromCellId:w}),E((()=>{if(n.source_type===`catalog`){let e=i?.database?[i.database,...i.schemaPath??[],n.name].join(`.`):n.name;return`${n.engine}.load_table("${e}")`}if(i)return ee({table:n,columnName:`*`,sqlTableContext:i});switch(n.source_type){case`local`:return`mo.ui.table(${n.name})`;case`duckdb`:case`connection`:return ee({table:n,columnName:`*`,sqlTableContext:i});default:return Ce(n.source_type),``}})())},t[9]=E,t[10]=C,t[11]=T,t[12]=w,t[13]=i,t[14]=n,t[15]=D):D=t[15];let k=D,A;t[16]!==n.num_columns||t[17]!==n.num_rows?(A=()=>{let e=[];return n.num_rows!=null&&e.push(`${n.num_rows} rows`),n.num_columns!=null&&e.push(`${n.num_columns} columns`),e.length===0?null:(0,X.jsx)(`div`,{className:`flex flex-row gap-2 items-center pl-6 group-hover:hidden`,children:(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.join(`, `)})})},t[16]=n.num_columns,t[17]=n.num_rows,t[18]=A):A=t[18];let j=A,M;t[19]!==l||t[20]!==x||t[21]!==y||t[22]!==b||t[23]!==i||t[24]!==n?(M=()=>{let e=Q(l??Z.tableLoading);if(b||y)return(0,X.jsx)(fe,{message:`Loading columns...`,style:e});if(x)return(0,X.jsx)(pe,{error:x,style:e});let t=n.columns;return t.length===0?(0,X.jsx)(me,{content:`No columns found`,style:e}):t.map(e=>(0,X.jsx)(Ct,{table:n,column:e,sqlTableContext:i,columnIndentRem:l},e.name))},t[19]=l,t[20]=x,t[21]=y,t[22]=b,t[23]=i,t[24]=n,t[25]=M):M=t[25];let N=M,P;t[26]!==p||t[27]!==a||t[28]!==n.source_type||t[29]!==n.type?(P=()=>{if(n.source_type===`local`)return;let e=n.type===`table`?re:o;return(0,X.jsx)(e,{className:`h-3 w-3`,strokeWidth:p||a?2.5:void 0})},t[26]=p,t[27]=a,t[28]=n.source_type,t[29]=n.type,t[30]=P):P=t[30];let F=P,I;t[31]!==i||t[32]!==n.name?(I=c(i,n.name),t[31]=i,t[32]=n.name,t[33]=I):I=t[33];let R=I,z=s??(i?Z.tableSchemaless:0),B=(p||a)&&`font-semibold`,V;t[34]===B?V=t[35]:(V=oe(`rounded-none group h-8 cursor-pointer`,B),t[34]=B,t[35]=V);let te;t[36]===z?te=t[37]:(te=Q(z),t[36]=z,t[37]=te);let H;t[38]===p?H=t[39]:(H=()=>m(!p),t[38]=p,t[39]=H);let U;t[40]===F?U=t[41]:(U=F(),t[40]=F,t[41]=U);let W;t[42]===n.name?W=t[43]:(W=(0,X.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=W);let ne;t[44]!==U||t[45]!==W?(ne=(0,X.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[U,W]}),t[44]=U,t[45]=W,t[46]=ne):ne=t[46];let ie;t[47]===j?ie=t[48]:(ie=j(),t[47]=j,t[48]=ie);let G;t[49]===k?G=t[50]:(G=be.stopPropagation(()=>k()),t[49]=k,t[50]=G);let se;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,X.jsx)(je,{className:`h-3 w-3`}),t[51]=se):se=t[51];let ce;t[52]===G?ce=t[53]:(ce=(0,X.jsx)(ye,{content:`Add table to notebook`,delayDuration:400,children:(0,X.jsx)(xe,{className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:G,children:se})}),t[52]=G,t[53]=ce);let K;t[54]!==p||t[55]!==te||t[56]!==H||t[57]!==ne||t[58]!==ie||t[59]!==ce||t[60]!==V||t[61]!==R?(K=(0,X.jsxs)(u,{className:V,style:te,value:R,"aria-selected":p,forceMount:!0,onSelect:H,children:[ne,ie,ce]}),t[54]=p,t[55]=te,t[56]=H,t[57]=ne,t[58]=ie,t[59]=ce,t[60]=V,t[61]=R,t[62]=K):K=t[62];let q;t[63]!==p||t[64]!==N?(q=p&&N(),t[63]=p,t[64]=N,t[65]=q):q=t[65];let le;return t[66]!==K||t[67]!==q?(le=(0,X.jsxs)(X.Fragment,{children:[K,q]}),t[66]=K,t[67]=q,t[68]=le):le=t[68],le},Ct=e=>{let t=(0,J.c)(51),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[c,l]=Y.useState(!1),d=r(j),f=i(ne);d&&c&&l(!1),f(c?e=>new Set([...e,`${n.name}:${a.name}`]):e=>(e.delete(`${n.name}:${a.name}`),new Set(e)));let p=We(),{columnsPreviews:m}=N(),h;t[0]!==a.name||t[1]!==n.primary_keys?(h=n.primary_keys?.includes(a.name)||!1,t[0]=a.name,t[1]=n.primary_keys,t[2]=h):h=t[2];let g=h,_;t[3]!==a.name||t[4]!==n.indexes?(_=n.indexes?.includes(a.name)||!1,t[3]=a.name,t[4]=n.indexes,t[5]=_):_=t[5];let v=_,y;t[6]===p?y=t[7]:(y=e=>{p(e)},t[6]=p,t[7]=y);let b=y,x=wt,S=c?`font-semibold`:``,C;t[8]!==a.name||t[9]!==S?(C=(0,X.jsx)(`span`,{className:S,children:a.name}),t[8]=a.name,t[9]=S,t[10]=C):C=t[10];let w=C,T=`${n.name}.${a.name}`,E=`${n.name}.${a.name}`,D;t[11]===c?D=t[12]:(D=()=>l(!c),t[11]=c,t[12]=D);let O;t[13]!==s||t[14]!==o?(O=s??(o?st(0):Z.columnLocal),t[13]=s,t[14]=o,t[15]=O):O=t[15];let k;t[16]===O?k=t[17]:(k=Q(O),t[16]=O,t[17]=k);let A;t[18]!==a.type||t[19]!==w?(A=(0,X.jsx)(ue,{columnName:w,dataType:a.type}),t[18]=a.type,t[19]=w,t[20]=A):A=t[20];let M;t[21]===g?M=t[22]:(M=g&&x({tooltipContent:`Primary key`,content:`PK`}),t[21]=g,t[22]=M);let P;t[23]===v?P=t[24]:(P=v&&x({tooltipContent:`Indexed`,content:`IDX`}),t[23]=v,t[24]=P);let F;t[25]!==k||t[26]!==A||t[27]!==M||t[28]!==P?(F=(0,X.jsxs)(`div`,{className:`flex flex-row gap-2 items-center flex-1`,style:k,children:[A,M,P]}),t[25]=k,t[26]=A,t[27]=M,t[28]=P,t[29]=F):F=t[29];let I;t[30]===a.name?I=t[31]:(I=(0,X.jsx)(ye,{content:`Copy column name`,delayDuration:400,children:(0,X.jsx)(xe,{variant:`text`,size:`icon`,className:`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`,children:(0,X.jsx)(Fe,{tooltip:!1,value:a.name,className:`h-3 w-3`})})}),t[30]=a.name,t[31]=I);let L;t[32]===a.external_type?L=t[33]:(L=(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[32]=a.external_type,t[33]=L);let R;t[34]!==F||t[35]!==I||t[36]!==L||t[37]!==T||t[38]!==E||t[39]!==D?(R=(0,X.jsxs)(u,{className:`rounded-none py-1 group cursor-pointer`,value:E,onSelect:D,children:[F,I,L]},T),t[34]=F,t[35]=I,t[36]=L,t[37]=T,t[38]=E,t[39]=D,t[40]=R):R=t[40];let z;t[41]!==a||t[42]!==m||t[43]!==b||t[44]!==c||t[45]!==o||t[46]!==n?(z=c&&(0,X.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:Q(Z.columnPreview),children:(0,X.jsx)(G,{children:(0,X.jsx)(Ae,{table:n,column:a,onAddColumnChart:b,preview:m.get(o?`${o.database}.${o.schema}.${n.name}:${a.name}`:`${n.name}:${a.name}`),sqlTableContext:o})})}),t[41]=a,t[42]=m,t[43]=b,t[44]=c,t[45]=o,t[46]=n,t[47]=z):z=t[47];let B;return t[48]!==R||t[49]!==z?(B=(0,X.jsxs)(X.Fragment,{children:[R,z]}),t[48]=R,t[49]=z,t[50]=B):B=t[50],B};function wt(e){let{tooltipContent:t,content:n}=e;return(0,X.jsx)(ye,{content:t,delayDuration:100,children:(0,X.jsx)(`span`,{className:`text-xs text-black bg-gray-100 dark:invert rounded px-1`,children:n})})}function Tt(e){return e}var $={name:`name`,type:`type-value`,defs:`defs-refs`},Et=[Tt({id:$.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,X.jsx)(q,{header:`Name`,column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,X.jsx)(Je,{name:t,declaredBy:n})}}),Tt({id:$.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,X.jsx)(q,{header:(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{children:`Type`}),(0,X.jsx)(`span`,{children:`Value`})]}),column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,X.jsxs)(`div`,{className:`max-w-[150px]`,children:[(0,X.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs`,children:t}),(0,X.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap`,title:n??``,children:n})]})}}),Tt({id:$.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:`basic`,header:({column:e})=>(0,X.jsx)(q,{header:(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{children:`Declared By`}),(0,X.jsx)(`span`,{children:`Used By`})]}),column:e}),cell:({getValue:e})=>{let[t,n,r]=e(),i=e=>{let t=P(e);t&&T(t,r)};return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1 py-1`,children:[(0,X.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-center`,children:[(0,X.jsx)(`span`,{title:`Declared by`,children:(0,X.jsx)(rt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,X.jsx)(Ie,{variant:`focus`,cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,X.jsx)(`div`,{className:`text-destructive flex flex-row gap-2`,children:t.slice(0,3).map((e,n)=>(0,X.jsxs)(`span`,{className:`flex`,children:[(0,X.jsx)(Ie,{variant:`focus`,cellId:e,skipScroll:!0,className:`whitespace-nowrap text-destructive`,onClick:()=>i(e)},e),n<t.length-1&&`, `]},e))})]}),(0,X.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-baseline`,children:[(0,X.jsx)(`span`,{title:`Used by`,children:(0,X.jsx)(Me,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,X.jsx)(qe,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function Dt({variables:e,sort:t,cellIdToIndex:n}){t||={id:$.defs,desc:!1};let r=[];switch(t.id){case $.name:r=Se(e,e=>e.name);break;case $.type:r=Se(e,e=>e.dataType);break;case $.defs:r=Se(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var Ot=(0,Y.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=Y.useState([]),[a,o]=Y.useState(``),s=x(),{locale:c}=Ne(),l=(0,Y.useMemo)(()=>{let e=e=>{let n=s[e];return D(n)?`cell-${t.indexOf(e)}`:n??`cell-${t.indexOf(e)}`};return Object.values(n).map(t=>({...t,declaredByNames:t.declaredBy.map(e),usedByNames:t.usedBy.map(e)}))},[n,s,t]),u=(0,Y.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),Dt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=de({data:u,columns:Et,getCoreRowModel:ve(),onGlobalFilterChange:o,getFilteredRowModel:he(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(e){return e.columnDef.enableGlobalFilter??!0},globalFilterFn:`auto`,manualSorting:!0,locale:c,onSortingChange:i,getSortedRowModel:_e(),state:{sorting:r,globalFilter:a}});return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ke,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,X.jsxs)(He,{className:oe(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,X.jsx)(Le,{children:(0,X.jsx)(Be,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,X.jsx)(Re,{className:`sticky top-0 bg-background border-b`,children:K(e.column.columnDef.header,e.getContext())},e.id))})}),(0,X.jsx)(ze,{children:d.getRowModel().rows.map(e=>(0,X.jsx)(Be,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,X.jsx)(Ve,{className:`border-b`,children:K(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});Ot.displayName=`VariableTable`;var kt=()=>{let e=(0,J.c)(30),n=M(),i=y(),a=r(H),o=r(I),s=E(`database`),[c,l]=t(nt),u=a.length+o.length,d;e[0]!==u||e[1]!==c.hasUserInteracted||e[2]!==c.openSections?(d=!c.hasUserInteracted&&u>0?[...new Set([...c.openSections,`datasources`])]:c.openSections,e[0]=u,e[1]=c.hasUserInteracted,e[2]=c.openSections,e[3]=d):d=e[3];let f=d,p;e[4]===l?p=e[5]:(p=e=>{l({openSections:e,hasUserInteracted:!0})},e[4]=l,e[5]=p);let m=p,h;e[6]===f?h=e[7]:(h=f.includes(`datasources`),e[6]=f,e[7]=h);let g=!h&&u>0,v=s.length>0,b;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,X.jsx)(F,{className:`w-4 h-4`}),e[8]=b):b=e[8];let x;e[9]!==u||e[10]!==g?(x=g&&(0,X.jsx)(Ye,{children:u}),e[9]=u,e[10]=g,e[11]=x):x=e[11];let S;e[12]!==s.length||e[13]!==v?(S=v&&(0,X.jsx)(tt,{count:s.length,type:`database`}),e[12]=s.length,e[13]=v,e[14]=S):S=e[14];let C;e[15]!==x||e[16]!==S?(C=(0,X.jsxs)(Xe,{children:[b,`Data sources`,x,S]}),e[15]=x,e[16]=S,e[17]=C):C=e[17];let w;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,X.jsx)(Ze,{children:(0,X.jsx)(ft,{})}),e[18]=w):w=e[18];let T;e[19]===C?T=e[20]:(T=(0,X.jsxs)($e,{value:`datasources`,children:[C,w]}),e[19]=C,e[20]=T);let D;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,X.jsxs)(Xe,{children:[(0,X.jsx)(_,{className:`w-4 h-4`}),`Variables`]}),e[21]=D):D=e[21];let O;e[22]!==i||e[23]!==n?(O=(0,X.jsxs)($e,{value:`variables`,lastItem:!0,children:[D,(0,X.jsx)(Ze,{children:Object.keys(n).length===0?(0,X.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground`,children:`No variables defined`}):(0,X.jsx)(Ot,{cellIds:i.inOrderIds,variables:n})})]}),e[22]=i,e[23]=n,e[24]=O):O=e[24];let k;return e[25]!==m||e[26]!==f||e[27]!==O||e[28]!==T?(k=(0,X.jsxs)(ce,{type:`multiple`,value:f,onValueChange:m,className:`flex flex-col h-full overflow-auto`,children:[T,O]}),e[25]=m,e[26]=f,e[27]=O,e[28]=T,e[29]=k):k=e[29],k};export{kt as default};
|