@marimo-team/frontend 0.23.4-dev9 → 0.23.5-dev1

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.
Files changed (42) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-DgruBYR5.js → ConnectedDataExplorerComponent-BPVOWDZX.js} +1 -1
  2. package/dist/assets/JsonOutput-CsshJCMI.js +49 -0
  3. package/dist/assets/{add-connection-dialog-gd2yD9Qo.js → add-connection-dialog-BY0poJft.js} +1 -1
  4. package/dist/assets/{agent-panel-TetMUXWP.js → agent-panel-BvH5q5xP.js} +1 -1
  5. package/dist/assets/{cell-editor-87LAVsOR.js → cell-editor-B43gqTef.js} +1 -1
  6. package/dist/assets/{column-preview-_5uYiy74.js → column-preview-DUPpv2dz.js} +1 -1
  7. package/dist/assets/command-CXDOCJwp.js +1 -0
  8. package/dist/assets/{command-palette-DRkgETbF.js → command-palette-B5AX7Cgd.js} +1 -1
  9. package/dist/assets/{dependency-graph-panel-Yk1Ch_Gj.js → dependency-graph-panel-k1WQZ4m-.js} +1 -1
  10. package/dist/assets/{edit-page-DKd3R20z.js → edit-page-Lwy52pkS.js} +3 -3
  11. package/dist/assets/{file-explorer-panel-Dlwspu2Y.js → file-explorer-panel-DSahRBWr.js} +2 -2
  12. package/dist/assets/{form-Dr-_EXr8.js → form-0wZOuqB-.js} +1 -1
  13. package/dist/assets/{hooks-CNPv5U-N.js → hooks-BZOcKMEB.js} +1 -1
  14. package/dist/assets/{index-BruLKdo6.js → index-D48a2kB0.js} +8 -8
  15. package/dist/assets/{layout-DDh3d8oW.js → layout-DXt0aA4F.js} +3 -3
  16. package/dist/assets/{panels-CbRenLjk.js → panels-8fPdoW9_.js} +1 -1
  17. package/dist/assets/react-vega-BQXvtE5G.js +188 -0
  18. package/dist/assets/{react-vega-8VhWN23c.js → react-vega-BVATzlrQ.js} +1 -1
  19. package/dist/assets/{reveal-component-CLjsFHmT.js → reveal-component-CgCn23Mw.js} +1 -1
  20. package/dist/assets/{run-page-C1Wd8dr8.js → run-page-x3v_5tzv.js} +1 -1
  21. package/dist/assets/{scratchpad-panel-B8kRNql6.js → scratchpad-panel-CHFYLvso.js} +1 -1
  22. package/dist/assets/{session-panel-BvCIuxgU.js → session-panel-DMaf7Upn.js} +1 -1
  23. package/dist/assets/{slide-form-CXqvfwGg.js → slide-form-Dmi4fzLs.js} +1 -1
  24. package/dist/assets/{snippets-panel-COBTGJcr.js → snippets-panel-CnN632Ki.js} +1 -1
  25. package/dist/assets/{state-LyvUXW6A.js → state-CikXvgx3.js} +1 -1
  26. package/dist/assets/{tracing-DjZGgWTo.js → tracing-BZPLfSlB.js} +1 -1
  27. package/dist/assets/{tracing-panel-8eFzEjG0.js → tracing-panel-DBaQBraG.js} +2 -2
  28. package/dist/assets/{useDependencyPanelTab-DFZNQ3a8.js → useDependencyPanelTab-8WaMRWbo.js} +1 -1
  29. package/dist/assets/{useNotebookActions-DgOcTnrU.js → useNotebookActions-v4SgyM_0.js} +1 -1
  30. package/dist/assets/{vega-component-DTWLzrN1.js → vega-component-BnaMdpJB.js} +1 -1
  31. package/dist/index.html +6 -6
  32. package/package.json +2 -2
  33. package/src/components/data-table/__tests__/column-header.test.ts +63 -0
  34. package/src/components/data-table/__tests__/columns.test.tsx +40 -10
  35. package/src/components/data-table/column-header.tsx +77 -163
  36. package/src/components/data-table/columns.tsx +12 -1
  37. package/src/components/data-table/filter-by-values-picker.tsx +7 -4
  38. package/src/components/data-table/range-focus/__tests__/use-cell-range-selection.test.ts +135 -54
  39. package/src/components/data-table/range-focus/use-cell-range-selection.ts +36 -4
  40. package/dist/assets/JsonOutput-BVAcY5xS.js +0 -49
  41. package/dist/assets/command-CzIDL1VI.js +0 -1
  42. package/dist/assets/react-vega-Dprex0g5.js +0 -190
@@ -1 +1 @@
1
- import{s as q}from"./chunk-LvLJmgfZ.js";import{d as Z,p as ee,u as F}from"./useEvent-D91BmmQi.js";import{t as te}from"./react-Bj1aDYRI.js";import{K as L,hr as re,j as le,xr as se}from"./cells-A-ljPpuj.js";import"./react-dom-CSu739Rf.js";import{t as ae}from"./compiler-runtime-B3qBwwSJ.js";import{t as ie}from"./cn-DCUzRj2J.js";import{t as ne}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{t as A}from"./tooltip-Gcwqb_SK.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as oe}from"./createLucideIcon-D5guW7EU.js";import{n as de,r as U}from"./CellStatus-PIeZtHEl.js";import{r as ce}from"./x-C-6liIBr.js";import{t as me}from"./chevron-right-CG5QYXYk.js";import{t as pe}from"./circle-check-C17zXg7L.js";import{t as ue}from"./circle-play-CYXX2xu3.js";import"./dist-Ds4ite_2.js";import"./dist-CEysMnMQ.js";import"./dist-DGxytjtv.js";import"./dist-DZ2qbK2N.js";import"./dist-CRPTyqAT.js";import"./session-nmTRerwF.js";import{r as he}from"./useTheme-DEcgJENn.js";import"./purify.es-DC4RGS9t.js";import"./vega-loader.browser-DXARUlxo.js";import{r as fe,t as xe}from"./react-vega-Dprex0g5.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{t as ve}from"./cell-link-d38hFEon.js";import{n as ge,r as je,t as K}from"./react-resizable-panels.browser.esm-Bcm5njwd.js";import{t as ye}from"./bundle.esm-DU-4isVC.js";import{t as Ie}from"./empty-state-CsVQSqKA.js";import"./multi-icon-DQxqgfM2.js";import{r as Se}from"./panel-context-B3J07LRC.js";import{t as be}from"./clear-button-DBrTU3uL.js";import{n as Ne,t as we}from"./runs-5odJFrfi.js";var ke=oe("circle-ellipsis",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M17 12h.01",key:"1m0b6t"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M7 12h.01",key:"eqddd0"}]]),H=ae(),C=q(te(),1);const V="hoveredCellId",Y="cellHover";var Re="cellNum",G="cell",O="startTimestamp",J="endTimestamp",Q="status";function Te(t,e,r,a){let i="hoursminutessecondsmilliseconds";return{$schema:"https://vega.github.io/schema/vega-lite/v6.json",background:a==="dark"?"black":void 0,mark:{type:"bar",cornerRadius:2},params:[{name:V,bind:{element:`#${e}`}},{name:Y,select:{type:"point",on:"mouseover",fields:[G],clear:"mouseout"}}],height:{step:r==="sideBySide"?26:21},encoding:{y:{field:Re,scale:{paddingInner:.2},sort:{field:"sortPriority"},title:"cell",axis:r==="sideBySide"?null:void 0},x:{field:O,type:"temporal",axis:{orient:"top",title:null}},x2:{field:J,type:"temporal"},tooltip:[{field:O,type:"temporal",timeUnit:i,title:"Start"},{field:J,type:"temporal",timeUnit:i,title:"End"}],size:{value:{expr:`${V} == toString(datum.${G}) ? 19.5 : 18`}},color:{field:Q,scale:{domain:["success","error"],range:["#37BE5F","red"]},legend:null}},data:{values:t},transform:[{calculate:`datum.${Q} === 'queued' ? 9999999999999 : datum.${O}`,as:"sortPriority"}],config:{view:{stroke:"transparent"}}}}function W(t){try{let e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}.${String(e.getMilliseconds()).padStart(3,"0")}`}catch{return""}}var l=q(ne(),1),X=ee(new Map);const Ee=()=>{let t=(0,H.c)(34),{runIds:e,runMap:r}=F(we),a=F(X),{clearRuns:i}=Ne(),{theme:n}=he(),[s,k]=(0,C.useState)("above"),N=Se(),c;t[0]===s?c=t[1]:(c=()=>{k(s==="above"?"sideBySide":"above")},t[0]=s,t[1]=c);let m=c;if(e.length===0){let p;return t[2]===Symbol.for("react.memo_cache_sentinel")?(p=(0,l.jsx)(Ie,{title:"No traces",description:(0,l.jsx)("span",{children:"Cells that have ran will appear here."}),icon:(0,l.jsx)(se,{})}),t[2]=p):p=t[2],p}let u;t[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsx)("label",{htmlFor:"chartPosition",className:"text-xs",children:"Inline chart"}),t[3]=u):u=t[3];let y=s==="sideBySide",o;t[4]!==y||t[5]!==m?(o=(0,l.jsxs)("div",{className:"flex flex-row gap-1 items-center",children:[u,(0,l.jsx)("input",{type:"checkbox",name:"chartPosition","data-testid":"chartPosition",onClick:m,defaultChecked:y,className:"h-3 cursor-pointer"})]}),t[4]=y,t[5]=m,t[6]=o):o=t[6];let h;t[7]===i?h=t[8]:(h=(0,l.jsx)(be,{dataTestId:"clear-traces-button",onClick:i}),t[7]=i,t[8]=h);let v;t[9]!==o||t[10]!==h?(v=(0,l.jsxs)("div",{className:"flex flex-row justify-start gap-3",children:[o,h]}),t[9]=o,t[10]=h,t[11]=v):v=t[11];let g;if(t[12]!==s||t[13]!==a||t[14]!==e||t[15]!==r||t[16]!==n){let p;t[18]!==s||t[19]!==a||t[20]!==r||t[21]!==n?(p=(E,P)=>{let T=r.get(E);return T?(0,l.jsx)(_e,{run:T,isExpanded:a.get(T.runId),isMostRecentRun:P===0,chartPosition:s,theme:n},T.runId):null},t[18]=s,t[19]=a,t[20]=r,t[21]=n,t[22]=p):p=t[22],g=e.map(p),t[12]=s,t[13]=a,t[14]=e,t[15]=r,t[16]=n,t[17]=g}else g=t[17];let j;t[23]===g?j=t[24]:(j=(0,l.jsx)("div",{className:"flex flex-col gap-3",children:g}),t[23]=g,t[24]=j);let w;t[25]!==v||t[26]!==j?(w=(0,l.jsxs)("div",{className:"py-1 px-2 overflow-y-scroll h-full",children:[v,j]}),t[25]=v,t[26]=j,t[27]=w):w=t[27];let f=w;if(N==="sidebar")return f;let x;t[28]===f?x=t[29]:(x=(0,l.jsx)(K,{defaultSize:50,minSize:30,maxSize:80,children:f}),t[28]=f,t[29]=x);let d;t[30]===Symbol.for("react.memo_cache_sentinel")?(d=(0,l.jsx)(je,{className:"w-1 bg-border hover:bg-primary/50 transition-colors"}),t[30]=d):d=t[30];let I;t[31]===Symbol.for("react.memo_cache_sentinel")?(I=(0,l.jsx)(K,{defaultSize:50,children:(0,l.jsx)("div",{})}),t[31]=I):I=t[31];let S;return t[32]===x?S=t[33]:(S=(0,l.jsxs)(ge,{direction:"horizontal",className:"h-full",children:[x,d,I]}),t[32]=x,t[33]=S),S};var _e=({run:t,isMostRecentRun:e,chartPosition:r,isExpanded:a,theme:i})=>{let n=Z(X);a??(a=e);let s=()=>{n(c=>{let m=new Map(c);return m.set(t.runId,!a),m})},k=(0,l.jsx)(a?ce:me,{height:16,className:"inline"}),N=(0,l.jsxs)("span",{className:"text-sm cursor-pointer",onClick:s,children:["Run - ",L(t.runStartTime),k]});return a?(0,l.jsx)(Me,{run:t,chartPosition:r,theme:i,title:N},t.runId):(0,l.jsx)("div",{className:"flex flex-col",children:(0,l.jsx)("pre",{className:"font-mono font-semibold",children:N})},t.runId)},Me=t=>{let e=(0,H.c)(40),{run:r,chartPosition:a,theme:i,title:n}=t,[s,k]=(0,C.useState)(),N=(0,C.useRef)(null),{ref:c,width:m}=ye(),u=m===void 0?300:m,y=le(),o,h;if(e[0]!==y||e[1]!==a||e[2]!==r.cellRuns||e[3]!==r.runId||e[4]!==i){let R=[...r.cellRuns.values()].map(b=>{let _=b.elapsedTime??0;return{cell:b.cellId,cellNum:y.inOrderIds.indexOf(b.cellId),startTimestamp:W(b.startTime),endTimestamp:W(b.startTime+_),elapsedTime:U(_*1e3),status:b.status}});o=`hiddenInputElement-${r.runId}`,h=fe(Te(R,o,a,i)),e[0]=y,e[1]=a,e[2]=r.cellRuns,e[3]=r.runId,e[4]=i,e[5]=o,e[6]=h}else o=e[5],h=e[6];let v=h.spec,g=i==="dark"?"dark":void 0,j=u-50,w=a==="above"?120:100,f;e[7]!==g||e[8]!==j||e[9]!==w?(f={theme:g,width:j,height:w,actions:!1,mode:"vega",renderer:"canvas"},e[7]=g,e[8]=j,e[9]=w,e[10]=f):f=e[10];let x;e[11]!==f||e[12]!==v?(x={ref:N,spec:v,options:f},e[11]=f,e[12]=v,e[13]=x):x=e[13];let d=xe(x),I;e[14]===(d==null?void 0:d.view)?I=e[15]:(I=()=>{let R=[{signalName:Y,handler:(b,_)=>{var z;k(((z=_.cell)==null?void 0:z[0])??void 0??null)}}];return R.forEach(b=>{let{signalName:_,handler:z}=b;d==null||d.view.addSignalListener(_,z)}),()=>{R.forEach(b=>{let{signalName:_,handler:z}=b;d==null||d.view.removeSignalListener(_,z)})}},e[14]=d==null?void 0:d.view,e[15]=I);let S;e[16]===d?S=e[17]:(S=[d],e[16]=d,e[17]=S),(0,C.useEffect)(I,S);let p;e[18]!==o||e[19]!==s||e[20]!==r?(p=(0,l.jsx)($e,{run:r,hoveredCellId:s,hiddenInputElementId:o}),e[18]=o,e[19]=s,e[20]=r,e[21]=p):p=e[21];let E=p,P=a==="sideBySide"?"-mt-0.5 flex-1":"",T;e[22]===Symbol.for("react.memo_cache_sentinel")?(T=(0,l.jsx)(C.Suspense,{children:(0,l.jsx)("div",{ref:N})}),e[22]=T):T=e[22];let B;e[23]!==c||e[24]!==P?(B=(0,l.jsx)("div",{className:P,ref:c,children:T}),e[23]=c,e[24]=P,e[25]=B):B=e[25];let M=B;if(a==="above"){let R;e[26]!==M||e[27]!==n||e[28]!==E?(R=(0,l.jsxs)("pre",{className:"font-mono font-semibold",children:[n,M,E]}),e[26]=M,e[27]=n,e[28]=E,e[29]=R):R=e[29];let b;return e[30]!==r.runId||e[31]!==R?(b=(0,l.jsx)("div",{className:"flex flex-col",children:R},r.runId),e[30]=r.runId,e[31]=R,e[32]=b):b=e[32],b}let $;e[33]!==n||e[34]!==E?($=(0,l.jsxs)("pre",{className:"font-mono font-semibold",children:[n,E]}),e[33]=n,e[34]=E,e[35]=$):$=e[35];let D;return e[36]!==M||e[37]!==r.runId||e[38]!==$?(D=(0,l.jsxs)("div",{className:"flex flex-row",children:[$,M]},r.runId),e[36]=M,e[37]=r.runId,e[38]=$,e[39]=D):D=e[39],D},$e=t=>{let e=(0,H.c)(12),{run:r,hoveredCellId:a,hiddenInputElementId:i}=t,n=(0,C.useRef)(null),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=o=>{n.current&&(n.current.value=String(o),n.current.dispatchEvent(new Event("input",{bubbles:!0})))},e[0]=s):s=e[0];let k=s,N=a||"",c;e[1]!==i||e[2]!==N?(c=(0,l.jsx)("input",{type:"text",id:i,defaultValue:N,hidden:!0,ref:n}),e[1]=i,e[2]=N,e[3]=c):c=e[3];let m;e[4]===r.cellRuns?m=e[5]:(m=[...r.cellRuns.values()],e[4]=r.cellRuns,e[5]=m);let u;e[6]!==a||e[7]!==m?(u=m.map(o=>(0,l.jsx)(Ce,{cellRun:o,hovered:o.cellId===a,dispatchHoverEvent:k},o.cellId)),e[6]=a,e[7]=m,e[8]=u):u=e[8];let y;return e[9]!==c||e[10]!==u?(y=(0,l.jsxs)("div",{className:"text-xs mt-0.5 ml-3 flex flex-col gap-0.5",children:[c,u]}),e[9]=c,e[10]=u,e[11]=y):y=e[11],y},ze={success:(0,l.jsx)(pe,{color:"green",size:14}),running:(0,l.jsx)(ue,{color:"var(--blue-10)",size:14}),error:(0,l.jsx)(re,{color:"red",size:14}),queued:(0,l.jsx)(ke,{color:"grey",size:14})},Ce=t=>{let e=(0,H.c)(39),{cellRun:r,hovered:a,dispatchHoverEvent:i}=t,n;e[0]===r.elapsedTime?n=e[1]:(n=r.elapsedTime?U(r.elapsedTime*1e3):"-",e[0]=r.elapsedTime,e[1]=n);let s=n,k;e[2]!==r.elapsedTime||e[3]!==s?(k=r.elapsedTime?(0,l.jsxs)("span",{children:["This cell took ",(0,l.jsx)(de,{elapsedTime:s})," to run"]}):(0,l.jsx)("span",{children:"This cell has not been run"}),e[2]=r.elapsedTime,e[3]=s,e[4]=k):k=e[4];let N=k,c;e[5]!==r.cellId||e[6]!==i?(c=()=>{i(r.cellId)},e[5]=r.cellId,e[6]=i,e[7]=c):c=e[7];let m=c,u;e[8]===i?u=e[9]:(u=()=>{i(null)},e[8]=i,e[9]=u);let y=u,o=a&&"bg-(--gray-3) opacity-100",h;e[10]===o?h=e[11]:(h=ie("flex flex-row gap-2 py-1 px-1 opacity-70 hover:bg-(--gray-3) hover:opacity-100",o),e[10]=o,e[11]=h);let v;e[12]===r.startTime?v=e[13]:(v=L(r.startTime),e[12]=r.startTime,e[13]=v);let g;e[14]===v?g=e[15]:(g=(0,l.jsxs)("span",{className:"text-(--gray-10) dark:text-(--gray-11)",children:["[",v,"]"]}),e[14]=v,e[15]=g);let j;e[16]===r.cellId?j=e[17]:(j=(0,l.jsxs)("span",{className:"text-(--gray-10) w-16 overflow-hidden",children:["(",(0,l.jsx)(ve,{cellId:r.cellId}),")"]}),e[16]=r.cellId,e[17]=j);let w;e[18]===r.code?w=e[19]:(w=(0,l.jsx)("span",{className:"w-40 truncate -ml-1",children:r.code}),e[18]=r.code,e[19]=w);let f;e[20]===s?f=e[21]:(f=(0,l.jsx)("span",{className:"text-(--gray-10) dark:text-(--gray-11)",children:s}),e[20]=s,e[21]=f);let x;e[22]!==N||e[23]!==f?(x=(0,l.jsx)(A,{content:N,children:f}),e[22]=N,e[23]=f,e[24]=x):x=e[24];let d=ze[r.status],I;e[25]!==r.status||e[26]!==d?(I=(0,l.jsx)(A,{content:r.status,children:d}),e[25]=r.status,e[26]=d,e[27]=I):I=e[27];let S;e[28]!==x||e[29]!==I?(S=(0,l.jsxs)("div",{className:"flex flex-row gap-1 w-16 justify-end -ml-2",children:[x,I]}),e[28]=x,e[29]=I,e[30]=S):S=e[30];let p;return e[31]!==m||e[32]!==y||e[33]!==w||e[34]!==S||e[35]!==h||e[36]!==g||e[37]!==j?(p=(0,l.jsxs)("div",{className:h,onMouseEnter:m,onMouseLeave:y,children:[g,j,w,S]}),e[31]=m,e[32]=y,e[33]=w,e[34]=S,e[35]=h,e[36]=g,e[37]=j,e[38]=p):p=e[38],p};export{Ee as Tracing};
1
+ import{s as q}from"./chunk-LvLJmgfZ.js";import{d as Z,p as ee,u as F}from"./useEvent-D91BmmQi.js";import{t as te}from"./react-Bj1aDYRI.js";import{K as L,hr as re,j as le,xr as se}from"./cells-A-ljPpuj.js";import"./react-dom-CSu739Rf.js";import{t as ae}from"./compiler-runtime-B3qBwwSJ.js";import{t as ie}from"./cn-DCUzRj2J.js";import{t as ne}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{t as A}from"./tooltip-Gcwqb_SK.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as oe}from"./createLucideIcon-D5guW7EU.js";import{n as de,r as U}from"./CellStatus-PIeZtHEl.js";import{r as ce}from"./x-C-6liIBr.js";import{t as me}from"./chevron-right-CG5QYXYk.js";import{t as pe}from"./circle-check-C17zXg7L.js";import{t as ue}from"./circle-play-CYXX2xu3.js";import"./dist-Ds4ite_2.js";import"./dist-CEysMnMQ.js";import"./dist-DGxytjtv.js";import"./dist-DZ2qbK2N.js";import"./dist-CRPTyqAT.js";import"./session-nmTRerwF.js";import{r as he}from"./useTheme-DEcgJENn.js";import"./purify.es-DC4RGS9t.js";import"./vega-loader.browser-DXARUlxo.js";import{r as fe,t as xe}from"./react-vega-BQXvtE5G.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{t as ve}from"./cell-link-d38hFEon.js";import{n as ge,r as je,t as K}from"./react-resizable-panels.browser.esm-Bcm5njwd.js";import{t as ye}from"./bundle.esm-DU-4isVC.js";import{t as Ie}from"./empty-state-CsVQSqKA.js";import"./multi-icon-DQxqgfM2.js";import{r as Se}from"./panel-context-B3J07LRC.js";import{t as be}from"./clear-button-DBrTU3uL.js";import{n as Ne,t as we}from"./runs-5odJFrfi.js";var ke=oe("circle-ellipsis",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M17 12h.01",key:"1m0b6t"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M7 12h.01",key:"eqddd0"}]]),H=ae(),C=q(te(),1);const V="hoveredCellId",Y="cellHover";var Re="cellNum",G="cell",O="startTimestamp",J="endTimestamp",Q="status";function Te(t,e,r,a){let i="hoursminutessecondsmilliseconds";return{$schema:"https://vega.github.io/schema/vega-lite/v6.json",background:a==="dark"?"black":void 0,mark:{type:"bar",cornerRadius:2},params:[{name:V,bind:{element:`#${e}`}},{name:Y,select:{type:"point",on:"mouseover",fields:[G],clear:"mouseout"}}],height:{step:r==="sideBySide"?26:21},encoding:{y:{field:Re,scale:{paddingInner:.2},sort:{field:"sortPriority"},title:"cell",axis:r==="sideBySide"?null:void 0},x:{field:O,type:"temporal",axis:{orient:"top",title:null}},x2:{field:J,type:"temporal"},tooltip:[{field:O,type:"temporal",timeUnit:i,title:"Start"},{field:J,type:"temporal",timeUnit:i,title:"End"}],size:{value:{expr:`${V} == toString(datum.${G}) ? 19.5 : 18`}},color:{field:Q,scale:{domain:["success","error"],range:["#37BE5F","red"]},legend:null}},data:{values:t},transform:[{calculate:`datum.${Q} === 'queued' ? 9999999999999 : datum.${O}`,as:"sortPriority"}],config:{view:{stroke:"transparent"}}}}function W(t){try{let e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}.${String(e.getMilliseconds()).padStart(3,"0")}`}catch{return""}}var l=q(ne(),1),X=ee(new Map);const Ee=()=>{let t=(0,H.c)(34),{runIds:e,runMap:r}=F(we),a=F(X),{clearRuns:i}=Ne(),{theme:n}=he(),[s,k]=(0,C.useState)("above"),N=Se(),c;t[0]===s?c=t[1]:(c=()=>{k(s==="above"?"sideBySide":"above")},t[0]=s,t[1]=c);let m=c;if(e.length===0){let p;return t[2]===Symbol.for("react.memo_cache_sentinel")?(p=(0,l.jsx)(Ie,{title:"No traces",description:(0,l.jsx)("span",{children:"Cells that have ran will appear here."}),icon:(0,l.jsx)(se,{})}),t[2]=p):p=t[2],p}let u;t[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsx)("label",{htmlFor:"chartPosition",className:"text-xs",children:"Inline chart"}),t[3]=u):u=t[3];let y=s==="sideBySide",o;t[4]!==y||t[5]!==m?(o=(0,l.jsxs)("div",{className:"flex flex-row gap-1 items-center",children:[u,(0,l.jsx)("input",{type:"checkbox",name:"chartPosition","data-testid":"chartPosition",onClick:m,defaultChecked:y,className:"h-3 cursor-pointer"})]}),t[4]=y,t[5]=m,t[6]=o):o=t[6];let h;t[7]===i?h=t[8]:(h=(0,l.jsx)(be,{dataTestId:"clear-traces-button",onClick:i}),t[7]=i,t[8]=h);let v;t[9]!==o||t[10]!==h?(v=(0,l.jsxs)("div",{className:"flex flex-row justify-start gap-3",children:[o,h]}),t[9]=o,t[10]=h,t[11]=v):v=t[11];let g;if(t[12]!==s||t[13]!==a||t[14]!==e||t[15]!==r||t[16]!==n){let p;t[18]!==s||t[19]!==a||t[20]!==r||t[21]!==n?(p=(E,P)=>{let T=r.get(E);return T?(0,l.jsx)(_e,{run:T,isExpanded:a.get(T.runId),isMostRecentRun:P===0,chartPosition:s,theme:n},T.runId):null},t[18]=s,t[19]=a,t[20]=r,t[21]=n,t[22]=p):p=t[22],g=e.map(p),t[12]=s,t[13]=a,t[14]=e,t[15]=r,t[16]=n,t[17]=g}else g=t[17];let j;t[23]===g?j=t[24]:(j=(0,l.jsx)("div",{className:"flex flex-col gap-3",children:g}),t[23]=g,t[24]=j);let w;t[25]!==v||t[26]!==j?(w=(0,l.jsxs)("div",{className:"py-1 px-2 overflow-y-scroll h-full",children:[v,j]}),t[25]=v,t[26]=j,t[27]=w):w=t[27];let f=w;if(N==="sidebar")return f;let x;t[28]===f?x=t[29]:(x=(0,l.jsx)(K,{defaultSize:50,minSize:30,maxSize:80,children:f}),t[28]=f,t[29]=x);let d;t[30]===Symbol.for("react.memo_cache_sentinel")?(d=(0,l.jsx)(je,{className:"w-1 bg-border hover:bg-primary/50 transition-colors"}),t[30]=d):d=t[30];let I;t[31]===Symbol.for("react.memo_cache_sentinel")?(I=(0,l.jsx)(K,{defaultSize:50,children:(0,l.jsx)("div",{})}),t[31]=I):I=t[31];let S;return t[32]===x?S=t[33]:(S=(0,l.jsxs)(ge,{direction:"horizontal",className:"h-full",children:[x,d,I]}),t[32]=x,t[33]=S),S};var _e=({run:t,isMostRecentRun:e,chartPosition:r,isExpanded:a,theme:i})=>{let n=Z(X);a??(a=e);let s=()=>{n(c=>{let m=new Map(c);return m.set(t.runId,!a),m})},k=(0,l.jsx)(a?ce:me,{height:16,className:"inline"}),N=(0,l.jsxs)("span",{className:"text-sm cursor-pointer",onClick:s,children:["Run - ",L(t.runStartTime),k]});return a?(0,l.jsx)(Me,{run:t,chartPosition:r,theme:i,title:N},t.runId):(0,l.jsx)("div",{className:"flex flex-col",children:(0,l.jsx)("pre",{className:"font-mono font-semibold",children:N})},t.runId)},Me=t=>{let e=(0,H.c)(40),{run:r,chartPosition:a,theme:i,title:n}=t,[s,k]=(0,C.useState)(),N=(0,C.useRef)(null),{ref:c,width:m}=ye(),u=m===void 0?300:m,y=le(),o,h;if(e[0]!==y||e[1]!==a||e[2]!==r.cellRuns||e[3]!==r.runId||e[4]!==i){let R=[...r.cellRuns.values()].map(b=>{let _=b.elapsedTime??0;return{cell:b.cellId,cellNum:y.inOrderIds.indexOf(b.cellId),startTimestamp:W(b.startTime),endTimestamp:W(b.startTime+_),elapsedTime:U(_*1e3),status:b.status}});o=`hiddenInputElement-${r.runId}`,h=fe(Te(R,o,a,i)),e[0]=y,e[1]=a,e[2]=r.cellRuns,e[3]=r.runId,e[4]=i,e[5]=o,e[6]=h}else o=e[5],h=e[6];let v=h.spec,g=i==="dark"?"dark":void 0,j=u-50,w=a==="above"?120:100,f;e[7]!==g||e[8]!==j||e[9]!==w?(f={theme:g,width:j,height:w,actions:!1,mode:"vega",renderer:"canvas"},e[7]=g,e[8]=j,e[9]=w,e[10]=f):f=e[10];let x;e[11]!==f||e[12]!==v?(x={ref:N,spec:v,options:f},e[11]=f,e[12]=v,e[13]=x):x=e[13];let d=xe(x),I;e[14]===(d==null?void 0:d.view)?I=e[15]:(I=()=>{let R=[{signalName:Y,handler:(b,_)=>{var z;k(((z=_.cell)==null?void 0:z[0])??void 0??null)}}];return R.forEach(b=>{let{signalName:_,handler:z}=b;d==null||d.view.addSignalListener(_,z)}),()=>{R.forEach(b=>{let{signalName:_,handler:z}=b;d==null||d.view.removeSignalListener(_,z)})}},e[14]=d==null?void 0:d.view,e[15]=I);let S;e[16]===d?S=e[17]:(S=[d],e[16]=d,e[17]=S),(0,C.useEffect)(I,S);let p;e[18]!==o||e[19]!==s||e[20]!==r?(p=(0,l.jsx)($e,{run:r,hoveredCellId:s,hiddenInputElementId:o}),e[18]=o,e[19]=s,e[20]=r,e[21]=p):p=e[21];let E=p,P=a==="sideBySide"?"-mt-0.5 flex-1":"",T;e[22]===Symbol.for("react.memo_cache_sentinel")?(T=(0,l.jsx)(C.Suspense,{children:(0,l.jsx)("div",{ref:N})}),e[22]=T):T=e[22];let B;e[23]!==c||e[24]!==P?(B=(0,l.jsx)("div",{className:P,ref:c,children:T}),e[23]=c,e[24]=P,e[25]=B):B=e[25];let M=B;if(a==="above"){let R;e[26]!==M||e[27]!==n||e[28]!==E?(R=(0,l.jsxs)("pre",{className:"font-mono font-semibold",children:[n,M,E]}),e[26]=M,e[27]=n,e[28]=E,e[29]=R):R=e[29];let b;return e[30]!==r.runId||e[31]!==R?(b=(0,l.jsx)("div",{className:"flex flex-col",children:R},r.runId),e[30]=r.runId,e[31]=R,e[32]=b):b=e[32],b}let $;e[33]!==n||e[34]!==E?($=(0,l.jsxs)("pre",{className:"font-mono font-semibold",children:[n,E]}),e[33]=n,e[34]=E,e[35]=$):$=e[35];let D;return e[36]!==M||e[37]!==r.runId||e[38]!==$?(D=(0,l.jsxs)("div",{className:"flex flex-row",children:[$,M]},r.runId),e[36]=M,e[37]=r.runId,e[38]=$,e[39]=D):D=e[39],D},$e=t=>{let e=(0,H.c)(12),{run:r,hoveredCellId:a,hiddenInputElementId:i}=t,n=(0,C.useRef)(null),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=o=>{n.current&&(n.current.value=String(o),n.current.dispatchEvent(new Event("input",{bubbles:!0})))},e[0]=s):s=e[0];let k=s,N=a||"",c;e[1]!==i||e[2]!==N?(c=(0,l.jsx)("input",{type:"text",id:i,defaultValue:N,hidden:!0,ref:n}),e[1]=i,e[2]=N,e[3]=c):c=e[3];let m;e[4]===r.cellRuns?m=e[5]:(m=[...r.cellRuns.values()],e[4]=r.cellRuns,e[5]=m);let u;e[6]!==a||e[7]!==m?(u=m.map(o=>(0,l.jsx)(Ce,{cellRun:o,hovered:o.cellId===a,dispatchHoverEvent:k},o.cellId)),e[6]=a,e[7]=m,e[8]=u):u=e[8];let y;return e[9]!==c||e[10]!==u?(y=(0,l.jsxs)("div",{className:"text-xs mt-0.5 ml-3 flex flex-col gap-0.5",children:[c,u]}),e[9]=c,e[10]=u,e[11]=y):y=e[11],y},ze={success:(0,l.jsx)(pe,{color:"green",size:14}),running:(0,l.jsx)(ue,{color:"var(--blue-10)",size:14}),error:(0,l.jsx)(re,{color:"red",size:14}),queued:(0,l.jsx)(ke,{color:"grey",size:14})},Ce=t=>{let e=(0,H.c)(39),{cellRun:r,hovered:a,dispatchHoverEvent:i}=t,n;e[0]===r.elapsedTime?n=e[1]:(n=r.elapsedTime?U(r.elapsedTime*1e3):"-",e[0]=r.elapsedTime,e[1]=n);let s=n,k;e[2]!==r.elapsedTime||e[3]!==s?(k=r.elapsedTime?(0,l.jsxs)("span",{children:["This cell took ",(0,l.jsx)(de,{elapsedTime:s})," to run"]}):(0,l.jsx)("span",{children:"This cell has not been run"}),e[2]=r.elapsedTime,e[3]=s,e[4]=k):k=e[4];let N=k,c;e[5]!==r.cellId||e[6]!==i?(c=()=>{i(r.cellId)},e[5]=r.cellId,e[6]=i,e[7]=c):c=e[7];let m=c,u;e[8]===i?u=e[9]:(u=()=>{i(null)},e[8]=i,e[9]=u);let y=u,o=a&&"bg-(--gray-3) opacity-100",h;e[10]===o?h=e[11]:(h=ie("flex flex-row gap-2 py-1 px-1 opacity-70 hover:bg-(--gray-3) hover:opacity-100",o),e[10]=o,e[11]=h);let v;e[12]===r.startTime?v=e[13]:(v=L(r.startTime),e[12]=r.startTime,e[13]=v);let g;e[14]===v?g=e[15]:(g=(0,l.jsxs)("span",{className:"text-(--gray-10) dark:text-(--gray-11)",children:["[",v,"]"]}),e[14]=v,e[15]=g);let j;e[16]===r.cellId?j=e[17]:(j=(0,l.jsxs)("span",{className:"text-(--gray-10) w-16 overflow-hidden",children:["(",(0,l.jsx)(ve,{cellId:r.cellId}),")"]}),e[16]=r.cellId,e[17]=j);let w;e[18]===r.code?w=e[19]:(w=(0,l.jsx)("span",{className:"w-40 truncate -ml-1",children:r.code}),e[18]=r.code,e[19]=w);let f;e[20]===s?f=e[21]:(f=(0,l.jsx)("span",{className:"text-(--gray-10) dark:text-(--gray-11)",children:s}),e[20]=s,e[21]=f);let x;e[22]!==N||e[23]!==f?(x=(0,l.jsx)(A,{content:N,children:f}),e[22]=N,e[23]=f,e[24]=x):x=e[24];let d=ze[r.status],I;e[25]!==r.status||e[26]!==d?(I=(0,l.jsx)(A,{content:r.status,children:d}),e[25]=r.status,e[26]=d,e[27]=I):I=e[27];let S;e[28]!==x||e[29]!==I?(S=(0,l.jsxs)("div",{className:"flex flex-row gap-1 w-16 justify-end -ml-2",children:[x,I]}),e[28]=x,e[29]=I,e[30]=S):S=e[30];let p;return e[31]!==m||e[32]!==y||e[33]!==w||e[34]!==S||e[35]!==h||e[36]!==g||e[37]!==j?(p=(0,l.jsxs)("div",{className:h,onMouseEnter:m,onMouseLeave:y,children:[g,j,w,S]}),e[31]=m,e[32]=y,e[33]=w,e[34]=S,e[35]=h,e[36]=g,e[37]=j,e[38]=p):p=e[38],p};export{Ee as Tracing};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./tracing-DjZGgWTo.js","./clear-button-DBrTU3uL.js","./cn-DCUzRj2J.js","./clsx-Dz_KRrWq.js","./compiler-runtime-B3qBwwSJ.js","./react-Bj1aDYRI.js","./chunk-LvLJmgfZ.js","./jsx-runtime-BqBOg78p.js","./cells-A-ljPpuj.js","./preload-helper-D2MJg03u.js","./badge-ChrPsdTW.js","./button-D9nb17Rw.js","./useEventListener-BR0C1MaI.js","./fullscreen-BDxedMYP.js","./react-dom-CSu739Rf.js","./menu-items-CwUpDHG7.js","./select-5i7URBEn.js","./dist-BoOh2kN5.js","./check-BH35Ndha.js","./createLucideIcon-D5guW7EU.js","./x-C-6liIBr.js","./tooltip-Gcwqb_SK.js","./use-toast-BDYuj3zG.js","./utils-DIGrmLDO.js","./useEvent-D91BmmQi.js","./invariant-BUdrueMv.js","./merge-_9WLTEyt.js","./_baseFor-DKD1r8uL.js","./isObject-DvLSfCY5.js","./zod-H_cgTO0M.js","./DeferredRequestRegistry-DjHgMr3S.js","./Deferred-DxQeE5uh.js","./uuid-DXdzqzcr.js","./config-ChCHm539.js","./constants-DMpttj8Q.js","./session-nmTRerwF.js","./requests-DIwGYs0l.js","./useLifecycle-DieWOfXE.js","./useNonce-DfoVjkkH.js","./useTheme-DEcgJENn.js","./arrays-DYDL-3-i.js","./strings-md4mFbOQ.js","./capabilities-C_FLIcjP.js","./once-DRroIaBz.js","./createReducer-1ePoj7v6.js","./paths-CXng2XQv.js","./dist-HlsDto3K.js","./dist-BrR4M-k3.js","./dist-CHcznzB-.js","./dist-Ds4ite_2.js","./dist-CEysMnMQ.js","./dist-DGxytjtv.js","./dist-DZ2qbK2N.js","./dist-CRPTyqAT.js","./dist-C9ZB41s2.js","./stex-jWatZkll.js","./toDate-B5A0DFEz.js","./purify.es-DC4RGS9t.js","./cjs-BRGiG41H.js","./debounce-DhnxH9Rh.js","./now-CsYTPAhW.js","./isSymbol-BT6B8Bon.js","./database-zap-BUVn5HoR.js","./main-B0OX4z33.js","./cells-jmgGt1lS.css","./CellStatus-PIeZtHEl.js","./multi-icon-DQxqgfM2.js","./multi-icon-pwGWVz3d.css","./useDateFormatter-BEz9SEXo.js","./context-DGqo1TbK.js","./SSRProvider-D3zWcDme.js","./en-US-BqRooSzc.js","./ellipsis-pk06Lq82.js","./refresh-cw-DHwG4Mac.js","./workflow-DYcZF-oV.js","./CellStatus-2Psjnl5F.css","./empty-state-CsVQSqKA.js","./panel-context-B3J07LRC.js","./cell-link-d38hFEon.js","./ImperativeModal-BBqcKmmk.js","./alert-dialog-BGBdrcqJ.js","./dialog-EekxpBBM.js","./input-DyPS_GiK.js","./useDebounce-BDIglWmG.js","./numbers-OHL_xBiC.js","./useNumberFormatter-wQU1z0W_.js","./usePress-CtfZXGno.js","./runs-5odJFrfi.js","./react-vega-Dprex0g5.js","./precisionRound-CU2C3Vxx.js","./defaultLocale-JieDVWC_.js","./linear-Bn2iRj5i.js","./timer-CIInKAPS.js","./init-DE_uL9Ns.js","./time-yM1OtSdb.js","./defaultLocale-BLne0bXb.js","./range-1DwpgXvM.js","./vega-loader.browser-DXARUlxo.js","./treemap-BKxvGXqJ.js","./path-LDcaQ64B.js","./colors-CI3VyX7X.js","./ordinal-DEaY__23.js","./arc-ONRhTAm2.js","./math-Bf0RgaKx.js","./array-BCwZq3ts.js","./step-BE8c2ivx.js","./line-j0cbFv7-.js","./chevron-right-CG5QYXYk.js","./circle-check-C17zXg7L.js","./circle-play-CYXX2xu3.js","./react-resizable-panels.browser.esm-Bcm5njwd.js","./bundle.esm-DU-4isVC.js"])))=>i.map(i=>d[i]);
2
- import{s as m}from"./chunk-LvLJmgfZ.js";import{t as i}from"./react-Bj1aDYRI.js";import{t as n}from"./compiler-runtime-B3qBwwSJ.js";import{t as f}from"./jsx-runtime-BqBOg78p.js";import{t as _}from"./spinner-Bhir8k53.js";import{t as p}from"./preload-helper-D2MJg03u.js";let c,u=(async()=>{let a,l,r,o,s;a=n(),l=m(i(),1),r=m(f(),1),o=l.lazy(()=>p(()=>import("./tracing-DjZGgWTo.js").then(async t=>(await t.__tla,t)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]),import.meta.url).then(t=>({default:t.Tracing}))),c=()=>{let t=(0,a.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(l.Suspense,{fallback:(0,r.jsx)(s,{}),children:(0,r.jsx)(o,{})}),t[0]=e):e=t[0],e},s=()=>{let t=(0,a.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("div",{className:"flex flex-col items-center justify-center h-full",children:(0,r.jsx)(_,{})}),t[0]=e):e=t[0],e}})();export{u as __tla,c as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./tracing-BZPLfSlB.js","./clear-button-DBrTU3uL.js","./cn-DCUzRj2J.js","./clsx-Dz_KRrWq.js","./compiler-runtime-B3qBwwSJ.js","./react-Bj1aDYRI.js","./chunk-LvLJmgfZ.js","./jsx-runtime-BqBOg78p.js","./cells-A-ljPpuj.js","./preload-helper-D2MJg03u.js","./badge-ChrPsdTW.js","./button-D9nb17Rw.js","./useEventListener-BR0C1MaI.js","./fullscreen-BDxedMYP.js","./react-dom-CSu739Rf.js","./menu-items-CwUpDHG7.js","./select-5i7URBEn.js","./dist-BoOh2kN5.js","./check-BH35Ndha.js","./createLucideIcon-D5guW7EU.js","./x-C-6liIBr.js","./tooltip-Gcwqb_SK.js","./use-toast-BDYuj3zG.js","./utils-DIGrmLDO.js","./useEvent-D91BmmQi.js","./invariant-BUdrueMv.js","./merge-_9WLTEyt.js","./_baseFor-DKD1r8uL.js","./isObject-DvLSfCY5.js","./zod-H_cgTO0M.js","./DeferredRequestRegistry-DjHgMr3S.js","./Deferred-DxQeE5uh.js","./uuid-DXdzqzcr.js","./config-ChCHm539.js","./constants-DMpttj8Q.js","./session-nmTRerwF.js","./requests-DIwGYs0l.js","./useLifecycle-DieWOfXE.js","./useNonce-DfoVjkkH.js","./useTheme-DEcgJENn.js","./arrays-DYDL-3-i.js","./strings-md4mFbOQ.js","./capabilities-C_FLIcjP.js","./once-DRroIaBz.js","./createReducer-1ePoj7v6.js","./paths-CXng2XQv.js","./dist-HlsDto3K.js","./dist-BrR4M-k3.js","./dist-CHcznzB-.js","./dist-Ds4ite_2.js","./dist-CEysMnMQ.js","./dist-DGxytjtv.js","./dist-DZ2qbK2N.js","./dist-CRPTyqAT.js","./dist-C9ZB41s2.js","./stex-jWatZkll.js","./toDate-B5A0DFEz.js","./purify.es-DC4RGS9t.js","./cjs-BRGiG41H.js","./debounce-DhnxH9Rh.js","./now-CsYTPAhW.js","./isSymbol-BT6B8Bon.js","./database-zap-BUVn5HoR.js","./main-B0OX4z33.js","./cells-jmgGt1lS.css","./CellStatus-PIeZtHEl.js","./multi-icon-DQxqgfM2.js","./multi-icon-pwGWVz3d.css","./useDateFormatter-BEz9SEXo.js","./context-DGqo1TbK.js","./SSRProvider-D3zWcDme.js","./en-US-BqRooSzc.js","./ellipsis-pk06Lq82.js","./refresh-cw-DHwG4Mac.js","./workflow-DYcZF-oV.js","./CellStatus-2Psjnl5F.css","./empty-state-CsVQSqKA.js","./panel-context-B3J07LRC.js","./cell-link-d38hFEon.js","./ImperativeModal-BBqcKmmk.js","./alert-dialog-BGBdrcqJ.js","./dialog-EekxpBBM.js","./input-DyPS_GiK.js","./useDebounce-BDIglWmG.js","./numbers-OHL_xBiC.js","./useNumberFormatter-wQU1z0W_.js","./usePress-CtfZXGno.js","./runs-5odJFrfi.js","./react-vega-BQXvtE5G.js","./precisionRound-CU2C3Vxx.js","./defaultLocale-JieDVWC_.js","./linear-Bn2iRj5i.js","./timer-CIInKAPS.js","./init-DE_uL9Ns.js","./time-yM1OtSdb.js","./defaultLocale-BLne0bXb.js","./range-1DwpgXvM.js","./vega-loader.browser-DXARUlxo.js","./treemap-BKxvGXqJ.js","./path-LDcaQ64B.js","./colors-CI3VyX7X.js","./ordinal-DEaY__23.js","./arc-ONRhTAm2.js","./math-Bf0RgaKx.js","./array-BCwZq3ts.js","./step-BE8c2ivx.js","./line-j0cbFv7-.js","./chevron-right-CG5QYXYk.js","./circle-check-C17zXg7L.js","./circle-play-CYXX2xu3.js","./react-resizable-panels.browser.esm-Bcm5njwd.js","./bundle.esm-DU-4isVC.js"])))=>i.map(i=>d[i]);
2
+ import{s as m}from"./chunk-LvLJmgfZ.js";import{t as i}from"./react-Bj1aDYRI.js";import{t as n}from"./compiler-runtime-B3qBwwSJ.js";import{t as f}from"./jsx-runtime-BqBOg78p.js";import{t as _}from"./spinner-Bhir8k53.js";import{t as p}from"./preload-helper-D2MJg03u.js";let c,u=(async()=>{let a,l,r,o,s;a=n(),l=m(i(),1),r=m(f(),1),o=l.lazy(()=>p(()=>import("./tracing-BZPLfSlB.js").then(async t=>(await t.__tla,t)),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]),import.meta.url).then(t=>({default:t.Tracing}))),c=()=>{let t=(0,a.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(l.Suspense,{fallback:(0,r.jsx)(s,{}),children:(0,r.jsx)(o,{})}),t[0]=e):e=t[0],e},s=()=>{let t=(0,a.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)("div",{className:"flex flex-col items-center justify-center h-full",children:(0,r.jsx)(_,{})}),t[0]=e):e=t[0],e}})();export{u as __tla,c as default};
@@ -1 +1 @@
1
- import{s as E}from"./chunk-LvLJmgfZ.js";import{d as X,l as Y,n as G,p as Z,u as $}from"./useEvent-D91BmmQi.js";import{t as ee}from"./react-Bj1aDYRI.js";import{G as te,Mt as re}from"./cells-A-ljPpuj.js";import{t as V}from"./compiler-runtime-B3qBwwSJ.js";import{t as le}from"./cn-DCUzRj2J.js";import{t as ae}from"./jsx-runtime-BqBOg78p.js";import{d as ne}from"./alert-dialog-BGBdrcqJ.js";import{i as B,r as se,t as J}from"./popover-UExmgBsf.js";import{a as oe,n as ie,o as ce,t as me}from"./tooltip-Gcwqb_SK.js";import{t as de}from"./createLucideIcon-D5guW7EU.js";import{t as he}from"./useCellActionButton-Bjxun3wK.js";import{a as pe,c as fe,d as ue,i as xe,o as je,r as be,t as ye}from"./command-CzIDL1VI.js";import{n as ve}from"./focus-Baz7rlo0.js";import{a as Ne,i as ge}from"./renderShortcut-CkNNAheg.js";var we=de("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),K=V(),h=E(ee(),1),t=E(ae(),1);const L=h.memo(h.forwardRef((r,a)=>{let e=(0,K.c)(39),{children:n,showTooltip:c,...m}=r,p=c===void 0?!0:c,[d,I]=(0,h.useState)(!1),N;e[0]===Symbol.for("react.memo_cache_sentinel")?(N=()=>I(!1),e[0]=N):N=e[0];let W=N,D=(0,h.useRef)(null),z=he({cell:m,closePopover:W}).map(Ce).filter(_e),P=ne(),g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=()=>{te(()=>{D.current&&D.current.scrollIntoView({behavior:"auto",block:"nearest"})})},e[1]=g):g=e[1];let T=G(g),w;e[2]===T?w=e[3]:(w=s=>{I(o=>{let l=typeof s=="function"?s(o):s;return l&&T(),l})},e[2]=T,e[3]=w);let i=G(w),k;e[4]===i?k=e[5]:(k=()=>({toggle:()=>i(Se)}),e[4]=i,e[5]=k),(0,h.useImperativeHandle)(a,k);let O=se,A=ye,F=re(m.cellId),f;e[6]===F?f=e[7]:(f=(0,t.jsx)(pe,{placeholder:"Search actions...",className:"h-6 m-1",...F}),e[6]=F,e[7]=f);let H=ue,u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(be,{children:"No results"}),e[8]=u):u=e[8];let M=z.map((s,o)=>(0,t.jsxs)(h.Fragment,{children:[(0,t.jsx)(xe,{children:s.map(l=>{let q=(0,t.jsxs)("div",{className:"flex items-center flex-1",children:[l.icon&&(0,t.jsx)("div",{className:"mr-2 w-5 text-muted-foreground",children:l.icon}),(0,t.jsx)("div",{className:"flex-1",children:l.label}),(0,t.jsxs)("div",{className:"shrink-0 text-sm",children:[l.hotkey&&ge(l.hotkey),l.rightElement]})]});return l.tooltip&&(q=(0,t.jsx)(me,{content:l.tooltip,delayDuration:100,children:q})),(0,t.jsx)(je,{className:le(l.disabled&&"opacity-50!"),onSelect:()=>{l.disableClick||l.disabled||(l.handle(),I(!1))},variant:l.variant,children:q},l.label)})},o),o<z.length-1&&(0,t.jsx)(fe,{})]},o)),x;e[9]!==H||e[10]!==u||e[11]!==M?(x=(0,t.jsxs)(H,{children:[u,M]}),e[9]=H,e[10]=u,e[11]=M,e[12]=x):x=e[12];let j;e[13]!==A||e[14]!==x||e[15]!==f?(j=(0,t.jsxs)(A,{children:[f,x]}),e[13]=A,e[14]=x,e[15]=f,e[16]=j):j=e[16];let C;e[17]!==O||e[18]!==P||e[19]!==j?(C=(0,t.jsx)(O,{className:"w-[300px] p-0 pt-1 overflow-auto",scrollable:!0,...P,children:j}),e[17]=O,e[18]=P,e[19]=j,e[20]=C):C=e[20];let b=C;if(!p){let s;e[21]===n?s=e[22]:(s=(0,t.jsx)(B,{asChild:!0,children:n}),e[21]=n,e[22]=s);let o;return e[23]!==b||e[24]!==i||e[25]!==d||e[26]!==s?(o=(0,t.jsxs)(J,{open:d,onOpenChange:i,children:[s,b]}),e[23]=b,e[24]=i,e[25]=d,e[26]=s,e[27]=o):o=e[27],o}let _;e[28]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(ie,{tabIndex:-1,children:Ne("cell.cellActions")}),e[28]=_):_=e[28];let R=!d&&_,y;e[29]===n?y=e[30]:(y=(0,t.jsx)(ce,{ref:D,children:(0,t.jsx)(B,{className:"flex",children:n})}),e[29]=n,e[30]=y);let v;e[31]!==R||e[32]!==y?(v=(0,t.jsxs)(oe,{delayDuration:200,disableHoverableContent:!0,children:[R,y]}),e[31]=R,e[32]=y,e[33]=v):v=e[33];let S;return e[34]!==b||e[35]!==i||e[36]!==d||e[37]!==v?(S=(0,t.jsxs)(J,{open:d,onOpenChange:i,children:[v,b]}),e[34]=b,e[35]=i,e[36]=d,e[37]=v,e[38]=S):S=e[38],S})),Q=h.memo(r=>{let a=(0,K.c)(5),{children:e,cellId:n}=r,c;a[0]===n?c=a[1]:(c=ve(n),a[0]=n,a[1]=c);let m=$(c);if(!m)return null;let p;return a[2]!==e||a[3]!==m?(p=(0,t.jsx)(L,{showTooltip:!1,...m,children:e}),a[2]=e,a[3]=m,a[4]=p):p=a[4],p});Q.displayName="ConnectionCellActionsDropdown";function ke(r){return!r.redundant}function Ce(r){return r.filter(ke)}function _e(r){return r.length>0}function Se(r){return!r}var Ie=V();const U=Z("minimap");function De(){let r=(0,Ie.c)(3),[a,e]=Y(U),n;return r[0]!==a||r[1]!==e?(n={dependencyPanelTab:a,setDependencyPanelTab:e},r[0]=a,r[1]=e,r[2]=n):n=r[2],n}function Pe(){return X(U)}export{we as a,Q as i,Pe as n,L as r,De as t};
1
+ import{s as E}from"./chunk-LvLJmgfZ.js";import{d as X,l as Y,n as G,p as Z,u as $}from"./useEvent-D91BmmQi.js";import{t as ee}from"./react-Bj1aDYRI.js";import{G as te,Mt as re}from"./cells-A-ljPpuj.js";import{t as V}from"./compiler-runtime-B3qBwwSJ.js";import{t as le}from"./cn-DCUzRj2J.js";import{t as ae}from"./jsx-runtime-BqBOg78p.js";import{d as ne}from"./alert-dialog-BGBdrcqJ.js";import{i as B,r as se,t as J}from"./popover-UExmgBsf.js";import{a as oe,n as ie,o as ce,t as me}from"./tooltip-Gcwqb_SK.js";import{t as de}from"./createLucideIcon-D5guW7EU.js";import{t as he}from"./useCellActionButton-Bjxun3wK.js";import{a as pe,c as fe,i as ue,o as xe,r as je,t as be,u as ye}from"./command-CXDOCJwp.js";import{n as ve}from"./focus-Baz7rlo0.js";import{a as Ne,i as ge}from"./renderShortcut-CkNNAheg.js";var we=de("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),K=V(),h=E(ee(),1),t=E(ae(),1);const L=h.memo(h.forwardRef((r,a)=>{let e=(0,K.c)(39),{children:n,showTooltip:c,...m}=r,p=c===void 0?!0:c,[d,I]=(0,h.useState)(!1),N;e[0]===Symbol.for("react.memo_cache_sentinel")?(N=()=>I(!1),e[0]=N):N=e[0];let W=N,D=(0,h.useRef)(null),z=he({cell:m,closePopover:W}).map(Ce).filter(_e),P=ne(),g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=()=>{te(()=>{D.current&&D.current.scrollIntoView({behavior:"auto",block:"nearest"})})},e[1]=g):g=e[1];let T=G(g),w;e[2]===T?w=e[3]:(w=s=>{I(o=>{let l=typeof s=="function"?s(o):s;return l&&T(),l})},e[2]=T,e[3]=w);let i=G(w),k;e[4]===i?k=e[5]:(k=()=>({toggle:()=>i(Se)}),e[4]=i,e[5]=k),(0,h.useImperativeHandle)(a,k);let O=se,A=be,F=re(m.cellId),f;e[6]===F?f=e[7]:(f=(0,t.jsx)(pe,{placeholder:"Search actions...",className:"h-6 m-1",...F}),e[6]=F,e[7]=f);let H=ye,u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(je,{children:"No results"}),e[8]=u):u=e[8];let M=z.map((s,o)=>(0,t.jsxs)(h.Fragment,{children:[(0,t.jsx)(ue,{children:s.map(l=>{let q=(0,t.jsxs)("div",{className:"flex items-center flex-1",children:[l.icon&&(0,t.jsx)("div",{className:"mr-2 w-5 text-muted-foreground",children:l.icon}),(0,t.jsx)("div",{className:"flex-1",children:l.label}),(0,t.jsxs)("div",{className:"shrink-0 text-sm",children:[l.hotkey&&ge(l.hotkey),l.rightElement]})]});return l.tooltip&&(q=(0,t.jsx)(me,{content:l.tooltip,delayDuration:100,children:q})),(0,t.jsx)(xe,{className:le(l.disabled&&"opacity-50!"),onSelect:()=>{l.disableClick||l.disabled||(l.handle(),I(!1))},variant:l.variant,children:q},l.label)})},o),o<z.length-1&&(0,t.jsx)(fe,{})]},o)),x;e[9]!==H||e[10]!==u||e[11]!==M?(x=(0,t.jsxs)(H,{children:[u,M]}),e[9]=H,e[10]=u,e[11]=M,e[12]=x):x=e[12];let j;e[13]!==A||e[14]!==x||e[15]!==f?(j=(0,t.jsxs)(A,{children:[f,x]}),e[13]=A,e[14]=x,e[15]=f,e[16]=j):j=e[16];let C;e[17]!==O||e[18]!==P||e[19]!==j?(C=(0,t.jsx)(O,{className:"w-[300px] p-0 pt-1 overflow-auto",scrollable:!0,...P,children:j}),e[17]=O,e[18]=P,e[19]=j,e[20]=C):C=e[20];let b=C;if(!p){let s;e[21]===n?s=e[22]:(s=(0,t.jsx)(B,{asChild:!0,children:n}),e[21]=n,e[22]=s);let o;return e[23]!==b||e[24]!==i||e[25]!==d||e[26]!==s?(o=(0,t.jsxs)(J,{open:d,onOpenChange:i,children:[s,b]}),e[23]=b,e[24]=i,e[25]=d,e[26]=s,e[27]=o):o=e[27],o}let _;e[28]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(ie,{tabIndex:-1,children:Ne("cell.cellActions")}),e[28]=_):_=e[28];let R=!d&&_,y;e[29]===n?y=e[30]:(y=(0,t.jsx)(ce,{ref:D,children:(0,t.jsx)(B,{className:"flex",children:n})}),e[29]=n,e[30]=y);let v;e[31]!==R||e[32]!==y?(v=(0,t.jsxs)(oe,{delayDuration:200,disableHoverableContent:!0,children:[R,y]}),e[31]=R,e[32]=y,e[33]=v):v=e[33];let S;return e[34]!==b||e[35]!==i||e[36]!==d||e[37]!==v?(S=(0,t.jsxs)(J,{open:d,onOpenChange:i,children:[v,b]}),e[34]=b,e[35]=i,e[36]=d,e[37]=v,e[38]=S):S=e[38],S})),Q=h.memo(r=>{let a=(0,K.c)(5),{children:e,cellId:n}=r,c;a[0]===n?c=a[1]:(c=ve(n),a[0]=n,a[1]=c);let m=$(c);if(!m)return null;let p;return a[2]!==e||a[3]!==m?(p=(0,t.jsx)(L,{showTooltip:!1,...m,children:e}),a[2]=e,a[3]=m,a[4]=p):p=a[4],p});Q.displayName="ConnectionCellActionsDropdown";function ke(r){return!r.redundant}function Ce(r){return r.filter(ke)}function _e(r){return r.length>0}function Se(r){return!r}var Ie=V();const U=Z("minimap");function De(){let r=(0,Ie.c)(3),[a,e]=Y(U),n;return r[0]!==a||r[1]!==e?(n={dependencyPanelTab:a,setDependencyPanelTab:e},r[0]=a,r[1]=e,r[2]=n):n=r[2],n}function Pe(){return X(U)}export{we as a,Q as i,Pe as n,L as r,De as t};
@@ -1 +1 @@
1
- import{s as ze}from"./chunk-LvLJmgfZ.js";import{d as R,l as ht,p as mt,u as pe}from"./useEvent-D91BmmQi.js";import{t as pt}from"./react-Bj1aDYRI.js";import{An as ut,Br as ft,Di as ue,Dn as xt,E as Me,En as yt,Tn as bt,Yt as kt,_ as wt,br as jt,fr as gt,h as We,hr as vt,lt as _e,ot as Ct,st as zt,t as Mt,ur as Wt}from"./cells-A-ljPpuj.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{n as _t,x as Nt}from"./ai-model-dropdown-By4Ohb0R.js";import{_ as H,d as Ne}from"./useEventListener-BR0C1MaI.js";import{y as St}from"./utils-DIGrmLDO.js";import{n as S,t as Se}from"./constants-DMpttj8Q.js";import{S as ae,h as Dt,n as At,o as Pt,x as It}from"./config-ChCHm539.js";import{n as Lt}from"./switch-DlgpDZMk.js";import{t as Et}from"./jsx-runtime-BqBOg78p.js";import{o as Tt}from"./alert-dialog-BGBdrcqJ.js";import{a as $t,c as fe,o as xe,s as Rt}from"./popover-UExmgBsf.js";import{a as Ht,c as qt,i as Ut,n as Bt,r as Ot,s as Yt,t as Ft}from"./select-5i7URBEn.js";import{bt as Vt}from"./JsonOutput-BVAcY5xS.js";import{c as De,d as ye,n as Kt,o as Gt,r as be,t as Jt}from"./download-Iyng0xCz.js";import{t as Ae}from"./tooltip-Gcwqb_SK.js";import{r as Pe,t as q}from"./button-D9nb17Rw.js";import{i as Xt,r as Qt,t as Ie}from"./strings-md4mFbOQ.js";import{r as U}from"./requests-DIwGYs0l.js";import{t as j}from"./createLucideIcon-D5guW7EU.js";import{A as Le,a as Ee,i as Te,j as Zt,k as ea,u as $e}from"./layout-DDh3d8oW.js";import{t as ke}from"./check-BH35Ndha.js";import{n as ta}from"./maps-C48Oksn0.js";import{r as aa}from"./useCellActionButton-Bjxun3wK.js";import{o as oa}from"./slide-form-CXqvfwGg.js";import{t as Re}from"./copy-Dk_3y0H-.js";import{t as na}from"./eye-off-BT-KOYV5.js";import{t as oe}from"./file-HTLbeC2b.js";import{t as sa}from"./github-raQvpeuZ.js";import{u as la}from"./form-Dr-_EXr8.js";import{n as ia,r as ra,t as da}from"./youtube-3lRHw8NU.js";import{i as ca,n as He}from"./add-connection-dialog-gd2yD9Qo.js";import{n as ha,t as ma}from"./square-Dj2Cf4ne.js";import{t as pa}from"./image-DQHXdEQn.js";import{t as ua}from"./link-CfEtM3Rl.js";import{r as fa}from"./input-DyPS_GiK.js";import{t as xa}from"./settings-DfFe0dWD.js";import{t as ya}from"./sparkles-CZ5WmLPA.js";import{y as ba}from"./textarea-Dd0InTQJ.js";import{t as D}from"./use-toast-BDYuj3zG.js";import{n as qe,t as ka}from"./paths-CXng2XQv.js";import{o as wa}from"./session-nmTRerwF.js";import{n as B}from"./copy-B5qyZn5s.js";import{r as ja}from"./useRunCells-DU1tawR-.js";import{a as Ue,c as Be,i as Oe,n as Ye,r as Fe}from"./dialog-EekxpBBM.js";import{n as we}from"./ImperativeModal-BBqcKmmk.js";import{r as ga,t as Ve}from"./share-BXN2Sd1t.js";import{a as va}from"./cell-link-d38hFEon.js";import{a as Ca}from"./renderShortcut-CkNNAheg.js";import{t as za}from"./icons-BRopQwI3.js";import{n as Ke}from"./marimo-icons-BSB-Z_W3.js";import{t as Ma}from"./links-BHtUMVOq.js";import{r as Wa,t as Ge}from"./hooks-CNPv5U-N.js";import{t as Je}from"./types-z6Sk3JCV.js";var _a=j("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Na=j("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),Xe=j("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Qe=j("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Ze=j("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Sa=j("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),Da=j("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Aa=j("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Pa=j("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),Ia=j("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),La=j("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),et=j("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Ea=j("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),Ta=j("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),tt=j("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),je=N(),A=ze(pt(),1),a=ze(Et(),1);function $a(){return"uvx marimo@latest"}function Ra(t,e,n){let o=n?" --with-token":"",s=`${$a()} pair prompt --url '${e}'${o}`;switch(t){case"claude":return`claude "$(${s} --claude)"`;case"codex":return`codex "$(${s} --codex)"`;case"opencode":return`opencode --prompt "$(${s} --opencode)"`;default:Qt(t)}}function Ha(t){return t.length<=4?"****":`${"*".repeat(Math.min(t.length-4,8))}${t.slice(-4)}`}var qa="npx skills add marimo-team/marimo-pair";function Ua(){let t=(0,je.c)(2),[e,n]=(0,A.useState)(null),o,s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{fetch(At("/auth/token").href,{headers:Lt.headers()}).then(Ba).then(r=>n((r==null?void 0:r.token)??null)).catch(()=>n(null))},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,A.useEffect)(o,s),e}function Ba(t){return t.ok?t.json():null}const Oa=t=>{let e=(0,je.c)(32),{onClose:n}=t,[o,s]=(0,A.useState)("claude"),r=Pt(),i=Ua(),l=!!i,d;e[0]!==o||e[1]!==l||e[2]!==r.httpURL?(d=Ra(o,r.httpURL.toString(),l),e[0]=o,e[1]=l,e[2]=r.httpURL,e[3]=d):d=e[3];let c=d,p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Be,{children:"Pair with an agent"}),e[4]=p):p=e[4];let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsxs)(Ue,{children:[p,(0,a.jsxs)(Fe,{children:["Use an AI coding agent to pair-program on this notebook."," ",(0,a.jsx)("a",{href:"https://links.marimo.app/marimo-pair",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Learn more"}),"."]})]}),e[5]=u):u=e[5];let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"1. Install the skill"}),(0,a.jsx)(O,{command:qa})]}),e[6]=h):h=e[6];let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,a.jsx)("span",{className:"text-sm font-medium",children:"2. Run in your terminal"}),e[7]=f):f=e[7];let x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x=_=>s(_),e[8]=x):x=e[8];let k;e[9]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsxs)(Rt,{className:"w-full",children:[(0,a.jsx)(fe,{value:"claude",className:"flex-1",children:"Claude"}),(0,a.jsx)(fe,{value:"codex",className:"flex-1",children:"Codex"}),(0,a.jsx)(fe,{value:"opencode",className:"flex-1",children:"OpenCode"})]}),e[9]=k):k=e[9];let y;e[10]===c?y=e[11]:(y=(0,a.jsx)(xe,{value:"claude",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[10]=c,e[11]=y);let b;e[12]===c?b=e[13]:(b=(0,a.jsx)(xe,{value:"codex",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[12]=c,e[13]=b);let w;e[14]===c?w=e[15]:(w=(0,a.jsx)(xe,{value:"opencode",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[14]=c,e[15]=w);let g;e[16]!==o||e[17]!==w||e[18]!==y||e[19]!==b?(g=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,(0,a.jsxs)($t,{value:o,onValueChange:x,children:[k,y,b,w]})]}),e[16]=o,e[17]=w,e[18]=y,e[19]=b,e[20]=g):g=e[20];let z;e[21]!==i||e[22]!==l?(z=l&&i&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"3. Paste when prompted for token"}),(0,a.jsx)(O,{command:i,display:Ha(i)})]}),e[21]=i,e[22]=l,e[23]=z):z=e[23];let v;e[24]!==g||e[25]!==z?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[h,g,z]}),e[24]=g,e[25]=z,e[26]=v):v=e[26];let M;e[27]===n?M=e[28]:(M=(0,a.jsx)(Oe,{children:(0,a.jsx)(q,{variant:"secondary",onClick:n,children:"Close"})}),e[27]=n,e[28]=M);let W;return e[29]!==v||e[30]!==M?(W=(0,a.jsxs)(Ye,{className:"sm:max-w-lg",children:[u,v,M]}),e[29]=v,e[30]=M,e[31]=W):W=e[31],W};var O=t=>{let e=(0,je.c)(15),{command:n,display:o}=t,[s,r]=(0,A.useState)(!1),i;e[0]===n?i=e[1]:(i=Pe.stopPropagation(async x=>{x.preventDefault(),await B(n),r(!0),setTimeout(()=>r(!1),2e3)}),e[0]=n,e[1]=i);let l=i,d=o??n,c;e[2]===d?c=e[3]:(c=(0,a.jsx)("code",{className:"flex-1 select-all break-words",children:d}),e[2]=d,e[3]=c);let p;e[4]===s?p=e[5]:(p=s?(0,a.jsx)(ke,{size:14,strokeWidth:1.5}):(0,a.jsx)(Re,{size:14,strokeWidth:1.5}),e[4]=s,e[5]=p);let u;e[6]!==l||e[7]!==p?(u=(0,a.jsx)(q,{onClick:l,size:"xs",variant:"ghost",children:p}),e[6]=l,e[7]=p,e[8]=u):u=e[8];let h;e[9]!==s||e[10]!==u?(h=(0,a.jsx)(Ae,{content:"Copied!",open:s,children:u}),e[9]=s,e[10]=u,e[11]=h):h=e[11];let f;return e[12]!==c||e[13]!==h?(f=(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-muted px-3 py-2 font-mono text-xs",children:[c,h]}),e[12]=c,e[13]=h,e[14]=f):f=e[14],f},at=N(),ne="https://static.marimo.app";const Ya=t=>{let e=(0,at.c)(25),{onClose:n}=t,[o,s]=(0,A.useState)(""),{exportAsHTML:r}=U(),i=`${o}-${Math.random().toString(36).slice(2,6)}`,l=`${ne}/static/${i}`,d;e[0]!==r||e[1]!==n||e[2]!==i?(d=async g=>{g.preventDefault(),n();let z=await r({download:!1,includeCode:!0,files:ea.INSTANCE.filenames()}),v=D({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${ne}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:z,path:i})}).catch(()=>{v.dismiss(),D({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:S.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),v.dismiss(),D({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},e[0]=r,e[1]=n,e[2]=i,e[3]=d):d=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Be,{children:"Share static notebook"}),e[4]=c):c=e[4];let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsxs)(Ue,{children:[c,(0,a.jsxs)(Fe,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:ne,target:"_blank",children:ne}),"."]})]}),e[5]=p):p=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=g=>{s(g.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},e[6]=u):u=e[6];let h;e[7]===o?h=e[8]:(h=(0,a.jsx)(fa,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:u,required:!0,autoComplete:"off"}),e[7]=o,e[8]=h);let f;e[9]===l?f=e[10]:(f=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Fa,{text:l}),(0,a.jsx)("span",{className:"text-primary",children:l})]})]}),e[9]=l,e[10]=f);let x;e[11]!==h||e[12]!==f?(x=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[h,f]}),e[11]=h,e[12]=f,e[13]=x):x=e[13];let k;e[14]===n?k=e[15]:(k=(0,a.jsx)(q,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:n,children:"Cancel"}),e[14]=n,e[15]=k);let y;e[16]===l?y=e[17]:(y=(0,a.jsx)(q,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await B(l)},children:"Create"}),e[16]=l,e[17]=y);let b;e[18]!==k||e[19]!==y?(b=(0,a.jsxs)(Oe,{children:[k,y]}),e[18]=k,e[19]=y,e[20]=b):b=e[20];let w;return e[21]!==d||e[22]!==b||e[23]!==x?(w=(0,a.jsx)(Ye,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[p,x,b]})}),e[21]=d,e[22]=b,e[23]=x,e[24]=w):w=e[24],w};var Fa=t=>{let e=(0,at.c)(8),[n,o]=A.useState(!1),s;e[0]===t.text?s=e[1]:(s=Pe.stopPropagation(async c=>{c.preventDefault(),await B(t.text),o(!0),setTimeout(()=>o(!1),2e3)}),e[0]=t.text,e[1]=s);let r=s,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Re,{size:14,strokeWidth:1.5}),e[2]=i):i=e[2];let l;e[3]===r?l=e[4]:(l=(0,a.jsx)(q,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:i}),e[3]=r,e[4]=l);let d;return e[5]!==n||e[6]!==l?(d=(0,a.jsx)(Ae,{content:"Copied!",open:n,children:l}),e[5]=n,e[6]=l,e[7]=d):d=e[7],d},Va=N();function Ka(){let t=document.getElementsByClassName(Se.outputArea);for(let e of t){let n=e.getBoundingClientRect();if(n.bottom>0&&n.top<window.innerHeight){let o=ue.findElement(e);if(!o){H.warn("Could not find HTMLCellId for visible output area",e);continue}return{cellId:ue.parse(o.id)}}}return H.warn("No visible output area found for scroll anchor"),null}function Ga(t){if(!t){H.warn("No scroll anchor provided to restore scroll position");return}let e=document.getElementById(ue.create(t.cellId));if(!e){H.warn("Could not find cell element to restore scroll position",t.cellId);return}if(!e.querySelector(`.${Se.outputArea}`)){H.warn("Could not find output area to restore scroll position",t.cellId);return}e.scrollIntoView({block:"start",behavior:"auto"})}function ot(){let t=(0,Va.c)(2),e=R(_e),n;return t[0]===e?n=t[1]:(n=()=>{let o=Ka();e(s=>({mode:zt(s.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Ga(o)})})},t[0]=e,t[1]=n),n}const nt=mt(!1);var Ja=N();const Xa=()=>{let t=(0,Ja.c)(7),{selectedLayout:e}=Ee(),{setLayoutView:n}=Te();if(ae()&&!ut("wasm_layouts"))return null;let o;t[0]===n?o=t[1]:(o=l=>n(l),t[0]=n,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Yt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(qt,{placeholder:"Select a view"})}),t[2]=s):s=t[2];let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(Bt,{children:(0,a.jsxs)(Ot,{children:[(0,a.jsx)(Ht,{children:"View as"}),Je.map(Za)]})}),t[3]=r):r=t[3];let i;return t[4]!==e||t[5]!==o?(i=(0,a.jsxs)(Ft,{"data-testid":"layout-select",value:e,onValueChange:o,children:[s,r]}),t[4]=e,t[5]=o,t[6]=i):i=t[6],i};function Qa(t){return(0,a.jsx)(st(t),{className:"h-4 w-4"})}function st(t){switch(t){case"vertical":return Pa;case"grid":return ra;case"slides":return et;default:return Xt(t),ma}}function lt(t){return Ie.startCase(t)}function Za(t){return(0,a.jsx)(Ut,{value:t,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Qa(t),(0,a.jsx)("span",{children:lt(t)})]})},t)}async function eo(t){let{filename:e,preset:n,downloadPDF:o}=t;await o({filename:e,webpdf:!1,preset:n,includeInputs:!0,rasterServer:"static"})}var to=N();function ao(t){let e=(0,to.c)(5),{openPrompt:n,closeModal:o}=we(),{sendCopy:s}=U(),r;return e[0]!==o||e[1]!==n||e[2]!==s||e[3]!==t?(r=()=>{if(!t)return null;let i=ka.guessDeliminator(t);n({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${qe.basename(t)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:l=>{let d=i.join(qe.dirname(t),l);s({source:t,destination:d}).then(()=>{o(),D({title:"Notebook copied",description:"A copy of the notebook has been created."}),Ma(d)})}})},e[0]=o,e[1]=n,e[2]=s,e[3]=t,e[4]=r):r=e[4],r}const oo=()=>{let{updateCellConfig:t}=Me(),{saveCellConfig:e}=U();return(0,A.useCallback)(async()=>{let n=new kt,o=We(),s=o.cellIds.inOrderIds,r={};for(let l of s){if(o.cellData[l]===void 0)continue;let{code:d,config:c}=o.cellData[l];c.hide_code||n.isSupported(d)&&(r[l]={hide_code:!0})}let i=Ne.entries(r);if(i.length!==0){await e({configs:r});for(let[l,d]of i)t({cellId:l,config:d})}},[t])};var no=N();function it(){let t=(0,no.c)(4),{openConfirm:e}=we(),n=R(Dt),{sendRestart:o}=U(),s;return t[0]!==e||t[1]!==o||t[2]!==n?(s=()=>{e({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Tt,{onClick:async()=>{n({state:It.CLOSING}),await o(),ga()},"aria-label":"Confirm Restart",children:"Restart"})})},t[0]=e,t[1]=o,t[2]=n,t[3]=s):s=t[3],s}var so=N(),T=t=>{t==null||t.preventDefault(),t==null||t.stopPropagation()};function lo(){var ve,Ce;let t=(0,so.c)(51),e=va(),{openModal:n,closeModal:o}=we(),{toggleApplication:s}=bt(),{selectedPanel:r}=yt(),[i]=ht(_e),l=pe(Ct),d=oo(),[c]=St(),{updateCellConfig:p,undoDeleteCell:u,clearAllCellOutputs:h,addSetupCellIfDoesntExist:f,collapseAllCells:x,expandAllCells:k}=Me(),y=it(),b=ja(),w=ao(e),g=R(nt),z=R(_t),v=R(Nt),{exportAsIPYNB:M,exportAsMarkdown:W,readCode:_,saveCellConfig:le,updateCellOutputs:P}=U(),I=Wa(),ie=pe(wt),re=pe(Mt),{selectedLayout:Y}=Ee(),{setLayoutView:de}=Te(),F=ot(),V=((ve=c.sharing)==null?void 0:ve.html)??!0,K=((Ce=c.sharing)==null?void 0:Ce.wasm)??!0,ge=!ae(),ce=Y==="slides",rt=zo,dt=Co,G;t[0]!==e||t[1]!==I||t[2]!==P?(G=async m=>{let{preset:C,title:$}=m;if(!e){se();return}await De($,async me=>{await Ge({takeScreenshots:()=>I({progress:me}),updateCellOutputs:P}),await eo({filename:e,preset:C,downloadPDF:Kt})})},t[0]=e,t[1]=I,t[2]=P,t[3]=G):G=t[3];let L=G,J;t[4]===L?J=t[5]:(J=async()=>{if(ge){await L({preset:"document",title:"Downloading Document PDF..."});return}let m=new Event("export-beforeprint"),C=new Event("export-afterprint");window.dispatchEvent(m),setTimeout(vo,0),setTimeout(()=>window.dispatchEvent(C),0)},t[4]=L,t[5]=J);let X=J,Q;t[6]!==M||t[7]!==e||t[8]!==I||t[9]!==P?(Q=async()=>{if(!e){se();return}await De("Downloading IPYNB...",async m=>{await Ge({takeScreenshots:()=>I({progress:m}),updateCellOutputs:P});let C=await M({download:!1});be(new Blob([C],{type:"application/x-ipynb+json"}),ye.toIPYNB(document.title))})},t[6]=M,t[7]=e,t[8]=I,t[9]=P,t[10]=Q):Q=t[10];let he=Q,Z;t[11]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,a.jsx)(Vt,{size:14,strokeWidth:1.5}),t[11]=Z):Z=t[11];let ee;t[12]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,a.jsx)(Le,{size:14,strokeWidth:1.5}),t[12]=ee):ee=t[12];let E;t[13]===e?E=t[14]:(E=async()=>{if(!e){se();return}await $e({filename:e,includeCode:!0})},t[13]=e,t[14]=E);let te;return t[15]!==f||t[16]!==re||t[17]!==h||t[18]!==o||t[19]!==x||t[20]!==w||t[21]!==L||t[22]!==k||t[23]!==W||t[24]!==e||t[25]!==X||t[26]!==he||t[27]!==ie||t[28]!==d||t[29]!==ce||t[30]!==l||t[31]!==n||t[32]!==_||t[33]!==y||t[34]!==b||t[35]!==le||t[36]!==Y||t[37]!==r||t[38]!==g||t[39]!==v||t[40]!==de||t[41]!==z||t[42]!==V||t[43]!==K||t[44]!==E||t[45]!==s||t[46]!==F||t[47]!==u||t[48]!==p||t[49]!==i.mode?(te=[{icon:Z,label:"Download",handle:T,dropdown:[{icon:ee,label:"Download as HTML",handle:E},{icon:(0,a.jsx)(Le,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!e){se();return}await $e({filename:e,includeCode:!1})}},{icon:(0,a.jsx)(za,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let m=await W({download:!1});be(new Blob([m],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(Ia,{size:14,strokeWidth:1.5}),label:"Download as ipynb",handle:he},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let m=await _();be(new Blob([m.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(pa,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Ca("global.hideCode",!1)]}),handle:go},ce?{divider:!0,icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:T,dropdown:[{icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Document Layout",handle:X},{icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Slides Layout",rightElement:dt(!0),hidden:!ge,handle:async()=>{await L({preset:"slides",title:"Downloading Slides PDF..."})}}]}:{divider:!0,icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:X}]},{icon:(0,a.jsx)(ya,{size:14,strokeWidth:1.5}),label:"Pair with an agent",hidden:ae(),handle:async()=>{n((0,a.jsx)(Oa,{onClose:o}))}},{icon:(0,a.jsx)(Ea,{size:14,strokeWidth:1.5}),label:"Share",handle:T,hidden:!V&&!K,dropdown:[{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!V,handle:async()=>{n((0,a.jsx)(Ya,{onClose:o}))}},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!K,handle:async()=>{await B(Ve({code:(await _()).contents})),D({title:"Copied",description:"Link copied to clipboard."})}},{icon:(0,a.jsx)(Ke,{size:14,strokeWidth:1.5}),label:"Create molab notebook",handle:async()=>{let m=Ve({code:(await _()).contents,baseUrl:`${S.molab}/new`});window.open(m,"_blank")}}]},{icon:(0,a.jsx)(La,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:T,dropdown:xt.flatMap(m=>{let{type:C,Icon:$,hidden:me,additionalKeywords:ct}=m;return me?[]:{label:Ie.startCase(C),rightElement:rt(r===C),icon:(0,a.jsx)($,{size:14,strokeWidth:1.5}),handle:()=>s(C),additionalKeywords:ct}})},{icon:(0,a.jsx)(et,{size:14,strokeWidth:1.5}),label:"Present as",handle:T,dropdown:[{icon:i.mode==="present"?(0,a.jsx)(ba,{size:14,strokeWidth:1.5}):(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{F()}},...Je.map((m,C)=>{let $=st(m);return{divider:C===0,label:lt(m),icon:(0,a.jsx)($,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:Y===m&&(0,a.jsx)(ke,{size:14})}),handle:()=>{de(m),i.mode==="edit"&&F()}}})]},{icon:(0,a.jsx)(Da,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!e||ae(),handle:w},{icon:(0,a.jsx)(Xe,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!e,handle:async()=>{await B((await _()).contents),D({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(aa,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!ie||l,handle:async()=>{let m=ft(We());await le({configs:Ne.fromEntries(m.map(jo))});for(let C of m)p({cellId:C,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Ze,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{f({})}},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{n((0,a.jsx)(He,{onClose:o}))}},{icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Add remote storage",handle:()=>{n((0,a.jsx)(He,{defaultTab:"storage",onClose:o}))}},{icon:(0,a.jsx)(tt,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!re||l,handle:()=>{u()}},{icon:(0,a.jsx)(Ta,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:y,additionalKeywords:["reset","reload","restart"]},{icon:(0,a.jsx)(Sa,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{h()}},{icon:(0,a.jsx)(na,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(Na,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:x,redundant:!0},{icon:(0,a.jsx)(_a,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:k,redundant:!0},{divider:!0,icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>g(wo)},{icon:(0,a.jsx)(Aa,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>v(ko)},{icon:(0,a.jsx)(xa,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>z(bo),redundant:!0,additionalKeywords:["preferences","options","configuration"]},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"Resources",handle:T,dropdown:[{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"Documentation",handle:yo},{icon:(0,a.jsx)(sa,{size:14,strokeWidth:1.5}),label:"GitHub",handle:xo},{icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:fo},{icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),label:"YouTube",handle:uo},{icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"Changelog",handle:po}]},{divider:!0,icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:mo},{icon:(0,a.jsx)(Ke,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:ho}].filter(co).map(io),t[15]=f,t[16]=re,t[17]=h,t[18]=o,t[19]=x,t[20]=w,t[21]=L,t[22]=k,t[23]=W,t[24]=e,t[25]=X,t[26]=he,t[27]=ie,t[28]=d,t[29]=ce,t[30]=l,t[31]=n,t[32]=_,t[33]=y,t[34]=b,t[35]=le,t[36]=Y,t[37]=r,t[38]=g,t[39]=v,t[40]=de,t[41]=z,t[42]=V,t[43]=K,t[44]=E,t[45]=s,t[46]=F,t[47]=u,t[48]=p,t[49]=i.mode,t[50]=te):te=t[50],te}function io(t){return t.dropdown?{...t,dropdown:t.dropdown.filter(ro)}:t}function ro(t){return!t.hidden}function co(t){return!t.hidden}function ho(){let t=wa();window.open(t,"_blank")}function mo(){let t=document.baseURI.split("?")[0];window.open(t,"_self")}function po(){window.open(S.releasesPage,"_blank")}function uo(){window.open(S.youtube,"_blank")}function fo(){window.open(S.discordLink,"_blank")}function xo(){window.open(S.githubPage,"_blank")}function yo(){window.open(S.docsPage,"_blank")}function bo(t){return!t}function ko(t){return!t}function wo(t){return!t}function jo(t){return[t,{disabled:!1}]}async function go(){let t=document.getElementById("App");t&&await Gt({element:t,filename:document.title,prepare:Jt})}function vo(){return window.print()}function Co(t){return t?(0,a.jsx)("span",{className:"ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700",children:"Recommended"}):null}function zo(t){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:t&&(0,a.jsx)(ke,{size:14})})}function se(){D({title:"Error",description:"Notebooks must be named to be exported.",variant:"danger"})}export{ot as a,Qe as c,nt as i,Xe as l,it as n,tt as o,Xa as r,Ze as s,lo as t};
1
+ import{s as ze}from"./chunk-LvLJmgfZ.js";import{d as R,l as ht,p as mt,u as pe}from"./useEvent-D91BmmQi.js";import{t as pt}from"./react-Bj1aDYRI.js";import{An as ut,Br as ft,Di as ue,Dn as xt,E as Me,En as yt,Tn as bt,Yt as kt,_ as wt,br as jt,fr as gt,h as We,hr as vt,lt as _e,ot as Ct,st as zt,t as Mt,ur as Wt}from"./cells-A-ljPpuj.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{n as _t,x as Nt}from"./ai-model-dropdown-By4Ohb0R.js";import{_ as H,d as Ne}from"./useEventListener-BR0C1MaI.js";import{y as St}from"./utils-DIGrmLDO.js";import{n as S,t as Se}from"./constants-DMpttj8Q.js";import{S as ae,h as Dt,n as At,o as Pt,x as It}from"./config-ChCHm539.js";import{n as Lt}from"./switch-DlgpDZMk.js";import{t as Et}from"./jsx-runtime-BqBOg78p.js";import{o as Tt}from"./alert-dialog-BGBdrcqJ.js";import{a as $t,c as fe,o as xe,s as Rt}from"./popover-UExmgBsf.js";import{a as Ht,c as qt,i as Ut,n as Bt,r as Ot,s as Yt,t as Ft}from"./select-5i7URBEn.js";import{bt as Vt}from"./JsonOutput-CsshJCMI.js";import{c as De,d as ye,n as Kt,o as Gt,r as be,t as Jt}from"./download-Iyng0xCz.js";import{t as Ae}from"./tooltip-Gcwqb_SK.js";import{r as Pe,t as q}from"./button-D9nb17Rw.js";import{i as Xt,r as Qt,t as Ie}from"./strings-md4mFbOQ.js";import{r as U}from"./requests-DIwGYs0l.js";import{t as j}from"./createLucideIcon-D5guW7EU.js";import{A as Le,a as Ee,i as Te,j as Zt,k as ea,u as $e}from"./layout-DXt0aA4F.js";import{t as ke}from"./check-BH35Ndha.js";import{n as ta}from"./maps-C48Oksn0.js";import{r as aa}from"./useCellActionButton-Bjxun3wK.js";import{o as oa}from"./slide-form-Dmi4fzLs.js";import{t as Re}from"./copy-Dk_3y0H-.js";import{t as na}from"./eye-off-BT-KOYV5.js";import{t as oe}from"./file-HTLbeC2b.js";import{t as sa}from"./github-raQvpeuZ.js";import{u as la}from"./form-0wZOuqB-.js";import{n as ia,r as ra,t as da}from"./youtube-3lRHw8NU.js";import{i as ca,n as He}from"./add-connection-dialog-BY0poJft.js";import{n as ha,t as ma}from"./square-Dj2Cf4ne.js";import{t as pa}from"./image-DQHXdEQn.js";import{t as ua}from"./link-CfEtM3Rl.js";import{r as fa}from"./input-DyPS_GiK.js";import{t as xa}from"./settings-DfFe0dWD.js";import{t as ya}from"./sparkles-CZ5WmLPA.js";import{y as ba}from"./textarea-Dd0InTQJ.js";import{t as D}from"./use-toast-BDYuj3zG.js";import{n as qe,t as ka}from"./paths-CXng2XQv.js";import{o as wa}from"./session-nmTRerwF.js";import{n as B}from"./copy-B5qyZn5s.js";import{r as ja}from"./useRunCells-DU1tawR-.js";import{a as Ue,c as Be,i as Oe,n as Ye,r as Fe}from"./dialog-EekxpBBM.js";import{n as we}from"./ImperativeModal-BBqcKmmk.js";import{r as ga,t as Ve}from"./share-BXN2Sd1t.js";import{a as va}from"./cell-link-d38hFEon.js";import{a as Ca}from"./renderShortcut-CkNNAheg.js";import{t as za}from"./icons-BRopQwI3.js";import{n as Ke}from"./marimo-icons-BSB-Z_W3.js";import{t as Ma}from"./links-BHtUMVOq.js";import{r as Wa,t as Ge}from"./hooks-BZOcKMEB.js";import{t as Je}from"./types-z6Sk3JCV.js";var _a=j("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),Na=j("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),Xe=j("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Qe=j("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Ze=j("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),Sa=j("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),Da=j("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),Aa=j("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Pa=j("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),Ia=j("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),La=j("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),et=j("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),Ea=j("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),Ta=j("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),tt=j("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),je=N(),A=ze(pt(),1),a=ze(Et(),1);function $a(){return"uvx marimo@latest"}function Ra(t,e,n){let o=n?" --with-token":"",s=`${$a()} pair prompt --url '${e}'${o}`;switch(t){case"claude":return`claude "$(${s} --claude)"`;case"codex":return`codex "$(${s} --codex)"`;case"opencode":return`opencode --prompt "$(${s} --opencode)"`;default:Qt(t)}}function Ha(t){return t.length<=4?"****":`${"*".repeat(Math.min(t.length-4,8))}${t.slice(-4)}`}var qa="npx skills add marimo-team/marimo-pair";function Ua(){let t=(0,je.c)(2),[e,n]=(0,A.useState)(null),o,s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{fetch(At("/auth/token").href,{headers:Lt.headers()}).then(Ba).then(r=>n((r==null?void 0:r.token)??null)).catch(()=>n(null))},s=[],t[0]=o,t[1]=s):(o=t[0],s=t[1]),(0,A.useEffect)(o,s),e}function Ba(t){return t.ok?t.json():null}const Oa=t=>{let e=(0,je.c)(32),{onClose:n}=t,[o,s]=(0,A.useState)("claude"),r=Pt(),i=Ua(),l=!!i,d;e[0]!==o||e[1]!==l||e[2]!==r.httpURL?(d=Ra(o,r.httpURL.toString(),l),e[0]=o,e[1]=l,e[2]=r.httpURL,e[3]=d):d=e[3];let c=d,p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Be,{children:"Pair with an agent"}),e[4]=p):p=e[4];let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsxs)(Ue,{children:[p,(0,a.jsxs)(Fe,{children:["Use an AI coding agent to pair-program on this notebook."," ",(0,a.jsx)("a",{href:"https://links.marimo.app/marimo-pair",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Learn more"}),"."]})]}),e[5]=u):u=e[5];let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"1. Install the skill"}),(0,a.jsx)(O,{command:qa})]}),e[6]=h):h=e[6];let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,a.jsx)("span",{className:"text-sm font-medium",children:"2. Run in your terminal"}),e[7]=f):f=e[7];let x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x=_=>s(_),e[8]=x):x=e[8];let k;e[9]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsxs)(Rt,{className:"w-full",children:[(0,a.jsx)(fe,{value:"claude",className:"flex-1",children:"Claude"}),(0,a.jsx)(fe,{value:"codex",className:"flex-1",children:"Codex"}),(0,a.jsx)(fe,{value:"opencode",className:"flex-1",children:"OpenCode"})]}),e[9]=k):k=e[9];let y;e[10]===c?y=e[11]:(y=(0,a.jsx)(xe,{value:"claude",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[10]=c,e[11]=y);let b;e[12]===c?b=e[13]:(b=(0,a.jsx)(xe,{value:"codex",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[12]=c,e[13]=b);let w;e[14]===c?w=e[15]:(w=(0,a.jsx)(xe,{value:"opencode",className:"mt-3",children:(0,a.jsx)(O,{command:c})}),e[14]=c,e[15]=w);let g;e[16]!==o||e[17]!==w||e[18]!==y||e[19]!==b?(g=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,(0,a.jsxs)($t,{value:o,onValueChange:x,children:[k,y,b,w]})]}),e[16]=o,e[17]=w,e[18]=y,e[19]=b,e[20]=g):g=e[20];let z;e[21]!==i||e[22]!==l?(z=l&&i&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:"3. Paste when prompted for token"}),(0,a.jsx)(O,{command:i,display:Ha(i)})]}),e[21]=i,e[22]=l,e[23]=z):z=e[23];let v;e[24]!==g||e[25]!==z?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[h,g,z]}),e[24]=g,e[25]=z,e[26]=v):v=e[26];let M;e[27]===n?M=e[28]:(M=(0,a.jsx)(Oe,{children:(0,a.jsx)(q,{variant:"secondary",onClick:n,children:"Close"})}),e[27]=n,e[28]=M);let W;return e[29]!==v||e[30]!==M?(W=(0,a.jsxs)(Ye,{className:"sm:max-w-lg",children:[u,v,M]}),e[29]=v,e[30]=M,e[31]=W):W=e[31],W};var O=t=>{let e=(0,je.c)(15),{command:n,display:o}=t,[s,r]=(0,A.useState)(!1),i;e[0]===n?i=e[1]:(i=Pe.stopPropagation(async x=>{x.preventDefault(),await B(n),r(!0),setTimeout(()=>r(!1),2e3)}),e[0]=n,e[1]=i);let l=i,d=o??n,c;e[2]===d?c=e[3]:(c=(0,a.jsx)("code",{className:"flex-1 select-all break-words",children:d}),e[2]=d,e[3]=c);let p;e[4]===s?p=e[5]:(p=s?(0,a.jsx)(ke,{size:14,strokeWidth:1.5}):(0,a.jsx)(Re,{size:14,strokeWidth:1.5}),e[4]=s,e[5]=p);let u;e[6]!==l||e[7]!==p?(u=(0,a.jsx)(q,{onClick:l,size:"xs",variant:"ghost",children:p}),e[6]=l,e[7]=p,e[8]=u):u=e[8];let h;e[9]!==s||e[10]!==u?(h=(0,a.jsx)(Ae,{content:"Copied!",open:s,children:u}),e[9]=s,e[10]=u,e[11]=h):h=e[11];let f;return e[12]!==c||e[13]!==h?(f=(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-muted px-3 py-2 font-mono text-xs",children:[c,h]}),e[12]=c,e[13]=h,e[14]=f):f=e[14],f},at=N(),ne="https://static.marimo.app";const Ya=t=>{let e=(0,at.c)(25),{onClose:n}=t,[o,s]=(0,A.useState)(""),{exportAsHTML:r}=U(),i=`${o}-${Math.random().toString(36).slice(2,6)}`,l=`${ne}/static/${i}`,d;e[0]!==r||e[1]!==n||e[2]!==i?(d=async g=>{g.preventDefault(),n();let z=await r({download:!1,includeCode:!0,files:ea.INSTANCE.filenames()}),v=D({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${ne}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:z,path:i})}).catch(()=>{v.dismiss(),D({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:S.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),v.dismiss(),D({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},e[0]=r,e[1]=n,e[2]=i,e[3]=d):d=e[3];let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Be,{children:"Share static notebook"}),e[4]=c):c=e[4];let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsxs)(Ue,{children:[c,(0,a.jsxs)(Fe,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:ne,target:"_blank",children:ne}),"."]})]}),e[5]=p):p=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=g=>{s(g.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},e[6]=u):u=e[6];let h;e[7]===o?h=e[8]:(h=(0,a.jsx)(fa,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:u,required:!0,autoComplete:"off"}),e[7]=o,e[8]=h);let f;e[9]===l?f=e[10]:(f=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Fa,{text:l}),(0,a.jsx)("span",{className:"text-primary",children:l})]})]}),e[9]=l,e[10]=f);let x;e[11]!==h||e[12]!==f?(x=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[h,f]}),e[11]=h,e[12]=f,e[13]=x):x=e[13];let k;e[14]===n?k=e[15]:(k=(0,a.jsx)(q,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:n,children:"Cancel"}),e[14]=n,e[15]=k);let y;e[16]===l?y=e[17]:(y=(0,a.jsx)(q,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await B(l)},children:"Create"}),e[16]=l,e[17]=y);let b;e[18]!==k||e[19]!==y?(b=(0,a.jsxs)(Oe,{children:[k,y]}),e[18]=k,e[19]=y,e[20]=b):b=e[20];let w;return e[21]!==d||e[22]!==b||e[23]!==x?(w=(0,a.jsx)(Ye,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[p,x,b]})}),e[21]=d,e[22]=b,e[23]=x,e[24]=w):w=e[24],w};var Fa=t=>{let e=(0,at.c)(8),[n,o]=A.useState(!1),s;e[0]===t.text?s=e[1]:(s=Pe.stopPropagation(async c=>{c.preventDefault(),await B(t.text),o(!0),setTimeout(()=>o(!1),2e3)}),e[0]=t.text,e[1]=s);let r=s,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Re,{size:14,strokeWidth:1.5}),e[2]=i):i=e[2];let l;e[3]===r?l=e[4]:(l=(0,a.jsx)(q,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:i}),e[3]=r,e[4]=l);let d;return e[5]!==n||e[6]!==l?(d=(0,a.jsx)(Ae,{content:"Copied!",open:n,children:l}),e[5]=n,e[6]=l,e[7]=d):d=e[7],d},Va=N();function Ka(){let t=document.getElementsByClassName(Se.outputArea);for(let e of t){let n=e.getBoundingClientRect();if(n.bottom>0&&n.top<window.innerHeight){let o=ue.findElement(e);if(!o){H.warn("Could not find HTMLCellId for visible output area",e);continue}return{cellId:ue.parse(o.id)}}}return H.warn("No visible output area found for scroll anchor"),null}function Ga(t){if(!t){H.warn("No scroll anchor provided to restore scroll position");return}let e=document.getElementById(ue.create(t.cellId));if(!e){H.warn("Could not find cell element to restore scroll position",t.cellId);return}if(!e.querySelector(`.${Se.outputArea}`)){H.warn("Could not find output area to restore scroll position",t.cellId);return}e.scrollIntoView({block:"start",behavior:"auto"})}function ot(){let t=(0,Va.c)(2),e=R(_e),n;return t[0]===e?n=t[1]:(n=()=>{let o=Ka();e(s=>({mode:zt(s.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{Ga(o)})})},t[0]=e,t[1]=n),n}const nt=mt(!1);var Ja=N();const Xa=()=>{let t=(0,Ja.c)(7),{selectedLayout:e}=Ee(),{setLayoutView:n}=Te();if(ae()&&!ut("wasm_layouts"))return null;let o;t[0]===n?o=t[1]:(o=l=>n(l),t[0]=n,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Yt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(qt,{placeholder:"Select a view"})}),t[2]=s):s=t[2];let r;t[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(Bt,{children:(0,a.jsxs)(Ot,{children:[(0,a.jsx)(Ht,{children:"View as"}),Je.map(Za)]})}),t[3]=r):r=t[3];let i;return t[4]!==e||t[5]!==o?(i=(0,a.jsxs)(Ft,{"data-testid":"layout-select",value:e,onValueChange:o,children:[s,r]}),t[4]=e,t[5]=o,t[6]=i):i=t[6],i};function Qa(t){return(0,a.jsx)(st(t),{className:"h-4 w-4"})}function st(t){switch(t){case"vertical":return Pa;case"grid":return ra;case"slides":return et;default:return Xt(t),ma}}function lt(t){return Ie.startCase(t)}function Za(t){return(0,a.jsx)(Ut,{value:t,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Qa(t),(0,a.jsx)("span",{children:lt(t)})]})},t)}async function eo(t){let{filename:e,preset:n,downloadPDF:o}=t;await o({filename:e,webpdf:!1,preset:n,includeInputs:!0,rasterServer:"static"})}var to=N();function ao(t){let e=(0,to.c)(5),{openPrompt:n,closeModal:o}=we(),{sendCopy:s}=U(),r;return e[0]!==o||e[1]!==n||e[2]!==s||e[3]!==t?(r=()=>{if(!t)return null;let i=ka.guessDeliminator(t);n({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${qe.basename(t)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:l=>{let d=i.join(qe.dirname(t),l);s({source:t,destination:d}).then(()=>{o(),D({title:"Notebook copied",description:"A copy of the notebook has been created."}),Ma(d)})}})},e[0]=o,e[1]=n,e[2]=s,e[3]=t,e[4]=r):r=e[4],r}const oo=()=>{let{updateCellConfig:t}=Me(),{saveCellConfig:e}=U();return(0,A.useCallback)(async()=>{let n=new kt,o=We(),s=o.cellIds.inOrderIds,r={};for(let l of s){if(o.cellData[l]===void 0)continue;let{code:d,config:c}=o.cellData[l];c.hide_code||n.isSupported(d)&&(r[l]={hide_code:!0})}let i=Ne.entries(r);if(i.length!==0){await e({configs:r});for(let[l,d]of i)t({cellId:l,config:d})}},[t])};var no=N();function it(){let t=(0,no.c)(4),{openConfirm:e}=we(),n=R(Dt),{sendRestart:o}=U(),s;return t[0]!==e||t[1]!==o||t[2]!==n?(s=()=>{e({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Tt,{onClick:async()=>{n({state:It.CLOSING}),await o(),ga()},"aria-label":"Confirm Restart",children:"Restart"})})},t[0]=e,t[1]=o,t[2]=n,t[3]=s):s=t[3],s}var so=N(),T=t=>{t==null||t.preventDefault(),t==null||t.stopPropagation()};function lo(){var ve,Ce;let t=(0,so.c)(51),e=va(),{openModal:n,closeModal:o}=we(),{toggleApplication:s}=bt(),{selectedPanel:r}=yt(),[i]=ht(_e),l=pe(Ct),d=oo(),[c]=St(),{updateCellConfig:p,undoDeleteCell:u,clearAllCellOutputs:h,addSetupCellIfDoesntExist:f,collapseAllCells:x,expandAllCells:k}=Me(),y=it(),b=ja(),w=ao(e),g=R(nt),z=R(_t),v=R(Nt),{exportAsIPYNB:M,exportAsMarkdown:W,readCode:_,saveCellConfig:le,updateCellOutputs:P}=U(),I=Wa(),ie=pe(wt),re=pe(Mt),{selectedLayout:Y}=Ee(),{setLayoutView:de}=Te(),F=ot(),V=((ve=c.sharing)==null?void 0:ve.html)??!0,K=((Ce=c.sharing)==null?void 0:Ce.wasm)??!0,ge=!ae(),ce=Y==="slides",rt=zo,dt=Co,G;t[0]!==e||t[1]!==I||t[2]!==P?(G=async m=>{let{preset:C,title:$}=m;if(!e){se();return}await De($,async me=>{await Ge({takeScreenshots:()=>I({progress:me}),updateCellOutputs:P}),await eo({filename:e,preset:C,downloadPDF:Kt})})},t[0]=e,t[1]=I,t[2]=P,t[3]=G):G=t[3];let L=G,J;t[4]===L?J=t[5]:(J=async()=>{if(ge){await L({preset:"document",title:"Downloading Document PDF..."});return}let m=new Event("export-beforeprint"),C=new Event("export-afterprint");window.dispatchEvent(m),setTimeout(vo,0),setTimeout(()=>window.dispatchEvent(C),0)},t[4]=L,t[5]=J);let X=J,Q;t[6]!==M||t[7]!==e||t[8]!==I||t[9]!==P?(Q=async()=>{if(!e){se();return}await De("Downloading IPYNB...",async m=>{await Ge({takeScreenshots:()=>I({progress:m}),updateCellOutputs:P});let C=await M({download:!1});be(new Blob([C],{type:"application/x-ipynb+json"}),ye.toIPYNB(document.title))})},t[6]=M,t[7]=e,t[8]=I,t[9]=P,t[10]=Q):Q=t[10];let he=Q,Z;t[11]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,a.jsx)(Vt,{size:14,strokeWidth:1.5}),t[11]=Z):Z=t[11];let ee;t[12]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,a.jsx)(Le,{size:14,strokeWidth:1.5}),t[12]=ee):ee=t[12];let E;t[13]===e?E=t[14]:(E=async()=>{if(!e){se();return}await $e({filename:e,includeCode:!0})},t[13]=e,t[14]=E);let te;return t[15]!==f||t[16]!==re||t[17]!==h||t[18]!==o||t[19]!==x||t[20]!==w||t[21]!==L||t[22]!==k||t[23]!==W||t[24]!==e||t[25]!==X||t[26]!==he||t[27]!==ie||t[28]!==d||t[29]!==ce||t[30]!==l||t[31]!==n||t[32]!==_||t[33]!==y||t[34]!==b||t[35]!==le||t[36]!==Y||t[37]!==r||t[38]!==g||t[39]!==v||t[40]!==de||t[41]!==z||t[42]!==V||t[43]!==K||t[44]!==E||t[45]!==s||t[46]!==F||t[47]!==u||t[48]!==p||t[49]!==i.mode?(te=[{icon:Z,label:"Download",handle:T,dropdown:[{icon:ee,label:"Download as HTML",handle:E},{icon:(0,a.jsx)(Le,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!e){se();return}await $e({filename:e,includeCode:!1})}},{icon:(0,a.jsx)(za,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let m=await W({download:!1});be(new Blob([m],{type:"text/plain"}),ye.toMarkdown(document.title))}},{icon:(0,a.jsx)(Ia,{size:14,strokeWidth:1.5}),label:"Download as ipynb",handle:he},{icon:(0,a.jsx)(Zt,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let m=await _();be(new Blob([m.contents],{type:"text/plain"}),ye.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(pa,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Ca("global.hideCode",!1)]}),handle:go},ce?{divider:!0,icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:T,dropdown:[{icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Document Layout",handle:X},{icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Slides Layout",rightElement:dt(!0),hidden:!ge,handle:async()=>{await L({preset:"slides",title:"Downloading Slides PDF..."})}}]}:{divider:!0,icon:(0,a.jsx)(oe,{size:14,strokeWidth:1.5}),label:"Download as PDF",handle:X}]},{icon:(0,a.jsx)(ya,{size:14,strokeWidth:1.5}),label:"Pair with an agent",hidden:ae(),handle:async()=>{n((0,a.jsx)(Oa,{onClose:o}))}},{icon:(0,a.jsx)(Ea,{size:14,strokeWidth:1.5}),label:"Share",handle:T,hidden:!V&&!K,dropdown:[{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!V,handle:async()=>{n((0,a.jsx)(Ya,{onClose:o}))}},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!K,handle:async()=>{await B(Ve({code:(await _()).contents})),D({title:"Copied",description:"Link copied to clipboard."})}},{icon:(0,a.jsx)(Ke,{size:14,strokeWidth:1.5}),label:"Create molab notebook",handle:async()=>{let m=Ve({code:(await _()).contents,baseUrl:`${S.molab}/new`});window.open(m,"_blank")}}]},{icon:(0,a.jsx)(La,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:T,dropdown:xt.flatMap(m=>{let{type:C,Icon:$,hidden:me,additionalKeywords:ct}=m;return me?[]:{label:Ie.startCase(C),rightElement:rt(r===C),icon:(0,a.jsx)($,{size:14,strokeWidth:1.5}),handle:()=>s(C),additionalKeywords:ct}})},{icon:(0,a.jsx)(et,{size:14,strokeWidth:1.5}),label:"Present as",handle:T,dropdown:[{icon:i.mode==="present"?(0,a.jsx)(ba,{size:14,strokeWidth:1.5}):(0,a.jsx)(oa,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{F()}},...Je.map((m,C)=>{let $=st(m);return{divider:C===0,label:lt(m),icon:(0,a.jsx)($,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:Y===m&&(0,a.jsx)(ke,{size:14})}),handle:()=>{de(m),i.mode==="edit"&&F()}}})]},{icon:(0,a.jsx)(Da,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!e||ae(),handle:w},{icon:(0,a.jsx)(Xe,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!e,handle:async()=>{await B((await _()).contents),D({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(aa,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!ie||l,handle:async()=>{let m=ft(We());await le({configs:Ne.fromEntries(m.map(jo))});for(let C of m)p({cellId:C,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Ze,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{f({})}},{icon:(0,a.jsx)(gt,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{n((0,a.jsx)(He,{onClose:o}))}},{icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Add remote storage",handle:()=>{n((0,a.jsx)(He,{defaultTab:"storage",onClose:o}))}},{icon:(0,a.jsx)(tt,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!re||l,handle:()=>{u()}},{icon:(0,a.jsx)(Ta,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:y,additionalKeywords:["reset","reload","restart"]},{icon:(0,a.jsx)(Sa,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{h()}},{icon:(0,a.jsx)(na,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(Na,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:x,redundant:!0},{icon:(0,a.jsx)(_a,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:k,redundant:!0},{divider:!0,icon:(0,a.jsx)(Qe,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>g(wo)},{icon:(0,a.jsx)(Aa,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>v(ko)},{icon:(0,a.jsx)(xa,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>z(bo),redundant:!0,additionalKeywords:["preferences","options","configuration"]},{icon:(0,a.jsx)(ta,{size:14,strokeWidth:1.5}),label:"Resources",handle:T,dropdown:[{icon:(0,a.jsx)(jt,{size:14,strokeWidth:1.5}),label:"Documentation",handle:yo},{icon:(0,a.jsx)(sa,{size:14,strokeWidth:1.5}),label:"GitHub",handle:xo},{icon:(0,a.jsx)(ia,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:fo},{icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),label:"YouTube",handle:uo},{icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"Changelog",handle:po}]},{divider:!0,icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:mo},{icon:(0,a.jsx)(Ke,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:ho}].filter(co).map(io),t[15]=f,t[16]=re,t[17]=h,t[18]=o,t[19]=x,t[20]=w,t[21]=L,t[22]=k,t[23]=W,t[24]=e,t[25]=X,t[26]=he,t[27]=ie,t[28]=d,t[29]=ce,t[30]=l,t[31]=n,t[32]=_,t[33]=y,t[34]=b,t[35]=le,t[36]=Y,t[37]=r,t[38]=g,t[39]=v,t[40]=de,t[41]=z,t[42]=V,t[43]=K,t[44]=E,t[45]=s,t[46]=F,t[47]=u,t[48]=p,t[49]=i.mode,t[50]=te):te=t[50],te}function io(t){return t.dropdown?{...t,dropdown:t.dropdown.filter(ro)}:t}function ro(t){return!t.hidden}function co(t){return!t.hidden}function ho(){let t=wa();window.open(t,"_blank")}function mo(){let t=document.baseURI.split("?")[0];window.open(t,"_self")}function po(){window.open(S.releasesPage,"_blank")}function uo(){window.open(S.youtube,"_blank")}function fo(){window.open(S.discordLink,"_blank")}function xo(){window.open(S.githubPage,"_blank")}function yo(){window.open(S.docsPage,"_blank")}function bo(t){return!t}function ko(t){return!t}function wo(t){return!t}function jo(t){return[t,{disabled:!1}]}async function go(){let t=document.getElementById("App");t&&await Gt({element:t,filename:document.title,prepare:Jt})}function vo(){return window.print()}function Co(t){return t?(0,a.jsx)("span",{className:"ml-3 shrink-0 rounded-full border border-emerald-200 bg-emerald-50 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-emerald-700",children:"Recommended"}):null}function zo(t){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:t&&(0,a.jsx)(ke,{size:14})})}function se(){D({title:"Error",description:"Notebooks must be named to be exported.",variant:"danger"})}export{ot as a,Qe as c,nt as i,Xe as l,it as n,tt as o,Xa as r,Ze as s,lo as t};
@@ -1 +1 @@
1
- import{s as z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-D91BmmQi.js";import{t as Y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{t as et}from"./debounce-DhnxH9Rh.js";import{_,d as T}from"./useEventListener-BR0C1MaI.js";import{n as V}from"./config-ChCHm539.js";import{t as nt}from"./cn-DCUzRj2J.js";import{t as rt}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{t as at}from"./tooltip-Gcwqb_SK.js";import{r as it}from"./button-D9nb17Rw.js";import{d as N}from"./arrays-DYDL-3-i.js";import{u as ot}from"./toDate-B5A0DFEz.js";import"./session-nmTRerwF.js";import{r as lt}from"./useTheme-DEcgJENn.js";import{t as ct}from"./isValid-bmSEa3HX.js";import{a as st,r as mt,t as pt}from"./utils-Bq5kLQ87.js";import{n as ut}from"./vega-loader.browser-DXARUlxo.js";import{t as ft}from"./react-vega-Dprex0g5.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{r as dt,t as ht}from"./alert-cDholnQq.js";import{n as gt}from"./error-banner-CTBwdcdk.js";import{n as yt}from"./useAsyncData-dS4Ne6pU.js";import{t as vt}from"./formats-BvyJSIqk.js";import{t as H}from"./useDeepCompareMemoize-D0WTlCXt.js";var kt=tt(),S=z(Y(),1);function bt(t){return t.data&&"url"in t.data&&(t.data.url=V(t.data.url).href),t}const u={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var F=new Set(["boxplot","errorband","errorbar"]);const x={getMarkType(t){let e=typeof t=="string"?t:t.type;if(F.has(e))throw Error("Not supported");return e},isInteractive(t){let e=typeof t=="string"?t:t.type;return!F.has(e)},makeClickable(t){let e=typeof t=="string"?t:t.type;return e in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:e,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(e=>e.startsWith("select_point"))},hasInterval(t){return t.some(e=>e.startsWith("select_interval"))},hasLegend(t){return t.some(e=>e.startsWith("legend_selection"))},hasPanZoom(t){return t.some(e=>e.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},j={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,e){return{name:y.interval(e),select:{type:"interval",encodings:W(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,e){return{name:y.point(e),select:{type:"point",encodings:W(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function W(t){switch(x.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let e=wt(t);return e==="horizontal"?["y"]:e==="vertical"?["x"]:void 0}case u.circle:case u.geoshape:case u.line:case u.point:case u.rect:case u.rule:case u.square:case u.text:case u.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(e=>e==null?!1:"select"in e&&e.select!==void 0).map(e=>e.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function wt(t){var a,r;if(!t||!("mark"in t))return;let e=(a=t.encoding)==null?void 0:a.x,n=(r=t.encoding)==null?void 0:r.y;if(e&&"type"in e&&e.type==="nominal")return"vertical";if(n&&"type"in n&&n.type==="nominal"||e&&"aggregate"in e)return"horizontal";if(n&&"aggregate"in n)return"vertical"}function St(t){if(!t.encoding)return[];let e=[];for(let n of Object.values(t.encoding))n&&typeof n=="object"&&"bin"in n&&n.bin&&"field"in n&&typeof n.field=="string"&&e.push(n.field);return e}function D(t){if(!t||!("encoding"in t))return[];let{encoding:e}=t;return e?Object.entries(e).flatMap(n=>{let[a,r]=n;return!r||!xt.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var xt=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function G(t,e,n,a){let r=n.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:n).map(o=>({param:o}))};if(t==="opacity"){let o=x.getOpacity(a)||1;return{...e,opacity:{condition:{test:i,value:o},value:o/5}}}else return e}function At(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let e=t.select;if(typeof e=="string")return JSON.stringify({type:e,bind:t.bind});let n={type:e.type,encodings:"encodings"in e&&e.encodings?[...e.encodings].toSorted():void 0,fields:"fields"in e&&e.fields?[...e.fields].toSorted():void 0,bind:t.bind};return JSON.stringify(n)}function $(t){let e=E(t);if(e.length===0)return t;let n=_t(e);return n.length===0?t:{...L(K(t,new Set(n.map(a=>a.name))),n.map(a=>a.name)),params:[...t.params||[],...n]}}function E(t){let e=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let n of t.vconcat)e.push(...E(n));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let n of t.hconcat)e.push(...E(n));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&e.push({params:t.params})}return e}function _t(t){if(t.length===0)return[];let e=new Map,n=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=At(o);i.has(l)||(i.add(l),e.has(l)||e.set(l,{count:0,param:o}),e.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of e)r===n&&a.push(i);return a}function K(t,e){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(n=>K(n,e))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(n=>K(n,e))};if("mark"in t&&"params"in t&&t.params){let n=t.params,a=[];for(let r of n){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}e.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,e){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(n=>L(n,e))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(n=>L(n,e))}:"layer"in t?t:"mark"in t&&x.isInteractive(t.mark)?{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",t.encoding||{},e,t.mark)}:t}function Z(t,e){var l,k;let{chartSelection:n=!0,fieldSelection:a=!0}=e;if(!n&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(n=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let p=t.layer.flatMap(f=>"mark"in f?D(f):[]);v=[...new Set(p)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((p,f)=>{if(!("mark"in p))return p;let h=p;if(f===0&&v.length>0){let O=v.map(M=>j.legend(M));h={...h,params:[...h.params||[],...O]}}return h=q(h,n,f),h=R(h),f===0&&(h=J(h)),h});return{...t,layer:w}}if(!("mark"in t)||!x.isInteractive(t.mark))return t;let o=t;return o=jt(o,a),o=q(o,n,void 0),o=R(o),o=J(o),o}function jt(t,e){if(e===!1)return t;let n=D(t);Array.isArray(e)&&(n=n.filter(i=>e.includes(i)));let a=n.map(i=>j.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function q(t,e,n){if(e===!1)return t;let a;try{a=x.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=St(t),i=e===!0?r.length>0?["point"]:Ot(a):[e];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?j.interval(t,n):j.point(t,n)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(j.binColoring(n)),{...t,params:l}}function J(t){let e;try{e=x.getMarkType(t.mark)}catch{}if(e==="geoshape")return t;let n=t.params||[];return n.some(a=>a.bind==="scales")?t:{...t,params:[...n,j.panZoom()]}}function R(t){let e="encoding"in t?t.encoding:void 0,n=t.params||[],a=n.map(r=>r.name);return n.length===0||!x.isInteractive(t.mark)?t:{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",e||{},a,t.mark)}}function Ot(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function Mt(t){if(!t)return t;let e="datasets"in t?{...t.datasets}:{},n=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(n));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(n));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(n));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await n(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=V(r.data.url)}catch{return r}let o=await st(i.href,r.data.format);return e[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await n(t);return Object.keys(e).length===0?a:{...a,datasets:e}}var d=z(rt(),1);ut("arrow",vt);var Nt=t=>{let e=(0,kt.c)(12),{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;e[0]===o?(k=e[1],s=e[2]):(k=async()=>Mt(o),s=[o],e[0]=o,e[1]=k,e[2]=s);let{data:m,error:v}=yt(k,s);if(v){let p;return e[3]===v?p=e[4]:(p=(0,d.jsx)(gt,{error:v}),e[3]=v,e[4]=p),p}if(!m)return null;let w;return e[5]!==r||e[6]!==l||e[7]!==i||e[8]!==m||e[9]!==a||e[10]!==n?(w=(0,d.jsx)(Pt,{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),e[5]=r,e[6]=l,e[7]=i,e[8]=m,e[9]=a,e[10]=n,e[11]=w):w=e[11],w},Pt=({value:t,setValue:e,chartSelection:n,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=lt(),l=(0,S.useRef)(null),k=(0,S.useRef)(void 0),[s,m]=(0,S.useState)(),v=(0,S.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,S.useMemo)(()=>Z(bt(w),{chartSelection:n,fieldSelection:a}),[w,n,a]),f=(0,S.useMemo)(()=>P(p),[p]),h=C(c=>{e({...t,...c})}),O=(0,S.useMemo)(()=>et((c,g)=>{_.debug("[Vega signal]",c,g);let b=T.mapValues(g,Ct);b=T.mapValues(b,It),h({[c]:b})},100),[h]),M=H(f),I=(0,S.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,X)=>O(b,X)}),c),[]),[M,O]),B=C(c=>{_.error(c),_.debug(p),m(c)}),Q=C(c=>{_.debug("[Vega view] created",c),k.current=c,m(void 0)}),U=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(at,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(ot,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ft({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:mt.call,renderer:"canvas"},onError:B,onEmbed:Q});return(0,S.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){_.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){_.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(ht,{variant:"destructive",children:[(0,d.jsx)(dt,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:nt("relative"),onPointerDown:it.stopPropagation(),children:[(0,d.jsx)("div",{ref:l,"data-container-width":pt(p)}),U()]})]})};function It(t){return t instanceof Set?[...t]:t}function Ct(t){return Array.isArray(t)?t.map(e=>e instanceof Date&&ct(e)?new Date(e).getTime():e):t}var Et=Nt;export{Et as default};
1
+ import{s as z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-D91BmmQi.js";import{t as Y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{t as et}from"./debounce-DhnxH9Rh.js";import{_,d as T}from"./useEventListener-BR0C1MaI.js";import{n as V}from"./config-ChCHm539.js";import{t as nt}from"./cn-DCUzRj2J.js";import{t as rt}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{t as at}from"./tooltip-Gcwqb_SK.js";import{r as it}from"./button-D9nb17Rw.js";import{d as N}from"./arrays-DYDL-3-i.js";import{u as ot}from"./toDate-B5A0DFEz.js";import"./session-nmTRerwF.js";import{r as lt}from"./useTheme-DEcgJENn.js";import{t as ct}from"./isValid-bmSEa3HX.js";import{a as st,r as mt,t as pt}from"./utils-Bq5kLQ87.js";import{n as ut}from"./vega-loader.browser-DXARUlxo.js";import{t as ft}from"./react-vega-BQXvtE5G.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import{r as dt,t as ht}from"./alert-cDholnQq.js";import{n as gt}from"./error-banner-CTBwdcdk.js";import{n as yt}from"./useAsyncData-dS4Ne6pU.js";import{t as vt}from"./formats-BvyJSIqk.js";import{t as H}from"./useDeepCompareMemoize-D0WTlCXt.js";var kt=tt(),S=z(Y(),1);function bt(t){return t.data&&"url"in t.data&&(t.data.url=V(t.data.url).href),t}const u={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var F=new Set(["boxplot","errorband","errorbar"]);const x={getMarkType(t){let e=typeof t=="string"?t:t.type;if(F.has(e))throw Error("Not supported");return e},isInteractive(t){let e=typeof t=="string"?t:t.type;return!F.has(e)},makeClickable(t){let e=typeof t=="string"?t:t.type;return e in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:e,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(e=>e.startsWith("select_point"))},hasInterval(t){return t.some(e=>e.startsWith("select_interval"))},hasLegend(t){return t.some(e=>e.startsWith("legend_selection"))},hasPanZoom(t){return t.some(e=>e.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},j={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,e){return{name:y.interval(e),select:{type:"interval",encodings:W(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,e){return{name:y.point(e),select:{type:"point",encodings:W(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function W(t){switch(x.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let e=wt(t);return e==="horizontal"?["y"]:e==="vertical"?["x"]:void 0}case u.circle:case u.geoshape:case u.line:case u.point:case u.rect:case u.rule:case u.square:case u.text:case u.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(e=>e==null?!1:"select"in e&&e.select!==void 0).map(e=>e.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function wt(t){var a,r;if(!t||!("mark"in t))return;let e=(a=t.encoding)==null?void 0:a.x,n=(r=t.encoding)==null?void 0:r.y;if(e&&"type"in e&&e.type==="nominal")return"vertical";if(n&&"type"in n&&n.type==="nominal"||e&&"aggregate"in e)return"horizontal";if(n&&"aggregate"in n)return"vertical"}function St(t){if(!t.encoding)return[];let e=[];for(let n of Object.values(t.encoding))n&&typeof n=="object"&&"bin"in n&&n.bin&&"field"in n&&typeof n.field=="string"&&e.push(n.field);return e}function D(t){if(!t||!("encoding"in t))return[];let{encoding:e}=t;return e?Object.entries(e).flatMap(n=>{let[a,r]=n;return!r||!xt.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var xt=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function G(t,e,n,a){let r=n.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:n).map(o=>({param:o}))};if(t==="opacity"){let o=x.getOpacity(a)||1;return{...e,opacity:{condition:{test:i,value:o},value:o/5}}}else return e}function At(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let e=t.select;if(typeof e=="string")return JSON.stringify({type:e,bind:t.bind});let n={type:e.type,encodings:"encodings"in e&&e.encodings?[...e.encodings].toSorted():void 0,fields:"fields"in e&&e.fields?[...e.fields].toSorted():void 0,bind:t.bind};return JSON.stringify(n)}function $(t){let e=E(t);if(e.length===0)return t;let n=_t(e);return n.length===0?t:{...L(K(t,new Set(n.map(a=>a.name))),n.map(a=>a.name)),params:[...t.params||[],...n]}}function E(t){let e=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let n of t.vconcat)e.push(...E(n));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let n of t.hconcat)e.push(...E(n));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&e.push({params:t.params})}return e}function _t(t){if(t.length===0)return[];let e=new Map,n=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=At(o);i.has(l)||(i.add(l),e.has(l)||e.set(l,{count:0,param:o}),e.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of e)r===n&&a.push(i);return a}function K(t,e){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(n=>K(n,e))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(n=>K(n,e))};if("mark"in t&&"params"in t&&t.params){let n=t.params,a=[];for(let r of n){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}e.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,e){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(n=>L(n,e))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(n=>L(n,e))}:"layer"in t?t:"mark"in t&&x.isInteractive(t.mark)?{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",t.encoding||{},e,t.mark)}:t}function Z(t,e){var l,k;let{chartSelection:n=!0,fieldSelection:a=!0}=e;if(!n&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(n=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?Z(m,{chartSelection:n,fieldSelection:a}):m);return $({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let p=t.layer.flatMap(f=>"mark"in f?D(f):[]);v=[...new Set(p)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((p,f)=>{if(!("mark"in p))return p;let h=p;if(f===0&&v.length>0){let O=v.map(M=>j.legend(M));h={...h,params:[...h.params||[],...O]}}return h=q(h,n,f),h=R(h),f===0&&(h=J(h)),h});return{...t,layer:w}}if(!("mark"in t)||!x.isInteractive(t.mark))return t;let o=t;return o=jt(o,a),o=q(o,n,void 0),o=R(o),o=J(o),o}function jt(t,e){if(e===!1)return t;let n=D(t);Array.isArray(e)&&(n=n.filter(i=>e.includes(i)));let a=n.map(i=>j.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function q(t,e,n){if(e===!1)return t;let a;try{a=x.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=St(t),i=e===!0?r.length>0?["point"]:Ot(a):[e];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?j.interval(t,n):j.point(t,n)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(j.binColoring(n)),{...t,params:l}}function J(t){let e;try{e=x.getMarkType(t.mark)}catch{}if(e==="geoshape")return t;let n=t.params||[];return n.some(a=>a.bind==="scales")?t:{...t,params:[...n,j.panZoom()]}}function R(t){let e="encoding"in t?t.encoding:void 0,n=t.params||[],a=n.map(r=>r.name);return n.length===0||!x.isInteractive(t.mark)?t:{...t,mark:x.makeClickable(t.mark),encoding:G("opacity",e||{},a,t.mark)}}function Ot(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function Mt(t){if(!t)return t;let e="datasets"in t?{...t.datasets}:{},n=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(n));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(n));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(n));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await n(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=V(r.data.url)}catch{return r}let o=await st(i.href,r.data.format);return e[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await n(t);return Object.keys(e).length===0?a:{...a,datasets:e}}var d=z(rt(),1);ut("arrow",vt);var Nt=t=>{let e=(0,kt.c)(12),{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;e[0]===o?(k=e[1],s=e[2]):(k=async()=>Mt(o),s=[o],e[0]=o,e[1]=k,e[2]=s);let{data:m,error:v}=yt(k,s);if(v){let p;return e[3]===v?p=e[4]:(p=(0,d.jsx)(gt,{error:v}),e[3]=v,e[4]=p),p}if(!m)return null;let w;return e[5]!==r||e[6]!==l||e[7]!==i||e[8]!==m||e[9]!==a||e[10]!==n?(w=(0,d.jsx)(Pt,{value:n,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),e[5]=r,e[6]=l,e[7]=i,e[8]=m,e[9]=a,e[10]=n,e[11]=w):w=e[11],w},Pt=({value:t,setValue:e,chartSelection:n,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=lt(),l=(0,S.useRef)(null),k=(0,S.useRef)(void 0),[s,m]=(0,S.useState)(),v=(0,S.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,S.useMemo)(()=>Z(bt(w),{chartSelection:n,fieldSelection:a}),[w,n,a]),f=(0,S.useMemo)(()=>P(p),[p]),h=C(c=>{e({...t,...c})}),O=(0,S.useMemo)(()=>et((c,g)=>{_.debug("[Vega signal]",c,g);let b=T.mapValues(g,Ct);b=T.mapValues(b,It),h({[c]:b})},100),[h]),M=H(f),I=(0,S.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,X)=>O(b,X)}),c),[]),[M,O]),B=C(c=>{_.error(c),_.debug(p),m(c)}),Q=C(c=>{_.debug("[Vega view] created",c),k.current=c,m(void 0)}),U=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(at,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(ot,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ft({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:mt.call,renderer:"canvas"},onError:B,onEmbed:Q});return(0,S.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){_.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){_.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(ht,{variant:"destructive",children:[(0,d.jsx)(dt,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:nt("relative"),onPointerDown:it.stopPropagation(),children:[(0,d.jsx)("div",{ref:l,"data-container-width":pt(p)}),U()]})]})};function It(t){return t instanceof Set?[...t]:t}function Ct(t){return Array.isArray(t)?t.map(e=>e instanceof Date&&ct(e)?new Date(e).getTime():e):t}var Et=Nt;export{Et as default};
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-BruLKdo6.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-D48a2kB0.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-D2MJg03u.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
@@ -170,7 +170,7 @@
170
170
  <link rel="modulepreload" crossorigin href="./assets/micromark-factory-space-WzovnJik.js">
171
171
  <link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-B4RvNAGm.js">
172
172
  <link rel="modulepreload" crossorigin href="./assets/markdown-renderer-CFrgiLqu.js">
173
- <link rel="modulepreload" crossorigin href="./assets/command-CzIDL1VI.js">
173
+ <link rel="modulepreload" crossorigin href="./assets/command-CXDOCJwp.js">
174
174
  <link rel="modulepreload" crossorigin href="./assets/popover-UExmgBsf.js">
175
175
  <link rel="modulepreload" crossorigin href="./assets/errors-CZb6hI2x.js">
176
176
  <link rel="modulepreload" crossorigin href="./assets/download-Iyng0xCz.js">
@@ -191,7 +191,7 @@
191
191
  <link rel="modulepreload" crossorigin href="./assets/message-circle-CWm2KnSx.js">
192
192
  <link rel="modulepreload" crossorigin href="./assets/trash-2-D280Xiwg.js">
193
193
  <link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-Bcm5njwd.js">
194
- <link rel="modulepreload" crossorigin href="./assets/JsonOutput-BVAcY5xS.js">
194
+ <link rel="modulepreload" crossorigin href="./assets/JsonOutput-CsshJCMI.js">
195
195
  <link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-nqk474t8.js">
196
196
  <link rel="modulepreload" crossorigin href="./assets/square-function-D1dlJvD8.js">
197
197
  <link rel="modulepreload" crossorigin href="./assets/spec-Cq8FVoTf.js">
@@ -199,7 +199,7 @@
199
199
  <link rel="modulepreload" crossorigin href="./assets/refresh-cw-DHwG4Mac.js">
200
200
  <link rel="modulepreload" crossorigin href="./assets/tree-actions-oMCx6WNc.js">
201
201
  <link rel="modulepreload" crossorigin href="./assets/components-FepcpFGL.js">
202
- <link rel="modulepreload" crossorigin href="./assets/column-preview-_5uYiy74.js">
202
+ <link rel="modulepreload" crossorigin href="./assets/column-preview-DUPpv2dz.js">
203
203
  <link rel="modulepreload" crossorigin href="./assets/icons-BRopQwI3.js">
204
204
  <link rel="modulepreload" crossorigin href="./assets/floating-outline-CSNGDMAm.js">
205
205
  <link rel="modulepreload" crossorigin href="./assets/useAddCell-De9xD63_.js">
@@ -220,12 +220,12 @@
220
220
  <link rel="modulepreload" crossorigin href="./assets/memoize-Tp7rARFe.js">
221
221
  <link rel="modulepreload" crossorigin href="./assets/get-C-qh_et5.js">
222
222
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-CxV9N1bc.js">
223
- <link rel="modulepreload" crossorigin href="./assets/state-LyvUXW6A.js">
223
+ <link rel="modulepreload" crossorigin href="./assets/state-CikXvgx3.js">
224
224
  <link rel="modulepreload" crossorigin href="./assets/label-DTR8T0AE.js">
225
225
  <link rel="modulepreload" crossorigin href="./assets/textarea-Dd0InTQJ.js">
226
226
  <link rel="modulepreload" crossorigin href="./assets/radio-group-BtBoRbGH.js">
227
227
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-C-n2VFP5.js">
228
- <link rel="modulepreload" crossorigin href="./assets/form-Dr-_EXr8.js">
228
+ <link rel="modulepreload" crossorigin href="./assets/form-0wZOuqB-.js">
229
229
  <link rel="modulepreload" crossorigin href="./assets/renderShortcut-CkNNAheg.js">
230
230
  <link rel="modulepreload" crossorigin href="./assets/field-B8kJgr2A.js">
231
231
  <link rel="modulepreload" crossorigin href="./assets/RSPContexts-BeHIgT4C.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.4-dev9",
3
+ "version": "0.23.5-dev1",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -155,7 +155,7 @@
155
155
  "typescript-memoize": "^1.1.1",
156
156
  "use-acp": "0.2.6",
157
157
  "use-resize-observer": "^9.1.0",
158
- "vega-lite": "6.3.1",
158
+ "vega-lite": "6.4.2",
159
159
  "vega-loader": "^5.1.0",
160
160
  "vega-parser": "^7.1.0",
161
161
  "vega-tooltip": "^1.1.0",
@@ -0,0 +1,63 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { describe, expect, it } from "vitest";
4
+ import { seedFromFilter } from "../column-header";
5
+ import { Filter } from "../filters";
6
+
7
+ describe("seedFromFilter", () => {
8
+ it("returns empty defaults when there is no filter", () => {
9
+ expect(seedFromFilter(undefined)).toEqual({
10
+ values: [],
11
+ operator: "in",
12
+ });
13
+ });
14
+
15
+ it("seeds values from an `in` select filter", () => {
16
+ const filter = Filter.select({
17
+ options: ["Flying", "Ground"],
18
+ operator: "in",
19
+ });
20
+ expect(seedFromFilter(filter)).toEqual({
21
+ values: ["Flying", "Ground"],
22
+ operator: "in",
23
+ });
24
+ });
25
+
26
+ it("preserves `not_in` so reapplying does not silently flip to `in`", () => {
27
+ const filter = Filter.select({
28
+ options: ["Fire"],
29
+ operator: "not_in",
30
+ });
31
+ expect(seedFromFilter(filter)).toEqual({
32
+ values: ["Fire"],
33
+ operator: "not_in",
34
+ });
35
+ });
36
+
37
+ it("returns a fresh array (callers may mutate without affecting the filter)", () => {
38
+ const options = ["a", "b"];
39
+ const filter = Filter.select({ options, operator: "in" });
40
+ const seeded = seedFromFilter(filter);
41
+ seeded.values.push("c");
42
+ expect(options).toEqual(["a", "b"]);
43
+ });
44
+
45
+ it("ignores non-select filters and falls back to defaults", () => {
46
+ expect(
47
+ seedFromFilter(Filter.text({ text: "abc", operator: "equals" })),
48
+ ).toEqual({
49
+ values: [],
50
+ operator: "in",
51
+ });
52
+ expect(seedFromFilter(Filter.number({ min: 0, max: 10 }))).toEqual({
53
+ values: [],
54
+ operator: "in",
55
+ });
56
+ expect(
57
+ seedFromFilter(Filter.boolean({ value: true, operator: "is_true" })),
58
+ ).toEqual({
59
+ values: [],
60
+ operator: "in",
61
+ });
62
+ });
63
+ });
@@ -312,7 +312,7 @@ describe("generateColumns", () => {
312
312
  expect(cell?.props.className).toContain("center");
313
313
  });
314
314
 
315
- it("should always left-align column headers regardless of text justification", () => {
315
+ it("should align column headers to match textJustifyColumns", () => {
316
316
  const columns = generateColumns({
317
317
  rowHeaders: [],
318
318
  selection: null,
@@ -330,7 +330,8 @@ describe("generateColumns", () => {
330
330
  columnDef: { meta: col.meta },
331
331
  });
332
332
 
333
- // Even with right justification, header is left-aligned with sort + menu buttons
333
+ // Right-justified column: outer summary wrapper aligns to end, and the
334
+ // header row uses flex-row-reverse so the title sits at the right edge.
334
335
  const { container: rightContainer } = render(
335
336
  <TooltipProvider>
336
337
  {/* oxlint-disable-next-line typescript/no-explicit-any */}
@@ -345,12 +346,11 @@ describe("generateColumns", () => {
345
346
  "[data-testid='data-table-column-menu-button']",
346
347
  ),
347
348
  ).toBeTruthy();
348
- // No flex-row-reverse or items-end on header
349
- const rightWrapper = rightContainer.firstElementChild;
350
- expect(rightWrapper?.className).not.toContain("items-end");
351
- expect(rightWrapper?.className).not.toContain("flex-row-reverse");
349
+ expect(rightContainer.firstElementChild?.className).toContain("items-end");
350
+ expect(rightContainer.querySelector(".flex-row-reverse")).toBeTruthy();
352
351
 
353
- // Same for center-justified column
352
+ // Center-justified column: outer summary wrapper centers; header row
353
+ // keeps natural order.
354
354
  const { container: centerContainer } = render(
355
355
  <TooltipProvider>
356
356
  {/* oxlint-disable-next-line typescript/no-explicit-any */}
@@ -365,9 +365,39 @@ describe("generateColumns", () => {
365
365
  "[data-testid='data-table-column-menu-button']",
366
366
  ),
367
367
  ).toBeTruthy();
368
- const centerWrapper = centerContainer.firstElementChild;
369
- expect(centerWrapper?.className).not.toContain("items-center");
370
- expect(centerWrapper?.className).not.toContain("flex-row-reverse");
368
+ expect(centerContainer.firstElementChild?.className).toContain(
369
+ "items-center",
370
+ );
371
+ expect(centerContainer.querySelector(".flex-row-reverse")).toBeNull();
372
+ });
373
+
374
+ it("should not auto-align numeric column headers without explicit override", () => {
375
+ const columns = generateColumns({
376
+ rowHeaders: [],
377
+ selection: null,
378
+ fieldTypes,
379
+ });
380
+
381
+ const mockColumn = (col: (typeof columns)[number]) => ({
382
+ id: col.id,
383
+ getCanSort: () => true,
384
+ getCanFilter: () => false,
385
+ getIsSorted: () => false,
386
+ getSortIndex: () => -1,
387
+ getFilterValue: () => undefined,
388
+ columnDef: { meta: col.meta },
389
+ });
390
+
391
+ // "age" is numeric: cells auto right-align, but the header stays
392
+ // left-aligned unless the user explicitly opts in via text_justify_columns.
393
+ const { container } = render(
394
+ <TooltipProvider>
395
+ {/* oxlint-disable-next-line typescript/no-explicit-any */}
396
+ {(columns[1].header as any)({ column: mockColumn(columns[1]) })}
397
+ </TooltipProvider>,
398
+ );
399
+ expect(container.firstElementChild?.className).not.toContain("items-end");
400
+ expect(container.querySelector(".flex-row-reverse")).toBeNull();
371
401
  });
372
402
 
373
403
  it("should cycle sort button through asc, desc, and clear on clicks", () => {