@marimo-team/frontend 0.21.1-dev12 → 0.21.1-dev14

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 (95) hide show
  1. package/dist/assets/{CellStatus-CFRv4Tvd.js → CellStatus-CoejXnCc.js} +1 -1
  2. package/dist/assets/ConnectedDataExplorerComponent-DsPvYWwS.js +1 -0
  3. package/dist/assets/{JsonOutput-DJukuY6Z.js → JsonOutput-CBK4dhVh.js} +10 -10
  4. package/dist/assets/{MarimoErrorOutput-zVM0B_Vj.js → MarimoErrorOutput-B0nc63rx.js} +1 -1
  5. package/dist/assets/{RenderHTML-BuMvdWQd.js → RenderHTML-Bp9XY06U.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-BtzUxApq.js → add-cell-with-ai-CrnYAxuA.js} +1 -1
  7. package/dist/assets/{add-connection-dialog-BSsacvzU.js → add-connection-dialog-I31C6j-5.js} +1 -1
  8. package/dist/assets/{agent-panel-a_m3dm9Y.js → agent-panel-ufAvSbof.js} +1 -1
  9. package/dist/assets/{ai-model-dropdown-CcIreMqb.js → ai-model-dropdown-BYDC_z7s.js} +1 -1
  10. package/dist/assets/{app-config-button-D-mROEVq.js → app-config-button-CRfW3S6Z.js} +1 -1
  11. package/dist/assets/{azure-FFoHMnHA.js → azure-q5TZ9bt0.js} +1 -1
  12. package/dist/assets/{cell-editor-D_RsnX0J.js → cell-editor-eZKo6fP_.js} +1 -1
  13. package/dist/assets/{cell-link-BjgRgErj.js → cell-link-DWQZUFhO.js} +1 -1
  14. package/dist/assets/{cells-CAHXVi26.js → cells-Dqou-uie.js} +32 -32
  15. package/dist/assets/{chat-display-rX-JkJEO.js → chat-display-Vedn01P6.js} +1 -1
  16. package/dist/assets/{chat-panel-BudFFybg.js → chat-panel-udyCNql9.js} +1 -1
  17. package/dist/assets/{column-preview-Dk_9z2Mw.js → column-preview-DPhs4evg.js} +1 -1
  18. package/dist/assets/{command-_14PjWun.js → command-Ckfx4w5C.js} +1 -1
  19. package/dist/assets/command-palette-D51FjW1l.js +1 -0
  20. package/dist/assets/{common-D2sp4A8j.js → common-DMx0N5jj.js} +1 -1
  21. package/dist/assets/{components-BP1LfBLA.js → components-Bgj5U8rZ.js} +1 -1
  22. package/dist/assets/{components-Wzn4JDkV.js → components-CHO2M34L.js} +1 -1
  23. package/dist/assets/context-aware-panel-TU7i7Ais.js +3 -0
  24. package/dist/assets/{datasource-BNXHfowL.js → datasource-Cn-Wy4lo.js} +1 -1
  25. package/dist/assets/{dependency-graph-panel-B5Eq3e0f.js → dependency-graph-panel-Dd_ypMAw.js} +1 -1
  26. package/dist/assets/{documentation-panel-DLE-AkPt.js → documentation-panel-C1QC0dL_.js} +1 -1
  27. package/dist/assets/{download-SQhwj_Eq.js → download-D6Fv1GMQ.js} +1 -1
  28. package/dist/assets/{edit-page-qWzJGYd0.js → edit-page-DGpjBH-k.js} +7 -7
  29. package/dist/assets/{error-panel-DmmjuXRp.js → error-panel-BfF_Pl3q.js} +1 -1
  30. package/dist/assets/{file-explorer-panel-DW3BdMFp.js → file-explorer-panel-C6RCpRgm.js} +1 -1
  31. package/dist/assets/{file-icons-xucuZauP.js → file-icons-0zZkfGbI.js} +1 -1
  32. package/dist/assets/{floating-outline-2X-MQKSU.js → floating-outline-CNejeNGC.js} +1 -1
  33. package/dist/assets/{focus-DaKeoSx6.js → focus-CQRBseis.js} +1 -1
  34. package/dist/assets/{form-C5vg9S9o.js → form-B9Fj5Rl-.js} +1 -1
  35. package/dist/assets/formats-DzzQnJYt.js +1 -0
  36. package/dist/assets/{globals-DCdvUAk2.js → globals-DE7Q2ffe.js} +1 -1
  37. package/dist/assets/{home-page-4oOWwdL4.js → home-page-C8mwmLAs.js} +1 -1
  38. package/dist/assets/{hooks-CZT_TWa2.js → hooks-C8aiyK69.js} +1 -1
  39. package/dist/assets/{html-to-image-BgHw831z.js → html-to-image-BFwmkFZ4.js} +1 -1
  40. package/dist/assets/{index-CVpJvEAO.css → index-Bgbe24O9.css} +1 -1
  41. package/dist/assets/{index-CPEieVCj.js → index-bt3OH-Pk.js} +17 -17
  42. package/dist/assets/{kiosk-mode-BNqp-cFU.js → kiosk-mode-BO-KqM9l.js} +1 -1
  43. package/dist/assets/{layout-52MeytEk.js → layout-BEA77UDX.js} +1 -1
  44. package/dist/assets/{logs-panel-dWMS7IIv.js → logs-panel-BebwAaGv.js} +1 -1
  45. package/dist/assets/{markdown-renderer-MyhTrUey.js → markdown-renderer-CdEqa6lQ.js} +1 -1
  46. package/dist/assets/{mode-D_HXqDHH.js → mode-DSINUCzY.js} +1 -1
  47. package/dist/assets/{name-cell-input-CAAR5C2m.js → name-cell-input-DaDgZhjE.js} +1 -1
  48. package/dist/assets/{outline-panel-Bmfna9YR.js → outline-panel-DCpOiLnR.js} +1 -1
  49. package/dist/assets/{packages-panel-DKH34NxN.js → packages-panel-kOdMspq6.js} +1 -1
  50. package/dist/assets/{panels-jo8u0sPM.js → panels-BSQT0nmq.js} +1 -1
  51. package/dist/assets/{process-output-B2kGZ_VU.js → process-output-4ypD4fg7.js} +1 -1
  52. package/dist/assets/{readonly-python-code-Dz4GjF9D.js → readonly-python-code-CysvH2Zj.js} +1 -1
  53. package/dist/assets/run-page-BRdwXGaf.js +1 -0
  54. package/dist/assets/scratchpad-panel-DQQ_wRz5.js +1 -0
  55. package/dist/assets/session-panel-BACIy3wf.js +1 -0
  56. package/dist/assets/{snippets-panel-C0yfvEEg.js → snippets-panel-BjUFMiXc.js} +1 -1
  57. package/dist/assets/{state-CGu0LFDk.js → state-BqEQgvo3.js} +1 -1
  58. package/dist/assets/{switch-krcK9lRK.js → switch-JycgoJcn.js} +1 -1
  59. package/dist/assets/{tracing-3veLCmCp.js → tracing-1AoHNFA-.js} +1 -1
  60. package/dist/assets/{tracing-panel-KUJifV3W.js → tracing-panel-CrlCrmHo.js} +2 -2
  61. package/dist/assets/{useAddCell-_oR2xY1x.js → useAddCell-BSbQWv3q.js} +1 -1
  62. package/dist/assets/{useBoolean-D8-4no-l.js → useBoolean-Cm61eWz0.js} +1 -1
  63. package/dist/assets/{useCellActionButton-DNIW0rqj.js → useCellActionButton-DpdThmJR.js} +1 -1
  64. package/dist/assets/{useDeleteCell-BAuuakkK.js → useDeleteCell-DSpj4wDu.js} +1 -1
  65. package/dist/assets/{useDependencyPanelTab-ClmZIdnO.js → useDependencyPanelTab-1iAP2AMB.js} +1 -1
  66. package/dist/assets/{useNotebookActions-DhmD75et.js → useNotebookActions-CU14FoaT.js} +1 -1
  67. package/dist/assets/{useRunCells-BOsp_Hau.js → useRunCells-BSsgvk4y.js} +1 -1
  68. package/dist/assets/{useSplitCell-DfYEUeyE.js → useSplitCell-Ct7RykE3.js} +1 -1
  69. package/dist/assets/{tooltip-DLsts-7g.js → utils-BuPoTKhl.js} +3 -3
  70. package/dist/assets/vega-component-S1h0g70Q.js +1 -0
  71. package/dist/index.html +35 -35
  72. package/package.json +1 -1
  73. package/src/components/data-table/charts/lazy-chart.tsx +2 -0
  74. package/src/components/data-table/column-summary/column-summary.tsx +1 -0
  75. package/src/components/datasources/column-preview.tsx +1 -0
  76. package/src/components/editor/Output.tsx +2 -0
  77. package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +6 -0
  78. package/src/components/editor/chrome/wrapper/__tests__/utils.test.ts +35 -0
  79. package/src/components/editor/chrome/wrapper/app-chrome.tsx +12 -14
  80. package/src/components/editor/chrome/wrapper/utils.ts +5 -1
  81. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +54 -0
  82. package/src/core/codemirror/reactive-references/analyzer.ts +14 -0
  83. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +6 -3
  84. package/src/plugins/impl/vega/__tests__/utils.test.ts +36 -0
  85. package/src/plugins/impl/vega/utils.ts +14 -0
  86. package/src/plugins/impl/vega/vega-component.tsx +6 -7
  87. package/src/plugins/impl/vega/vega.css +1 -1
  88. package/dist/assets/ConnectedDataExplorerComponent-BrZvYzEX.js +0 -1
  89. package/dist/assets/command-palette-NBOgLsWz.js +0 -1
  90. package/dist/assets/context-aware-panel--8JnQtYo.js +0 -3
  91. package/dist/assets/formats-CmvHepzl.js +0 -1
  92. package/dist/assets/run-page-DQIGlYAL.js +0 -1
  93. package/dist/assets/scratchpad-panel-ClYOgTQp.js +0 -1
  94. package/dist/assets/session-panel-BYjloSxn.js +0 -1
  95. package/dist/assets/vega-component-D3vsTtly.js +0 -1
@@ -1,3 +0,0 @@
1
- var jr=Object.defineProperty;var mt=g=>{throw TypeError(g)};var Ar=(g,y,E)=>y in g?jr(g,y,{enumerable:!0,configurable:!0,writable:!0,value:E}):g[y]=E;var a=(g,y,E)=>Ar(g,typeof y!="symbol"?y+"":y,E),Ce=(g,y,E)=>y.has(g)||mt("Cannot "+E);var l=(g,y,E)=>(Ce(g,y,"read from private field"),E?E.call(g):y.get(g)),F=(g,y,E)=>y.has(g)?mt("Cannot add the same private member more than once"):y instanceof WeakSet?y.add(g):y.set(g,E),N=(g,y,E,de)=>(Ce(g,y,"write to private field"),de?de.call(g,E):y.set(g,E),E),$=(g,y,E)=>(Ce(g,y,"access private method"),E);import{s as pt}from"./chunk-LvLJmgfZ.js";import{i as se,l as ye,p as V,u as Lr}from"./useEvent-O0nX5vok.js";import{t as Ir}from"./react-Bj1aDYRI.js";import{$r as Ur,Kr as Tr,Yr as Wr,Zr as zr,ai as ie,b as Or,gn as Dr,ii as Br,x as Hr,__tla as $r}from"./cells-CAHXVi26.js";import{t as ft}from"./compiler-runtime-B3qBwwSJ.js";import{t as Vr}from"./get-DBdMgUNq.js";import{t as Xr}from"./assertNever-CTRGz-ul.js";import{t as Yr}from"./debounce-DS_VtWMt.js";import{t as Qr}from"./_baseSet-D5BgdrnX.js";import{g as v,m as f}from"./useEventListener-BGihH8bs.js";import{t as Jr}from"./invariant-CQUIhlu2.js";import{S as Kr}from"./utils-BvPM6Bro.js";import{S as Zr,n as Gr}from"./config-DeEqZTX7.js";import{a as en}from"./switch-krcK9lRK.js";import{n as gt}from"./globals-DCdvUAk2.js";import{t as yt}from"./ErrorBoundary-H5EQrcAX.js";import{t as tn}from"./jsx-runtime-icT_Ltz2.js";import{t as rn}from"./button-BZAv3veu.js";import{t as nn}from"./cn-BoaCR37F.js";import{J as Re,Y as bt,Z as sn,__tla as an}from"./JsonOutput-DJukuY6Z.js";import{t as on}from"./createReducer-DgaMD0B6.js";import{t as Se}from"./requests-Bgjtqo_1.js";import{t as wt}from"./createLucideIcon-Cm-Z7dYr.js";import{t as ln}from"./x-BI1M8X_v.js";import{a as vt,l as dn,r as xt}from"./markdown-renderer-MyhTrUey.js";import{t as un}from"./DeferredRequestRegistry-O6RDJKs0.js";import{t as cn}from"./preload-helper-BW0IMuFq.js";import{t as _t}from"./Deferred-BMfCOLaw.js";import{t as Et}from"./uuid-ClFZlR7U.js";import{t as hn}from"./use-toast-Hc8CXlvz.js";import{t as Ct}from"./tooltip-CNmaER6z.js";import{t as Rt}from"./mode-D_HXqDHH.js";import{n as mn,r as pn,t as fn}from"./share-BYioqUE0.js";import{t as gn}from"./blob-CObhN-9g.js";import{r as yn,t as bn}from"./react-resizable-panels.browser.esm-DDRqG5ui.js";import{t as St}from"./toggle-BiIJZR6-.js";let Fe,ae,Ft,Nt,Ne,kt,qt,Mt,oe,Pt,le,jt,ke,qe,At,Me,Pe,be,je,Lt,It,Ae,Le,Ie,Ue,Ut,Tt,Wt,zt,Te,We,ze,Ot,Dt,Bt,Oe,Ht,$t,Vt,we,wn=Promise.all([(()=>{try{return $r}catch{}})(),(()=>{try{return an}catch{}})()]).then(async()=>{var X,pe,Yt,lt,T,Y,I,dt,z,ut,W,te,K,ve,ct,ht,fe,O,D,Z,k,Q,B,Qt,Jt,Kt,ge;function g(t,e,r){return t==null?t:Qr(t,e,r)}let y,E;ae=g,y=wt("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),E=wt("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);function de(t){return{all:t||(t=new Map),on:function(e,r){var n=t.get(e);n?n.push(r):t.set(e,[r])},off:function(e,r){var n=t.get(e);n&&(r?n.splice(n.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var n=t.get(e);n&&n.slice().map(function(s){s(r)}),(n=t.get("*"))&&n.slice().map(function(s){s(e,r)})}}}var R=pt(Ir(),1),xe=(0,R.createContext)(null),Gt=t=>{let{controller:e}=(0,R.useContext)(xe),r=R.useRef(Symbol("fill"));return(0,R.useEffect)(()=>(e.mount({name:t.name,ref:r.current,children:t.children}),()=>{e.unmount({name:t.name,ref:r.current})}),[]),(0,R.useEffect)(()=>{e.update({name:t.name,ref:r.current,children:t.children})}),null},er=Object.defineProperty,tr=(t,e,r)=>e in t?er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Be=(t,e,r)=>(tr(t,typeof e=="symbol"?e:e+"",r),r),He=console,rr=class{constructor(t){Be(this,"_bus"),Be(this,"_db"),this._bus=t,this.handleFillMount=this.handleFillMount.bind(this),this.handleFillUpdated=this.handleFillUpdated.bind(this),this.handleFillUnmount=this.handleFillUnmount.bind(this),this._db={byName:new Map,byFill:new Map}}mount(){this._bus.on("fill-mount",this.handleFillMount),this._bus.on("fill-updated",this.handleFillUpdated),this._bus.on("fill-unmount",this.handleFillUnmount)}unmount(){this._bus.off("fill-mount",this.handleFillMount),this._bus.off("fill-updated",this.handleFillUpdated),this._bus.off("fill-unmount",this.handleFillUnmount)}handleFillMount({fill:t}){let e=R.Children.toArray(t.children),r=t.name,n={fill:t,children:e,name:r},s=this._db.byName.get(r);s?(s.components.push(n),s.listeners.forEach(i=>i([...s.components]))):this._db.byName.set(r,{listeners:[],components:[n]}),this._db.byFill.set(t.ref,n)}handleFillUpdated({fill:t}){let e=this._db.byFill.get(t.ref),r=R.Children.toArray(t.children);if(e){e.children=r;let n=this._db.byName.get(e.name);if(n)n.listeners.forEach(s=>s([...n.components]));else throw Error("registration was expected to be defined")}else{He.error("[handleFillUpdated] component was expected to be defined");return}}handleFillUnmount({fill:t}){let e=this._db.byFill.get(t.ref);if(!e){He.error("[handleFillUnmount] component was expected to be defined");return}let r=e.name,n=this._db.byName.get(r);if(!n)throw Error("registration was expected to be defined");n.components=n.components.filter(s=>s!==e),this._db.byFill.delete(t.ref),n.listeners.length===0&&n.components.length===0?this._db.byName.delete(r):n.listeners.forEach(s=>s([...n.components]))}onComponentsChange(t,e){let r=this._db.byName.get(t);r?(r.listeners.push(e),e(r.components)):(this._db.byName.set(t,{listeners:[e],components:[]}),e([]))}getFillsByName(t){let e=this._db.byName.get(t);return e?e.components.map(r=>r.fill):[]}getChildrenByName(t){let e=this._db.byName.get(t);return e?e.components.map(r=>r.children).reduce((r,n)=>r.concat(n),[]):[]}removeOnComponentsChange(t,e){let r=this._db.byName.get(t);if(!r)throw Error("expected registration to be defined");let n=r.listeners;n.splice(n.indexOf(e),1)}},nr=Object.defineProperty,sr=(t,e,r)=>e in t?nr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ir=(t,e,r)=>(sr(t,typeof e=="symbol"?e:e+"",r),r),$e=class{constructor(){ir(this,"bus",de())}mount(t){this.bus.emit("fill-mount",{fill:t})}unmount(t){this.bus.emit("fill-unmount",{fill:t})}update(t){this.bus.emit("fill-updated",{fill:t})}};function ar(t){let e=t||new $e;return{controller:e,manager:new rr(e.bus)}}Mt=({controller:t,children:e})=>{let[r]=R.useState(()=>{let n=ar(t);return n.manager.mount(),n});return R.useEffect(()=>()=>{r.manager.unmount()},[]),R.createElement(xe.Provider,{value:r},e)},we=function(t,e){let[r,n]=(0,R.useState)([]),{manager:s}=(0,R.useContext)(xe);return(0,R.useEffect)(()=>(s.onComponentsChange(t,n),()=>{s.removeOnComponentsChange(t,n)}),[t]),r.flatMap((i,u)=>{let{children:d}=i;return d.map((p,b)=>{if(typeof p=="number"||typeof p=="string")throw Error("Only element children will work here");return R.cloneElement(p,{key:u.toString()+b.toString(),...e})})})},ke=t=>{let e=we(t.name,t.childProps);if(typeof t.children=="function"){let r=t.children(e);if(R.isValidElement(r)||r===null)return r;throw Error("Slot rendered with function must return a valid React Element.")}return e},jt=V(null);var{valueAtom:or,useActions:lr}=on(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Et()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});kt=()=>Lr(or),qt=function(){return lr()},Pt=new $e,oe={SIDEBAR:"sidebar",CONTEXT_AWARE_PANEL:"context-aware-panel"};let Ve,Xe,Ye;Ve=class{constructor(){a(this,"subscriptions",new Map)}addSubscription(t,e){var r;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(r=this.subscriptions.get(t))==null||r.add(e)}removeSubscription(t,e){var r;(r=this.subscriptions.get(t))==null||r.delete(e)}notify(t,e){for(let r of this.subscriptions.get(t)??[])r(e)}},Ue=class De{constructor(e){a(this,"subscriptions",new Ve);this.producer=e}static withProducerCallback(e){return new De(e)}static empty(){return new De}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify("message",e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify("open",new Event("open"))})}get readyState(){return WebSocket.OPEN}reconnect(e,r){this.close(),this.connect()}close(){this.subscriptions.notify("close",new Event("close"))}send(e){return this.subscriptions.notify("message",new MessageEvent("message",{data:e})),Promise.resolve()}addEventListener(e,r){this.subscriptions.addSubscription(e,r),e==="open"&&r(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,r){this.subscriptions.removeSubscription(e,r)}},Xe=1e10,Ye=1e3;function ue(t,e){let r=t.map(n=>`"${n}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${r}`)}function dr(t={}){let e={};function r(o){e=o}let n={};function s(o){var m;n.unregisterHandler&&n.unregisterHandler(),n=o,(m=n.registerHandler)==null||m.call(n,ne)}let i;function u(o){if(typeof o=="function"){i=o;return}i=(m,x)=>{let c=o[m];if(c)return c(x);let w=o._;if(!w)throw Error(`The requested method has no handler: ${m}`);return w(m,x)}}let{maxRequestTime:d=Ye}=t;t.transport&&s(t.transport),t.requestHandler&&u(t.requestHandler),t._debugHooks&&r(t._debugHooks);let p=0;function b(){return p<=Xe?++p:p=0}let C=new Map,_=new Map;function q(o,...m){let x=m[0];return new Promise((c,w)=>{var ee;if(!n.send)throw ue(["send"],"make requests");let U=b(),J={type:"request",id:U,method:o,params:x};C.set(U,{resolve:c,reject:w}),d!==1/0&&_.set(U,setTimeout(()=>{_.delete(U),w(Error("RPC request timed out."))},d)),(ee=e.onSend)==null||ee.call(e,J),n.send(J)})}let M=new Proxy(q,{get:(o,m,x)=>m in o?Reflect.get(o,m,x):c=>q(m,c)}),P=M;function j(o,...m){var w;let x=m[0];if(!n.send)throw ue(["send"],"send messages");let c={type:"message",id:o,payload:x};(w=e.onSend)==null||w.call(e,c),n.send(c)}let A=new Proxy(j,{get:(o,m,x)=>m in o?Reflect.get(o,m,x):c=>j(m,c)}),S=A,L=new Map,H=new Set;function G(o,m){var x;if(!n.registerHandler)throw ue(["registerHandler"],"register message listeners");if(o==="*"){H.add(m);return}L.has(o)||L.set(o,new Set),(x=L.get(o))==null||x.add(m)}function re(o,m){var x,c;if(o==="*"){H.delete(m);return}(x=L.get(o))==null||x.delete(m),((c=L.get(o))==null?void 0:c.size)===0&&L.delete(o)}async function ne(o){var m,x;if((m=e.onReceive)==null||m.call(e,o),!("type"in o))throw Error("Message does not contain a type.");if(o.type==="request"){if(!n.send||!i)throw ue(["send","requestHandler"],"handle requests");let{id:c,method:w,params:U}=o,J;try{J={type:"response",id:c,success:!0,payload:await i(w,U)}}catch(ee){if(!(ee instanceof Error))throw ee;J={type:"response",id:c,success:!1,error:ee.message}}(x=e.onSend)==null||x.call(e,J),n.send(J);return}if(o.type==="response"){let c=_.get(o.id);c!=null&&clearTimeout(c);let{resolve:w,reject:U}=C.get(o.id)??{};o.success?w==null||w(o.payload):U==null||U(Error(o.error));return}if(o.type==="message"){for(let w of H)w(o.id,o.payload);let c=L.get(o.id);if(!c)return;for(let w of c)w(o.payload);return}throw Error(`Unexpected RPC message type: ${o.type}`)}return{setTransport:s,setRequestHandler:u,request:M,requestProxy:P,send:A,sendProxy:S,addMessageListener:G,removeMessageListener:re,proxy:{send:S,request:P},_setDebugHooks:r}}function ur(t){return dr(t)}var Qe="[transport-id]";function cr(t,e){let{transportId:r}=e;return r==null?t:{[Qe]:r,data:t}}function hr(t,e){let{transportId:r,filter:n}=e,s=n==null?void 0:n();if(r!=null&&s!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let i=t;if(r){if(t[Qe]!==r)return[!0];i=t.data}return s===!1?[!0]:[!1,i]}function mr(t,e={}){let{transportId:r,filter:n,remotePort:s}=e,i=t,u=s??t,d;return{send(p){u.postMessage(cr(p,{transportId:r}))},registerHandler(p){d=b=>{let C=b.data,[_,q]=hr(C,{transportId:r,filter:()=>n==null?void 0:n(b)});_||p(q)},i.addEventListener("message",d)},unregisterHandler(){d&&i.removeEventListener("message",d)}}}function pr(t,e){return mr(t,e)}function Je(t){return ur({transport:pr(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{f.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{f.debug("[rpc] Worker -> Parent",e)}}})}Fe=V("Initializing..."),Ut=V(t=>{let e=t(Or),r=Object.values(e.cellRuntime);return r.some(n=>!dn(n.output))?!0:r.every(n=>n.status==="idle")});var Ke=mn(),Ze="marimo:file",Ge=new Tr(null);const fr={saveFile(t){Ge.set(Ze,t)},readFile(){return Ge.get(Ze)}};var gr={saveFile(t){ie.setCodeForHash((0,Ke.compressToEncodedURIComponent)(t))},readFile(){let t=ie.getCodeFromHash()||ie.getCodeFromSearchParam();return t?(0,Ke.decompressFromEncodedURIComponent)(t):null}};const yr={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var br={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}};const wr={saveFile(t){},readFile(){return se.get(Wr)??null}};var vr={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
2
- `)}},et=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};let ce;le=new et([wr,yr,gr]),ce=new et([fr,br,vr]),Ne=class Xt{constructor(){a(this,"initialized",new _t);a(this,"sendRename",async({filename:e})=>(e===null||(ie.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));a(this,"sendSave",async e=>{if(!this.saveRpc)return f.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let r=await this.readCode();return r.contents&&(le.saveFile(r.contents),ce.saveFile(r.contents)),this.rpc.proxy.request.saveNotebook(e).catch(n=>{f.error(n)}),null});a(this,"sendCopy",async()=>{v()});a(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));a(this,"sendPdb",async()=>{v()});a(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
- `)),await this.putControlRequest({type:"execute-cells",...e}),null));a(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));a(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));a(this,"sendShutdown",async()=>(window.close(),null));a(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));a(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));a(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));a(this,"sendCodeCompletionRequest",async e=>(se.get(Hr)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));a(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),en.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(f.error(r),null))));a(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));a(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));a(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(le.saveFile(e.contents),ce.saveFile(e.contents)),pn(),null});a(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(f.warn("Save RPC not initialized"),{contents:""}));a(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));a(this,"openFile",async({path:e})=>{let r=fn({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});a(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));a(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));a(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Et()}),null));a(this,"sendInstantiate",async e=>null);a(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));a(this,"sendCreateFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:e}));a(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));a(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));a(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));a(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));a(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));a(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));a(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));a(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));a(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));a(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));a(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));a(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));a(this,"syncCellIds",()=>Promise.resolve(null));a(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));a(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));a(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());a(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));a(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));a(this,"getUsageStats",v);a(this,"openTutorial",v);a(this,"getRecentFiles",v);a(this,"getWorkspaceFiles",v);a(this,"getRunningNotebooks",v);a(this,"shutdownSession",v);a(this,"exportAsIPYNB",v);a(this,"exportAsPDF",v);a(this,"autoExportAsHTML",v);a(this,"autoExportAsMarkdown",v);a(this,"autoExportAsIPYNB",v);a(this,"updateCellOutputs",v);a(this,"writeSecret",v);a(this,"invokeAiTool",v);a(this,"clearCache",v);a(this,"getCacheInfo",v);a(this,"listStorageEntries",v);a(this,"downloadStorage",v);Zr()&&(this.rpc=Je(new Worker(new URL(""+new URL("worker-BPV9SmHz.js",import.meta.url).href,""+import.meta.url),{type:"module",name:gt()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{se.set(Fe,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(f.error(e),hn({title:"Error initializing",description:e,variant:"danger"})),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new Xt),window[e]}getSaveWorker(){return Rt()==="read"?(f.debug("Skipping SaveWorker in read-mode"),{readFile:v,readNotebook:v,saveNotebook:v}):Je(new Worker(new URL(""+new URL("save-worker-CtJsIYIM.js",import.meta.url).href,""+import.meta.url),{type:"module",name:gt()})).proxy.request}async startSession(){let e=await le.readFile(),r=await ce.readFile(),n=se.get(zr)??ie.getFilename(),s=se.get(Kr),i={},u=new URLSearchParams(window.location.search);for(let d of u.keys()){let p=u.getAll(d);i[d]=p.length===1?p[0]:p}await this.rpc.proxy.request.startSession({queryParameters:i,code:e||r||"",filename:n,userConfig:{...s,runtime:{...s.runtime,auto_instantiate:Rt()==="read"?!0:s.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):f.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},Nt=function(){return Ue.withProducerCallback(t=>{Ne.INSTANCE.attachMessageConsumer(t)})},Ht=function(t=Re()){let e=window.fetch;return window.fetch=async(r,n)=>{let s=r instanceof Request?r.url:r.toString();if(s.startsWith("data:"))return e(r,n);try{let i=he(s,t);if(i){let u=await(await e(i)).arrayBuffer();return new Response(u,{headers:{"Content-Type":xr(s)}})}return e(r,n)}catch(i){return f.error("Error parsing URL",i),e(r,n)}},()=>{window.fetch=e}};function xr(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}At=function(t,e=Re()){let r=t.http.bind(t),n=t.load.bind(t);return t.http=async s=>{let i=he(s,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await r(s)}catch(u){if(s.startsWith("data:"))return await window.fetch(s).then(d=>d.text());throw u}},t.load=async s=>{let i=he(s,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await n(s)}catch(u){if(s.startsWith("data:"))return await window.fetch(s).then(d=>d.text());throw u}},()=>{t.http=r,t.load=n}};function tt(t){return t.startsWith(".")?t.slice(1):t}function _r(t,e=Re()){let r=he(t,e);if(!r)return t;let n=gn(r);return URL.createObjectURL(n)}function he(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let n=new URL(t,r).pathname,s=rt(t),i=rt(n);return e[t]||e[tt(t)]||e[n]||e[tt(n)]||s&&e[s]||i&&e[i]}function rt(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function _e(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[n,s]of t.entries())r.push(..._e(s,[...e,n]));else if(typeof t=="object"&&t)for(let[n,s]of Object.entries(t))r.push(..._e(s,[...e,n]));return r}function Er(t){let e=_e(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),n=[],s=[];for(let i of e){let u=Vr(t,i);if(u instanceof DataView){let d=vt(u);n.push(d),s.push(i),ae(r,i,d)}}return{state:r,buffers:n,bufferPaths:s}}function nt(t){let{state:e,bufferPaths:r,buffers:n}=t;if(!r||r.length===0)return e;n&&Jr(n.length===r.length,"Buffers and buffer paths not the same length");let s=e;for(let[i,u]of r.entries()){let d=n==null?void 0:n[i];if(d==null){f.warn("[anywidget] Could not find buffer at path",u);continue}typeof d=="string"?ae(s,u,xt(d)):ae(s,u,d)}return s}const st={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw f.warn(t),Error(t)}};function Cr(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Rr=(lt=class{constructor(){F(this,pe);F(this,X,new Map)}getModule(t,e){let r=l(this,X).get(e);if(r)return r;let n=$(this,pe,Yt).call(this,t).catch(s=>{throw l(this,X).delete(e),s});return l(this,X).set(e,n),n}invalidate(t){f.debug(`[WidgetDefRegistry] Invalidating module cache for hash=${t}`),l(this,X).delete(t)}},X=new WeakMap,pe=new WeakSet,Yt=async function(t){let e=Gr(t).toString();return bt()&&(e=_r(e)),cn(()=>import(e).then(async r=>(await r.__tla,r)),[],import.meta.url)},lt),Sr=(dt=class{constructor(){F(this,T);F(this,Y);F(this,I)}async bind(t,e){var i,u;if(l(this,I)&&l(this,Y)===t)return l(this,I);l(this,I)&&l(this,Y)!==t&&(f.debug("[WidgetBinding] Hot-reload detected, aborting previous binding"),(i=l(this,T))==null||i.abort(),N(this,T,void 0),N(this,I,void 0)),N(this,Y,t),N(this,T,new AbortController);let r=l(this,T).signal,n=typeof t=="function"?await t():t,s=await((u=n.initialize)==null?void 0:u.call(n,{model:e,experimental:st}));return s&&r.addEventListener("abort",s),N(this,I,async(d,p)=>{var C;let b=await((C=n.render)==null?void 0:C.call(n,{model:e,el:d,experimental:st}));b&&Cr([p,r]).addEventListener("abort",()=>{let _=p.aborted?"view unmount":"binding destroyed";f.debug(`[WidgetBinding] Render cleanup triggered (reason: ${_})`),b()})}),l(this,I)}destroy(){var t;f.debug("[WidgetBinding] Destroying binding, aborting initialize lifecycle"),(t=l(this,T))==null||t.abort(),N(this,T,void 0),N(this,Y,void 0),N(this,I,void 0)}},T=new WeakMap,Y=new WeakMap,I=new WeakMap,dt),Fr=(ut=class{constructor(){F(this,z,new Map)}getOrCreate(t){let e=l(this,z).get(t);return e||(e=new Sr,l(this,z).set(t,e)),e}destroy(t){let e=l(this,z).get(t);e&&(f.debug(`[BindingManager] Destroying binding for model=${t}`),e.destroy(),l(this,z).delete(t))}has(t){return l(this,z).has(t)}},z=new WeakMap,ut);Ft=new Rr,qe=new Fr;var Nr=(ct=class{constructor(t=1e4){F(this,K);F(this,W,new Map);F(this,te);N(this,te,t)}get(t){let e=$(this,K,ve).call(this,t);return e.deferred.status==="pending"&&setTimeout(()=>{e.deferred.status==="pending"&&(e.deferred.reject(Error(`Model not found for key: ${t}`)),l(this,W).delete(t))},l(this,te)),e.deferred.promise}create(t,e){let r=$(this,K,ve).call(this,t);r.deferred.resolve(e(r.controller.signal))}set(t,e){$(this,K,ve).call(this,t).deferred.resolve(e)}getSync(t){let e=l(this,W).get(t);if(e&&e.deferred.status==="resolved")return e.deferred.value}delete(t){var e;f.debug(`[ModelManager] Deleting model=${t}, aborting lifecycle signal`),(e=l(this,W).get(t))==null||e.controller.abort(),l(this,W).delete(t)}},W=new WeakMap,te=new WeakMap,K=new WeakSet,ve=function(t){let e=l(this,W).get(t);return e||(e={deferred:new _t,controller:new AbortController},l(this,W).set(t,e)),e},ct),it=Symbol("marimo");function Ee(t){return t[it]}be=new Nr;var kr=(ht=it,Q=class{constructor(e,r,n){F(this,B);F(this,fe,"change");F(this,O);F(this,D);F(this,Z);F(this,k,{});a(this,ht,{updateAndEmitDiffs:e=>$(this,B,Jt).call(this,e),emitCustomMessage:(e,r)=>$(this,B,Kt).call(this,e,r)});a(this,"widget_manager",{async get_model(e){let r=await Q._modelManager.get(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});F(this,ge,Yr(()=>{let e=l(this,k)[l(this,fe)];if(e)for(let r of e)try{r()}catch(n){f.error("Error emitting event",n)}},0));N(this,D,e),N(this,Z,r),N(this,O,new Map),n&&n.addEventListener("abort",()=>{f.debug("[Model] Signal aborted, clearing all listeners"),N(this,k,{})})}off(e,r){var n;if(!e){N(this,k,{});return}if(!r){l(this,k)[e]=new Set;return}(n=l(this,k)[e])==null||n.delete(r)}send(e,r,n){let s=(n??[]).map(i=>i instanceof ArrayBuffer?new DataView(i):new DataView(i.buffer,i.byteOffset,i.byteLength));return l(this,Z).sendCustomMessage(e,s).then(()=>r==null?void 0:r())}get(e){return l(this,D)[e]}set(e,r){N(this,D,{...l(this,D),[e]:r}),l(this,O).set(e,r),$(this,B,Qt).call(this,`change:${e}`,r),l(this,ge).call(this)}save_changes(){if(l(this,O).size===0)return;let e=Object.fromEntries(l(this,O).entries());l(this,O).clear(),l(this,Z).sendUpdate(e)}on(e,r){l(this,k)[e]||(l(this,k)[e]=new Set),l(this,k)[e].add(r)}},fe=new WeakMap,O=new WeakMap,D=new WeakMap,Z=new WeakMap,k=new WeakMap,B=new WeakSet,Qt=function(e,r){if(!l(this,k)[e])return;let n=l(this,k)[e];for(let s of n)try{s(r)}catch(i){f.error("Error emitting event",i)}},Jt=function(e){e!=null&&Object.keys(e).forEach(r=>{let n=r;l(this,D)[n]!==e[n]&&this.set(n,e[n])})},Kt=function(e,r=[]){let n=l(this,k)["msg:custom"];if(n)for(let s of n)try{s(e.content,r)}catch(i){f.error("Error emitting event",i)}},ge=new WeakMap,a(Q,"_modelManager",be),Q);$t=async function(t,e){let r=e.model_id,n=e.message,s=("buffers"in n?n.buffers:[]).map(xt);switch(n.method){case"open":{let{state:i,buffer_paths:u=[]}=n,d=nt({state:i,bufferPaths:u,buffers:s}),p=t.getSync(r);if(p){Ee(p).updateAndEmitDiffs(d);return}t.create(r,b=>new kr(d,bt()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(C){if(b.aborted){f.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:_,buffers:q,bufferPaths:M}=Er(C);await Se().sendModelValue({modelId:r,message:{method:"update",state:_,bufferPaths:M},buffers:q})},async sendCustomMessage(C,_){if(b.aborted){f.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await Se().sendModelValue({modelId:r,message:{method:"custom",content:C},buffers:_.map(vt)})}},b));return}case"custom":Ee(await t.get(r)).emitCustomMessage({method:"custom",content:n.content},s);return;case"close":qe.destroy(r),t.delete(r);return;case"update":{let{state:i,buffer_paths:u=[]}=n,d=nt({state:i,bufferPaths:u,buffers:s});Ee(await t.get(r)).updateAndEmitDiffs(d);return}default:Xr(n)}},Dr(be,"MODEL_MANAGER");function me(t){return()=>({TYPE:t,is(e){return e.type===t},create(e){return new CustomEvent(t,e)}})}Ae=me("marimo-value-input")(),Oe=me("marimo-value-update")(),Me=me("marimo-value-ready")(),Le=me("marimo-incoming-message")(),Vt=function(t,e){return Ae.create({bubbles:!0,composed:!0,detail:{value:t,element:e}})},We=class Zt{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new Zt),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&f.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let n=this.entries.get(e);n===void 0?this.entries.set(e,{objectId:e,value:Br(r,this),elements:new Set([r])}):n.elements.add(r)}removeInstance(e,r){let n=this.entries.get(e);n!=null&&n.elements.has(r)&&n.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,n){let s=this.entries.get(e);s===void 0?f.warn("UIElementRegistry missing entry",e):s.elements.forEach(i=>{i.dispatchEvent(Le.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:n}}))})}broadcastValueUpdate(e,r,n){let s=this.entries.get(r);s===void 0?f.warn("UIElementRegistry missing entry",r):(s.value=n,s.elements.forEach(i=>{i!==e&&i.dispatchEvent(Oe.create({bubbles:!1,composed:!0,detail:{value:n,element:i}}))}),document.dispatchEvent(Me.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},Wt=We.INSTANCE,It=new un("function-call-result",async(t,e)=>{await Se().sendFunctionRequest({functionCallId:t,...e})}),Tt="68px";var qr="288px";let at;Bt=t=>t?/^\d+$/.test(t)?`${t}px`:t:qr,Lt=Ur({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}}),Te=V(null),Ot=V(null),Pe=V(!1),at=V(!1),je=V(!1);var Mr=ft();Ie=t=>{let e=(0,Mr.c)(8),{onResize:r,startingWidth:n,minWidth:s,maxWidth:i}=t,u=(0,R.useRef)(null),d=(0,R.useRef)(null),p=(0,R.useRef)(null),b,C;e[0]!==i||e[1]!==s||e[2]!==r?(b=()=>{let P=u.current,j=d.current,A=p.current;if(!P||!j&&!A)return;let S=Number.parseInt(window.getComputedStyle(P).width,10),L=0,H=!1,G=null,re=c=>{if(!P||!H||!G)return;let w=c.clientX-L;L=c.clientX,S=G==="left"?S-w:S+w,s&&(S=Math.max(s,S)),i&&(S=Math.min(i,S)),P.style.width=`${S}px`},ne=()=>{H&&(r==null||r(S),H=!1,G=null),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",ne)},o=(c,w)=>{c.preventDefault(),H=!0,G=w,L=c.clientX,document.addEventListener("mousemove",re),document.addEventListener("mouseup",ne)},m=c=>o(c,"left"),x=c=>o(c,"right");return j&&j.addEventListener("mousedown",m),A&&A.addEventListener("mousedown",x),()=>{j&&j.removeEventListener("mousedown",m),A&&A.removeEventListener("mousedown",x),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",ne)}},C=[s,i,r],e[0]=i,e[1]=s,e[2]=r,e[3]=b,e[4]=C):(b=e[3],C=e[4]),(0,R.useEffect)(b,C);let _;e[5]===Symbol.for("react.memo_cache_sentinel")?(_={left:d,right:p},e[5]=_):_=e[5];let q=n==="contentWidth"?"var(--content-width-medium)":`${n}px`,M;return e[6]===q?M=e[7]:(M={resizableDivRef:u,handleRefs:_,style:{width:q}},e[6]=q,e[7]=M),M},ze=function(t){t||window.dispatchEvent(new Event("resize"))};var ot=ft(),h=pt(tn(),1);Dt=()=>{let t=(0,ot.c)(16),[e,r]=ye(Te),[n,s]=ye(Pe),[i,u]=ye(at),[d,p]=ye(je),b;t[0]!==s||t[1]!==r?(b=()=>{r(null),s(!1)},t[0]=s,t[1]=r,t[2]=b):b=t[2];let C=b;if(we(oe.CONTEXT_AWARE_PANEL).length===0||!e||!n)return null;let _;t[3]!==d||t[4]!==i||t[5]!==p||t[6]!==u?(_=()=>(0,h.jsxs)("div",{className:"flex flex-row items-center gap-3",children:[(0,h.jsx)(Ct,{content:i?"Unpin panel":"Pin panel",children:(0,h.jsx)(St,{size:"xs",onPressedChange:()=>u(!i),pressed:i,"aria-label":i?"Unpin panel":"Pin panel",children:i?(0,h.jsx)(E,{className:"w-4 h-4"}):(0,h.jsx)(sn,{className:"w-4 h-4"})})}),(0,h.jsx)(Ct,{content:d?(0,h.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,h.jsx)("span",{children:"Follow focused table"}),(0,h.jsx)("span",{className:"text-xs text-muted-foreground w-64",children:"The panel updates as cells that output tables are focused. Click to fix to the current cell."})]}):(0,h.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,h.jsx)("span",{children:"Focus on current table"}),(0,h.jsx)("span",{className:"text-xs text-muted-foreground w-64",children:"The panel is focused on the current table. Click to update based on which cell is focused."})]}),children:(0,h.jsx)(St,{size:"xs",onPressedChange:()=>p(!d),pressed:d,"aria-label":d?"Follow focused cell":"Fixed",children:(0,h.jsx)(y,{className:nn("w-4 h-4",d&&"text-primary")})})})]}),t[3]=d,t[4]=i,t[5]=p,t[6]=u,t[7]=_):_=t[7];let q=_,M;t[8]!==C||t[9]!==q?(M=()=>(0,h.jsxs)("div",{className:"mt-2 pb-7 mb-4 h-full overflow-auto",children:[(0,h.jsxs)("div",{className:"flex flex-row justify-between items-center mx-2",children:[q(),(0,h.jsx)(rn,{variant:"linkDestructive",size:"icon",onClick:C,"aria-label":"Close selection panel",children:(0,h.jsx)(ln,{className:"w-4 h-4"})})]}),(0,h.jsx)(yt,{children:(0,h.jsx)(ke,{name:oe.CONTEXT_AWARE_PANEL})})]}),t[8]=C,t[9]=q,t[10]=M):M=t[10];let P=M;if(!i){let S;return t[11]===P?S=t[12]:(S=(0,h.jsx)(Pr,{children:P()}),t[11]=P,t[12]=S),S}let j;t[13]===Symbol.for("react.memo_cache_sentinel")?(j=(0,h.jsx)(yn,{onDragging:ze,className:"resize-handle border-border z-20 print:hidden border-l"}),t[13]=j):j=t[13];let A;return t[14]===P?A=t[15]:(A=(0,h.jsxs)(h.Fragment,{children:[j,(0,h.jsx)(bn,{defaultSize:20,minSize:15,maxSize:80,children:P()})]}),t[14]=P,t[15]=A),A},zt=t=>{let e=(0,ot.c)(2),{children:r}=t,n;return e[0]===r?n=e[1]:(n=(0,h.jsx)(yt,{children:(0,h.jsx)(Gt,{name:oe.CONTEXT_AWARE_PANEL,children:r})}),e[0]=r,e[1]=n),n};var Pr=({children:t})=>{let{resizableDivRef:e,handleRefs:r,style:n}=Ie({startingWidth:400,minWidth:300,maxWidth:1500});return(0,h.jsxs)("div",{className:"absolute z-40 right-0 h-full bg-background flex flex-row",children:[(0,h.jsx)("div",{ref:r.left,className:"w-1 h-full cursor-col-resize border-l"}),(0,h.jsx)("div",{ref:e,style:n,children:t})]})}});export{Fe as A,ae as B,Ft as C,Nt as D,Ne as E,kt as F,qt as I,Mt as L,oe as M,Pt as N,le as O,jt as P,ke as R,qe as S,At as T,Me as _,wn as __tla,Pe as a,be as b,je as c,Lt as d,It as f,Ae as g,Le as h,Ie as i,Ue as j,Ut as k,Tt as l,Wt as m,zt as n,Te as o,We as p,ze as r,Ot as s,Dt as t,Bt as u,Oe as v,Ht as w,$t as x,Vt as y,we as z};
@@ -1 +0,0 @@
1
- import{o as a}from"./tooltip-DLsts-7g.js";function o(r){function n(t){return!!(t!=null&&t.schema)&&Array.isArray(t.schema.fields)&&typeof t.toArray=="function"}return(n(r)?r:f(r)).toArray()}o.responseType="arrayBuffer";function f(r,n){return a(r,n??{useProxy:!0})}export{o as t};
@@ -1 +0,0 @@
1
- import{s as J}from"./chunk-LvLJmgfZ.js";import{u as K}from"./useEvent-O0nX5vok.js";import{t as G}from"./react-Bj1aDYRI.js";import{T as H,Yr as ee,x as te}from"./cells-CAHXVi26.js";import"./react-dom-CSu739Rf.js";import{t as V}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DLsts-7g.js";import{t as re}from"./context-aware-panel--8JnQtYo.js";import{n as $}from"./constants-Rz_lD4HK.js";import{S as se,d as oe}from"./config-DeEqZTX7.js";import{t as ae}from"./jsx-runtime-icT_Ltz2.js";import{n as ie,t as q}from"./button-BZAv3veu.js";import{t as le}from"./cn-BoaCR37F.js";import"./dist-B_cxg-E4.js";import{Y as M,w as me}from"./JsonOutput-DJukuY6Z.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as ne}from"./requests-Bgjtqo_1.js";import"./layout-52MeytEk.js";import{c as ce}from"./state-D59a73JQ.js";import{r as de}from"./download-SQhwj_Eq.js";import"./markdown-renderer-MyhTrUey.js";import{t as pe}from"./copy-CkudG0Ej.js";import{t as he}from"./download-DBW9RXtT.js";import{i as fe,l as xe,n as be,r as Q,t as ye,u as je}from"./panels-jo8u0sPM.js";import{t as ue}from"./spinner-C5JoisA7.js";import"./dist-BNC_tnlW.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import"./dist-apDpadc4.js";import{t as ge}from"./use-toast-Hc8CXlvz.js";import{t as ke}from"./session-CXChHxAw.js";import"./Combination-CBJmtdux.js";import"./purify.es-BBn8CPhf.js";import"./dates-BcvJrESI.js";import{a as _e,c as Ne,l as we,n as ve,r as Se,t as Ce}from"./dialog-CyL4o0mA.js";import"./popover-Du6bDNYH.js";import{t as ze}from"./share-BYioqUE0.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{n as Ie}from"./copy-B0pTwxmU.js";import{a as Pe}from"./cell-link-BjgRgErj.js";import"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import"./html-to-image-BgHw831z.js";import"./esm-CBkHtTOV.js";import{n as Te,t as Ae}from"./react-resizable-panels.browser.esm-DDRqG5ui.js";import"./name-cell-input-CAAR5C2m.js";import{t as Ee}from"./marimo-icons-C_YDiXeg.js";import"./ws-CBdPISJL.js";import"./dist-D9Vhptds.js";import"./dist-CVEvQ1Ex.js";import"./dist-sVuk6mkQ.js";import"./dist-DxrbvUBv.js";import"./dist-6FIAeDIu.js";import"./dist-CgC048vN.js";import"./dist-DbK_4_qo.js";import"./dist-ASlWkGgG.js";import"./dist-DBPtheKQ.js";import"./esm-DhTsVMLM.js";var Re=V(),Be=J(G(),1),t=J(ae(),1);const We=o=>{let e=(0,Re.c)(25),{appConfig:s}=o,{setCells:r}=H(),{sendComponentValues:y}=ne(),c;e[0]===y?c=e[1]:(c=()=>(Q.INSTANCE.start(y),Le),e[0]=y,e[1]=c);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=[],e[2]=a):a=e[2],(0,Be.useEffect)(c,a);let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=ke(),e[3]=i):i=e[3];let j;e[4]===r?j=e[5]:(j={autoInstantiate:!0,setCells:r,sessionId:i},e[4]=r,e[5]=j);let{connection:l}=be(j),N=K(te),u;e[6]===l.state?u=e[7]:(u=oe(l.state),e[6]=l.state,e[7]=u);let x=u,d;e[8]!==s||e[9]!==x?(d=()=>x?(0,t.jsxs)(me,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ue,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(fe,{appConfig:s,mode:"read"}),e[8]=s,e[9]=x,e[10]=d):d=e[10];let b=d,m;e:{if(typeof window>"u"){m=null;break e}let f,n;if(e[11]===Symbol.for("react.memo_cache_sentinel")){if(n=new URL(window.location.href),!n.searchParams.has("file")){m=null;break e}n.searchParams.delete("file"),f=n.searchParams.toString(),e[11]=f,e[12]=n,e[13]=m}else f=e[11],n=e[12],m=e[13];let w=f;m=w?`${n.pathname}?${w}`:n.pathname}let g=m,v=s.width,k;e[14]===Symbol.for("react.memo_cache_sentinel")?(k=g&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:g,"aria-label":"Back to gallery",className:le(ie({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(ce,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[14]=k):k=e[14];let p;e[15]===l?p=e[16]:(p=(0,t.jsx)(je,{connection:l,className:"sm:pt-8",children:k}),e[15]=l,e[16]=p);let h;e[17]===b?h=e[18]:(h=b(),e[17]=b,e[18]=h);let _;return e[19]!==s.width||e[20]!==l||e[21]!==N||e[22]!==p||e[23]!==h?(_=(0,t.jsxs)(xe,{connection:l,isRunning:N,width:v,children:[p,h]}),e[19]=s.width,e[20]=l,e[21]=N,e[22]=p,e[23]=h,e[24]=_):_=e[24],_};function Le(){Q.INSTANCE.stop()}var X=V();const Oe=()=>{let o=(0,X.c)(3),e=K(ee);if(!M()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:$.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm","data-testid":"static-notebook-banner",children:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Ue,{code:e})})]}),o[1]=e,o[2]=r),r};var Ue=o=>{let e=(0,X.c)(78),{code:s}=o,r=Pe()||"notebook.py",y=r.lastIndexOf("/");y!==-1&&(r=r.slice(y+1));let c=window.location.href,a,i,j,l,N,u,x,d,b,m,g,v,k,p,h,_,f,n,w;if(e[0]!==s||e[1]!==r){let F=ze({code:s});l=Ce,e[21]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(we,{asChild:!0,children:(0,t.jsx)(q,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[21]=g):g=e[21],j=ve,i=_e,e[22]===r?m=e[23]:(m=(0,t.jsx)(Ne,{children:r}),e[22]=r,e[23]=m),a=Se,u="pt-3 text-left space-y-3",e[24]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:$.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[24]=x):x=e[24];let D;e[25]===Symbol.for("react.memo_cache_sentinel")?(D=(0,t.jsx)("br",{}),e[25]=D):D=e[25],e[26]===r?d=e[27]:(d=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",D,"marimo edit ",r]})}),e[26]=r,e[27]=d),e[28]===Symbol.for("react.memo_cache_sentinel")?(b=!c.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[28]=b):b=e[28],w="pt-3 border-t border-(--sky-7)",_="text-sm text-(--sky-12) mb-2",e[29]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("strong",{children:"Try in browser with WebAssembly:"}),e[29]=f):f=e[29],n=" ",N=F,v="_blank",k="text-(--sky-11) hover:underline break-all",p="noreferrer",h=F.slice(0,50),e[0]=s,e[1]=r,e[2]=a,e[3]=i,e[4]=j,e[5]=l,e[6]=N,e[7]=u,e[8]=x,e[9]=d,e[10]=b,e[11]=m,e[12]=g,e[13]=v,e[14]=k,e[15]=p,e[16]=h,e[17]=_,e[18]=f,e[19]=n,e[20]=w}else a=e[2],i=e[3],j=e[4],l=e[5],N=e[6],u=e[7],x=e[8],d=e[9],b=e[10],m=e[11],g=e[12],v=e[13],k=e[14],p=e[15],h=e[16],_=e[17],f=e[18],n=e[19],w=e[20];let S;e[30]!==N||e[31]!==v||e[32]!==k||e[33]!==p||e[34]!==h?(S=(0,t.jsxs)("a",{href:N,target:v,className:k,rel:p,children:[h,"..."]}),e[30]=N,e[31]=v,e[32]=k,e[33]=p,e[34]=h,e[35]=S):S=e[35];let C;e[36]!==S||e[37]!==_||e[38]!==f||e[39]!==n?(C=(0,t.jsxs)("p",{className:_,children:[f,n,S]}),e[36]=S,e[37]=_,e[38]=f,e[39]=n,e[40]=C):C=e[40];let L;e[41]===Symbol.for("react.memo_cache_sentinel")?(L=(0,t.jsx)("p",{className:"text-sm text-(--sky-12)",children:"Note: WebAssembly may not work for all notebooks. Additionally, some dependencies may not be available in the browser."}),e[41]=L):L=e[41];let z;e[42]!==C||e[43]!==w?(z=(0,t.jsxs)("div",{className:w,children:[C,L]}),e[42]=C,e[43]=w,e[44]=z):z=e[44];let I;e[45]!==a||e[46]!==u||e[47]!==x||e[48]!==d||e[49]!==b||e[50]!==z?(I=(0,t.jsxs)(a,{className:u,children:[x,d,b,z]}),e[45]=a,e[46]=u,e[47]=x,e[48]=d,e[49]=b,e[50]=z,e[51]=I):I=e[51];let P;e[52]!==i||e[53]!==m||e[54]!==I?(P=(0,t.jsxs)(i,{children:[m,I]}),e[52]=i,e[53]=m,e[54]=I,e[55]=P):P=e[55];let T;e[56]===s?T=e[57]:(T=async()=>{await Ie(s),ge({title:"Copied to clipboard"})},e[56]=s,e[57]=T);let O;e[58]===Symbol.for("react.memo_cache_sentinel")?(O=(0,t.jsx)(pe,{className:"w-3 h-3 mr-2"}),e[58]=O):O=e[58];let A;e[59]===T?A=e[60]:(A=(0,t.jsxs)(q,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:T,children:[O,"Copy code"]}),e[59]=T,e[60]=A);let E;e[61]!==s||e[62]!==r?(E=()=>{de(new Blob([s],{type:"text/plain"}),r)},e[61]=s,e[62]=r,e[63]=E):E=e[63];let U;e[64]===Symbol.for("react.memo_cache_sentinel")?(U=(0,t.jsx)(he,{className:"w-3 h-3 mr-2"}),e[64]=U):U=e[64];let R;e[65]===E?R=e[66]:(R=(0,t.jsxs)(q,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:E,children:[U,"Download"]}),e[65]=E,e[66]=R);let B;e[67]!==A||e[68]!==R?(B=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[A,R]}),e[67]=A,e[68]=R,e[69]=B):B=e[69];let W;e[70]!==j||e[71]!==P||e[72]!==B?(W=(0,t.jsxs)(j,{children:[P,B]}),e[70]=j,e[71]=P,e[72]=B,e[73]=W):W=e[73];let Y;return e[74]!==l||e[75]!==g||e[76]!==W?(Y=(0,t.jsxs)(l,{children:[g,W]}),e[74]=l,e[75]=g,e[76]=W,e[77]=Y):Y=e[77],Y},Z=V(),Ye=se()||M(),De=o=>{let e=(0,Z.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(Oe,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(We,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y=Ye&&(0,t.jsx)(Ve,{}),e[3]=y):y=e[3];let c;e[4]===r?c=e[5]:(c=(0,t.jsxs)(Ae,{children:[s,r,y]}),e[4]=r,e[5]=c);let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(re,{}),e[6]=a):a=e[6];let i;return e[7]===c?i=e[8]:(i=(0,t.jsx)(ye,{children:(0,t.jsxs)(Te,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[c,a]})}),e[7]=c,e[8]=i),i},Ve=()=>{let o=(0,Z.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50","data-testid":"watermark",children:(0,t.jsxs)("a",{href:$.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(Ee,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},$e=De;export{$e as default};
@@ -1 +0,0 @@
1
- import{s as oe}from"./chunk-LvLJmgfZ.js";import{d as be,l as we,n as T,p as ae,u as ye}from"./useEvent-O0nX5vok.js";import{t as Ne}from"./react-Bj1aDYRI.js";import{P as ke,T as ze,ci as Ce,ei as Se,li as n,vn as Oe,__tla as Ae}from"./cells-CAHXVi26.js";import"./react-dom-CSu739Rf.js";import{t as ie}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DLsts-7g.js";import{h as se}from"./useEventListener-BGihH8bs.js";import{y as Ie}from"./utils-BvPM6Bro.js";import{t as Pe}from"./constants-Rz_lD4HK.js";import{t as Le}from"./jsx-runtime-icT_Ltz2.js";import{t as z}from"./button-BZAv3veu.js";import{t as le}from"./cn-BoaCR37F.js";import"./dist-B_cxg-E4.js";import{n as Me,__tla as Ee}from"./JsonOutput-DJukuY6Z.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as Re}from"./requests-Bgjtqo_1.js";import{t as me}from"./createLucideIcon-Cm-Z7dYr.js";import{d as De,__tla as He}from"./layout-52MeytEk.js";import{n as Te,t as Ve,__tla as qe}from"./LazyAnyLanguageCodeMirror-CrcxjfJR.js";import"./download-SQhwj_Eq.js";import"./markdown-renderer-MyhTrUey.js";import{u as Ge}from"./toDate-BqKH-Jd9.js";import{t as Ue,__tla as Be}from"./cell-editor-D_RsnX0J.js";import{t as Fe}from"./spinner-C5JoisA7.js";import{t as Je}from"./play-DKSqmedg.js";import"./dist-BNC_tnlW.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import"./dist-apDpadc4.js";import"./session-CXChHxAw.js";import{r as Ke}from"./useTheme-CM9j8dgy.js";import"./Combination-CBJmtdux.js";import{t as C}from"./tooltip-CNmaER6z.js";import"./purify.es-BBn8CPhf.js";import"./dates-BcvJrESI.js";import"./popover-Du6bDNYH.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{__tla as Qe}from"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import"./html-to-image-BgHw831z.js";import{o as We}from"./focus-DaKeoSx6.js";import{a as Xe}from"./renderShortcut-Bgu3XVfT.js";import"./esm-CBkHtTOV.js";import{n as Ye,r as Ze,t as ne}from"./react-resizable-panels.browser.esm-DDRqG5ui.js";import"./name-cell-input-CAAR5C2m.js";import{n as $e,r as et}from"./panel-context-BN0DQXiK.js";import{__tla as tt}from"./loro_wasm_bg-CcIcmNa3.js";import"./ws-CBdPISJL.js";import"./Inputs-D5kI9GwB.js";import"./dist-D9Vhptds.js";import"./dist-CVEvQ1Ex.js";import"./dist-sVuk6mkQ.js";import"./dist-DxrbvUBv.js";import"./dist-6FIAeDIu.js";import"./dist-CgC048vN.js";import"./dist-DbK_4_qo.js";import"./dist-ASlWkGgG.js";import"./dist-DBPtheKQ.js";import"./esm-DhTsVMLM.js";import{t as rt}from"./kiosk-mode-BNqp-cFU.js";let ce,ot=Promise.all([(()=>{try{return Ae}catch{}})(),(()=>{try{return Ee}catch{}})(),(()=>{try{return He}catch{}})(),(()=>{try{return qe}catch{}})(),(()=>{try{return Be}catch{}})(),(()=>{try{return Qe}catch{}})(),(()=>{try{return tt}catch{}})()]).then(async()=>{var de=me("eraser",[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",key:"g5wo59"}],["path",{d:"m5.082 11.09 8.828 8.828",key:"1wx5vj"}]]),he=me("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),pe=ie(),V=oe(Ne(),1),ue=15;const q=Se("marimo:scratchpadHistory:v1",[],Oe),fe=ae(!1),xe=ae(null,(e,i,s)=>{if(s=s.trim(),!s)return;let m=e(q);i(q,[s,...m.filter(c=>c!==s)].slice(0,ue))});var t=oe(Le(),1),_e={hide_code:!1,disabled:!1};const ve=()=>{var re;let e=(0,pe.c)(60),i=ke(),[s]=Ie(),{theme:m}=Ke(),c=(0,V.useRef)(null),G=We(),{createNewCell:U,updateCellCode:d}=ze(),{sendRunScratchpad:h}=Re(),S=$e(),B=et(),l=i.cellRuntime[n],F=l==null?void 0:l.output,O=l==null?void 0:l.status,J=l==null?void 0:l.consoleOutputs,r=((re=i.cellData.__scratch__)==null?void 0:re.code)??"",K=be(xe),[a,p]=we(fe),u=ye(q),A;e[0]!==K||e[1]!==r||e[2]!==h?(A=()=>{h({code:r}),K(r)},e[0]=K,e[1]=r,e[2]=h,e[3]=A):A=e[3];let f=T(A),I;e[4]!==r||e[5]!==U||e[6]!==G?(I=()=>{r.trim()&&U({code:r,before:!1,cellId:G??"__end__"})},e[4]=r,e[5]=U,e[6]=G,e[7]=I):I=e[7];let Q=T(I),P;e[8]!==h||e[9]!==d?(P=()=>{d({cellId:n,code:"",formattingChange:!1}),h({code:""});let o=c.current;o&&o.dispatch({changes:{from:0,to:o.state.doc.length,insert:""}})},e[8]=h,e[9]=d,e[10]=P):P=e[10];let W=T(P),L;e[11]!==p||e[12]!==d?(L=o=>{p(!1),d({cellId:n,code:o,formattingChange:!1});let k=c.current;k&&k.dispatch({changes:{from:0,to:k.state.doc.length,insert:o}})},e[11]=p,e[12]=d,e[13]=L):L=e[13];let X=T(L),[Y,je]=(0,V.useState)(),M;e[14]!==X||e[15]!==u||e[16]!==a||e[17]!==m?(M=()=>a?(0,t.jsx)("div",{className:"absolute inset-0 z-100 bg-background p-3 border-none overflow-auto",children:(0,t.jsx)("div",{className:"overflow-auto flex flex-col gap-3",children:u.map((o,k)=>(0,t.jsx)("div",{className:"border rounded-md hover:shadow-sm cursor-pointer hover:border-input overflow-hidden",onClick:()=>X(o),children:(0,t.jsx)(V.Suspense,{children:(0,t.jsx)(Ve,{language:"python",theme:m,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},value:o.trim(),editable:!1,readOnly:!0})})},k))})}):null,e[14]=X,e[15]=u,e[16]=a,e[17]=m,e[18]=M):M=e[18];let Z=M,E;e[19]!==W||e[20]!==Q||e[21]!==f||e[22]!==u.length||e[23]!==a||e[24]!==p||e[25]!==O?(E=()=>(0,t.jsxs)("div",{className:"flex items-center shrink-0 border-b",children:[(0,t.jsx)(C,{content:Xe("cell.run"),children:(0,t.jsx)(z,{"data-testid":"scratchpad-run-button",onClick:f,disabled:a,variant:"text",size:"xs",children:(0,t.jsx)(Je,{color:"var(--grass-11)",size:16})})}),(0,t.jsx)(C,{content:"Clear code and outputs",children:(0,t.jsx)(z,{disabled:a,size:"xs",variant:"text",onClick:W,children:(0,t.jsx)(de,{size:16})})}),(0,t.jsx)(rt,{children:(0,t.jsx)(C,{content:"Insert code",children:(0,t.jsx)(z,{disabled:a,size:"xs",variant:"text",onClick:Q,children:(0,t.jsx)(Te,{size:16})})})}),(O==="running"||O==="queued")&&(0,t.jsx)(Fe,{className:"inline",size:"small"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(C,{content:"Toggle history",children:(0,t.jsx)(z,{size:"xs",variant:"text",className:le(a&&"bg-(--sky-3) rounded-none"),onClick:()=>p(!a),disabled:u.length===0,children:(0,t.jsx)(he,{size:16})})}),(0,t.jsx)(C,{content:(0,t.jsx)("span",{className:"block max-w-prose",children:"Use this scratchpad to experiment with code without restrictions on variable names. Variables defined here aren't saved to notebook memory, and the code is not saved in the notebook file."}),children:(0,t.jsx)(z,{size:"xs",variant:"text",children:(0,t.jsx)(Ge,{size:16})})})]}),e[19]=W,e[20]=Q,e[21]=f,e[22]=u.length,e[23]=a,e[24]=p,e[25]=O,e[26]=E):E=e[26];let $=E,ge=S==="vertical",R;e[27]===Symbol.for("react.memo_cache_sentinel")?(R=Ce.create(n),e[27]=R):R=e[27];let x;e[28]===$?x=e[29]:(x=$(),e[28]=$,e[29]=x);let D;e[30]===Symbol.for("react.memo_cache_sentinel")?(D=o=>{c.current=o},e[30]=D):D=e[30];let _;e[31]!==r||e[32]!==f||e[33]!==Y||e[34]!==m||e[35]!==s?(_=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Ue,{theme:m,showPlaceholder:!1,id:n,code:r,config:_e,status:"idle",serializedEditorState:null,runCell:f,userConfig:s,editorViewRef:c,setEditorView:D,hidden:!1,showHiddenCode:se.NOOP,languageAdapter:Y,setLanguageAdapter:je})}),e[31]=r,e[32]=f,e[33]=Y,e[34]=m,e[35]=s,e[36]=_):_=e[36];let v;e[37]===Z?v=e[38]:(v=Z(),e[37]=Z,e[38]=v);let j;e[39]!==v||e[40]!==x||e[41]!==_?(j=(0,t.jsx)(ne,{defaultSize:40,minSize:20,maxSize:70,children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden relative",children:[x,_,v]})}),e[39]=v,e[40]=x,e[41]=_,e[42]=j):j=e[42];let ee=ge?"h-1":"w-1",g;e[43]===ee?g=e[44]:(g=le("bg-border hover:bg-primary/50 transition-colors",ee),e[43]=ee,e[44]=g);let b;e[45]===g?b=e[46]:(b=(0,t.jsx)(Ze,{className:g}),e[45]=g,e[46]=b);let w;e[47]===F?w=e[48]:(w=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Me,{allowExpand:!1,output:F,className:Pe.outputArea,cellId:n,stale:!1,loading:!1})}),e[47]=F,e[48]=w);let y;e[49]===J?y=e[50]:(y=(0,t.jsx)("div",{className:"overflow-auto shrink-0 max-h-[50%]",children:(0,t.jsx)(De,{consoleOutputs:J,className:"overflow-auto",stale:!1,cellName:"_",onSubmitDebugger:se.NOOP,cellId:n,debuggerActive:!1})}),e[49]=J,e[50]=y);let N;e[51]!==w||e[52]!==y?(N=(0,t.jsx)(ne,{defaultSize:60,minSize:20,children:(0,t.jsxs)("div",{className:"h-full flex flex-col divide-y overflow-hidden",children:[w,y]})}),e[51]=w,e[52]=y,e[53]=N):N=e[53];let H;return e[54]!==S||e[55]!==B||e[56]!==j||e[57]!==b||e[58]!==N?(H=(0,t.jsx)("div",{className:"flex flex-col h-full overflow-hidden",id:R,children:(0,t.jsxs)(Ye,{direction:S,className:"h-full",children:[j,b,N]},B)}),e[54]=S,e[55]=B,e[56]=j,e[57]=b,e[58]=N,e[59]=H):H=e[59],H};let te;te=ie(),ce=()=>{let e=(0,te.c)(1),i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(ve,{}),e[0]=i):i=e[0],i}});export{ot as __tla,ce as default};
@@ -1 +0,0 @@
1
- import{s as re}from"./chunk-LvLJmgfZ.js";import{d as oe,l as De,p as ce,u as K}from"./useEvent-O0nX5vok.js";import{t as Be}from"./react-Bj1aDYRI.js";import{A as Me,Fn as Ve,In as Pe,Jn as se,M as Ee,Ot as Oe,Rn as Re,St as Ue,T as Ae,Wn as ze,a as Ge,ar as We,cr as me,dr as Je,ei as Ke,en as He,f as Xe,fr as Ye,gr as ie,hr as de,kt as Qe,lr as he,mt as Ze,qn as ea,ur as ue,vn as aa,vr as ta,xn as sa,yn as la,yr as xe}from"./cells-CAHXVi26.js";import"./react-dom-CSu739Rf.js";import{t as pe}from"./compiler-runtime-B3qBwwSJ.js";import{n as na}from"./assertNever-CTRGz-ul.js";import"./tooltip-DLsts-7g.js";import{t as H}from"./sortBy-CbaC49oe.js";import{t as fe}from"./add-connection-dialog-BSsacvzU.js";import{o as ra}from"./utils-BvPM6Bro.js";import{t as oa}from"./ErrorBoundary-H5EQrcAX.js";import{t as ca}from"./jsx-runtime-icT_Ltz2.js";import{r as ma,t as ee}from"./button-BZAv3veu.js";import{t as O}from"./cn-BoaCR37F.js";import"./dist-B_cxg-E4.js";import{D as le,F as ia,I as da,L as ha,P as be,R as ua}from"./JsonOutput-DJukuY6Z.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as xa}from"./requests-Bgjtqo_1.js";import{t as pa}from"./createLucideIcon-Cm-Z7dYr.js";import{t as fa}from"./x-BI1M8X_v.js";import"./download-SQhwj_Eq.js";import"./markdown-renderer-MyhTrUey.js";import{t as ge}from"./plus-dVmh0yTy.js";import{a as ba}from"./input-BRZ8bt6P.js";import{n as ga,o as ja}from"./column-preview-Dk_9z2Mw.js";import{t as Na}from"./workflow-BmeqNuSH.js";import"./dist-BNC_tnlW.js";import"./dist-CXLJUPFl.js";import"./dist-CQqv2gQL.js";import"./dist-8UD0A5sU.js";import"./dist-apDpadc4.js";import"./session-CXChHxAw.js";import"./Combination-CBJmtdux.js";import{t as ne}from"./tooltip-CNmaER6z.js";import"./purify.es-BBn8CPhf.js";import"./dates-BcvJrESI.js";import{t as ya}from"./context-CIAP2NOh.js";import"./popover-Du6bDNYH.js";import"./vega-loader.browser-CZV6_g2i.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{t as va}from"./copy-icon-Ditn6lfU.js";import{n as wa}from"./multi-map-CJMleYLX.js";import{t as je}from"./cell-link-BjgRgErj.js";import{n as Ne}from"./useAsyncData-D-4ifFXh.js";import{a as Sa,o as ae,t as _a,u as Ca}from"./command-_14PjWun.js";import"./chunk-5FQGJX7Z-CM1a_K7I.js";import"./katex-rvFxOCU-.js";import{r as ka}from"./html-to-image-BgHw831z.js";import{o as Fa}from"./focus-DaKeoSx6.js";import{a as $a,i as Ia,n as Ta,o as ye,r as qa,t as La}from"./table-BhH-Mm8O.js";import{n as Da}from"./icons-CrUXojcA.js";import{t as ve}from"./useAddCell-_oR2xY1x.js";import{a as we,i as te,o as Se,r as _e,s as Ce,t as Ba,u as Ma}from"./components-BP1LfBLA.js";import{t as Va}from"./empty-state-B_US46Us.js";import{n as Pa,t as Ea}from"./common-D2sp4A8j.js";import{a as Oa,i as Ra,n as ke,r as Fe,t as $e}from"./components-Wzn4JDkV.js";var Ua=pa("square-equal",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}]]),A=pe(),C=re(Be(),1),t=re(ca(),1),_={engineEmpty:"pl-3",engine:"pl-3 pr-2",database:"pl-4",schemaEmpty:"pl-8",schema:"pl-7",tableLoading:"pl-11",tableSchemaless:"pl-8",tableWithSchema:"pl-12",columnLocal:"pl-5",columnSql:"pl-13",columnPreview:"pl-10"},Aa=ce(a=>{let e=a(ue),s=a(sa),l=a(Ge);return H(e,r=>{if(!r.variable_name)return-1;let c=Object.values(s).find(j=>j.name===r.variable_name);if(!c)return 0;let n=l.inOrderIds.indexOf(c.declaredBy[0]);return n===-1?0:n})});const Ie=ce(a=>{let e=new Map(a(We));for(let s of xe){let l=e.get(s);l&&(l.databases.length===0&&e.delete(s),l.databases.length===1&&l.databases[0].name==="memory"&&l.databases[0].schemas.length===0&&e.delete(s))}return H([...e.values()],s=>xe.has(s.name)?1:0)}),za=()=>{let a=(0,A.c)(32),[e,s]=C.useState(""),l=oe(he),r=K(Aa),c=K(Ie);if(r.length===0&&c.length===0){let p;return a[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsx)(Va,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,t.jsx)(fe,{children:(0,t.jsxs)(ee,{variant:"outline",size:"sm",children:["Add database or catalog",(0,t.jsx)(ge,{className:"h-4 w-4 ml-2"})]})}),icon:(0,t.jsx)(se,{})}),a[0]=p):p=a[0],p}let n=!!e.trim(),j;a[1]===l?j=a[2]:(j=p=>{l(p.length>0),s(p)},a[1]=l,a[2]=j);let b;a[3]!==e||a[4]!==j?(b=(0,t.jsx)(Sa,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:j,rootClassName:"flex-1 border-r border-b-0"}),a[3]=e,a[4]=j,a[5]=b):b=a[5];let g;a[6]===n?g=a[7]:(g=n&&(0,t.jsx)("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",onClick:()=>s(""),children:(0,t.jsx)(fa,{className:"h-4 w-4"})}),a[6]=n,a[7]=g);let u;a[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(fe,{children:(0,t.jsx)(ee,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,t.jsx)(ge,{className:"h-4 w-4"})})}),a[8]=u):u=a[8];let m;a[9]!==b||a[10]!==g?(m=(0,t.jsxs)("div",{className:"flex items-center w-full border-b",children:[b,g,u]}),a[9]=b,a[10]=g,a[11]=m):m=a[11];let o;if(a[12]!==c||a[13]!==n||a[14]!==e){let p;a[16]!==n||a[17]!==e?(p=f=>(0,t.jsx)(Ga,{connection:f,hasChildren:f.databases.length>0,children:f.databases.map(N=>(0,t.jsx)(Wa,{engineName:f.name,database:N,hasSearch:n,children:(0,t.jsx)(Ja,{schemas:N.schemas,defaultSchema:f.default_schema,defaultDatabase:f.default_database,engineName:f.name,databaseName:N.name,hasSearch:n,searchValue:e,dialect:f.dialect})},N.name))},f.name),a[16]=n,a[17]=e,a[18]=p):p=a[18],o=c.map(p),a[12]=c,a[13]=n,a[14]=e,a[15]=o}else o=a[15];let h;a[19]!==c.length||a[20]!==r.length?(h=c.length>0&&r.length>0&&(0,t.jsxs)(_e,{className:_.engine,children:[(0,t.jsx)(Da,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"text-xs",children:"Python"})]}),a[19]=c.length,a[20]=r.length,a[21]=h):h=a[21];let x;a[22]!==e||a[23]!==r?(x=r.length>0&&(0,t.jsx)(Te,{tables:r,searchValue:e}),a[22]=e,a[23]=r,a[24]=x):x=a[24];let d;a[25]!==o||a[26]!==h||a[27]!==x?(d=(0,t.jsxs)(Ca,{className:"flex flex-col",children:[o,h,x]}),a[25]=o,a[26]=h,a[27]=x,a[28]=d):d=a[28];let i;return a[29]!==m||a[30]!==d?(i=(0,t.jsxs)(_a,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[m,d]}),a[29]=m,a[30]=d,a[31]=i):i=a[31],i};var Ga=a=>{let e=(0,A.c)(25),{connection:s,children:l,hasChildren:r}=a,c=s.name===ta,n=c?"In-Memory":s.name,{previewDataSourceConnection:j}=xa(),b;e[0]!==s.name||e[1]!==j?(b=async()=>{await j({engine:s.name})},e[0]=s.name,e[1]=j,e[2]=b):b=e[2];let g=b,u;e[3]===s.dialect?u=e[4]:(u=(0,t.jsx)(Ze,{className:"h-4 w-4 text-muted-foreground",name:s.dialect}),e[3]=s.dialect,e[4]=u);let m;e[5]===s.dialect?m=e[6]:(m=Ve(s.dialect),e[5]=s.dialect,e[6]=m);let o;e[7]===m?o=e[8]:(o=(0,t.jsx)("span",{className:"text-xs",children:m}),e[7]=m,e[8]=o);let h=n,x;e[9]===h?x=e[10]:(x=(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,t.jsx)(Oa,{variableName:h}),")"]}),e[9]=h,e[10]=x);let d;e[11]!==g||e[12]!==c?(d=!c&&(0,t.jsx)(Ma,{onClick:g,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[11]=g,e[12]=c,e[13]=d):d=e[13];let i;e[14]!==u||e[15]!==o||e[16]!==x||e[17]!==d?(i=(0,t.jsxs)(_e,{className:_.engine,children:[u,o,x,d]}),e[14]=u,e[15]=o,e[16]=x,e[17]=d,e[18]=i):i=e[18];let p;e[19]!==l||e[20]!==r?(p=r?l:(0,t.jsx)(te,{content:"No databases available",className:_.engineEmpty}),e[19]=l,e[20]=r,e[21]=p):p=e[21];let f;return e[22]!==i||e[23]!==p?(f=(0,t.jsxs)(t.Fragment,{children:[i,p]}),e[22]=i,e[23]=p,e[24]=f):f=e[24],f},Wa=a=>{let e=(0,A.c)(26),{hasSearch:s,engineName:l,database:r,children:c}=a,[n,j]=C.useState(!1),[b,g]=C.useState(!1),[u,m]=C.useState(s);u!==s&&(m(s),j(s));let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",_.database),e[0]=o):o=e[0];let h;e[1]!==n||e[2]!==b?(h=()=>{j(!n),g(!b)},e[1]=n,e[2]=b,e[3]=h):h=e[3];let x=`${l}:${r.name}`,d;e[4]===n?d=e[5]:(d=(0,t.jsx)(Ce,{isExpanded:n}),e[4]=n,e[5]=d);let i=b&&n?"text-foreground":"text-muted-foreground",p;e[6]===i?p=e[7]:(p=O("h-4 w-4",i),e[6]=i,e[7]=p);let f;e[8]===p?f=e[9]:(f=(0,t.jsx)(se,{className:p}),e[8]=p,e[9]=f);let N=b&&n&&"font-semibold",y;e[10]===N?y=e[11]:(y=O(N),e[10]=N,e[11]=y);let v;e[12]===r.name?v=e[13]:(v=r.name===""?(0,t.jsx)("i",{children:"Not connected"}):r.name,e[12]=r.name,e[13]=v);let w;e[14]!==v||e[15]!==y?(w=(0,t.jsx)("span",{className:y,children:v}),e[14]=v,e[15]=y,e[16]=w):w=e[16];let S;e[17]!==w||e[18]!==h||e[19]!==x||e[20]!==d||e[21]!==f?(S=(0,t.jsxs)(ae,{className:o,onSelect:h,value:x,children:[d,f,w]}),e[17]=w,e[18]=h,e[19]=x,e[20]=d,e[21]=f,e[22]=S):S=e[22];let q=n&&c,k;return e[23]!==S||e[24]!==q?(k=(0,t.jsxs)(t.Fragment,{children:[S,q]}),e[23]=S,e[24]=q,e[25]=k):k=e[25],k},Ja=a=>{let e=(0,A.c)(22),{schemas:s,defaultSchema:l,defaultDatabase:r,dialect:c,engineName:n,databaseName:j,hasSearch:b,searchValue:g}=a;if(s.length===0){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(te,{content:"No schemas available",className:_.schemaEmpty}),e[0]=o):o=e[0],o}let u;if(e[1]!==j||e[2]!==r||e[3]!==l||e[4]!==c||e[5]!==n||e[6]!==b||e[7]!==s||e[8]!==g){let o;e[10]===g?o=e[11]:(o=d=>g?d.tables.some(i=>i.name.toLowerCase().includes(g.toLowerCase())):!0,e[10]=g,e[11]=o);let h=s.filter(o),x;e[12]!==j||e[13]!==r||e[14]!==l||e[15]!==c||e[16]!==n||e[17]!==b||e[18]!==g?(x=d=>(0,t.jsx)(Ka,{databaseName:j,schema:d,hasSearch:b,children:(0,t.jsx)(Te,{tables:d.tables,searchValue:g,sqlTableContext:{engine:n,database:j,schema:d.name,defaultSchema:l,defaultDatabase:r,dialect:c}})},d.name),e[12]=j,e[13]=r,e[14]=l,e[15]=c,e[16]=n,e[17]=b,e[18]=g,e[19]=x):x=e[19],u=h.map(x),e[1]=j,e[2]=r,e[3]=l,e[4]=c,e[5]=n,e[6]=b,e[7]=s,e[8]=g,e[9]=u}else u=e[9];let m;return e[20]===u?m=e[21]:(m=(0,t.jsx)(t.Fragment,{children:u}),e[20]=u,e[21]=m),m},Ka=a=>{let e=(0,A.c)(24),{databaseName:s,schema:l,children:r,hasSearch:c}=a,[n,j]=C.useState(c),[b,g]=C.useState(!1),u=`${s}:${l.name}`;if(de(l.name))return r;let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=O("text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",_.schema),e[0]=m):m=e[0];let o;e[1]!==n||e[2]!==b?(o=()=>{j(!n),g(!b)},e[1]=n,e[2]=b,e[3]=o):o=e[3];let h;e[4]===n?h=e[5]:(h=(0,t.jsx)(Ce,{isExpanded:n}),e[4]=n,e[5]=h);let x=b&&n&&"text-foreground",d;e[6]===x?d=e[7]:(d=O("h-4 w-4 text-muted-foreground",x),e[6]=x,e[7]=d);let i;e[8]===d?i=e[9]:(i=(0,t.jsx)(ze,{className:d}),e[8]=d,e[9]=i);let p=b&&n&&"font-semibold",f;e[10]===p?f=e[11]:(f=O(p),e[10]=p,e[11]=f);let N;e[12]!==l.name||e[13]!==f?(N=(0,t.jsx)("span",{className:f,children:l.name}),e[12]=l.name,e[13]=f,e[14]=N):N=e[14];let y;e[15]!==o||e[16]!==h||e[17]!==i||e[18]!==N||e[19]!==u?(y=(0,t.jsxs)(ae,{className:m,onSelect:o,value:u,children:[h,i,N]}),e[15]=o,e[16]=h,e[17]=i,e[18]=N,e[19]=u,e[20]=y):y=e[20];let v=n&&r,w;return e[21]!==y||e[22]!==v?(w=(0,t.jsxs)(t.Fragment,{children:[y,v]}),e[21]=y,e[22]=v,e[23]=w):w=e[23],w},Te=a=>{let e=(0,A.c)(24),{tables:s,sqlTableContext:l,searchValue:r}=a,{addTableList:c}=me(),[n,j]=C.useState(!1),[b,g]=C.useState(!1),u;e[0]!==c||e[1]!==l||e[2]!==s.length||e[3]!==n?(u=async()=>{if(s.length===0&&l&&!n){j(!0),g(!0);let{engine:i,database:p,schema:f}=l,N=await Qe.request({engine:i,database:p,schema:f});if(!(N!=null&&N.tables))throw g(!1),Error("No tables available");c({tables:N.tables,sqlTableContext:l}),g(!1)}},e[0]=c,e[1]=l,e[2]=s.length,e[3]=n,e[4]=u):u=e[4];let m;e[5]!==l||e[6]!==s.length||e[7]!==n?(m=[s.length,l,n],e[5]=l,e[6]=s.length,e[7]=n,e[8]=m):m=e[8];let{isPending:o,error:h}=Ne(u,m);if(o||b){let i;return e[9]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(Se,{message:"Loading tables...",className:_.tableLoading}),e[9]=i):i=e[9],i}if(h){let i;return e[10]===h?i=e[11]:(i=(0,t.jsx)(we,{error:h,className:_.tableLoading}),e[10]=h,e[11]=i),i}if(s.length===0){let i;return e[12]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(te,{content:"No tables found",className:_.tableLoading}),e[12]=i):i=e[12],i}let x;if(e[13]!==r||e[14]!==l||e[15]!==s){let i;e[17]===r?i=e[18]:(i=N=>r?N.name.toLowerCase().includes(r.toLowerCase()):!0,e[17]=r,e[18]=i);let p=s.filter(i),f;e[19]!==r||e[20]!==l?(f=N=>(0,t.jsx)(Ha,{table:N,sqlTableContext:l,isSearching:!!r},N.name),e[19]=r,e[20]=l,e[21]=f):f=e[21],x=p.map(f),e[13]=r,e[14]=l,e[15]=s,e[16]=x}else x=e[16];let d;return e[22]===x?d=e[23]:(d=(0,t.jsx)(t.Fragment,{children:x}),e[22]=x,e[23]=d),d},Ha=a=>{let e=(0,A.c)(64),{table:s,sqlTableContext:l,isSearching:r}=a,{addTable:c}=me(),[n,j]=C.useState(!1),[b,g]=C.useState(!1),u=s.columns.length>0,m;e[0]!==c||e[1]!==n||e[2]!==l||e[3]!==s.name||e[4]!==u||e[5]!==b?(m=async()=>{if(n&&!u&&l&&!b){g(!0);let{engine:B,database:Q,schema:Le}=l,Z=await Oe.request({engine:B,database:Q,schema:Le,tableName:s.name});if(!(Z!=null&&Z.table))throw Error("No table details available");c({table:Z.table,sqlTableContext:l})}},e[0]=c,e[1]=n,e[2]=l,e[3]=s.name,e[4]=u,e[5]=b,e[6]=m):m=e[6];let o;e[7]!==n||e[8]!==u?(o=[n,u],e[7]=n,e[8]=u,e[9]=o):o=e[9];let{isFetching:h,isPending:x,error:d}=Ne(m,o),i=K(ra),p=Fa(),{createNewCell:f}=Ae(),N=ve(),y;e[10]!==N||e[11]!==i||e[12]!==f||e[13]!==p||e[14]!==l||e[15]!==s?(y=()=>{ka({autoInstantiate:i,createNewCell:f,fromCellId:p}),N((()=>{if(s.source_type==="catalog"){let B=l!=null&&l.database?`${l.database}.${s.name}`:s.name;return`${s.engine}.load_table("${B}")`}if(l)return ie({table:s,columnName:"*",sqlTableContext:l});switch(s.source_type){case"local":return`mo.ui.table(${s.name})`;case"duckdb":case"connection":return ie({table:s,columnName:"*",sqlTableContext:l});default:return na(s.source_type),""}})())},e[10]=N,e[11]=i,e[12]=f,e[13]=p,e[14]=l,e[15]=s,e[16]=y):y=e[16];let v=y,w;e[17]!==s.num_columns||e[18]!==s.num_rows?(w=()=>{let B=[];return s.num_rows!=null&&B.push(`${s.num_rows} rows`),s.num_columns!=null&&B.push(`${s.num_columns} columns`),B.length===0?null:(0,t.jsx)("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:B.join(", ")})})},e[17]=s.num_columns,e[18]=s.num_rows,e[19]=w):w=e[19];let S=w,q;e[20]!==d||e[21]!==h||e[22]!==x||e[23]!==l||e[24]!==s?(q=()=>{if(x||h)return(0,t.jsx)(Se,{message:"Loading columns...",className:_.tableLoading});if(d)return(0,t.jsx)(we,{error:d,className:_.tableLoading});let B=s.columns;return B.length===0?(0,t.jsx)(te,{content:"No columns found",className:_.tableLoading}):B.map(Q=>(0,t.jsx)(Xa,{table:s,column:Q,sqlTableContext:l},Q.name))},e[20]=d,e[21]=h,e[22]=x,e[23]=l,e[24]=s,e[25]=q):q=e[25];let k=q,L;e[26]!==n||e[27]!==r||e[28]!==s.source_type||e[29]!==s.type?(L=()=>{if(s.source_type!=="local")return(0,t.jsx)(s.type==="table"?Re:ea,{className:"h-3 w-3",strokeWidth:n||r?2.5:void 0})},e[26]=n,e[27]=r,e[28]=s.source_type,e[29]=s.type,e[30]=L):L=e[30];let M=L,V=l?`${l.database}.${l.schema}.${s.name}`:s.name,P=l&&(de(l.schema)?_.tableSchemaless:_.tableWithSchema),E=(n||r)&&"font-semibold",F;e[31]!==P||e[32]!==E?(F=O("rounded-none group h-8 cursor-pointer",P,E),e[31]=P,e[32]=E,e[33]=F):F=e[33];let $;e[34]===n?$=e[35]:($=()=>j(!n),e[34]=n,e[35]=$);let I;e[36]===M?I=e[37]:(I=M(),e[36]=M,e[37]=I);let D;e[38]===s.name?D=e[39]:(D=(0,t.jsx)("span",{className:"text-sm",children:s.name}),e[38]=s.name,e[39]=D);let R;e[40]!==I||e[41]!==D?(R=(0,t.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[I,D]}),e[40]=I,e[41]=D,e[42]=R):R=e[42];let U;e[43]===S?U=e[44]:(U=S(),e[43]=S,e[44]=U);let T;e[45]===v?T=e[46]:(T=ma.stopPropagation(()=>v()),e[45]=v,e[46]=T);let X;e[47]===Symbol.for("react.memo_cache_sentinel")?(X=(0,t.jsx)(ja,{className:"h-3 w-3"}),e[47]=X):X=e[47];let G;e[48]===T?G=e[49]:(G=(0,t.jsx)(ne,{content:"Add table to notebook",delayDuration:400,children:(0,t.jsx)(ee,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:T,children:X})}),e[48]=T,e[49]=G);let W;e[50]!==n||e[51]!==$||e[52]!==R||e[53]!==U||e[54]!==G||e[55]!==F||e[56]!==V?(W=(0,t.jsxs)(ae,{className:F,value:V,"aria-selected":n,forceMount:!0,onSelect:$,children:[R,U,G]}),e[50]=n,e[51]=$,e[52]=R,e[53]=U,e[54]=G,e[55]=F,e[56]=V,e[57]=W):W=e[57];let J;e[58]!==n||e[59]!==k?(J=n&&k(),e[58]=n,e[59]=k,e[60]=J):J=e[60];let Y;return e[61]!==W||e[62]!==J?(Y=(0,t.jsxs)(t.Fragment,{children:[W,J]}),e[61]=W,e[62]=J,e[63]=Y):Y=e[63],Y},Xa=a=>{var R,U;let e=(0,A.c)(48),{table:s,column:l,sqlTableContext:r}=a,[c,n]=C.useState(!1),j=K(he),b=oe(Je);j&&c&&n(!1),b(c?T=>new Set([...T,`${s.name}:${l.name}`]):T=>(T.delete(`${s.name}:${l.name}`),new Set(T)));let g=ve(),{columnsPreviews:u}=Ye(),m;e[0]!==l.name||e[1]!==s.primary_keys?(m=((R=s.primary_keys)==null?void 0:R.includes(l.name))||!1,e[0]=l.name,e[1]=s.primary_keys,e[2]=m):m=e[2];let o=m,h;e[3]!==l.name||e[4]!==s.indexes?(h=((U=s.indexes)==null?void 0:U.includes(l.name))||!1,e[3]=l.name,e[4]=s.indexes,e[5]=h):h=e[5];let x=h,d;e[6]===g?d=e[7]:(d=T=>{g(T)},e[6]=g,e[7]=d);let i=d,p=Ya,f=c?"font-semibold":"",N;e[8]!==l.name||e[9]!==f?(N=(0,t.jsx)("span",{className:f,children:l.name}),e[8]=l.name,e[9]=f,e[10]=N):N=e[10];let y=N,v=`${s.name}.${l.name}`,w=`${s.name}.${l.name}`,S;e[11]===c?S=e[12]:(S=()=>n(!c),e[11]=c,e[12]=S);let q=r?_.columnSql:_.columnLocal,k;e[13]===q?k=e[14]:(k=O("flex flex-row gap-2 items-center flex-1",q),e[13]=q,e[14]=k);let L;e[15]!==l.type||e[16]!==y?(L=(0,t.jsx)(Ba,{columnName:y,dataType:l.type}),e[15]=l.type,e[16]=y,e[17]=L):L=e[17];let M;e[18]===o?M=e[19]:(M=o&&p({tooltipContent:"Primary key",content:"PK"}),e[18]=o,e[19]=M);let V;e[20]===x?V=e[21]:(V=x&&p({tooltipContent:"Indexed",content:"IDX"}),e[20]=x,e[21]=V);let P;e[22]!==k||e[23]!==L||e[24]!==M||e[25]!==V?(P=(0,t.jsxs)("div",{className:k,children:[L,M,V]}),e[22]=k,e[23]=L,e[24]=M,e[25]=V,e[26]=P):P=e[26];let E;e[27]===l.name?E=e[28]:(E=(0,t.jsx)(ne,{content:"Copy column name",delayDuration:400,children:(0,t.jsx)(ee,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,t.jsx)(va,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[27]=l.name,e[28]=E);let F;e[29]===l.external_type?F=e[30]:(F=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[29]=l.external_type,e[30]=F);let $;e[31]!==P||e[32]!==E||e[33]!==F||e[34]!==v||e[35]!==w||e[36]!==S?($=(0,t.jsxs)(ae,{className:"rounded-none py-1 group cursor-pointer",value:w,onSelect:S,children:[P,E,F]},v),e[31]=P,e[32]=E,e[33]=F,e[34]=v,e[35]=w,e[36]=S,e[37]=$):$=e[37];let I;e[38]!==l||e[39]!==u||e[40]!==i||e[41]!==c||e[42]!==r||e[43]!==s?(I=c&&(0,t.jsx)("div",{className:O(_.columnPreview,"pr-2 py-2 bg-(--slate-1) shadow-inner border-b"),children:(0,t.jsx)(oa,{children:(0,t.jsx)(ga,{table:s,column:l,onAddColumnChart:i,preview:u.get(r?`${r.database}.${r.schema}.${s.name}:${l.name}`:`${s.name}:${l.name}`),sqlTableContext:r})})}),e[38]=l,e[39]=u,e[40]=i,e[41]=c,e[42]=r,e[43]=s,e[44]=I):I=e[44];let D;return e[45]!==$||e[46]!==I?(D=(0,t.jsxs)(t.Fragment,{children:[$,I]}),e[45]=$,e[46]=I,e[47]=D):D=e[47],D};function Ya(a){let{tooltipContent:e,content:s}=a;return(0,t.jsx)(ne,{content:e,delayDuration:100,children:(0,t.jsx)("span",{className:"text-xs text-black bg-gray-100 dark:invert rounded px-1",children:s})})}function is(a){return a}var z={name:"name",type:"type-value",defs:"defs-refs"},Qa=[{id:z.name,accessorFn:a=>[a.name,a.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(le,{header:"Name",column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsx)(Ea,{name:e,declaredBy:s})}},{id:z.type,accessorFn:a=>[a.dataType,a.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,t.jsx)(le,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Type"}),(0,t.jsx)("span",{children:"Value"})]}),column:a}),cell:({getValue:a})=>{let[e,s]=a();return(0,t.jsxs)("div",{className:"max-w-[150px]",children:[(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:e}),(0,t.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:s??"",children:s})]})}},{id:z.defs,accessorFn:a=>[a.declaredBy,a.usedBy,a.name,a.declaredByNames,a.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:a})=>(0,t.jsx)(le,{header:(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{children:"Declared By"}),(0,t.jsx)("span",{children:"Used By"})]}),column:a}),cell:({getValue:a})=>{let[e,s,l]=a(),r=c=>{let n=Xe(c);n&&He(n,l)};return(0,t.jsxs)("div",{className:"flex flex-col gap-1 py-1",children:[(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-center",children:[(0,t.jsx)("span",{title:"Declared by",children:(0,t.jsx)(Ua,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,t.jsx)(je,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>r(e[0])}):(0,t.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((c,n)=>(0,t.jsxs)("span",{className:"flex",children:[(0,t.jsx)(je,{variant:"focus",cellId:c,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>r(c)},c),n<e.length-1&&", "]},c))})]}),(0,t.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,t.jsx)("span",{title:"Used by",children:(0,t.jsx)(Na,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,t.jsx)(Pa,{maxCount:3,cellIds:s,skipScroll:!0,onClick:r})]})]})}}];function Za({variables:a,sort:e,cellIdToIndex:s}){e||(e={id:z.defs,desc:!1});let l=[];switch(e.id){case z.name:l=H(a,r=>r.name);break;case z.type:l=H(a,r=>r.dataType);break;case z.defs:l=H(a,r=>s.get(r.declaredBy[0]));break}return e.desc?l.reverse():l}const qe=(0,C.memo)(({className:a,cellIds:e,variables:s})=>{let[l,r]=C.useState([]),[c,n]=C.useState(""),j=Ee(),{locale:b}=ya(),g=(0,C.useMemo)(()=>{let m=o=>{let h=j[o];return Ue(h)?`cell-${e.indexOf(o)}`:h??`cell-${e.indexOf(o)}`};return Object.values(s).map(o=>({...o,declaredByNames:o.declaredBy.map(m),usedByNames:o.usedBy.map(m)}))},[s,j,e]),u=ia({data:(0,C.useMemo)(()=>{let m=new Map;return e.forEach((o,h)=>m.set(o,h)),Za({variables:g,sort:l[0],cellIdToIndex:m})},[g,l,e]),columns:Qa,getCoreRowModel:da(),onGlobalFilterChange:n,getFilteredRowModel:ha(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(m){return m.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:b,onSortingChange:r,getSortedRowModel:ua(),state:{sorting:l,globalFilter:c}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ba,{className:"w-full",placeholder:"Search",value:c,onChange:m=>n(m.target.value)}),(0,t.jsxs)(La,{className:O("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,t.jsx)($a,{children:(0,t.jsx)(ye,{className:"whitespace-nowrap text-xs",children:u.getFlatHeaders().map(m=>(0,t.jsx)(Ia,{className:"sticky top-0 bg-background border-b",children:be(m.column.columnDef.header,m.getContext())},m.id))})}),(0,t.jsx)(Ta,{children:u.getRowModel().rows.map(m=>(0,t.jsx)(ye,{className:"hover:bg-accent",children:m.getVisibleCells().map(o=>(0,t.jsx)(qa,{className:"border-b",children:be(o.column.columnDef.cell,o.getContext())},o.id))},m.id))})]})]})});qe.displayName="VariableTable";var et=pe(),at=Ke("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},aa),tt=()=>{let a=(0,et.c)(24),e=la(),s=Me(),l=K(ue),r=K(Ie),[c,n]=De(at),j=l.length+r.length,b;a[0]!==j||a[1]!==c.hasUserInteracted||a[2]!==c.openSections?(b=!c.hasUserInteracted&&j>0?[...new Set([...c.openSections,"datasources"])]:c.openSections,a[0]=j,a[1]=c.hasUserInteracted,a[2]=c.openSections,a[3]=b):b=a[3];let g=b,u;a[4]===n?u=a[5]:(u=v=>{n({openSections:v,hasUserInteracted:!0})},a[4]=n,a[5]=u);let m=u,o=!g.includes("datasources")&&j>0,h;a[6]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)(se,{className:"w-4 h-4"}),a[6]=h):h=a[6];let x;a[7]!==j||a[8]!==o?(x=o&&(0,t.jsx)(Ra,{children:j}),a[7]=j,a[8]=o,a[9]=x):x=a[9];let d;a[10]===x?d=a[11]:(d=(0,t.jsxs)(Fe,{children:[h,"Data sources",x]}),a[10]=x,a[11]=d);let i;a[12]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)($e,{children:(0,t.jsx)(za,{})}),a[12]=i):i=a[12];let p;a[13]===d?p=a[14]:(p=(0,t.jsxs)(ke,{value:"datasources",children:[d,i]}),a[13]=d,a[14]=p);let f;a[15]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsxs)(Fe,{children:[(0,t.jsx)(Pe,{className:"w-4 h-4"}),"Variables"]}),a[15]=f):f=a[15];let N;a[16]!==s||a[17]!==e?(N=(0,t.jsxs)(ke,{value:"variables",lastItem:!0,children:[f,(0,t.jsx)($e,{children:Object.keys(e).length===0?(0,t.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"No variables defined"}):(0,t.jsx)(qe,{cellIds:s.inOrderIds,variables:e})})]}),a[16]=s,a[17]=e,a[18]=N):N=a[18];let y;return a[19]!==m||a[20]!==g||a[21]!==p||a[22]!==N?(y=(0,t.jsxs)(wa,{type:"multiple",value:g,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[p,N]}),a[19]=m,a[20]=g,a[21]=p,a[22]=N,a[23]=y):y=a[23],y};export{tt as default};
@@ -1 +0,0 @@
1
- import{s as Z}from"./chunk-LvLJmgfZ.js";import{n as C}from"./useEvent-O0nX5vok.js";import{t as Y}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{t as nt}from"./debounce-DS_VtWMt.js";import{r as et,t as rt}from"./tooltip-DLsts-7g.js";import{t as N}from"./uniq-fnEfqrGj.js";import{c as V,m as O}from"./useEventListener-BGihH8bs.js";import{n as F}from"./config-DeEqZTX7.js";import{t as at}from"./jsx-runtime-icT_Ltz2.js";import{r as it}from"./button-BZAv3veu.js";import{t as ot}from"./cn-BoaCR37F.js";import{u as lt}from"./toDate-BqKH-Jd9.js";import"./session-CXChHxAw.js";import{r as ct}from"./useTheme-CM9j8dgy.js";import"./Combination-CBJmtdux.js";import{t as st}from"./tooltip-CNmaER6z.js";import{t as mt}from"./isValid-BGe7pJXT.js";import{n as pt}from"./vega-loader.browser-CZV6_g2i.js";import{t as ut}from"./react-vega-BZav_-2n.js";import"./defaultLocale-OkOxlkkM.js";import"./defaultLocale-DK1MWd7f.js";import{r as ft,t as dt}from"./alert-OQZHipbB.js";import{n as ht}from"./error-banner-DQBz1e-2.js";import{n as gt}from"./useAsyncData-D-4ifFXh.js";import{t as yt}from"./formats-CmvHepzl.js";import{t as H}from"./useDeepCompareMemoize-yyiB9aJX.js";var vt=tt(),x=Z(Y(),1);function kt(t){return t.data&&"url"in t.data&&(t.data.url=F(t.data.url).href),t}const u={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"};var W=new Set(["boxplot","errorband","errorbar"]);const S={getMarkType(t){let n=typeof t=="string"?t:t.type;if(W.has(n))throw Error("Not supported");return n},isInteractive(t){let n=typeof t=="string"?t:t.type;return!W.has(n)},makeClickable(t){let n=typeof t=="string"?t:t.type;return n in u?typeof t=="string"?{type:t,cursor:"pointer",tooltip:!0}:{...t,type:n,cursor:"pointer",tooltip:!0}:t},getOpacity(t){return typeof t=="string"?null:"opacity"in t&&typeof t.opacity=="number"?t.opacity:null}},y={point(t){return t==null?"select_point":`select_point_${t}`},interval(t){return t==null?"select_interval":`select_interval_${t}`},legendSelection(t){return`legend_selection_${t}`},binColoring(t){return t==null?"bin_coloring":`bin_coloring_${t}`},HIGHLIGHT:"highlight",PAN_ZOOM:"pan_zoom",hasPoint(t){return t.some(n=>n.startsWith("select_point"))},hasInterval(t){return t.some(n=>n.startsWith("select_interval"))},hasLegend(t){return t.some(n=>n.startsWith("legend_selection"))},hasPanZoom(t){return t.some(n=>n.startsWith("pan_zoom"))},isBinColoring(t){return t.startsWith("bin_coloring")}},_={highlight(){return{name:y.HIGHLIGHT,select:{type:"point",on:"mouseover"}}},interval(t,n){return{name:y.interval(n),select:{type:"interval",encodings:D(t),mark:{fill:"#669EFF",fillOpacity:.07,stroke:"#669EFF",strokeOpacity:.4},on:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]",translate:"[mousedown[!event.metaKey], mouseup] > mousemove[!event.metaKey]"}}},point(t,n){return{name:y.point(n),select:{type:"point",encodings:D(t),on:"click[!event.metaKey]"}}},binColoring(t){return{name:y.binColoring(t),select:{type:"point",on:"click[!event.metaKey]"}}},legend(t){return{name:y.legendSelection(t),select:{type:"point",fields:[t]},bind:"legend"}},panZoom(){return{name:y.PAN_ZOOM,bind:"scales",select:{type:"interval",on:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",translate:"[mousedown[event.metaKey], window:mouseup] > window:mousemove!",zoom:"wheel![event.metaKey]"}}}};function D(t){switch(S.getMarkType(t.mark)){case u.image:case u.trail:return;case u.area:case u.arc:return["color"];case u.bar:{let n=bt(t);return n==="horizontal"?["y"]:n==="vertical"?["x"]:void 0}case u.circle:case u.geoshape:case u.line:case u.point:case u.rect:case u.rule:case u.square:case u.text:case u.tick:return["x","y"]}}function P(t){return"params"in t&&t.params&&t.params.length>0?N(t.params.filter(n=>n==null?!1:"select"in n&&n.select!==void 0).map(n=>n.name)):"layer"in t?N(t.layer.flatMap(P)):"vconcat"in t?N(t.vconcat.flatMap(P)):"hconcat"in t?N(t.hconcat.flatMap(P)):[]}function bt(t){var a,r;if(!t||!("mark"in t))return;let n=(a=t.encoding)==null?void 0:a.x,e=(r=t.encoding)==null?void 0:r.y;if(n&&"type"in n&&n.type==="nominal")return"vertical";if(e&&"type"in e&&e.type==="nominal"||n&&"aggregate"in n)return"horizontal";if(e&&"aggregate"in e)return"vertical"}function wt(t){if(!t.encoding)return[];let n=[];for(let e of Object.values(t.encoding))e&&typeof e=="object"&&"bin"in e&&e.bin&&"field"in e&&typeof e.field=="string"&&n.push(e.field);return n}function G(t){if(!t||!("encoding"in t))return[];let{encoding:n}=t;return n?Object.entries(n).flatMap(e=>{let[a,r]=e;return!r||!xt.has(a)?[]:"field"in r&&typeof r.field=="string"?[r.field]:"condition"in r&&r.condition&&typeof r.condition=="object"&&"field"in r.condition&&r.condition.field&&typeof r.condition.field=="string"?[r.condition.field]:[]}):[]}var xt=new Set(["color","fill","fillOpacity","opacity","shape","size"]);function $(t,n,e,a){let r=e.filter(o=>y.isBinColoring(o)),i={and:(r.length>0?r:e).map(o=>({param:o}))};if(t==="opacity"){let o=S.getOpacity(a)||1;return{...n,opacity:{condition:{test:i,value:o},value:o/5}}}else return n}function St(t){if(!("select"in t)||!t.select)return JSON.stringify(t);let n=t.select;if(typeof n=="string")return JSON.stringify({type:n,bind:t.bind});let e={type:n.type,encodings:"encodings"in n&&n.encodings?[...n.encodings].sort():void 0,fields:"fields"in n&&n.fields?[...n.fields].sort():void 0,bind:t.bind};return JSON.stringify(e)}function q(t){let n=K(t);if(n.length===0)return t;let e=At(n);return e.length===0?t:{...L(E(t,new Set(e.map(a=>a.name))),e.map(a=>a.name)),params:[...t.params||[],...e]}}function K(t){let n=[];if("vconcat"in t&&Array.isArray(t.vconcat))for(let e of t.vconcat)n.push(...K(e));else if("hconcat"in t&&Array.isArray(t.hconcat))for(let e of t.hconcat)n.push(...K(e));else{if("layer"in t)return[];"mark"in t&&"params"in t&&t.params&&t.params.length>0&&n.push({params:t.params})}return n}function At(t){if(t.length===0)return[];let n=new Map,e=t.length;for(let{params:r}of t){let i=new Set;for(let o of r){let l=St(o);i.has(l)||(i.add(l),n.has(l)||n.set(l,{count:0,param:o}),n.get(l).count++)}}let a=[];for(let[,{count:r,param:i}]of n)r===e&&a.push(i);return a}function E(t,n){if("vconcat"in t&&Array.isArray(t.vconcat))return{...t,vconcat:t.vconcat.map(e=>E(e,n))};if("hconcat"in t&&Array.isArray(t.hconcat))return{...t,hconcat:t.hconcat.map(e=>E(e,n))};if("mark"in t&&"params"in t&&t.params){let e=t.params,a=[];for(let r of e){if(!r||typeof r!="object"||!("name"in r)){a.push(r);continue}n.has(r.name)||a.push(r)}if(a.length===0){let{params:r,...i}=t;return i}return{...t,params:a}}return t}function L(t,n){return"vconcat"in t&&Array.isArray(t.vconcat)?{...t,vconcat:t.vconcat.map(e=>L(e,n))}:"hconcat"in t&&Array.isArray(t.hconcat)?{...t,hconcat:t.hconcat.map(e=>L(e,n))}:"layer"in t?t:"mark"in t&&S.isInteractive(t.mark)?{...t,mark:S.makeClickable(t.mark),encoding:$("opacity",t.encoding||{},n,t.mark)}:t}function T(t,n){var l,k;let{chartSelection:e=!0,fieldSelection:a=!0}=n;if(!e&&!a)return t;(l=t.params)!=null&&l.some(s=>s.bind==="legend")&&(a=!1);let r=(k=t.params)==null?void 0:k.some(s=>!s.bind);r&&(e=!1);let i="vconcat"in t||"hconcat"in t;if(r&&i)return t;if("vconcat"in t){let s=t.vconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return q({...t,vconcat:s})}if("hconcat"in t){let s=t.hconcat.map(m=>"mark"in m?T(m,{chartSelection:e,fieldSelection:a}):m);return q({...t,hconcat:s})}if("layer"in t){let s=t.params&&t.params.length>0,m=a!==!1&&!s,v=[];if(m){let p=t.layer.flatMap(f=>"mark"in f?G(f):[]);v=[...new Set(p)],Array.isArray(a)&&(v=v.filter(f=>a.includes(f)))}let w=t.layer.map((p,f)=>{if(!("mark"in p))return p;let h=p;if(f===0&&v.length>0){let j=v.map(M=>_.legend(M));h={...h,params:[...h.params||[],...j]}}return h=z(h,e,f),h=J(h),f===0&&(h=B(h)),h});return{...t,layer:w}}if(!("mark"in t)||!S.isInteractive(t.mark))return t;let o=t;return o=Ot(o,a),o=z(o,e,void 0),o=J(o),o=B(o),o}function Ot(t,n){if(n===!1)return t;let e=G(t);Array.isArray(n)&&(e=e.filter(i=>n.includes(i)));let a=e.map(i=>_.legend(i)),r=[...t.params||[],...a];return{...t,params:r}}function z(t,n,e){if(n===!1)return t;let a;try{a=S.getMarkType(t.mark)}catch{return t}if(a==="geoshape")return t;let r=wt(t),i=n===!0?r.length>0?["point"]:_t(a):[n];if(!i||i.length===0)return t;let o=i.map(k=>k==="interval"?_.interval(t,e):_.point(t,e)),l=[...t.params||[],...o];return r.length>0&&i.includes("point")&&l.push(_.binColoring(e)),{...t,params:l}}function B(t){let n;try{n=S.getMarkType(t.mark)}catch{}if(n==="geoshape")return t;let e=t.params||[];return e.some(a=>a.bind==="scales")?t:{...t,params:[...e,_.panZoom()]}}function J(t){let n="encoding"in t?t.encoding:void 0,e=t.params||[],a=e.map(r=>r.name);return e.length===0||!S.isInteractive(t.mark)?t:{...t,mark:S.makeClickable(t.mark),encoding:$("opacity",n||{},a,t.mark)}}function _t(t){switch(t){case"arc":case"area":return["point"];case"text":case"bar":return["point","interval"];case"line":return;default:return["point","interval"]}}async function jt(t){if(!t)return t;let n="datasets"in t?{...t.datasets}:{},e=async r=>{if(!r)return r;if("layer"in r){let l=await Promise.all(r.layer.map(e));r={...r,layer:l}}if("hconcat"in r){let l=await Promise.all(r.hconcat.map(e));r={...r,hconcat:l}}if("vconcat"in r){let l=await Promise.all(r.vconcat.map(e));r={...r,vconcat:l}}if("spec"in r&&(r={...r,spec:await e(r.spec)}),!r.data||!("url"in r.data))return r;let i;try{i=F(r.data.url)}catch{return r}let o=await et(i.href,r.data.format);return n[i.pathname]=o,{...r,data:{name:i.pathname}}},a=await e(t);return Object.keys(n).length===0?a:{...a,datasets:n}}var d=Z(at(),1);pt("arrow",yt);var Mt=t=>{let n=(0,vt.c)(12),{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:o,embedOptions:l}=t,k,s;n[0]===o?(k=n[1],s=n[2]):(k=async()=>jt(o),s=[o],n[0]=o,n[1]=k,n[2]=s);let{data:m,error:v}=gt(k,s);if(v){let p;return n[3]===v?p=n[4]:(p=(0,d.jsx)(ht,{error:v}),n[3]=v,n[4]=p),p}if(!m)return null;let w;return n[5]!==r||n[6]!==l||n[7]!==i||n[8]!==m||n[9]!==a||n[10]!==e?(w=(0,d.jsx)(Nt,{value:e,setValue:a,chartSelection:r,fieldSelection:i,spec:m,embedOptions:l}),n[5]=r,n[6]=l,n[7]=i,n[8]=m,n[9]=a,n[10]=e,n[11]=w):w=n[11],w},Nt=({value:t,setValue:n,chartSelection:e,fieldSelection:a,spec:r,embedOptions:i})=>{let{theme:o}=ct(),l=(0,x.useRef)(null),k=(0,x.useRef)(void 0),[s,m]=(0,x.useState)(),v=(0,x.useMemo)(()=>i&&"actions"in i?i.actions:{source:!1,compiled:!1},[i]),w=H(r),p=(0,x.useMemo)(()=>T(kt(w),{chartSelection:e,fieldSelection:a}),[w,e,a]),f=(0,x.useMemo)(()=>P(p),[p]),h=C(c=>{n({...t,...c})}),j=(0,x.useMemo)(()=>nt((c,g)=>{O.debug("[Vega signal]",c,g);let b=V.mapValues(g,It);b=V.mapValues(b,Pt),h({[c]:b})},100),[h]),M=H(f),I=(0,x.useMemo)(()=>M.reduce((c,g)=>(y.PAN_ZOOM===g||y.isBinColoring(g)||c.push({signalName:g,handler:(b,X)=>j(b,X)}),c),[]),[M,j]),R=C(c=>{O.error(c),O.debug(p),m(c)}),Q=C(c=>{O.debug("[Vega view] created",c),k.current=c,m(void 0)}),U=()=>{let c=[];return y.hasPoint(f)&&c.push(["Point selection","click to select a point; hold shift for multi-select"]),y.hasInterval(f)&&c.push(["Interval selection","click and drag to select an interval"]),y.hasLegend(f)&&c.push(["Legend selection","click to select a legend item; hold shift for multi-select"]),y.hasPanZoom(f)&&c.push(["Pan","hold the meta key and drag"],["Zoom","hold the meta key and scroll"]),c.length===0?null:(0,d.jsx)(st,{delayDuration:300,side:"left",content:(0,d.jsx)("div",{className:"text-xs flex flex-col",children:c.map((g,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("span",{className:"font-bold tracking-wide",children:[g[0],":"]})," ",g[1]]},b))}),children:(0,d.jsx)(lt,{className:"absolute bottom-1 right-0 m-2 h-4 w-4 cursor-help text-muted-foreground hover:text-foreground"})})},A=ut({ref:l,spec:p,options:{theme:o==="dark"?"dark":void 0,actions:v,mode:"vega-lite",tooltip:rt.call,renderer:"canvas"},onError:R,onEmbed:Q});return(0,x.useEffect)(()=>(I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.addSignalListener(c,g)}catch(b){O.error(b)}}),()=>{I.forEach(({signalName:c,handler:g})=>{try{A==null||A.view.removeSignalListener(c,g)}catch(b){O.error(b)}})}),[A,I]),(0,d.jsxs)(d.Fragment,{children:[s&&(0,d.jsxs)(dt,{variant:"destructive",children:[(0,d.jsx)(ft,{children:s.message}),(0,d.jsx)("div",{className:"text-md",children:s.stack})]}),(0,d.jsxs)("div",{className:ot("relative","width"in p&&p.width==="container"&&"vega-container-width"),onPointerDown:it.stopPropagation(),children:[(0,d.jsx)("div",{ref:l}),U()]})]})};function Pt(t){return t instanceof Set?[...t]:t}function It(t){return Array.isArray(t)?t.map(n=>n instanceof Date&&mt(n)?new Date(n).getTime():n):t}var Ct=Mt;export{Ct as default};