@marimo-team/frontend 0.21.1-dev12 → 0.21.1-dev13
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-DsPvYWwS.js +1 -0
- package/dist/assets/{JsonOutput-DJukuY6Z.js → JsonOutput-B4qUTCDX.js} +10 -10
- package/dist/assets/{agent-panel-a_m3dm9Y.js → agent-panel-h1T1Lrst.js} +1 -1
- package/dist/assets/{cell-editor-D_RsnX0J.js → cell-editor-DBhjhAnQ.js} +1 -1
- package/dist/assets/{column-preview-Dk_9z2Mw.js → column-preview-XRNPHHHe.js} +1 -1
- package/dist/assets/command-palette-DmY_ymBm.js +1 -0
- package/dist/assets/context-aware-panel-DysV5s4U.js +3 -0
- package/dist/assets/{edit-page-qWzJGYd0.js → edit-page-C8ZxMuaO.js} +7 -7
- package/dist/assets/{file-explorer-panel-DW3BdMFp.js → file-explorer-panel-CMhZ4chB.js} +1 -1
- package/dist/assets/formats-DzzQnJYt.js +1 -0
- package/dist/assets/{hooks-CZT_TWa2.js → hooks-DOymzShQ.js} +1 -1
- package/dist/assets/{index-CVpJvEAO.css → index-Bgbe24O9.css} +1 -1
- package/dist/assets/{index-CPEieVCj.js → index-DuKDocAN.js} +17 -17
- package/dist/assets/{layout-52MeytEk.js → layout-K0Y_v29Q.js} +1 -1
- package/dist/assets/{panels-jo8u0sPM.js → panels-CCo-8Rw3.js} +1 -1
- package/dist/assets/run-page-ChuHDdeE.js +1 -0
- package/dist/assets/scratchpad-panel-BAO-7u19.js +1 -0
- package/dist/assets/session-panel-BJfjZ3jA.js +1 -0
- package/dist/assets/{useNotebookActions-DhmD75et.js → useNotebookActions-Cc33Lkgc.js} +1 -1
- package/dist/assets/{tooltip-DLsts-7g.js → utils-BuPoTKhl.js} +3 -3
- package/dist/assets/vega-component-S1h0g70Q.js +1 -0
- package/dist/index.html +7 -7
- package/package.json +1 -1
- package/src/components/data-table/charts/lazy-chart.tsx +2 -0
- package/src/components/data-table/column-summary/column-summary.tsx +1 -0
- package/src/components/datasources/column-preview.tsx +1 -0
- package/src/components/editor/Output.tsx +2 -0
- package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +6 -0
- package/src/components/editor/chrome/wrapper/__tests__/utils.test.ts +35 -0
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +12 -14
- package/src/components/editor/chrome/wrapper/utils.ts +5 -1
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +6 -3
- package/src/plugins/impl/vega/__tests__/utils.test.ts +36 -0
- package/src/plugins/impl/vega/utils.ts +14 -0
- package/src/plugins/impl/vega/vega-component.tsx +6 -7
- package/src/plugins/impl/vega/vega.css +1 -1
- package/dist/assets/ConnectedDataExplorerComponent-BrZvYzEX.js +0 -1
- package/dist/assets/command-palette-NBOgLsWz.js +0 -1
- package/dist/assets/context-aware-panel--8JnQtYo.js +0 -3
- package/dist/assets/formats-CmvHepzl.js +0 -1
- package/dist/assets/run-page-DQIGlYAL.js +0 -1
- package/dist/assets/scratchpad-panel-ClYOgTQp.js +0 -1
- package/dist/assets/session-panel-BYjloSxn.js +0 -1
- package/dist/assets/vega-component-D3vsTtly.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as re}from"./chunk-LvLJmgfZ.js";import{d as oe,l as De,p as ce,u as K}from"./useEvent-O0nX5vok.js";import{t as Be}from"./react-Bj1aDYRI.js";import{A as Me,Fn as Ve,In as Pe,Jn as se,M as Ee,Ot as Oe,Rn as Re,St as Ue,T as Ae,Wn as ze,a as Ge,ar as We,cr as me,dr as Je,ei as Ke,en as He,f as Xe,fr as Ye,gr as ie,hr as de,kt as Qe,lr as he,mt as Ze,qn as ea,ur as ue,vn as aa,vr as ta,xn as sa,yn as la,yr as xe}from"./cells-CAHXVi26.js";import"./react-dom-CSu739Rf.js";import{t as pe}from"./compiler-runtime-B3qBwwSJ.js";import{n as na}from"./assertNever-CTRGz-ul.js";import"./tooltip-DLsts-7g.js";import{t as H}from"./sortBy-CbaC49oe.js";import{t as fe}from"./add-connection-dialog-BSsacvzU.js";import{o as ra}from"./utils-BvPM6Bro.js";import{t as oa}from"./ErrorBoundary-H5EQrcAX.js";import{t as ca}from"./jsx-runtime-icT_Ltz2.js";import{r as ma,t as ee}from"./button-BZAv3veu.js";import{t as O}from"./cn-BoaCR37F.js";import"./dist-B_cxg-E4.js";import{D as le,F as ia,I as da,L as ha,P as be,R as ua}from"./JsonOutput-DJukuY6Z.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as xa}from"./requests-Bgjtqo_1.js";import{t as pa}from"./createLucideIcon-Cm-Z7dYr.js";import{t as fa}from"./x-BI1M8X_v.js";import"./download-SQhwj_Eq.js";import"./markdown-renderer-MyhTrUey.js";import{t as ge}from"./plus-dVmh0yTy.js";import{a as ba}from"./input-BRZ8bt6P.js";import{n as ga,o as ja}from"./column-preview-Dk_9z2Mw.js";import{t as Na}from"./workflow-BmeqNuSH.js";import"./dist-BNC_tnlW.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import"./dist-apDpadc4.js";import"./session-CXChHxAw.js";import"./Combination-CBJmtdux.js";import{t as ne}from"./tooltip-CNmaER6z.js";import"./purify.es-BBn8CPhf.js";import"./dates-BcvJrESI.js";import{t as ya}from"./context-CIAP2NOh.js";import"./popover-Du6bDNYH.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{t as va}from"./copy-icon-Ditn6lfU.js";import{n as wa}from"./multi-map-CJMleYLX.js";import{t as je}from"./cell-link-BjgRgErj.js";import{n as Ne}from"./useAsyncData-D-4ifFXh.js";import{a as Sa,o as ae,t as _a,u as Ca}from"./command-_14PjWun.js";import"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import{r as ka}from"./html-to-image-BgHw831z.js";import{o as Fa}from"./focus-DaKeoSx6.js";import{a as $a,i as Ia,n as Ta,o as ye,r as qa,t as La}from"./table-BhH-Mm8O.js";import{n as Da}from"./icons-CrUXojcA.js";import{t as ve}from"./useAddCell-_oR2xY1x.js";import{a as we,i as te,o as Se,r as _e,s as Ce,t as Ba,u as Ma}from"./components-BP1LfBLA.js";import{t as Va}from"./empty-state-B_US46Us.js";import{n as Pa,t as Ea}from"./common-D2sp4A8j.js";import{a as Oa,i as Ra,n as ke,r as Fe,t as $e}from"./components-Wzn4JDkV.js";var Ua=pa("square-equal",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}]]),A=pe(),C=re(Be(),1),t=re(ca(),1),_={engineEmpty:"pl-3",engine:"pl-3 pr-2",database:"pl-4",schemaEmpty:"pl-8",schema:"pl-7",tableLoading:"pl-11",tableSchemaless:"pl-8",tableWithSchema:"pl-12",columnLocal:"pl-5",columnSql:"pl-13",columnPreview:"pl-10"},Aa=ce(a=>{let e=a(ue),s=a(sa),l=a(Ge);return H(e,r=>{if(!r.variable_name)return-1;let c=Object.values(s).find(j=>j.name===r.variable_name);if(!c)return 0;let n=l.inOrderIds.indexOf(c.declaredBy[0]);return n===-1?0:n})});const Ie=ce(a=>{let e=new Map(a(We));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 H([...e.values()],s=>xe.has(s.name)?1:0)}),za=()=>{let a=(0,A.c)(32),[e,s]=C.useState(""),l=oe(he),r=K(Aa),c=K(Ie);if(r.length===0&&c.length===0){let p;return a[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsx)(Va,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(fe,{children:(0,t.jsxs)(ee,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(ge,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(se,{})}),a[0]=p):p=a[0],p}let n=!!e.trim(),j;a[1]===l?j=a[2]:(j=p=>{l(p.length>0),s(p)},a[1]=l,a[2]=j);let b;a[3]!==e||a[4]!==j?(b=(0,t.jsx)(Sa,{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]=b):b=a[5];let g;a[6]===n?g=a[7]:(g=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)(fa,{className:"h-4 w-4"})}),a[6]=n,a[7]=g);let u;a[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(fe,{children:(0,t.jsx)(ee,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,t.jsx)(ge,{className:"h-4 w-4"})})}),a[8]=u):u=a[8];let m;a[9]!==b||a[10]!==g?(m=(0,t.jsxs)("div",{className:"flex items-center w-full border-b",children:[b,g,u]}),a[9]=b,a[10]=g,a[11]=m):m=a[11];let o;if(a[12]!==c||a[13]!==n||a[14]!==e){let p;a[16]!==n||a[17]!==e?(p=f=>(0,t.jsx)(Ga,{connection:f,hasChildren:f.databases.length>0,children:f.databases.map(N=>(0,t.jsx)(Wa,{engineName:f.name,database:N,hasSearch:n,children:(0,t.jsx)(Ja,{schemas:N.schemas,defaultSchema:f.default_schema,defaultDatabase:f.default_database,engineName:f.name,databaseName:N.name,hasSearch:n,searchValue:e,dialect:f.dialect})},N.name))},f.name),a[16]=n,a[17]=e,a[18]=p):p=a[18],o=c.map(p),a[12]=c,a[13]=n,a[14]=e,a[15]=o}else o=a[15];let h;a[19]!==c.length||a[20]!==r.length?(h=c.length>0&&r.length>0&&(0,t.jsxs)(_e,{className:_.engine,children:[(0,t.jsx)(Da,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[19]=c.length,a[20]=r.length,a[21]=h):h=a[21];let x;a[22]!==e||a[23]!==r?(x=r.length>0&&(0,t.jsx)(Te,{tables:r,searchValue:e}),a[22]=e,a[23]=r,a[24]=x):x=a[24];let d;a[25]!==o||a[26]!==h||a[27]!==x?(d=(0,t.jsxs)(Ca,{className:"flex flex-col",children:[o,h,x]}),a[25]=o,a[26]=h,a[27]=x,a[28]=d):d=a[28];let i;return a[29]!==m||a[30]!==d?(i=(0,t.jsxs)(_a,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[m,d]}),a[29]=m,a[30]=d,a[31]=i):i=a[31],i};var Ga=a=>{let e=(0,A.c)(25),{connection:s,children:l,hasChildren:r}=a,c=s.name===ta,n=c?"In-Memory":s.name,{previewDataSourceConnection:j}=xa(),b;e[0]!==s.name||e[1]!==j?(b=async()=>{await j({engine:s.name})},e[0]=s.name,e[1]=j,e[2]=b):b=e[2];let g=b,u;e[3]===s.dialect?u=e[4]:(u=(0,t.jsx)(Ze,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=u);let m;e[5]===s.dialect?m=e[6]:(m=Ve(s.dialect),e[5]=s.dialect,e[6]=m);let o;e[7]===m?o=e[8]:(o=(0,t.jsx)("span",{className:"text-xs",children:m}),e[7]=m,e[8]=o);let h=n,x;e[9]===h?x=e[10]:(x=(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,t.jsx)(Oa,{variableName:h}),")"]}),e[9]=h,e[10]=x);let d;e[11]!==g||e[12]!==c?(d=!c&&(0,t.jsx)(Ma,{onClick:g,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[11]=g,e[12]=c,e[13]=d):d=e[13];let i;e[14]!==u||e[15]!==o||e[16]!==x||e[17]!==d?(i=(0,t.jsxs)(_e,{className:_.engine,children:[u,o,x,d]}),e[14]=u,e[15]=o,e[16]=x,e[17]=d,e[18]=i):i=e[18];let p;e[19]!==l||e[20]!==r?(p=r?l:(0,t.jsx)(te,{content:"No databases available",className:_.engineEmpty}),e[19]=l,e[20]=r,e[21]=p):p=e[21];let f;return e[22]!==i||e[23]!==p?(f=(0,t.jsxs)(t.Fragment,{children:[i,p]}),e[22]=i,e[23]=p,e[24]=f):f=e[24],f},Wa=a=>{let e=(0,A.c)(26),{hasSearch:s,engineName:l,database:r,children:c}=a,[n,j]=C.useState(!1),[b,g]=C.useState(!1),[u,m]=C.useState(s);u!==s&&(m(s),j(s));let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",_.database),e[0]=o):o=e[0];let h;e[1]!==n||e[2]!==b?(h=()=>{j(!n),g(!b)},e[1]=n,e[2]=b,e[3]=h):h=e[3];let x=`${l}:${r.name}`,d;e[4]===n?d=e[5]:(d=(0,t.jsx)(Ce,{isExpanded:n}),e[4]=n,e[5]=d);let i=b&&n?"text-foreground":"text-muted-foreground",p;e[6]===i?p=e[7]:(p=O("h-4 w-4",i),e[6]=i,e[7]=p);let f;e[8]===p?f=e[9]:(f=(0,t.jsx)(se,{className:p}),e[8]=p,e[9]=f);let N=b&&n&&"font-semibold",y;e[10]===N?y=e[11]:(y=O(N),e[10]=N,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 S;e[17]!==w||e[18]!==h||e[19]!==x||e[20]!==d||e[21]!==f?(S=(0,t.jsxs)(ae,{className:o,onSelect:h,value:x,children:[d,f,w]}),e[17]=w,e[18]=h,e[19]=x,e[20]=d,e[21]=f,e[22]=S):S=e[22];let q=n&&c,k;return e[23]!==S||e[24]!==q?(k=(0,t.jsxs)(t.Fragment,{children:[S,q]}),e[23]=S,e[24]=q,e[25]=k):k=e[25],k},Ja=a=>{let e=(0,A.c)(22),{schemas:s,defaultSchema:l,defaultDatabase:r,dialect:c,engineName:n,databaseName:j,hasSearch:b,searchValue:g}=a;if(s.length===0){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(te,{content:"No schemas available",className:_.schemaEmpty}),e[0]=o):o=e[0],o}let u;if(e[1]!==j||e[2]!==r||e[3]!==l||e[4]!==c||e[5]!==n||e[6]!==b||e[7]!==s||e[8]!==g){let o;e[10]===g?o=e[11]:(o=d=>g?d.tables.some(i=>i.name.toLowerCase().includes(g.toLowerCase())):!0,e[10]=g,e[11]=o);let h=s.filter(o),x;e[12]!==j||e[13]!==r||e[14]!==l||e[15]!==c||e[16]!==n||e[17]!==b||e[18]!==g?(x=d=>(0,t.jsx)(Ka,{databaseName:j,schema:d,hasSearch:b,children:(0,t.jsx)(Te,{tables:d.tables,searchValue:g,sqlTableContext:{engine:n,database:j,schema:d.name,defaultSchema:l,defaultDatabase:r,dialect:c}})},d.name),e[12]=j,e[13]=r,e[14]=l,e[15]=c,e[16]=n,e[17]=b,e[18]=g,e[19]=x):x=e[19],u=h.map(x),e[1]=j,e[2]=r,e[3]=l,e[4]=c,e[5]=n,e[6]=b,e[7]=s,e[8]=g,e[9]=u}else u=e[9];let m;return e[20]===u?m=e[21]:(m=(0,t.jsx)(t.Fragment,{children:u}),e[20]=u,e[21]=m),m},Ka=a=>{let e=(0,A.c)(24),{databaseName:s,schema:l,children:r,hasSearch:c}=a,[n,j]=C.useState(c),[b,g]=C.useState(!1),u=`${s}:${l.name}`;if(de(l.name))return r;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",_.schema),e[0]=m):m=e[0];let o;e[1]!==n||e[2]!==b?(o=()=>{j(!n),g(!b)},e[1]=n,e[2]=b,e[3]=o):o=e[3];let h;e[4]===n?h=e[5]:(h=(0,t.jsx)(Ce,{isExpanded:n}),e[4]=n,e[5]=h);let x=b&&n&&"text-foreground",d;e[6]===x?d=e[7]:(d=O("h-4 w-4 text-muted-foreground",x),e[6]=x,e[7]=d);let i;e[8]===d?i=e[9]:(i=(0,t.jsx)(ze,{className:d}),e[8]=d,e[9]=i);let p=b&&n&&"font-semibold",f;e[10]===p?f=e[11]:(f=O(p),e[10]=p,e[11]=f);let N;e[12]!==l.name||e[13]!==f?(N=(0,t.jsx)("span",{className:f,children:l.name}),e[12]=l.name,e[13]=f,e[14]=N):N=e[14];let y;e[15]!==o||e[16]!==h||e[17]!==i||e[18]!==N||e[19]!==u?(y=(0,t.jsxs)(ae,{className:m,onSelect:o,value:u,children:[h,i,N]}),e[15]=o,e[16]=h,e[17]=i,e[18]=N,e[19]=u,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,A.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:c}=me(),[n,j]=C.useState(!1),[b,g]=C.useState(!1),u;e[0]!==c||e[1]!==l||e[2]!==s.length||e[3]!==n?(u=async()=>{if(s.length===0&&l&&!n){j(!0),g(!0);let{engine:i,database:p,schema:f}=l,N=await Qe.request({engine:i,database:p,schema:f});if(!(N!=null&&N.tables))throw g(!1),Error("No tables available");c({tables:N.tables,sqlTableContext:l}),g(!1)}},e[0]=c,e[1]=l,e[2]=s.length,e[3]=n,e[4]=u):u=e[4];let m;e[5]!==l||e[6]!==s.length||e[7]!==n?(m=[s.length,l,n],e[5]=l,e[6]=s.length,e[7]=n,e[8]=m):m=e[8];let{isPending:o,error:h}=Ne(u,m);if(o||b){let i;return e[9]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(Se,{message:"Loading tables...",className:_.tableLoading}),e[9]=i):i=e[9],i}if(h){let i;return e[10]===h?i=e[11]:(i=(0,t.jsx)(we,{error:h,className:_.tableLoading}),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)(te,{content:"No tables found",className:_.tableLoading}),e[12]=i):i=e[12],i}let x;if(e[13]!==r||e[14]!==l||e[15]!==s){let i;e[17]===r?i=e[18]:(i=N=>r?N.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=i);let p=s.filter(i),f;e[19]!==r||e[20]!==l?(f=N=>(0,t.jsx)(Ha,{table:N,sqlTableContext:l,isSearching:!!r},N.name),e[19]=r,e[20]=l,e[21]=f):f=e[21],x=p.map(f),e[13]=r,e[14]=l,e[15]=s,e[16]=x}else x=e[16];let d;return e[22]===x?d=e[23]:(d=(0,t.jsx)(t.Fragment,{children:x}),e[22]=x,e[23]=d),d},Ha=a=>{let e=(0,A.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:c}=me(),[n,j]=C.useState(!1),[b,g]=C.useState(!1),u=s.columns.length>0,m;e[0]!==c||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==u||e[5]!==b?(m=async()=>{if(n&&!u&&l&&!b){g(!0);let{engine:B,database:Q,schema:Le}=l,Z=await Oe.request({engine:B,database:Q,schema:Le,tableName:s.name});if(!(Z!=null&&Z.table))throw Error("No table details available");c({table:Z.table,sqlTableContext:l})}},e[0]=c,e[1]=n,e[2]=l,e[3]=s.name,e[4]=u,e[5]=b,e[6]=m):m=e[6];let o;e[7]!==n||e[8]!==u?(o=[n,u],e[7]=n,e[8]=u,e[9]=o):o=e[9];let{isFetching:h,isPending:x,error:d}=Ne(m,o),i=K(ra),p=Fa(),{createNewCell:f}=Ae(),N=ve(),y;e[10]!==N||e[11]!==i||e[12]!==f||e[13]!==p||e[14]!==l||e[15]!==s?(y=()=>{ka({autoInstantiate:i,createNewCell:f,fromCellId:p}),N((()=>{if(s.source_type==="catalog"){let B=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${B}")`}if(l)return 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 na(s.source_type),""}})())},e[10]=N,e[11]=i,e[12]=f,e[13]=p,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 B=[];return s.num_rows!=null&&B.push(`${s.num_rows} rows`),s.num_columns!=null&&B.push(`${s.num_columns} columns`),B.length===0?null:(0,t.jsx)("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:B.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=w):w=e[19];let S=w,q;e[20]!==d||e[21]!==h||e[22]!==x||e[23]!==l||e[24]!==s?(q=()=>{if(x||h)return(0,t.jsx)(Se,{message:"Loading columns...",className:_.tableLoading});if(d)return(0,t.jsx)(we,{error:d,className:_.tableLoading});let B=s.columns;return B.length===0?(0,t.jsx)(te,{content:"No columns found",className:_.tableLoading}):B.map(Q=>(0,t.jsx)(Xa,{table:s,column:Q,sqlTableContext:l},Q.name))},e[20]=d,e[21]=h,e[22]=x,e[23]=l,e[24]=s,e[25]=q):q=e[25];let k=q,L;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(L=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?Re:ea,{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]=L):L=e[30];let M=L,V=l?`${l.database}.${l.schema}.${s.name}`:s.name,P=l&&(de(l.schema)?_.tableSchemaless:_.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]===M?I=e[37]:(I=M(),e[36]=M,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 R;e[40]!==I||e[41]!==D?(R=(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]=R):R=e[42];let U;e[43]===S?U=e[44]:(U=S(),e[43]=S,e[44]=U);let T;e[45]===v?T=e[46]:(T=ma.stopPropagation(()=>v()),e[45]=v,e[46]=T);let X;e[47]===Symbol.for("react.memo_cache_sentinel")?(X=(0,t.jsx)(ja,{className:"h-3 w-3"}),e[47]=X):X=e[47];let G;e[48]===T?G=e[49]:(G=(0,t.jsx)(ne,{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:X})}),e[48]=T,e[49]=G);let W;e[50]!==n||e[51]!==$||e[52]!==R||e[53]!==U||e[54]!==G||e[55]!==F||e[56]!==V?(W=(0,t.jsxs)(ae,{className:F,value:V,"aria-selected":n,forceMount:!0,onSelect:$,children:[R,U,G]}),e[50]=n,e[51]=$,e[52]=R,e[53]=U,e[54]=G,e[55]=F,e[56]=V,e[57]=W):W=e[57];let J;e[58]!==n||e[59]!==k?(J=n&&k(),e[58]=n,e[59]=k,e[60]=J):J=e[60];let Y;return e[61]!==W||e[62]!==J?(Y=(0,t.jsxs)(t.Fragment,{children:[W,J]}),e[61]=W,e[62]=J,e[63]=Y):Y=e[63],Y},Xa=a=>{var R,U;let e=(0,A.c)(48),{table:s,column:l,sqlTableContext:r}=a,[c,n]=C.useState(!1),j=K(he),b=oe(Je);j&&c&&n(!1),b(c?T=>new Set([...T,`${s.name}:${l.name}`]):T=>(T.delete(`${s.name}:${l.name}`),new Set(T)));let g=ve(),{columnsPreviews:u}=Ye(),m;e[0]!==l.name||e[1]!==s.primary_keys?(m=((R=s.primary_keys)==null?void 0:R.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=m):m=e[2];let o=m,h;e[3]!==l.name||e[4]!==s.indexes?(h=((U=s.indexes)==null?void 0:U.includes(l.name))||!1,e[3]=l.name,e[4]=s.indexes,e[5]=h):h=e[5];let x=h,d;e[6]===g?d=e[7]:(d=T=>{g(T)},e[6]=g,e[7]=d);let i=d,p=Ya,f=c?"font-semibold":"",N;e[8]!==l.name||e[9]!==f?(N=(0,t.jsx)("span",{className:f,children:l.name}),e[8]=l.name,e[9]=f,e[10]=N):N=e[10];let y=N,v=`${s.name}.${l.name}`,w=`${s.name}.${l.name}`,S;e[11]===c?S=e[12]:(S=()=>n(!c),e[11]=c,e[12]=S);let q=r?_.columnSql:_.columnLocal,k;e[13]===q?k=e[14]:(k=O("flex flex-row gap-2 items-center flex-1",q),e[13]=q,e[14]=k);let L;e[15]!==l.type||e[16]!==y?(L=(0,t.jsx)(Ba,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=L):L=e[17];let M;e[18]===o?M=e[19]:(M=o&&p({tooltipContent:"Primary key",content:"PK"}),e[18]=o,e[19]=M);let V;e[20]===x?V=e[21]:(V=x&&p({tooltipContent:"Indexed",content:"IDX"}),e[20]=x,e[21]=V);let P;e[22]!==k||e[23]!==L||e[24]!==M||e[25]!==V?(P=(0,t.jsxs)("div",{className:k,children:[L,M,V]}),e[22]=k,e[23]=L,e[24]=M,e[25]=V,e[26]=P):P=e[26];let E;e[27]===l.name?E=e[28]:(E=(0,t.jsx)(ne,{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)(va,{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]!==S?($=(0,t.jsxs)(ae,{className:"rounded-none py-1 group cursor-pointer",value:w,onSelect:S,children:[P,E,F]},v),e[31]=P,e[32]=E,e[33]=F,e[34]=v,e[35]=w,e[36]=S,e[37]=$):$=e[37];let I;e[38]!==l||e[39]!==u||e[40]!==i||e[41]!==c||e[42]!==r||e[43]!==s?(I=c&&(0,t.jsx)("div",{className:O(_.columnPreview,"pr-2 py-2 bg-(--slate-1) shadow-inner border-b"),children:(0,t.jsx)(oa,{children:(0,t.jsx)(ga,{table:s,column:l,onAddColumnChart:i,preview:u.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=u,e[40]=i,e[41]=c,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)(ne,{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 is(a){return a}var z={name:"name",type:"type-value",defs:"defs-refs"},Qa=[{id:z.name,accessorFn:a=>[a.name,a.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(le,{header:"Name",column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsx)(Ea,{name:e,declaredBy:s})}},{id:z.type,accessorFn:a=>[a.dataType,a.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(le,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Type"}),(0,t.jsx)("span",{children:"Value"})]}),column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsxs)("div",{className:"max-w-[150px]",children:[(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:e}),(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:s??"",children:s})]})}},{id:z.defs,accessorFn:a=>[a.declaredBy,a.usedBy,a.name,a.declaredByNames,a.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:a})=>(0,t.jsx)(le,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Declared By"}),(0,t.jsx)("span",{children:"Used By"})]}),column:a}),cell:({getValue:a})=>{let[e,s,l]=a(),r=c=>{let n=Xe(c);n&&He(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)(Ua,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,t.jsx)(je,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>r(e[0])}):(0,t.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((c,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)(je,{variant:"focus",cellId:c,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(c)},c),n<e.length-1&&", "]},c))})]}),(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,t.jsx)("span",{title:"Used by",children:(0,t.jsx)(Na,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(Pa,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function Za({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:z.defs,desc:!1});let l=[];switch(e.id){case z.name:l=H(a,r=>r.name);break;case z.type:l=H(a,r=>r.dataType);break;case z.defs:l=H(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.reverse():l}const qe=(0,C.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=C.useState([]),[c,n]=C.useState(""),j=Ee(),{locale:b}=ya(),g=(0,C.useMemo)(()=>{let m=o=>{let h=j[o];return Ue(h)?`cell-${e.indexOf(o)}`:h??`cell-${e.indexOf(o)}`};return Object.values(s).map(o=>({...o,declaredByNames:o.declaredBy.map(m),usedByNames:o.usedBy.map(m)}))},[s,j,e]),u=ia({data:(0,C.useMemo)(()=>{let m=new Map;return e.forEach((o,h)=>m.set(o,h)),Za({variables:g,sort:l[0],cellIdToIndex:m})},[g,l,e]),columns:Qa,getCoreRowModel:da(),onGlobalFilterChange:n,getFilteredRowModel:ha(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(m){return m.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:b,onSortingChange:r,getSortedRowModel:ua(),state:{sorting:l,globalFilter:c}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ba,{className:"w-full",placeholder:"Search",value:c,onChange:m=>n(m.target.value)}),(0,t.jsxs)(La,{className:O("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)($a,{children:(0,t.jsx)(ye,{className:"whitespace-nowrap text-xs",children:u.getFlatHeaders().map(m=>(0,t.jsx)(Ia,{className:"sticky top-0 bg-background border-b",children:be(m.column.columnDef.header,m.getContext())},m.id))})}),(0,t.jsx)(Ta,{children:u.getRowModel().rows.map(m=>(0,t.jsx)(ye,{className:"hover:bg-accent",children:m.getVisibleCells().map(o=>(0,t.jsx)(qa,{className:"border-b",children:be(o.column.columnDef.cell,o.getContext())},o.id))},m.id))})]})]})});qe.displayName="VariableTable";var et=pe(),at=Ke("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},aa),tt=()=>{let a=(0,et.c)(24),e=la(),s=Me(),l=K(ue),r=K(Ie),[c,n]=De(at),j=l.length+r.length,b;a[0]!==j||a[1]!==c.hasUserInteracted||a[2]!==c.openSections?(b=!c.hasUserInteracted&&j>0?[...new Set([...c.openSections,"datasources"])]:c.openSections,a[0]=j,a[1]=c.hasUserInteracted,a[2]=c.openSections,a[3]=b):b=a[3];let g=b,u;a[4]===n?u=a[5]:(u=v=>{n({openSections:v,hasUserInteracted:!0})},a[4]=n,a[5]=u);let m=u,o=!g.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 x;a[7]!==j||a[8]!==o?(x=o&&(0,t.jsx)(Ra,{children:j}),a[7]=j,a[8]=o,a[9]=x):x=a[9];let d;a[10]===x?d=a[11]:(d=(0,t.jsxs)(Fe,{children:[h,"Data sources",x]}),a[10]=x,a[11]=d);let i;a[12]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)($e,{children:(0,t.jsx)(za,{})}),a[12]=i):i=a[12];let p;a[13]===d?p=a[14]:(p=(0,t.jsxs)(ke,{value:"datasources",children:[d,i]}),a[13]=d,a[14]=p);let f;a[15]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsxs)(Fe,{children:[(0,t.jsx)(Pe,{className:"w-4 h-4"}),"Variables"]}),a[15]=f):f=a[15];let N;a[16]!==s||a[17]!==e?(N=(0,t.jsxs)(ke,{value:"variables",lastItem:!0,children:[f,(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)(qe,{cellIds:s.inOrderIds,variables:e})})]}),a[16]=s,a[17]=e,a[18]=N):N=a[18];let y;return a[19]!==m||a[20]!==g||a[21]!==p||a[22]!==N?(y=(0,t.jsxs)(wa,{type:"multiple",value:g,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[p,N]}),a[19]=m,a[20]=g,a[21]=p,a[22]=N,a[23]=y):y=a[23],y};export{tt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as Z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-O0nX5vok.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 nt}from"./debounce-DS_VtWMt.js";import{r as et,t as rt}from"./tooltip-DLsts-7g.js";import{t as N}from"./uniq-fnEfqrGj.js";import{c as V,m as O}from"./useEventListener-BGihH8bs.js";import{n as F}from"./config-DeEqZTX7.js";import{t as at}from"./jsx-runtime-icT_Ltz2.js";import{r as it}from"./button-BZAv3veu.js";import{t as ot}from"./cn-BoaCR37F.js";import{u as lt}from"./toDate-BqKH-Jd9.js";import"./session-CXChHxAw.js";import{r as ct}from"./useTheme-CM9j8dgy.js";import"./Combination-CBJmtdux.js";import{t as st}from"./tooltip-CNmaER6z.js";import{t as mt}from"./isValid-BGe7pJXT.js";import{n as pt}from"./vega-loader.browser-CZV6_g2i.js";import{t as ut}from"./react-vega-BZav_-2n.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{r as ft,t as dt}from"./alert-OQZHipbB.js";import{n as ht}from"./error-banner-DQBz1e-2.js";import{n as gt}from"./useAsyncData-D-4ifFXh.js";import{t as yt}from"./formats-CmvHepzl.js";import{t as H}from"./useDeepCompareMemoize-yyiB9aJX.js";var vt=tt(),x=Z(Y(),1);function kt(t){return t.data&&"url"in t.data&&(t.data.url=F(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 W=new Set(["boxplot","errorband","errorbar"]);const S={getMarkType(t){let n=typeof t=="string"?t:t.type;if(W.has(n))throw Error("Not supported");return n},isInteractive(t){let n=typeof t=="string"?t:t.type;return!W.has(n)},makeClickable(t){let n=typeof t=="string"?t:t.type;return n in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:n,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(n=>n.startsWith("select_point"))},hasInterval(t){return t.some(n=>n.startsWith("select_interval"))},hasLegend(t){return t.some(n=>n.startsWith("legend_selection"))},hasPanZoom(t){return t.some(n=>n.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},_={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,n){return{name:y.interval(n),select:{type:"interval",encodings:D(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,n){return{name:y.point(n),select:{type:"point",encodings:D(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 D(t){switch(S.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let n=bt(t);return n==="horizontal"?["y"]:n==="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(n=>n==null?!1:"select"in n&&n.select!==void 0).map(n=>n.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 bt(t){var a,r;if(!t||!("mark"in t))return;let n=(a=t.encoding)==null?void 0:a.x,e=(r=t.encoding)==null?void 0:r.y;if(n&&"type"in n&&n.type==="nominal")return"vertical";if(e&&"type"in e&&e.type==="nominal"||n&&"aggregate"in n)return"horizontal";if(e&&"aggregate"in e)return"vertical"}function wt(t){if(!t.encoding)return[];let n=[];for(let e of Object.values(t.encoding))e&&typeof e=="object"&&"bin"in e&&e.bin&&"field"in e&&typeof e.field=="string"&&n.push(e.field);return n}function G(t){if(!t||!("encoding"in t))return[];let{encoding:n}=t;return n?Object.entries(n).flatMap(e=>{let[a,r]=e;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 $(t,n,e,a){let r=e.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:e).map(o=>({param:o}))};if(t==="opacity"){let o=S.getOpacity(a)||1;return{...n,opacity:{condition:{test:i,value:o},value:o/5}}}else return n}function St(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let n=t.select;if(typeof n=="string")return JSON.stringify({type:n,bind:t.bind});let e={type:n.type,encodings:"encodings"in n&&n.encodings?[...n.encodings].sort():void 0,fields:"fields"in n&&n.fields?[...n.fields].sort():void 0,bind:t.bind};return JSON.stringify(e)}function q(t){let n=K(t);if(n.length===0)return t;let e=At(n);return e.length===0?t:{...L(E(t,new Set(e.map(a=>a.name))),e.map(a=>a.name)),params:[...t.params||[],...e]}}function K(t){let n=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let e of t.vconcat)n.push(...K(e));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let e of t.hconcat)n.push(...K(e));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&n.push({params:t.params})}return n}function At(t){if(t.length===0)return[];let n=new Map,e=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=St(o);i.has(l)||(i.add(l),n.has(l)||n.set(l,{count:0,param:o}),n.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of n)r===e&&a.push(i);return a}function E(t,n){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(e=>E(e,n))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(e=>E(e,n))};if("mark"in t&&"params"in t&&t.params){let e=t.params,a=[];for(let r of e){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}n.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,n){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(e=>L(e,n))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(e=>L(e,n))}:"layer"in t?t:"mark"in t&&S.isInteractive(t.mark)?{...t,mark:S.makeClickable(t.mark),encoding:$("opacity",t.encoding||{},n,t.mark)}:t}function T(t,n){var l,k;let{chartSelection:e=!0,fieldSelection:a=!0}=n;if(!e&&!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&&(e=!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?T(m,{chartSelection:e,fieldSelection:a}):m);return q({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return q({...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?G(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 j=v.map(M=>_.legend(M));h={...h,params:[...h.params||[],...j]}}return h=z(h,e,f),h=J(h),f===0&&(h=B(h)),h});return{...t,layer:w}}if(!("mark"in t)||!S.isInteractive(t.mark))return t;let o=t;return o=Ot(o,a),o=z(o,e,void 0),o=J(o),o=B(o),o}function Ot(t,n){if(n===!1)return t;let e=G(t);Array.isArray(n)&&(e=e.filter(i=>n.includes(i)));let a=e.map(i=>_.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function z(t,n,e){if(n===!1)return t;let a;try{a=S.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=wt(t),i=n===!0?r.length>0?["point"]:_t(a):[n];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?_.interval(t,e):_.point(t,e)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(_.binColoring(e)),{...t,params:l}}function B(t){let n;try{n=S.getMarkType(t.mark)}catch{}if(n==="geoshape")return t;let e=t.params||[];return e.some(a=>a.bind==="scales")?t:{...t,params:[...e,_.panZoom()]}}function J(t){let n="encoding"in t?t.encoding:void 0,e=t.params||[],a=e.map(r=>r.name);return e.length===0||!S.isInteractive(t.mark)?t:{...t,mark:S.makeClickable(t.mark),encoding:$("opacity",n||{},a,t.mark)}}function _t(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 jt(t){if(!t)return t;let n="datasets"in t?{...t.datasets}:{},e=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(e));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(e));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(e));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await e(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=F(r.data.url)}catch{return r}let o=await et(i.href,r.data.format);return n[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await e(t);return Object.keys(n).length===0?a:{...a,datasets:n}}var d=Z(at(),1);pt("arrow",yt);var Mt=t=>{let n=(0,vt.c)(12),{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;n[0]===o?(k=n[1],s=n[2]):(k=async()=>jt(o),s=[o],n[0]=o,n[1]=k,n[2]=s);let{data:m,error:v}=gt(k,s);if(v){let p;return n[3]===v?p=n[4]:(p=(0,d.jsx)(ht,{error:v}),n[3]=v,n[4]=p),p}if(!m)return null;let w;return n[5]!==r||n[6]!==l||n[7]!==i||n[8]!==m||n[9]!==a||n[10]!==e?(w=(0,d.jsx)(Nt,{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),n[5]=r,n[6]=l,n[7]=i,n[8]=m,n[9]=a,n[10]=e,n[11]=w):w=n[11],w},Nt=({value:t,setValue:n,chartSelection:e,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=ct(),l=(0,x.useRef)(null),k=(0,x.useRef)(void 0),[s,m]=(0,x.useState)(),v=(0,x.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,x.useMemo)(()=>T(kt(w),{chartSelection:e,fieldSelection:a}),[w,e,a]),f=(0,x.useMemo)(()=>P(p),[p]),h=C(c=>{n({...t,...c})}),j=(0,x.useMemo)(()=>nt((c,g)=>{O.debug("[Vega signal]",c,g);let b=V.mapValues(g,It);b=V.mapValues(b,Pt),h({[c]:b})},100),[h]),M=H(f),I=(0,x.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,X)=>j(b,X)}),c),[]),[M,j]),R=C(c=>{O.error(c),O.debug(p),m(c)}),Q=C(c=>{O.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)(st,{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)(lt,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ut({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:rt.call,renderer:"canvas"},onError:R,onEmbed:Q});return(0,x.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){O.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){O.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(dt,{variant:"destructive",children:[(0,d.jsx)(ft,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:ot("relative","width"in p&&p.width==="container"&&"vega-container-width"),onPointerDown:it.stopPropagation(),children:[(0,d.jsx)("div",{ref:l}),U()]})]})};function Pt(t){return t instanceof Set?[...t]:t}function It(t){return Array.isArray(t)?t.map(n=>n instanceof Date&&mt(n)?new Date(n).getTime():n):t}var Ct=Mt;export{Ct as default};
|