@marimo-team/frontend 0.18.5-dev200 → 0.18.5-dev202
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-Bo1x1B6n.js → CellStatus-CJVmn-JU.js} +1 -1
- package/dist/assets/{JsonOutput-BCHaEg3R.js → JsonOutput-BLd1jTNA.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-BIIhR96K.js → MarimoErrorOutput-Orp0blpZ.js} +2 -2
- package/dist/assets/{RenderHTML-BUhX0rkG.js → RenderHTML-BzGWfPTJ.js} +1 -1
- package/dist/assets/{add-cell-with-ai-CLrEdPGH.js → add-cell-with-ai-Dx5UA23s.js} +1 -1
- package/dist/assets/{add-database-form-DkSxzOXk.js → add-database-form-MNQmbAaT.js} +1 -1
- package/dist/assets/{agent-panel-Bz7HLWO3.js → agent-panel-BS2q53WX.js} +2 -2
- package/dist/assets/{ai-model-dropdown-ea-cOLAL.js → ai-model-dropdown-DZ7evAGU.js} +1 -1
- package/dist/assets/{app-config-button-BFjdAlTt.js → app-config-button-CsABtw-A.js} +1 -1
- package/dist/assets/{cell-editor-B-NH54Cv.js → cell-editor-D4tKLHiP.js} +4 -4
- package/dist/assets/{cell-link-DNVmmRzI.js → cell-link-BoUpLV2S.js} +1 -1
- package/dist/assets/{cells-Dk_j8HX9.js → cells-D_SkyFDn.js} +47 -47
- package/dist/assets/{chat-components-BMWBGknq.js → chat-components-6dWNbFjV.js} +1 -1
- package/dist/assets/{chat-display-CEYX5MXY.js → chat-display-Cfg38gMM.js} +1 -1
- package/dist/assets/{chat-panel-DmUjYxAt.js → chat-panel-CofEklYU.js} +1 -1
- package/dist/assets/{client-D08Rbi3p.js → client-BUus2uot.js} +1 -1
- package/dist/assets/{column-preview-MV5ZRt10.js → column-preview-9nPwQyJZ.js} +1 -1
- package/dist/assets/{command-gUA-HncX.js → command-Qt3ng7cb.js} +1 -1
- package/dist/assets/{command-palette-Dt43cGFk.js → command-palette-ptrGtoIl.js} +1 -1
- package/dist/assets/{common-BWR26KIv.js → common-DE3UmpZO.js} +1 -1
- package/dist/assets/{datasource-i415crE1.js → datasource-CR_zEq5o.js} +1 -1
- package/dist/assets/{dependency-graph-panel-BwaKuCE7.js → dependency-graph-panel-Dy8lj02R.js} +1 -1
- package/dist/assets/{documentation-panel-C4aTmugE.js → documentation-panel-C0769uWv.js} +1 -1
- package/dist/assets/{download-Dsuja3On.js → download-CITws1-y.js} +1 -1
- package/dist/assets/{edit-page-DIpr3pNk.js → edit-page-BC3j4y4f.js} +6 -6
- package/dist/assets/{error-panel-DCozbyWc.js → error-panel-B-EvbVVc.js} +1 -1
- package/dist/assets/{es-DjCjT1hB.js → es-CEEVxHsX.js} +1 -1
- package/dist/assets/{file-explorer-panel-BvRpCXWv.js → file-explorer-panel-BqkMxs-d.js} +1 -1
- package/dist/assets/{floating-outline-DYdnwTX9.js → floating-outline-p0aHdM2W.js} +1 -1
- package/dist/assets/{focus-U1ePwk4d.js → focus-D18AHojc.js} +1 -1
- package/dist/assets/{form-D8BW7hlS.js → form-DEraWoX5.js} +1 -1
- package/dist/assets/{globals-BBskDqJi.js → globals-D3SeIm1j.js} +1 -1
- package/dist/assets/{home-page-c43aYnLs.js → home-page-9rDRaLCP.js} +1 -1
- package/dist/assets/{index-MoQWZ3Gl.js → index-BReVmpoy.js} +3 -3
- package/dist/assets/{kiosk-mode-lhqhA8En.js → kiosk-mode-DL9UBacr.js} +1 -1
- package/dist/assets/{layout-DenYhPfS.js → layout-Bd6wzfjT.js} +1 -1
- package/dist/assets/{logs-panel-CmImbuAp.js → logs-panel-C7VsvCHz.js} +1 -1
- package/dist/assets/{markdown-renderer-COkLQ1b5.js → markdown-renderer-C_xfLXiO.js} +1 -1
- package/dist/assets/{mode-BOijHAOc.js → mode-BFwdGSZ7.js} +1 -1
- package/dist/assets/{name-cell-input-Cf2CUXDm.js → name-cell-input-CsDYsdH3.js} +1 -1
- package/dist/assets/{outline-panel-CdaUT0TE.js → outline-panel-BlhMaZpZ.js} +1 -1
- package/dist/assets/{packages-panel-CghFsvM0.js → packages-panel-YNB3ay32.js} +1 -1
- package/dist/assets/{panels-CymS0QU-.js → panels-DfOJ05Sp.js} +1 -1
- package/dist/assets/{process-output-BAfpcew-.js → process-output-4w8xDO0j.js} +1 -1
- package/dist/assets/{readonly-python-code-B8gfuyX1.js → readonly-python-code-DjP4vjBQ.js} +1 -1
- package/dist/assets/{run-page-rr9Ilre7.js → run-page-DRgXZvWr.js} +1 -1
- package/dist/assets/{scratchpad-panel-DWsu0wnU.js → scratchpad-panel-BYCWZWFJ.js} +1 -1
- package/dist/assets/{session-panel-BJRncUge.js → session-panel-C0b1PCJc.js} +1 -1
- package/dist/assets/{snippets-panel-Dv7eGWsB.js → snippets-panel-CpjS6w9M.js} +1 -1
- package/dist/assets/{state-DWEWL_KV.js → state-BTRRCWOH.js} +1 -1
- package/dist/assets/{state-HUtu_wpA.js → state-kFdt1US2.js} +1 -1
- package/dist/assets/{switch-Cd5iA-KH.js → switch-C9iBa4rX.js} +1 -1
- package/dist/assets/{textarea-jTWtOsHe.js → textarea-D2hGxqGj.js} +1 -1
- package/dist/assets/{tracing-CDJRdFd4.js → tracing-CKdq5KMT.js} +1 -1
- package/dist/assets/{tracing-panel-BrBmQCJr.js → tracing-panel-DXjACxb_.js} +2 -2
- package/dist/assets/{types-CiMSegk1.js → types-VzFAm7Cv.js} +1 -1
- package/dist/assets/{useAddCell-FisWjOQO.js → useAddCell-CVfRv5mq.js} +1 -1
- package/dist/assets/{useCellActionButton-DLwn_yx9.js → useCellActionButton-Woqd9LSB.js} +1 -1
- package/dist/assets/{useDeleteCell-CFtiNna2.js → useDeleteCell-GHwc6J4l.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DWfKzMhf.js → useDependencyPanelTab-B0ZsFCYF.js} +1 -1
- package/dist/assets/{useNotebookActions-B4HR9n-p.js → useNotebookActions-DQW0wwU6.js} +1 -1
- package/dist/assets/{useRunCells-DLQFWY1L.js → useRunCells-BZ_OFvV4.js} +1 -1
- package/dist/assets/{useSplitCell-DDFoE9WM.js → useSplitCell-BnJiHHep.js} +1 -1
- package/dist/assets/{utilities.esm-DlnAwGsz.js → utilities.esm-FYD46c3d.js} +1 -1
- package/dist/index.html +31 -31
- package/package.json +1 -1
- package/src/components/editor/chrome/state.ts +3 -3
- package/src/components/editor/chrome/types.ts +5 -3
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +11 -4
- package/src/components/editor/chrome/wrapper/sidebar.tsx +11 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as i}from"./chunk-LvLJmgfZ.js";import"./useEvent-DlWF5OMa.js";import{t as l}from"./react-BGmjiNul.js";import{E as a}from"./cells-
|
|
1
|
+
import{s as i}from"./chunk-LvLJmgfZ.js";import"./useEvent-DlWF5OMa.js";import{t as l}from"./react-BGmjiNul.js";import{E as a}from"./cells-D_SkyFDn.js";import"./react-dom-C9fstfnp.js";import{t as s}from"./compiler-runtime-DeeZ7FnK.js";import"./config-babG4OBR.js";import{t as c}from"./jsx-runtime-DN_bIXfG.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{t as d}from"./createLucideIcon-CW2xpJ57.js";import{t as h}from"./MarimoErrorOutput-Orp0blpZ.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import"./Combination-D1TsGrBC.js";import{n as f}from"./cell-link-BoUpLV2S.js";import{t as n}from"./empty-state-B0XJ9ZUi.js";var x=d("party-popper",[["path",{d:"M5.8 11.3 2 22l10.7-3.79",key:"gwxi1d"}],["path",{d:"M4 3h.01",key:"1vcuye"}],["path",{d:"M22 8h.01",key:"1mrtc2"}],["path",{d:"M15 2h.01",key:"1cjtqr"}],["path",{d:"M22 20h.01",key:"1mrys2"}],["path",{d:"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10",key:"hbicv8"}],["path",{d:"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17",key:"1i94pl"}],["path",{d:"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7",key:"1cofks"}],["path",{d:"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z",key:"4kbmks"}]]),y=s();l();var r=i(c(),1),k=()=>{let t=(0,y.c)(5),e=a();if(e.length===0){let p;return t[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(n,{title:"No errors!",icon:(0,r.jsx)(x,{})}),t[0]=p):p=t[0],p}let o;t[1]===e?o=t[2]:(o=e.map(u),t[1]=e,t[2]=o);let m;return t[3]===o?m=t[4]:(m=(0,r.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:o}),t[3]=o,t[4]=m),m};function u(t){return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs font-mono font-semibold bg-muted border-y px-2 py-1",children:(0,r.jsx)(f,{cellId:t.cellId})}),(0,r.jsx)("div",{className:"px-2",children:(0,r.jsx)(h,{errors:t.output.data,cellId:t.cellId},t.cellId)},t.cellId)]},t.cellId)}export{k as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as W}from"./useEvent-DlWF5OMa.js";import{Qr as $,hn as B,v as G}from"./cells-Dk_j8HX9.js";import{t as v}from"./requests-C0HaHO6a.js";function R({moduleName:e,variableName:t,onAddImport:r,appStore:n=W}){if(t in n.get(B))return!1;let{cellData:a,cellIds:i}=n.get(G),o=RegExp(`import[ ]+${e}[ ]+as[ ]+${t}`,"g");for(let l of i.inOrderIds)if(o.test(a[l].code))return!1;return r(`import ${e} as ${t}`),!0}function Q({autoInstantiate:e,createNewCell:t,fromCellId:r,before:n}){let a=v(),i=null;return R({moduleName:"marimo",variableName:"mo",onAddImport:o=>{i=$.create(),t({cellId:r??"__end__",before:n??!1,code:o,lastCodeRun:e?o:void 0,newCellId:i,skipIfCodeExists:!0,autoFocus:!1}),e&&a.sendRun({cellIds:[i],codes:[o]})}})?i:null}function X({autoInstantiate:e,createNewCell:t,fromCellId:r}){let n=v(),a=null;return R({moduleName:"altair",variableName:"alt",onAddImport:i=>{a=$.create(),t({cellId:r??"__end__",before:!1,code:i,lastCodeRun:e?i:void 0,newCellId:a,skipIfCodeExists:!0,autoFocus:!1}),e&&n.sendRun({cellIds:[a],codes:[i]})}})?a:null}function J(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let r=document.implementation.createHTMLDocument(),n=r.createElement("base"),a=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(a),t&&(n.href=t),a.href=e,a.href}const K=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function d(e){let t=[];for(let r=0,n=e.length;r<n;r++)t.push(e[r]);return t}var g=null;function I(e={}){return g||(e.includeStyleProperties?(g=e.includeStyleProperties,g):(g=d(window.getComputedStyle(document.documentElement)),g))}function p(e,t){let r=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return r?parseFloat(r.replace("px","")):0}function Y(e){let t=p(e,"border-left-width"),r=p(e,"border-right-width");return e.clientWidth+t+r}function Z(e){let t=p(e,"border-top-width"),r=p(e,"border-bottom-width");return e.clientHeight+t+r}function P(e,t={}){return{width:t.width||Y(e),height:t.height||Z(e)}}function ee(){let e,t;try{t=process}catch{}let r=t&&t.env?t.env.devicePixelRatio:null;return r&&(e=parseInt(r,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var u=16384;function te(e){(e.width>u||e.height>u)&&(e.width>u&&e.height>u?e.width>e.height?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u):e.width>u?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u))}function w(e){return new Promise((t,r)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>t(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=e})}async function re(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ne(e,t,r){let n="http://www.w3.org/2000/svg",a=document.createElementNS(n,"svg"),i=document.createElementNS(n,"foreignObject");return a.setAttribute("width",`${t}`),a.setAttribute("height",`${r}`),a.setAttribute("viewBox",`0 0 ${t} ${r}`),i.setAttribute("width","100%"),i.setAttribute("height","100%"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("externalResourcesRequired","true"),a.appendChild(i),i.appendChild(e),re(a)}const s=(e,t)=>{if(e instanceof t)return!0;let r=Object.getPrototypeOf(e);return r===null?!1:r.constructor.name===t.name||s(r,t)};function ae(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function ie(e,t){return I(t).map(r=>`${r}: ${e.getPropertyValue(r)}${e.getPropertyPriority(r)?" !important":""};`).join(" ")}function oe(e,t,r,n){let a=`.${e}:${t}`,i=r.cssText?ae(r):ie(r,n);return document.createTextNode(`${a}{${i}}`)}function N(e,t,r,n){let a=window.getComputedStyle(e,r),i=a.getPropertyValue("content");if(i===""||i==="none")return;let o=K();try{t.className=`${t.className} ${o}`}catch{return}let l=document.createElement("style");l.appendChild(oe(o,r,a,n)),t.appendChild(l)}function le(e,t,r){N(e,t,":before",r),N(e,t,":after",r)}var T="application/font-woff",A="image/jpeg",ce={woff:T,woff2:T,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:A,jpeg:A,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function se(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function E(e){return ce[se(e).toLowerCase()]||""}function ue(e){return e.split(/,/)[1]}function S(e){return e.search(/^(data:)/)!==-1}function k(e,t){return`data:${t};base64,${e}`}async function L(e,t,r){let n=await fetch(e,t);if(n.status===404)throw Error(`Resource "${n.url}" not found`);let a=await n.blob();return new Promise((i,o)=>{let l=new FileReader;l.onerror=o,l.onloadend=()=>{try{i(r({res:n,result:l.result}))}catch(c){o(c)}},l.readAsDataURL(a)})}var C={};function de(e,t,r){let n=e.replace(/\?.*/,"");return r&&(n=e),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),t?`[${t}]${n}`:n}async function x(e,t,r){let n=de(e,t,r.includeQueryParams);if(C[n]!=null)return C[n];r.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let a;try{a=k(await L(e,r.fetchRequestInit,({res:i,result:o})=>(t||(t=i.headers.get("Content-Type")||""),ue(o))),t)}catch(i){a=r.imagePlaceholder||"";let o=`Failed to fetch resource: ${e}`;i&&(o=typeof i=="string"?i:i.message),o&&console.warn(o)}return C[n]=a,a}async function he(e){let t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):w(t)}async function fe(e,t){if(e.currentSrc){let n=document.createElement("canvas"),a=n.getContext("2d");return n.width=e.clientWidth,n.height=e.clientHeight,a==null||a.drawImage(e,0,0,n.width,n.height),w(n.toDataURL())}let r=e.poster;return w(await x(r,E(r),t))}async function me(e,t){var r;try{if((r=e==null?void 0:e.contentDocument)!=null&&r.body)return await y(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function ge(e,t){return s(e,HTMLCanvasElement)?he(e):s(e,HTMLVideoElement)?fe(e,t):s(e,HTMLIFrameElement)?me(e,t):e.cloneNode(F(e))}var pe=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",F=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function we(e,t,r){var a;if(F(t))return t;let n=[];return n=pe(e)&&e.assignedNodes?d(e.assignedNodes()):s(e,HTMLIFrameElement)&&((a=e.contentDocument)!=null&&a.body)?d(e.contentDocument.body.childNodes):d((e.shadowRoot??e).childNodes),n.length===0||s(e,HTMLVideoElement)||await n.reduce((i,o)=>i.then(()=>y(o,r)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function ye(e,t,r){let n=t.style;if(!n)return;let a=window.getComputedStyle(e);a.cssText?(n.cssText=a.cssText,n.transformOrigin=a.transformOrigin):I(r).forEach(i=>{let o=a.getPropertyValue(i);i==="font-size"&&o.endsWith("px")&&(o=`${Math.floor(parseFloat(o.substring(0,o.length-2)))-.1}px`),s(e,HTMLIFrameElement)&&i==="display"&&o==="inline"&&(o="block"),i==="d"&&t.getAttribute("d")&&(o=`path(${t.getAttribute("d")})`),n.setProperty(i,o,a.getPropertyPriority(i))})}function be(e,t){s(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),s(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Ee(e,t){if(s(e,HTMLSelectElement)){let r=t,n=Array.from(r.children).find(a=>e.value===a.getAttribute("value"));n&&n.setAttribute("selected","")}}function Se(e,t,r){return s(t,Element)&&(ye(e,t,r),le(e,t,r),be(e,t),Ee(e,t)),t}async function Ce(e,t){let r=e.querySelectorAll?e.querySelectorAll("use"):[];if(r.length===0)return e;let n={};for(let i=0;i<r.length;i++){let o=r[i].getAttribute("xlink:href");if(o){let l=e.querySelector(o),c=document.querySelector(o);!l&&c&&!n[o]&&(n[o]=await y(c,t,!0))}}let a=Object.values(n);if(a.length){let i="http://www.w3.org/1999/xhtml",o=document.createElementNS(i,"svg");o.setAttribute("xmlns",i),o.style.position="absolute",o.style.width="0",o.style.height="0",o.style.overflow="hidden",o.style.display="none";let l=document.createElementNS(i,"defs");o.appendChild(l);for(let c=0;c<a.length;c++)l.appendChild(a[c]);e.appendChild(o)}return e}async function y(e,t,r){return!r&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(n=>ge(n,t)).then(n=>we(e,n,t)).then(n=>Se(e,n,t)).then(n=>Ce(n,t))}var H=/url\((['"]?)([^'"]+?)\1\)/g,xe=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,$e=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function ve(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Re(e){let t=[];return e.replace(H,(r,n,a)=>(t.push(a),r)),t.filter(r=>!S(r))}async function Ie(e,t,r,n,a){try{let i=r?J(t,r):t,o=E(t),l;return l=a?k(await a(i),o):await x(i,o,n),e.replace(ve(t),`$1${l}$3`)}catch{}return e}function Pe(e,{preferredFontFormat:t}){return t?e.replace($e,r=>{for(;;){let[n,,a]=xe.exec(r)||[];if(!a)return"";if(a===t)return`src: ${n};`}}):e}function M(e){return e.search(H)!==-1}async function D(e,t,r){if(!M(e))return e;let n=Pe(e,r);return Re(n).reduce((a,i)=>a.then(o=>Ie(o,i,t,r)),Promise.resolve(n))}async function f(e,t,r){var a;let n=(a=t.style)==null?void 0:a.getPropertyValue(e);if(n){let i=await D(n,null,r);return t.style.setProperty(e,i,t.style.getPropertyPriority(e)),!0}return!1}async function Ne(e,t){await f("background",e,t)||await f("background-image",e,t),await f("mask",e,t)||await f("-webkit-mask",e,t)||await f("mask-image",e,t)||await f("-webkit-mask-image",e,t)}async function Te(e,t){let r=s(e,HTMLImageElement);if(!(r&&!S(e.src))&&!(s(e,SVGImageElement)&&!S(e.href.baseVal)))return;let n=r?e.src:e.href.baseVal,a=await x(n,E(n),t);await new Promise((i,o)=>{e.onload=i,e.onerror=t.onImageErrorHandler?(...c)=>{try{i(t.onImageErrorHandler(...c))}catch(h){o(h)}}:o;let l=e;l.decode&&(l.decode=i),l.loading==="lazy"&&(l.loading="eager"),r?(e.srcset="",e.src=a):e.href.baseVal=a})}async function Ae(e,t){let r=d(e.childNodes).map(n=>V(n,t));await Promise.all(r).then(()=>e)}async function V(e,t){s(e,Element)&&(await Ne(e,t),await Te(e,t),await Ae(e,t))}function ke(e,t){let{style:r}=e;t.backgroundColor&&(r.backgroundColor=t.backgroundColor),t.width&&(r.width=`${t.width}px`),t.height&&(r.height=`${t.height}px`);let n=t.style;return n!=null&&Object.keys(n).forEach(a=>{r[a]=n[a]}),e}var O={};async function _(e){let t=O[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},O[e]=t,t)}async function j(e,t){let r=e.cssText,n=/url\(["']?([^"')]+)["']?\)/g,a=(r.match(/url\([^)]+\)/g)||[]).map(async i=>{let o=i.replace(n,"$1");return o.startsWith("https://")||(o=new URL(o,e.url).href),L(o,t.fetchRequestInit,({result:l})=>(r=r.replace(i,`url(${l})`),[i,l]))});return Promise.all(a).then(()=>r)}function U(e){if(e==null)return[];let t=[],r=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),n=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let o=n.exec(r);if(o===null)break;t.push(o[0])}r=r.replace(n,"");let a=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,i=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let o=a.exec(r);if(o===null){if(o=i.exec(r),o===null)break;a.lastIndex=i.lastIndex}else i.lastIndex=a.lastIndex;t.push(o[0])}return t}async function Le(e,t){let r=[],n=[];return e.forEach(a=>{if("cssRules"in a)try{d(a.cssRules||[]).forEach((i,o)=>{if(i.type===CSSRule.IMPORT_RULE){let l=o+1,c=i.href,h=_(c).then(m=>j(m,t)).then(m=>U(m).forEach(b=>{try{a.insertRule(b,b.startsWith("@import")?l+=1:a.cssRules.length)}catch(z){console.error("Error inserting rule from remote css",{rule:b,error:z})}})).catch(m=>{console.error("Error loading remote css",m.toString())});n.push(h)}})}catch(i){let o=e.find(l=>l.href==null)||document.styleSheets[0];a.href!=null&&n.push(_(a.href).then(l=>j(l,t)).then(l=>U(l).forEach(c=>{o.insertRule(c,o.cssRules.length)})).catch(l=>{console.error("Error loading remote stylesheet",l)})),console.error("Error inlining remote css file",i)}}),Promise.all(n).then(()=>(e.forEach(a=>{if("cssRules"in a)try{d(a.cssRules||[]).forEach(i=>{r.push(i)})}catch(i){console.error(`Error while reading CSS rules from ${a.href}`,i)}}),r))}function Fe(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>M(t.style.getPropertyValue("src")))}async function He(e,t){if(e.ownerDocument==null)throw Error("Provided element is not within a Document");return Fe(await Le(d(e.ownerDocument.styleSheets),t))}function q(e){return e.trim().replace(/["']/g,"")}function Me(e){let t=new Set;function r(n){(n.style.fontFamily||getComputedStyle(n).fontFamily).split(",").forEach(a=>{t.add(q(a))}),Array.from(n.children).forEach(a=>{a instanceof HTMLElement&&r(a)})}return r(e),t}async function De(e,t){let r=await He(e,t),n=Me(e);return(await Promise.all(r.filter(a=>n.has(q(a.style.fontFamily))).map(a=>{let i=a.parentStyleSheet?a.parentStyleSheet.href:null;return D(a.cssText,i,t)}))).join(`
|
|
1
|
+
import{i as W}from"./useEvent-DlWF5OMa.js";import{Qr as $,hn as B,v as G}from"./cells-D_SkyFDn.js";import{t as v}from"./requests-C0HaHO6a.js";function R({moduleName:e,variableName:t,onAddImport:r,appStore:n=W}){if(t in n.get(B))return!1;let{cellData:a,cellIds:i}=n.get(G),o=RegExp(`import[ ]+${e}[ ]+as[ ]+${t}`,"g");for(let l of i.inOrderIds)if(o.test(a[l].code))return!1;return r(`import ${e} as ${t}`),!0}function Q({autoInstantiate:e,createNewCell:t,fromCellId:r,before:n}){let a=v(),i=null;return R({moduleName:"marimo",variableName:"mo",onAddImport:o=>{i=$.create(),t({cellId:r??"__end__",before:n??!1,code:o,lastCodeRun:e?o:void 0,newCellId:i,skipIfCodeExists:!0,autoFocus:!1}),e&&a.sendRun({cellIds:[i],codes:[o]})}})?i:null}function X({autoInstantiate:e,createNewCell:t,fromCellId:r}){let n=v(),a=null;return R({moduleName:"altair",variableName:"alt",onAddImport:i=>{a=$.create(),t({cellId:r??"__end__",before:!1,code:i,lastCodeRun:e?i:void 0,newCellId:a,skipIfCodeExists:!0,autoFocus:!1}),e&&n.sendRun({cellIds:[a],codes:[i]})}})?a:null}function J(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let r=document.implementation.createHTMLDocument(),n=r.createElement("base"),a=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(a),t&&(n.href=t),a.href=e,a.href}const K=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function d(e){let t=[];for(let r=0,n=e.length;r<n;r++)t.push(e[r]);return t}var g=null;function I(e={}){return g||(e.includeStyleProperties?(g=e.includeStyleProperties,g):(g=d(window.getComputedStyle(document.documentElement)),g))}function p(e,t){let r=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return r?parseFloat(r.replace("px","")):0}function Y(e){let t=p(e,"border-left-width"),r=p(e,"border-right-width");return e.clientWidth+t+r}function Z(e){let t=p(e,"border-top-width"),r=p(e,"border-bottom-width");return e.clientHeight+t+r}function P(e,t={}){return{width:t.width||Y(e),height:t.height||Z(e)}}function ee(){let e,t;try{t=process}catch{}let r=t&&t.env?t.env.devicePixelRatio:null;return r&&(e=parseInt(r,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var u=16384;function te(e){(e.width>u||e.height>u)&&(e.width>u&&e.height>u?e.width>e.height?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u):e.width>u?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u))}function w(e){return new Promise((t,r)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>t(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=e})}async function re(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ne(e,t,r){let n="http://www.w3.org/2000/svg",a=document.createElementNS(n,"svg"),i=document.createElementNS(n,"foreignObject");return a.setAttribute("width",`${t}`),a.setAttribute("height",`${r}`),a.setAttribute("viewBox",`0 0 ${t} ${r}`),i.setAttribute("width","100%"),i.setAttribute("height","100%"),i.setAttribute("x","0"),i.setAttribute("y","0"),i.setAttribute("externalResourcesRequired","true"),a.appendChild(i),i.appendChild(e),re(a)}const s=(e,t)=>{if(e instanceof t)return!0;let r=Object.getPrototypeOf(e);return r===null?!1:r.constructor.name===t.name||s(r,t)};function ae(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function ie(e,t){return I(t).map(r=>`${r}: ${e.getPropertyValue(r)}${e.getPropertyPriority(r)?" !important":""};`).join(" ")}function oe(e,t,r,n){let a=`.${e}:${t}`,i=r.cssText?ae(r):ie(r,n);return document.createTextNode(`${a}{${i}}`)}function N(e,t,r,n){let a=window.getComputedStyle(e,r),i=a.getPropertyValue("content");if(i===""||i==="none")return;let o=K();try{t.className=`${t.className} ${o}`}catch{return}let l=document.createElement("style");l.appendChild(oe(o,r,a,n)),t.appendChild(l)}function le(e,t,r){N(e,t,":before",r),N(e,t,":after",r)}var T="application/font-woff",A="image/jpeg",ce={woff:T,woff2:T,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:A,jpeg:A,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function se(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function E(e){return ce[se(e).toLowerCase()]||""}function ue(e){return e.split(/,/)[1]}function S(e){return e.search(/^(data:)/)!==-1}function k(e,t){return`data:${t};base64,${e}`}async function L(e,t,r){let n=await fetch(e,t);if(n.status===404)throw Error(`Resource "${n.url}" not found`);let a=await n.blob();return new Promise((i,o)=>{let l=new FileReader;l.onerror=o,l.onloadend=()=>{try{i(r({res:n,result:l.result}))}catch(c){o(c)}},l.readAsDataURL(a)})}var C={};function de(e,t,r){let n=e.replace(/\?.*/,"");return r&&(n=e),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),t?`[${t}]${n}`:n}async function x(e,t,r){let n=de(e,t,r.includeQueryParams);if(C[n]!=null)return C[n];r.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let a;try{a=k(await L(e,r.fetchRequestInit,({res:i,result:o})=>(t||(t=i.headers.get("Content-Type")||""),ue(o))),t)}catch(i){a=r.imagePlaceholder||"";let o=`Failed to fetch resource: ${e}`;i&&(o=typeof i=="string"?i:i.message),o&&console.warn(o)}return C[n]=a,a}async function he(e){let t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):w(t)}async function fe(e,t){if(e.currentSrc){let n=document.createElement("canvas"),a=n.getContext("2d");return n.width=e.clientWidth,n.height=e.clientHeight,a==null||a.drawImage(e,0,0,n.width,n.height),w(n.toDataURL())}let r=e.poster;return w(await x(r,E(r),t))}async function me(e,t){var r;try{if((r=e==null?void 0:e.contentDocument)!=null&&r.body)return await y(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function ge(e,t){return s(e,HTMLCanvasElement)?he(e):s(e,HTMLVideoElement)?fe(e,t):s(e,HTMLIFrameElement)?me(e,t):e.cloneNode(F(e))}var pe=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",F=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function we(e,t,r){var a;if(F(t))return t;let n=[];return n=pe(e)&&e.assignedNodes?d(e.assignedNodes()):s(e,HTMLIFrameElement)&&((a=e.contentDocument)!=null&&a.body)?d(e.contentDocument.body.childNodes):d((e.shadowRoot??e).childNodes),n.length===0||s(e,HTMLVideoElement)||await n.reduce((i,o)=>i.then(()=>y(o,r)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function ye(e,t,r){let n=t.style;if(!n)return;let a=window.getComputedStyle(e);a.cssText?(n.cssText=a.cssText,n.transformOrigin=a.transformOrigin):I(r).forEach(i=>{let o=a.getPropertyValue(i);i==="font-size"&&o.endsWith("px")&&(o=`${Math.floor(parseFloat(o.substring(0,o.length-2)))-.1}px`),s(e,HTMLIFrameElement)&&i==="display"&&o==="inline"&&(o="block"),i==="d"&&t.getAttribute("d")&&(o=`path(${t.getAttribute("d")})`),n.setProperty(i,o,a.getPropertyPriority(i))})}function be(e,t){s(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),s(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function Ee(e,t){if(s(e,HTMLSelectElement)){let r=t,n=Array.from(r.children).find(a=>e.value===a.getAttribute("value"));n&&n.setAttribute("selected","")}}function Se(e,t,r){return s(t,Element)&&(ye(e,t,r),le(e,t,r),be(e,t),Ee(e,t)),t}async function Ce(e,t){let r=e.querySelectorAll?e.querySelectorAll("use"):[];if(r.length===0)return e;let n={};for(let i=0;i<r.length;i++){let o=r[i].getAttribute("xlink:href");if(o){let l=e.querySelector(o),c=document.querySelector(o);!l&&c&&!n[o]&&(n[o]=await y(c,t,!0))}}let a=Object.values(n);if(a.length){let i="http://www.w3.org/1999/xhtml",o=document.createElementNS(i,"svg");o.setAttribute("xmlns",i),o.style.position="absolute",o.style.width="0",o.style.height="0",o.style.overflow="hidden",o.style.display="none";let l=document.createElementNS(i,"defs");o.appendChild(l);for(let c=0;c<a.length;c++)l.appendChild(a[c]);e.appendChild(o)}return e}async function y(e,t,r){return!r&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(n=>ge(n,t)).then(n=>we(e,n,t)).then(n=>Se(e,n,t)).then(n=>Ce(n,t))}var H=/url\((['"]?)([^'"]+?)\1\)/g,xe=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,$e=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function ve(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Re(e){let t=[];return e.replace(H,(r,n,a)=>(t.push(a),r)),t.filter(r=>!S(r))}async function Ie(e,t,r,n,a){try{let i=r?J(t,r):t,o=E(t),l;return l=a?k(await a(i),o):await x(i,o,n),e.replace(ve(t),`$1${l}$3`)}catch{}return e}function Pe(e,{preferredFontFormat:t}){return t?e.replace($e,r=>{for(;;){let[n,,a]=xe.exec(r)||[];if(!a)return"";if(a===t)return`src: ${n};`}}):e}function M(e){return e.search(H)!==-1}async function D(e,t,r){if(!M(e))return e;let n=Pe(e,r);return Re(n).reduce((a,i)=>a.then(o=>Ie(o,i,t,r)),Promise.resolve(n))}async function f(e,t,r){var a;let n=(a=t.style)==null?void 0:a.getPropertyValue(e);if(n){let i=await D(n,null,r);return t.style.setProperty(e,i,t.style.getPropertyPriority(e)),!0}return!1}async function Ne(e,t){await f("background",e,t)||await f("background-image",e,t),await f("mask",e,t)||await f("-webkit-mask",e,t)||await f("mask-image",e,t)||await f("-webkit-mask-image",e,t)}async function Te(e,t){let r=s(e,HTMLImageElement);if(!(r&&!S(e.src))&&!(s(e,SVGImageElement)&&!S(e.href.baseVal)))return;let n=r?e.src:e.href.baseVal,a=await x(n,E(n),t);await new Promise((i,o)=>{e.onload=i,e.onerror=t.onImageErrorHandler?(...c)=>{try{i(t.onImageErrorHandler(...c))}catch(h){o(h)}}:o;let l=e;l.decode&&(l.decode=i),l.loading==="lazy"&&(l.loading="eager"),r?(e.srcset="",e.src=a):e.href.baseVal=a})}async function Ae(e,t){let r=d(e.childNodes).map(n=>V(n,t));await Promise.all(r).then(()=>e)}async function V(e,t){s(e,Element)&&(await Ne(e,t),await Te(e,t),await Ae(e,t))}function ke(e,t){let{style:r}=e;t.backgroundColor&&(r.backgroundColor=t.backgroundColor),t.width&&(r.width=`${t.width}px`),t.height&&(r.height=`${t.height}px`);let n=t.style;return n!=null&&Object.keys(n).forEach(a=>{r[a]=n[a]}),e}var O={};async function _(e){let t=O[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},O[e]=t,t)}async function j(e,t){let r=e.cssText,n=/url\(["']?([^"')]+)["']?\)/g,a=(r.match(/url\([^)]+\)/g)||[]).map(async i=>{let o=i.replace(n,"$1");return o.startsWith("https://")||(o=new URL(o,e.url).href),L(o,t.fetchRequestInit,({result:l})=>(r=r.replace(i,`url(${l})`),[i,l]))});return Promise.all(a).then(()=>r)}function U(e){if(e==null)return[];let t=[],r=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),n=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let o=n.exec(r);if(o===null)break;t.push(o[0])}r=r.replace(n,"");let a=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,i=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let o=a.exec(r);if(o===null){if(o=i.exec(r),o===null)break;a.lastIndex=i.lastIndex}else i.lastIndex=a.lastIndex;t.push(o[0])}return t}async function Le(e,t){let r=[],n=[];return e.forEach(a=>{if("cssRules"in a)try{d(a.cssRules||[]).forEach((i,o)=>{if(i.type===CSSRule.IMPORT_RULE){let l=o+1,c=i.href,h=_(c).then(m=>j(m,t)).then(m=>U(m).forEach(b=>{try{a.insertRule(b,b.startsWith("@import")?l+=1:a.cssRules.length)}catch(z){console.error("Error inserting rule from remote css",{rule:b,error:z})}})).catch(m=>{console.error("Error loading remote css",m.toString())});n.push(h)}})}catch(i){let o=e.find(l=>l.href==null)||document.styleSheets[0];a.href!=null&&n.push(_(a.href).then(l=>j(l,t)).then(l=>U(l).forEach(c=>{o.insertRule(c,o.cssRules.length)})).catch(l=>{console.error("Error loading remote stylesheet",l)})),console.error("Error inlining remote css file",i)}}),Promise.all(n).then(()=>(e.forEach(a=>{if("cssRules"in a)try{d(a.cssRules||[]).forEach(i=>{r.push(i)})}catch(i){console.error(`Error while reading CSS rules from ${a.href}`,i)}}),r))}function Fe(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>M(t.style.getPropertyValue("src")))}async function He(e,t){if(e.ownerDocument==null)throw Error("Provided element is not within a Document");return Fe(await Le(d(e.ownerDocument.styleSheets),t))}function q(e){return e.trim().replace(/["']/g,"")}function Me(e){let t=new Set;function r(n){(n.style.fontFamily||getComputedStyle(n).fontFamily).split(",").forEach(a=>{t.add(q(a))}),Array.from(n.children).forEach(a=>{a instanceof HTMLElement&&r(a)})}return r(e),t}async function De(e,t){let r=await He(e,t),n=Me(e);return(await Promise.all(r.filter(a=>n.has(q(a.style.fontFamily))).map(a=>{let i=a.parentStyleSheet?a.parentStyleSheet.href:null;return D(a.cssText,i,t)}))).join(`
|
|
2
2
|
`)}async function Ve(e,t){let r=t.fontEmbedCSS==null?t.skipFonts?null:await De(e,t):t.fontEmbedCSS;if(r){let n=document.createElement("style"),a=document.createTextNode(r);n.appendChild(a),e.firstChild?e.insertBefore(n,e.firstChild):e.appendChild(n)}}async function Oe(e,t={}){let{width:r,height:n}=P(e,t),a=await y(e,t,!0);return await Ve(a,t),await V(a,t),ke(a,t),await ne(a,r,n)}async function _e(e,t={}){let{width:r,height:n}=P(e,t),a=await w(await Oe(e,t)),i=document.createElement("canvas"),o=i.getContext("2d"),l=t.pixelRatio||ee(),c=t.canvasWidth||r,h=t.canvasHeight||n;return i.width=c*l,i.height=h*l,t.skipAutoScale||te(i),i.style.width=`${c}`,i.style.height=`${h}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,i.width,i.height)),o.drawImage(a,0,0,i.width,i.height),i}async function je(e,t={}){return(await _e(e,t)).toDataURL()}export{X as n,Q as r,je as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var He=Object.defineProperty;var Te=(t,e,i)=>e in t?He(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var R=(t,e,i)=>Te(t,typeof e!="symbol"?e+"":e,i);import{s as je}from"./chunk-LvLJmgfZ.js";import{i as Be,l as de,n as A,p as ge,u as ye}from"./useEvent-DlWF5OMa.js";import{t as $e}from"./react-BGmjiNul.js";import{C as qe,Gn as Ue,Kr as Ve,Nt as ce,Ur as Le,fn as Ke}from"./cells-Dk_j8HX9.js";import"./react-dom-C9fstfnp.js";import{t as ae}from"./compiler-runtime-DeeZ7FnK.js";import"./tooltip-CrRUCOBw.js";import{d as Ge,f as Ye}from"./hotkeys-uKX61F1_.js";import{t as Ze}from"./invariant-C6yE60hi.js";import{f as Je}from"./utils-CJJIceVn.js";import{M as ie}from"./config-babG4OBR.js";import{t as Qe}from"./jsx-runtime-DN_bIXfG.js";import{n as Xe,t as I}from"./button-DuYGqRtX.js";import{t as he}from"./cn-C1rgT0yh.js";import{St as et,at as tt}from"./dist-CAcX026F.js";import{a as at,c as it,i as rt,o as nt,s as st}from"./JsonOutput-BCHaEg3R.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{n as lt,r as me}from"./requests-C0HaHO6a.js";import{t as K}from"./createLucideIcon-CW2xpJ57.js";import{t as ot}from"./arrow-left-DdsrQ78n.js";import{n as dt,t as ct}from"./LazyAnyLanguageCodeMirror-jpEDlD0M.js";import{_ as ht}from"./select-D0g5GnIs.js";import{n as mt,t as ve}from"./download-Dsuja3On.js";import{t as pt}from"./chevron-right-CqEd11Di.js";import{f as pe}from"./maps-s2pQkyf5.js";import{n as ft}from"./markdown-renderer-COkLQ1b5.js";import{a as S,c as G,p as xt,r as ut,t as jt}from"./dropdown-menu-BP4_BZLr.js";import{t as be}from"./copy-gBVL4NN-.js";import{t as we}from"./download-DobaYJPt.js";import{t as gt}from"./ellipsis-vertical-CasjS3M6.js";import{t as yt}from"./eye-off-D9zAYqG9.js";import{n as ke,r as vt,t as bt}from"./types-CiMSegk1.js";import{t as Fe}from"./file-plus-corner-BO_uS88s.js";import{t as wt}from"./spinner-C1czjtp7.js";import{t as kt}from"./refresh-ccw-DbW1_PHb.js";import{t as Ft}from"./refresh-cw-Din9uFKE.js";import{t as Ct}from"./save-BOTLFf-P.js";import{t as Nt}from"./trash-2-C-lF7BNB.js";import{t as St}from"./triangle-alert-CbD0f2J6.js";import{i as Dt,n as _t,t as Pt}from"./es-FiXEquL2.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as W}from"./use-toast-Bzf3rpev.js";import{r as zt}from"./useTheme-DfP1CWaW.js";import"./Combination-D1TsGrBC.js";import{t as M}from"./tooltip-CvjcEpZC.js";import"./dates-CdsE1R40.js";import{o as Mt}from"./alert-dialog-k5KxevGr.js";import"./popover-DtnzNVk-.js";import{n as Ce}from"./ImperativeModal-q6QlC2aZ.js";import{a as Ot,n as Ne}from"./error-banner-DU5Qb8a8.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{t as re}from"./copy-DRhpWiOq.js";import"./purify.es-N-2faAGj.js";import{a as Rt,i as At,n as fe,r as Wt,t as It}from"./tree-CeX0mTvA.js";import{n as Et,t as Ht}from"./alert-BEdExd6A.js";import{n as Se}from"./useAsyncData-BJJJOr9W.js";import"./chunk-OGVTOU66-CjNLT2C3.js";import"./katex-AwOI3EvM.js";import"./marked.esm-CHnOtnr3.js";import"./es-DjCjT1hB.js";import{o as Tt}from"./focus-U1ePwk4d.js";import{a as Bt}from"./renderShortcut-D0Pei-OA.js";import{n as $t}from"./blob-Dg_vNTSs.js";import{t as qt}from"./bundle.esm-B0Sy2M4C.js";import{t as Ut}from"./links-ENMiP32L.js";import{t as Vt}from"./icon-32x32-ZZIB7rLH.js";import{t as Y}from"./Inputs-DmoeP8nh.js";var Lt=K("copy-minus",[["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),De=K("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),_e=K("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]),Kt=K("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),Gt=K("square-play",[["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}]]),Yt=K("view",[["path",{d:"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2",key:"mrq65r"}],["path",{d:"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2",key:"be3xqs"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),Pe=ae(),F=je($e(),1),a=je(Qe(),1),ze=(0,F.createContext)(null);function Zt(){return(0,F.useContext)(ze)??void 0}var Jt=t=>{let e=(0,Pe.c)(3),{children:i}=t,n=At(),s;return e[0]!==i||e[1]!==n?(s=(0,a.jsx)(ze.Provider,{value:n,children:i}),e[0]=i,e[1]=n,e[2]=s):s=e[2],s};const Qt=t=>{let e=(0,Pe.c)(5),{children:i}=t,[n,s]=(0,F.useState)(null),r;e[0]!==i||e[1]!==n?(r=n&&(0,a.jsx)(Rt,{backend:Wt,options:{rootElement:n},children:(0,a.jsx)(Jt,{children:i})}),e[0]=i,e[1]=n,e[2]=r):r=e[2];let d;return e[3]===r?d=e[4]:(d=(0,a.jsx)("div",{ref:s,className:"contents",children:r}),e[3]=r,e[4]=d),d};var xe=new Map;const Xt=({file:t,onOpenNotebook:e})=>{let{theme:i}=zt(),{sendFileDetails:n,sendUpdateFile:s}=me(),r=ye(Je),d=ye(Le),[c,x]=(0,F.useState)(""),{data:l,isPending:g,error:u,setData:b,refetch:h}=Se(async()=>{let o=await n({path:t.path}),j=o.contents||"";return x(xe.get(t.path)||j),o},[t.path]),p=async()=>{c!==(l==null?void 0:l.contents)&&await s({path:t.path,contents:c}).then(o=>{o.success&&(b(j=>({...j,contents:c})),x(c))})},y=(0,F.useRef)(c);if(y.current=c,(0,F.useEffect)(()=>()=>{if(!(l!=null&&l.contents))return;let o=y.current;o===l.contents?xe.delete(t.path):xe.set(t.path,o)},[t.path,l==null?void 0:l.contents]),u)return(0,a.jsx)(Ne,{error:u});if(g||!l)return null;let f=l.mimeType||"text/plain",k=f in ue,D=d&&l.file.isMarimoFile&&(t.path===d||t.path.endsWith(`/${d}`));if(!l.contents&&!k)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:l.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:f})]});let v=(0,a.jsxs)("div",{className:"text-xs text-muted-foreground p-1 flex justify-end gap-2 border-b",children:[(0,a.jsx)(M,{content:"Refresh",children:(0,a.jsx)(Y,{size:"small",onClick:h,children:(0,a.jsx)(Ft,{})})}),t.isMarimoFile&&!ie()&&(0,a.jsx)(M,{content:"Open notebook",children:(0,a.jsx)(Y,{size:"small",onClick:o=>e(o),children:(0,a.jsx)(pe,{})})}),(0,a.jsx)(M,{content:"Download",children:(0,a.jsx)(Y,{size:"small",onClick:()=>{if(Me(f)){mt(ft(l.contents,f),l.file.name);return}ve(new Blob([l.contents||c],{type:f}),l.file.name)},children:(0,a.jsx)(we,{})})}),!Me(f)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(M,{content:"Copy contents to clipboard",children:(0,a.jsx)(Y,{size:"small",onClick:async()=>{await re(c)},children:(0,a.jsx)(be,{})})}),(0,a.jsx)(M,{content:Bt("global.save"),children:(0,a.jsx)(Y,{size:"small",color:c===l.contents?void 0:"green",onClick:p,disabled:c===l.contents,children:(0,a.jsx)(Ct,{})})})]})]});return f.startsWith("image/")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(nt,{base64:l.contents,mime:f})})]}):f==="text/csv"&&l.contents?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(at,{contents:l.contents})})]}):f.startsWith("audio/")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(rt,{base64:l.contents,mime:f})})]}):f.startsWith("video/")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(it,{base64:l.contents,mime:f})})]}):f.startsWith("application/pdf")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(st,{base64:l.contents,mime:f})})]}):(0,a.jsxs)(a.Fragment,{children:[v,D&&(0,a.jsxs)(Ht,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(St,{className:"h-4 w-4"}),(0,a.jsx)(Et,{children:"Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution."})]}),(0,a.jsx)("div",{className:"flex-1 overflow-auto",children:(0,a.jsx)(F.Suspense,{children:(0,a.jsx)(ct,{theme:i==="dark"?"dark":"light",language:ue[f]||ue.default,className:"border-b",extensions:[tt.lineWrapping,et.of([{key:r.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===l.contents?!1:(p(),!0)}])],value:c,onChange:x})})})]})};var Me=t=>t?t.startsWith("image/")||t.startsWith("audio/")||t.startsWith("video/")||t.startsWith("application/pdf"):!1,ue={"application/javascript":"javascript","text/markdown":"markdown","text/html":"html","text/css":"css","text/x-python":"python","application/json":"json","application/xml":"xml","text/x-yaml":"yaml","text/csv":"markdown","text/plain":"markdown",default:"markdown"},ea=class{constructor(t){R(this,"delegate",new fe([]));R(this,"rootPath","");R(this,"onChange",Ye.NOOP);R(this,"path",new ce("/"));R(this,"initialize",async t=>{if(this.onChange=t,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new fe(e.files),this.rootPath=e.root,this.path=ce.guessDeliminator(e.root)}catch(e){W({title:"Failed",description:Ot(e)})}this.onChange(this.delegate.data)});R(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(n=>{var s;return(s=this.delegate.find(n))==null?void 0:s.data.path})].filter(Boolean),i=await Promise.all(e.map(n=>this.callbacks.listFiles({path:n}).catch(()=>({files:[]}))));for(let[n,s]of e.entries()){let r=i[n];s===this.rootPath?this.delegate=new fe(r.files):this.delegate.update({id:s,changes:{children:r.files}})}this.onChange(this.delegate.data)});R(this,"relativeFromRoot",t=>{let e=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return t.startsWith(e)?t.slice(e.length):t});R(this,"handleResponse",t=>t.success?t:(W({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let i=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:i.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let i=this.delegate.find(t);if(!i)return;let n=i.data.path,s=this.path.join(this.path.dirname(n),e);await this.callbacks.renameFileOrFolder({path:n,newPath:s}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:s}}),this.onChange(this.delegate.data),await this.refreshAll([s])}async move(t,e){var n;let i=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath;await Promise.all(t.map(s=>{this.delegate.move({id:s,parentId:e,index:0});let r=this.delegate.find(s);if(!r)return Promise.resolve();let d=this.path.join(i,this.path.basename(r.data.path));return this.delegate.update({id:s,changes:{path:d}}),this.callbacks.renameFileOrFolder({path:r.data.path,newPath:d}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([i])}async createFile(t,e){var s;let i=e?((s=this.delegate.find(e))==null?void 0:s.data.path)??e:this.rootPath,n=await this.callbacks.createFileOrFolder({path:i,type:"file",name:t}).then(this.handleResponse);n!=null&&n.info&&(this.delegate.create({parentId:e,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async createFolder(t,e){var s;let i=e?((s=this.delegate.find(e))==null?void 0:s.data.path)??e:this.rootPath,n=await this.callbacks.createFileOrFolder({path:i,type:"directory",name:t}).then(this.handleResponse);n!=null&&n.info&&(this.delegate.create({parentId:e,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const Oe=ge(t=>{let e=t(lt);return Ze(e,"no requestClientAtom set"),new ea({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),ta=ge({});async function aa(){await Be.get(Oe).refreshAll([])}var ia=ae(),ra=1024*1024*100;function Re(t){let e=(0,ia.c)(7),i;e[0]===t?i=e[1]:(i=t===void 0?{}:t,e[0]=t,e[1]=i);let n=i,{sendCreateFileOrFolder:s}=me(),r;e[2]===s?r=e[3]:(r=async c=>{for(let x of c){let l=ca(da(x)),g="";l&&(g=ce.guessDeliminator(l).dirname(l));let u=(await $t(x)).split(",")[1];await s({path:g,type:"file",name:x.name,contents:u})}await aa()},e[2]=s,e[3]=r);let d;return e[4]!==n||e[5]!==r?(d={multiple:!0,maxSize:ra,onError:oa,onDropRejected:na,onDrop:r,...n},e[4]=n,e[5]=r,e[6]=d):d=e[6],Pt(d)}function na(t){W({title:"File upload failed",description:(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map(sa)}),variant:"danger"})}function sa(t){return(0,a.jsxs)("div",{children:[t.file.name," (",t.errors.map(la).join(", "),")"]},t.file.name)}function la(t){return t.message}function oa(t){Ge.error(t),W({title:"File upload failed",description:t.message,variant:"danger"})}function da(t){if(t.webkitRelativePath)return t.webkitRelativePath;if("path"in t&&typeof t.path=="string")return t.path;if("relativePath"in t&&typeof t.relativePath=="string")return t.relativePath}function ca(t){if(t)return t.replace(/^\/+/,"")}var Z=ae(),ha=Ve("marimo:showHiddenFiles",!0,Ke,{getOnInit:!0}),Ae=F.createContext(null);const ma=t=>{let e=(0,Z.c)(68),{height:i}=t,n=(0,F.useRef)(null),s=Zt(),[r]=de(Oe),d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=[],e[0]=d):d=e[0];let[c,x]=(0,F.useState)(d),[l,g]=(0,F.useState)(null),[u,b]=de(ha),{openPrompt:h}=Ce(),[p,y]=de(ta),f;e[1]===r?f=e[2]:(f=()=>r.initialize(x),e[1]=r,e[2]=f);let k;e[3]===Symbol.for("react.memo_cache_sentinel")?(k=[],e[3]=k):k=e[3];let{isPending:D,error:v}=Se(f,k),o;e[4]!==p||e[5]!==r?(o=()=>{r.refreshAll(Object.keys(p).filter(m=>p[m]))},e[4]=p,e[5]=r,e[6]=o):o=e[6];let j=A(o),z;e[7]!==b||e[8]!==u?(z=()=>{b(!u)},e[7]=b,e[8]=u,e[9]=z):z=e[9];let C=A(z),_;e[10]!==h||e[11]!==r?(_=async()=>{h({title:"Folder name",onConfirm:async m=>{r.createFolder(m,null)}})},e[10]=h,e[11]=r,e[12]=_):_=e[12];let N=A(_),O;e[13]!==h||e[14]!==r?(O=async()=>{h({title:"File name",onConfirm:async m=>{r.createFile(m,null)}})},e[13]=h,e[14]=r,e[15]=O):O=e[15];let ne=A(O),J;e[16]===y?J=e[17]:(J=()=>{var m;(m=n.current)==null||m.closeAll(),y({})},e[16]=y,e[17]=J);let se=A(J),Q;e[18]!==c||e[19]!==u?(Q=Ie(c,u),e[18]=c,e[19]=u,e[20]=Q):Q=e[20];let le=Q;if(D){let m;return e[21]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(wt,{size:"medium",centered:!0}),e[21]=m):m=e[21],m}if(v){let m;return e[22]===v?m=e[23]:(m=(0,a.jsx)(Ne,{error:v}),e[22]=v,e[23]=m),m}if(l){let m;e[24]===Symbol.for("react.memo_cache_sentinel")?(m=()=>g(null),e[24]=m):m=e[24];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(I,{onClick:m,"data-testid":"file-explorer-back-button",variant:"text",size:"xs",className:"mb-0",children:(0,a.jsx)(ot,{size:16})}),e[25]=w):w=e[25];let P;e[26]===l.name?P=e[27]:(P=(0,a.jsxs)("div",{className:"flex items-center pl-1 pr-3 shrink-0 border-b justify-between",children:[w,(0,a.jsx)("span",{className:"font-bold",children:l.name})]}),e[26]=l.name,e[27]=P);let V;e[28]!==l.path||e[29]!==r?(V=Ee=>We(Ee,r.relativeFromRoot(l.path)),e[28]=l.path,e[29]=r,e[30]=V):V=e[30];let L;e[31]!==l||e[32]!==V?(L=(0,a.jsx)(F.Suspense,{children:(0,a.jsx)(Xt,{onOpenNotebook:V,file:l})}),e[31]=l,e[32]=V,e[33]=L):L=e[33];let te;return e[34]!==P||e[35]!==L?(te=(0,a.jsxs)(a.Fragment,{children:[P,L]}),e[34]=P,e[35]=L,e[36]=te):te=e[36],te}let E;e[37]!==se||e[38]!==ne||e[39]!==N||e[40]!==C||e[41]!==j||e[42]!==r?(E=(0,a.jsx)(fa,{onRefresh:j,onHidden:C,onCreateFile:ne,onCreateFolder:N,onCollapseAll:se,tree:r}),e[37]=se,e[38]=ne,e[39]=N,e[40]=C,e[41]=j,e[42]=r,e[43]=E):E=e[43];let oe=i-33,H,T,B;e[44]===r?(H=e[45],T=e[46],B=e[47]):(H=async m=>{let{ids:w}=m;for(let P of w)await r.delete(P)},T=async m=>{let{id:w,name:P}=m;await r.rename(w,P)},B=async m=>{let{dragIds:w,parentId:P}=m;await r.move(w,P)},e[44]=r,e[45]=H,e[46]=T,e[47]=B);let X;e[48]===Symbol.for("react.memo_cache_sentinel")?(X=m=>{let w=m[0];w&&(w.data.isDirectory||g(w.data))},e[48]=X):X=e[48];let $;e[49]!==p||e[50]!==y||e[51]!==r?($=async m=>{if(await r.expand(m)){let w=p[m]??!1;y({...p,[m]:!w})}},e[49]=p,e[50]=y,e[51]=r,e[52]=$):$=e[52];let q;e[53]!==s||e[54]!==p||e[55]!==oe||e[56]!==H||e[57]!==T||e[58]!==B||e[59]!==$||e[60]!==le?(q=(0,a.jsx)(It,{width:"100%",ref:n,height:oe,className:"h-full",data:le,initialOpenState:p,openByDefault:!1,dndManager:s,renderCursor:va,disableDrop:ba,onDelete:H,onRename:T,onMove:B,onSelect:X,onToggle:$,padding:15,rowHeight:30,indent:pa,overscanCount:1e3,disableMultiSelection:!0,children:ja}),e[53]=s,e[54]=p,e[55]=oe,e[56]=H,e[57]=T,e[58]=B,e[59]=$,e[60]=le,e[61]=q):q=e[61];let U;e[62]!==q||e[63]!==r?(U=(0,a.jsx)(Ae,{value:r,children:q}),e[62]=q,e[63]=r,e[64]=U):U=e[64];let ee;return e[65]!==E||e[66]!==U?(ee=(0,a.jsxs)(a.Fragment,{children:[E,U]}),e[65]=E,e[66]=U,e[67]=ee):ee=e[67],ee};var pa=15,fa=t=>{let e=(0,Z.c)(34),{onRefresh:i,onHidden:n,onCreateFile:s,onCreateFolder:r,onCollapseAll:d}=t,c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={noDrag:!0,noDragEventsBubbling:!0},e[0]=c):c=e[0];let{getRootProps:x,getInputProps:l}=Re(c),g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=(0,a.jsx)(Fe,{size:16}),e[1]=g):g=e[1];let u;e[2]===s?u=e[3]:(u=(0,a.jsx)(M,{content:"Add file",children:(0,a.jsx)(I,{"data-testid":"file-explorer-add-file-button",onClick:s,variant:"text",size:"xs",children:g})}),e[2]=s,e[3]=u);let b;e[4]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsx)(De,{size:16}),e[4]=b):b=e[4];let h;e[5]===r?h=e[6]:(h=(0,a.jsx)(M,{content:"Add folder",children:(0,a.jsx)(I,{"data-testid":"file-explorer-add-folder-button",onClick:r,variant:"text",size:"xs",children:b})}),e[5]=r,e[6]=h);let p;e[7]===x?p=e[8]:(p=x({}),e[7]=x,e[8]=p);let y,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=Xe({variant:"text",size:"xs"}),f=(0,a.jsx)(Dt,{size:16}),e[9]=y,e[10]=f):(y=e[9],f=e[10]);let k;e[11]===p?k=e[12]:(k=(0,a.jsx)(M,{content:"Upload file",children:(0,a.jsx)("button",{"data-testid":"file-explorer-upload-button",...p,className:y,children:f})}),e[11]=p,e[12]=k);let D;e[13]===l?D=e[14]:(D=l({}),e[13]=l,e[14]=D);let v;e[15]===D?v=e[16]:(v=(0,a.jsx)("input",{...D,type:"file"}),e[15]=D,e[16]=v);let o;e[17]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(kt,{size:16}),e[17]=o):o=e[17];let j;e[18]===i?j=e[19]:(j=(0,a.jsx)(M,{content:"Refresh",children:(0,a.jsx)(I,{"data-testid":"file-explorer-refresh-button",onClick:i,variant:"text",size:"xs",children:o})}),e[18]=i,e[19]=j);let z;e[20]===Symbol.for("react.memo_cache_sentinel")?(z=(0,a.jsx)(yt,{size:16}),e[20]=z):z=e[20];let C;e[21]===n?C=e[22]:(C=(0,a.jsx)(M,{content:"Toggle hidden files",children:(0,a.jsx)(I,{"data-testid":"file-explorer-hidden-files-button",onClick:n,variant:"text",size:"xs",children:z})}),e[21]=n,e[22]=C);let _;e[23]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Lt,{size:16}),e[23]=_):_=e[23];let N;e[24]===d?N=e[25]:(N=(0,a.jsx)(M,{content:"Collapse all folders",children:(0,a.jsx)(I,{"data-testid":"file-explorer-collapse-button",onClick:d,variant:"text",size:"xs",children:_})}),e[24]=d,e[25]=N);let O;return e[26]!==v||e[27]!==j||e[28]!==C||e[29]!==N||e[30]!==u||e[31]!==h||e[32]!==k?(O=(0,a.jsxs)("div",{className:"flex items-center justify-end px-2 shrink-0 border-b",children:[u,h,k,v,j,C,N]}),e[26]=v,e[27]=j,e[28]=C,e[29]=N,e[30]=u,e[31]=h,e[32]=k,e[33]=O):O=e[33],O},xa=t=>{let e=(0,Z.c)(9),{node:i,onOpenMarimoFile:n}=t,s;e[0]===i?s=e[1]:(s=c=>{i.data.isDirectory||(c.stopPropagation(),i.select())},e[0]=i,e[1]=s);let r;e[2]!==i.data.isMarimoFile||e[3]!==n?(r=i.data.isMarimoFile&&!ie()&&(0,a.jsxs)("span",{className:"shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline",onClick:n,children:["open ",(0,a.jsx)(pe,{className:"inline ml-1",size:12})]}),e[2]=i.data.isMarimoFile,e[3]=n,e[4]=r):r=e[4];let d;return e[5]!==i.data.name||e[6]!==s||e[7]!==r?(d=(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",onClick:s,children:[i.data.name,r]}),e[5]=i.data.name,e[6]=s,e[7]=r,e[8]=d):d=e[8],d},ua=t=>{let e=(0,Z.c)(10),{node:i}=t,n=(0,F.useRef)(null),s,r;e[0]===i.data.name?(s=e[1],r=e[2]):(s=()=>{var l,g;(l=n.current)==null||l.focus(),(g=n.current)==null||g.setSelectionRange(0,i.data.name.lastIndexOf("."))},r=[i.data.name],e[0]=i.data.name,e[1]=s,e[2]=r),(0,F.useEffect)(s,r);let d,c;e[3]===i?(d=e[4],c=e[5]):(d=()=>i.reset(),c=l=>{l.key==="Escape"&&i.reset(),l.key==="Enter"&&i.submit(l.currentTarget.value)},e[3]=i,e[4]=d,e[5]=c);let x;return e[6]!==i.data.name||e[7]!==d||e[8]!==c?(x=(0,a.jsx)("input",{ref:n,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:i.data.name,onClick:wa,onBlur:d,onKeyDown:c}),e[6]=i.data.name,e[7]=d,e[8]=c,e[9]=x):x=e[9],x},ja=({node:t,style:e,dragHandle:i})=>{let{openFile:n,sendCreateFileOrFolder:s,sendFileDetails:r}=me(),d=t.data.isDirectory?"directory":vt(t.data.name),c=bt[d],{openConfirm:x,openPrompt:l}=Ce(),{createNewCell:g}=qe(),u=Tt(),b=o=>{g({code:o,before:!1,cellId:u??"__end__"})},h=(0,F.use)(Ae),p=async o=>{We(o,h?h.relativeFromRoot(t.data.path):t.data.path)},y=async o=>{o.stopPropagation(),o.preventDefault(),x({title:"Delete file",description:`Are you sure you want to delete ${t.data.name}?`,confirmAction:(0,a.jsx)(Mt,{onClick:async()=>{await t.tree.delete(t.id)},"aria-label":"Confirm",children:"Delete"})})},f=A(async()=>{t.open(),l({title:"Folder name",onConfirm:async o=>{h==null||h.createFolder(o,t.id)}})}),k=A(async()=>{t.open(),l({title:"File name",onConfirm:async o=>{h==null||h.createFile(o,t.id)}})}),D=A(async()=>{var C;if(!h||t.data.isDirectory)return;let[o,j]=_t(t.data.name),z=`${o}_copy${j}`;try{let _=await r({path:t.data.path}),N=((C=t.parent)==null?void 0:C.data.path)||"";await s({path:N,type:"file",name:z,contents:_.contents?btoa(_.contents):void 0}),await h.refreshAll([N])}catch{W({title:"Failed to duplicate file",description:"Unable to create a duplicate of the file",variant:"danger"})}}),v=()=>{let o={size:14,strokeWidth:1.5,className:"mr-2"};return(0,a.jsxs)(ut,{align:"end",className:"no-print w-[220px]",onClick:j=>j.stopPropagation(),onCloseAutoFocus:j=>j.preventDefault(),children:[!t.data.isDirectory&&(0,a.jsxs)(S,{onSelect:()=>t.select(),children:[(0,a.jsx)(Yt,{...o}),"Open file"]}),!t.data.isDirectory&&!ie()&&(0,a.jsxs)(S,{onSelect:()=>{n({path:t.data.path})},children:[(0,a.jsx)(pe,{...o}),"Open file in external editor"]}),t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(S,{onSelect:()=>k(),children:[(0,a.jsx)(Fe,{...o}),"Create file"]}),(0,a.jsxs)(S,{onSelect:()=>f(),children:[(0,a.jsx)(De,{...o}),"Create folder"]}),(0,a.jsx)(G,{})]}),(0,a.jsxs)(S,{onSelect:()=>t.edit(),children:[(0,a.jsx)(Kt,{...o}),"Rename"]}),!t.data.isDirectory&&(0,a.jsxs)(S,{onSelect:D,children:[(0,a.jsx)(be,{...o}),"Duplicate"]}),(0,a.jsxs)(S,{onSelect:async()=>{await re(t.data.path),W({title:"Copied to clipboard"})},children:[(0,a.jsx)(_e,{...o}),"Copy path"]}),h&&(0,a.jsxs)(S,{onSelect:async()=>{await re(h.relativeFromRoot(t.data.path)),W({title:"Copied to clipboard"})},children:[(0,a.jsx)(_e,{...o}),"Copy relative path"]}),(0,a.jsx)(G,{}),(0,a.jsxs)(S,{onSelect:()=>{let{path:j}=t.data;b(ke[d](j))},children:[(0,a.jsx)(dt,{...o}),"Insert snippet for reading file"]}),(0,a.jsxs)(S,{onSelect:async()=>{W({title:"Copied to clipboard",description:"Code to open the file has been copied to your clipboard. You can also drag and drop this file into the editor"});let{path:j}=t.data;await re(ke[d](j))},children:[(0,a.jsx)(Ue,{...o}),"Copy snippet for reading file"]}),t.data.isMarimoFile&&!ie()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(G,{}),(0,a.jsxs)(S,{onSelect:p,children:[(0,a.jsx)(Gt,{...o}),"Open notebook"]})]}),(0,a.jsx)(G,{}),!t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(S,{onSelect:async()=>{let j=(await r({path:t.data.path})).contents||"";ve(new Blob([j]),t.data.name)},children:[(0,a.jsx)(we,{...o}),"Download"]}),(0,a.jsx)(G,{})]}),(0,a.jsxs)(S,{onSelect:y,variant:"danger",children:[(0,a.jsx)(Nt,{...o}),"Delete"]})]})};return(0,a.jsxs)("div",{style:e,ref:i,className:he("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group"),draggable:!0,onClick:o=>{o.stopPropagation(),t.data.isDirectory&&t.toggle()},children:[(0,a.jsx)(ga,{node:t}),(0,a.jsxs)("span",{className:he("flex items-center pl-1 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden group",t.willReceiveDrop&&t.data.isDirectory&&"bg-accent/80 hover:bg-accent/80 text-accent-foreground"),children:[t.data.isMarimoFile?(0,a.jsx)("img",{src:Vt,className:"w-5 h-5 shrink-0 mr-2 filter grayscale",alt:"Marimo"}):(0,a.jsx)(c,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}),t.isEditing?(0,a.jsx)(ua,{node:t}):(0,a.jsx)(xa,{node:t,onOpenMarimoFile:p}),(0,a.jsxs)(jt,{modal:!1,children:[(0,a.jsx)(xt,{asChild:!0,tabIndex:-1,onClick:o=>o.stopPropagation(),children:(0,a.jsx)(I,{"data-testid":"file-explorer-more-button",variant:"text",tabIndex:-1,size:"xs",className:"mb-0","aria-label":"More options",children:(0,a.jsx)(gt,{strokeWidth:2,className:"w-5 h-5 hidden group-hover:block"})})}),v()]})]})]})},ga=t=>{let e=(0,Z.c)(3),{node:i}=t;if(!i.data.isDirectory){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=s):s=e[0],s}let n;return e[1]===i.isOpen?n=e[2]:(n=i.isOpen?(0,a.jsx)(ht,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(pt,{className:"w-5 h-5 shrink-0"}),e[1]=i.isOpen,e[2]=n),n};function We(t,e){t.stopPropagation(),t.preventDefault(),Ut(e)}function Ie(t,e){if(e)return t;let i=[];for(let n of t){if(ya(n.name))continue;let s=n;if(n.children){let r=Ie(n.children,e);r!==n.children&&(s={...n,children:r})}i.push(s)}return i}function ya(t){return!!t.startsWith(".")}function va(){return null}function ba(t){let{parentNode:e}=t;return!e.data.isDirectory}function wa(t){return t.stopPropagation()}var ka=ae(),Fa=()=>{let t=(0,ka.c)(20),{ref:e,height:i}=qt(),n=i===void 0?1:i,s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={noClick:!0,noKeyboard:!0},t[0]=s):s=t[0];let{getRootProps:r,getInputProps:d,isDragActive:c}=Re(s),x;t[1]===r?x=t[2]:(x=r(),t[1]=r,t[2]=x);let l;t[3]===Symbol.for("react.memo_cache_sentinel")?(l=he("flex flex-col flex-1 overflow-hidden relative"),t[3]=l):l=t[3];let g;t[4]===d?g=t[5]:(g=d(),t[4]=d,t[5]=g);let u;t[6]===g?u=t[7]:(u=(0,a.jsx)("input",{...g}),t[6]=g,t[7]=u);let b;t[8]===c?b=t[9]:(b=c&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center uppercase justify-center text-xl font-bold text-primary/90 bg-accent/85 z-10 border-2 border-dashed border-primary/90 rounded-lg pointer-events-none",children:"Drop files here"}),t[8]=c,t[9]=b);let h;t[10]===n?h=t[11]:(h=(0,a.jsx)(ma,{height:n}),t[10]=n,t[11]=h);let p;t[12]!==e||t[13]!==h?(p=(0,a.jsx)("div",{ref:e,className:"flex flex-col flex-1 overflow-hidden",children:h}),t[12]=e,t[13]=h,t[14]=p):p=t[14];let y;return t[15]!==x||t[16]!==u||t[17]!==b||t[18]!==p?(y=(0,a.jsx)(Qt,{children:(0,a.jsxs)("div",{...x,className:l,children:[u,b,p]})}),t[15]=x,t[16]=u,t[17]=b,t[18]=p,t[19]=y):y=t[19],y};export{Fa as default};
|
|
1
|
+
var He=Object.defineProperty;var Te=(t,e,i)=>e in t?He(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var R=(t,e,i)=>Te(t,typeof e!="symbol"?e+"":e,i);import{s as je}from"./chunk-LvLJmgfZ.js";import{i as Be,l as de,n as A,p as ge,u as ye}from"./useEvent-DlWF5OMa.js";import{t as $e}from"./react-BGmjiNul.js";import{C as qe,Gn as Ue,Kr as Ve,Nt as ce,Ur as Le,fn as Ke}from"./cells-D_SkyFDn.js";import"./react-dom-C9fstfnp.js";import{t as ae}from"./compiler-runtime-DeeZ7FnK.js";import"./tooltip-CrRUCOBw.js";import{d as Ge,f as Ye}from"./hotkeys-uKX61F1_.js";import{t as Ze}from"./invariant-C6yE60hi.js";import{f as Je}from"./utils-CJJIceVn.js";import{M as ie}from"./config-babG4OBR.js";import{t as Qe}from"./jsx-runtime-DN_bIXfG.js";import{n as Xe,t as I}from"./button-DuYGqRtX.js";import{t as he}from"./cn-C1rgT0yh.js";import{St as et,at as tt}from"./dist-CAcX026F.js";import{a as at,c as it,i as rt,o as nt,s as st}from"./JsonOutput-BLd1jTNA.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{n as lt,r as me}from"./requests-C0HaHO6a.js";import{t as K}from"./createLucideIcon-CW2xpJ57.js";import{t as ot}from"./arrow-left-DdsrQ78n.js";import{n as dt,t as ct}from"./LazyAnyLanguageCodeMirror-jpEDlD0M.js";import{_ as ht}from"./select-D0g5GnIs.js";import{n as mt,t as ve}from"./download-CITws1-y.js";import{t as pt}from"./chevron-right-CqEd11Di.js";import{f as pe}from"./maps-s2pQkyf5.js";import{n as ft}from"./markdown-renderer-C_xfLXiO.js";import{a as S,c as G,p as xt,r as ut,t as jt}from"./dropdown-menu-BP4_BZLr.js";import{t as be}from"./copy-gBVL4NN-.js";import{t as we}from"./download-DobaYJPt.js";import{t as gt}from"./ellipsis-vertical-CasjS3M6.js";import{t as yt}from"./eye-off-D9zAYqG9.js";import{n as ke,r as vt,t as bt}from"./types-VzFAm7Cv.js";import{t as Fe}from"./file-plus-corner-BO_uS88s.js";import{t as wt}from"./spinner-C1czjtp7.js";import{t as kt}from"./refresh-ccw-DbW1_PHb.js";import{t as Ft}from"./refresh-cw-Din9uFKE.js";import{t as Ct}from"./save-BOTLFf-P.js";import{t as Nt}from"./trash-2-C-lF7BNB.js";import{t as St}from"./triangle-alert-CbD0f2J6.js";import{i as Dt,n as _t,t as Pt}from"./es-FiXEquL2.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as W}from"./use-toast-Bzf3rpev.js";import{r as zt}from"./useTheme-DfP1CWaW.js";import"./Combination-D1TsGrBC.js";import{t as M}from"./tooltip-CvjcEpZC.js";import"./dates-CdsE1R40.js";import{o as Mt}from"./alert-dialog-k5KxevGr.js";import"./popover-DtnzNVk-.js";import{n as Ce}from"./ImperativeModal-q6QlC2aZ.js";import{a as Ot,n as Ne}from"./error-banner-DU5Qb8a8.js";import"./vega-loader.browser-C8wT63Va.js";import"./defaultLocale-BLUna9fQ.js";import"./defaultLocale-DzliDDTm.js";import{t as re}from"./copy-DRhpWiOq.js";import"./purify.es-N-2faAGj.js";import{a as Rt,i as At,n as fe,r as Wt,t as It}from"./tree-CeX0mTvA.js";import{n as Et,t as Ht}from"./alert-BEdExd6A.js";import{n as Se}from"./useAsyncData-BJJJOr9W.js";import"./chunk-OGVTOU66-CjNLT2C3.js";import"./katex-AwOI3EvM.js";import"./marked.esm-CHnOtnr3.js";import"./es-CEEVxHsX.js";import{o as Tt}from"./focus-D18AHojc.js";import{a as Bt}from"./renderShortcut-D0Pei-OA.js";import{n as $t}from"./blob-Dg_vNTSs.js";import{t as qt}from"./bundle.esm-B0Sy2M4C.js";import{t as Ut}from"./links-ENMiP32L.js";import{t as Vt}from"./icon-32x32-ZZIB7rLH.js";import{t as Y}from"./Inputs-DmoeP8nh.js";var Lt=K("copy-minus",[["line",{x1:"12",x2:"18",y1:"15",y2:"15",key:"1nscbv"}],["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),De=K("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),_e=K("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]),Kt=K("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]),Gt=K("square-play",[["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}]]),Yt=K("view",[["path",{d:"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2",key:"mrq65r"}],["path",{d:"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2",key:"be3xqs"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0",key:"11ak4c"}]]),Pe=ae(),F=je($e(),1),a=je(Qe(),1),ze=(0,F.createContext)(null);function Zt(){return(0,F.useContext)(ze)??void 0}var Jt=t=>{let e=(0,Pe.c)(3),{children:i}=t,n=At(),s;return e[0]!==i||e[1]!==n?(s=(0,a.jsx)(ze.Provider,{value:n,children:i}),e[0]=i,e[1]=n,e[2]=s):s=e[2],s};const Qt=t=>{let e=(0,Pe.c)(5),{children:i}=t,[n,s]=(0,F.useState)(null),r;e[0]!==i||e[1]!==n?(r=n&&(0,a.jsx)(Rt,{backend:Wt,options:{rootElement:n},children:(0,a.jsx)(Jt,{children:i})}),e[0]=i,e[1]=n,e[2]=r):r=e[2];let d;return e[3]===r?d=e[4]:(d=(0,a.jsx)("div",{ref:s,className:"contents",children:r}),e[3]=r,e[4]=d),d};var xe=new Map;const Xt=({file:t,onOpenNotebook:e})=>{let{theme:i}=zt(),{sendFileDetails:n,sendUpdateFile:s}=me(),r=ye(Je),d=ye(Le),[c,x]=(0,F.useState)(""),{data:l,isPending:g,error:u,setData:b,refetch:h}=Se(async()=>{let o=await n({path:t.path}),j=o.contents||"";return x(xe.get(t.path)||j),o},[t.path]),p=async()=>{c!==(l==null?void 0:l.contents)&&await s({path:t.path,contents:c}).then(o=>{o.success&&(b(j=>({...j,contents:c})),x(c))})},y=(0,F.useRef)(c);if(y.current=c,(0,F.useEffect)(()=>()=>{if(!(l!=null&&l.contents))return;let o=y.current;o===l.contents?xe.delete(t.path):xe.set(t.path,o)},[t.path,l==null?void 0:l.contents]),u)return(0,a.jsx)(Ne,{error:u});if(g||!l)return null;let f=l.mimeType||"text/plain",k=f in ue,D=d&&l.file.isMarimoFile&&(t.path===d||t.path.endsWith(`/${d}`));if(!l.contents&&!k)return(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-2 p-6",children:[(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Name"}),(0,a.jsx)("div",{children:l.file.name}),(0,a.jsx)("div",{className:"font-bold text-muted-foreground",children:"Type"}),(0,a.jsx)("div",{children:f})]});let v=(0,a.jsxs)("div",{className:"text-xs text-muted-foreground p-1 flex justify-end gap-2 border-b",children:[(0,a.jsx)(M,{content:"Refresh",children:(0,a.jsx)(Y,{size:"small",onClick:h,children:(0,a.jsx)(Ft,{})})}),t.isMarimoFile&&!ie()&&(0,a.jsx)(M,{content:"Open notebook",children:(0,a.jsx)(Y,{size:"small",onClick:o=>e(o),children:(0,a.jsx)(pe,{})})}),(0,a.jsx)(M,{content:"Download",children:(0,a.jsx)(Y,{size:"small",onClick:()=>{if(Me(f)){mt(ft(l.contents,f),l.file.name);return}ve(new Blob([l.contents||c],{type:f}),l.file.name)},children:(0,a.jsx)(we,{})})}),!Me(f)&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(M,{content:"Copy contents to clipboard",children:(0,a.jsx)(Y,{size:"small",onClick:async()=>{await re(c)},children:(0,a.jsx)(be,{})})}),(0,a.jsx)(M,{content:Bt("global.save"),children:(0,a.jsx)(Y,{size:"small",color:c===l.contents?void 0:"green",onClick:p,disabled:c===l.contents,children:(0,a.jsx)(Ct,{})})})]})]});return f.startsWith("image/")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(nt,{base64:l.contents,mime:f})})]}):f==="text/csv"&&l.contents?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(at,{contents:l.contents})})]}):f.startsWith("audio/")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(rt,{base64:l.contents,mime:f})})]}):f.startsWith("video/")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(it,{base64:l.contents,mime:f})})]}):f.startsWith("application/pdf")?(0,a.jsxs)(a.Fragment,{children:[v,(0,a.jsx)("div",{className:"flex-1 overflow-hidden flex flex-col",children:(0,a.jsx)(st,{base64:l.contents,mime:f})})]}):(0,a.jsxs)(a.Fragment,{children:[v,D&&(0,a.jsxs)(Ht,{variant:"warning",className:"rounded-none",children:[(0,a.jsx)(St,{className:"h-4 w-4"}),(0,a.jsx)(Et,{children:"Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution."})]}),(0,a.jsx)("div",{className:"flex-1 overflow-auto",children:(0,a.jsx)(F.Suspense,{children:(0,a.jsx)(ct,{theme:i==="dark"?"dark":"light",language:ue[f]||ue.default,className:"border-b",extensions:[tt.lineWrapping,et.of([{key:r.getHotkey("global.save").key,stopPropagation:!0,run:()=>c===l.contents?!1:(p(),!0)}])],value:c,onChange:x})})})]})};var Me=t=>t?t.startsWith("image/")||t.startsWith("audio/")||t.startsWith("video/")||t.startsWith("application/pdf"):!1,ue={"application/javascript":"javascript","text/markdown":"markdown","text/html":"html","text/css":"css","text/x-python":"python","application/json":"json","application/xml":"xml","text/x-yaml":"yaml","text/csv":"markdown","text/plain":"markdown",default:"markdown"},ea=class{constructor(t){R(this,"delegate",new fe([]));R(this,"rootPath","");R(this,"onChange",Ye.NOOP);R(this,"path",new ce("/"));R(this,"initialize",async t=>{if(this.onChange=t,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new fe(e.files),this.rootPath=e.root,this.path=ce.guessDeliminator(e.root)}catch(e){W({title:"Failed",description:Ot(e)})}this.onChange(this.delegate.data)});R(this,"refreshAll",async t=>{let e=[this.rootPath,...t.map(n=>{var s;return(s=this.delegate.find(n))==null?void 0:s.data.path})].filter(Boolean),i=await Promise.all(e.map(n=>this.callbacks.listFiles({path:n}).catch(()=>({files:[]}))));for(let[n,s]of e.entries()){let r=i[n];s===this.rootPath?this.delegate=new fe(r.files):this.delegate.update({id:s,changes:{children:r.files}})}this.onChange(this.delegate.data)});R(this,"relativeFromRoot",t=>{let e=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return t.startsWith(e)?t.slice(e.length):t});R(this,"handleResponse",t=>t.success?t:(W({title:"Failed",description:t.message}),null));this.callbacks=t}async expand(t){let e=this.delegate.find(t);if(!e||!e.data.isDirectory)return!1;if(e.children&&e.children.length>0)return!0;let i=await this.callbacks.listFiles({path:e.data.path});return this.delegate.update({id:t,changes:{children:i.files}}),this.onChange(this.delegate.data),!0}async rename(t,e){let i=this.delegate.find(t);if(!i)return;let n=i.data.path,s=this.path.join(this.path.dirname(n),e);await this.callbacks.renameFileOrFolder({path:n,newPath:s}).then(this.handleResponse),this.delegate.update({id:t,changes:{name:e,path:s}}),this.onChange(this.delegate.data),await this.refreshAll([s])}async move(t,e){var n;let i=e?((n=this.delegate.find(e))==null?void 0:n.data.path)??e:this.rootPath;await Promise.all(t.map(s=>{this.delegate.move({id:s,parentId:e,index:0});let r=this.delegate.find(s);if(!r)return Promise.resolve();let d=this.path.join(i,this.path.basename(r.data.path));return this.delegate.update({id:s,changes:{path:d}}),this.callbacks.renameFileOrFolder({path:r.data.path,newPath:d}).then(this.handleResponse)})),this.onChange(this.delegate.data),await this.refreshAll([i])}async createFile(t,e){var s;let i=e?((s=this.delegate.find(e))==null?void 0:s.data.path)??e:this.rootPath,n=await this.callbacks.createFileOrFolder({path:i,type:"file",name:t}).then(this.handleResponse);n!=null&&n.info&&(this.delegate.create({parentId:e,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async createFolder(t,e){var s;let i=e?((s=this.delegate.find(e))==null?void 0:s.data.path)??e:this.rootPath,n=await this.callbacks.createFileOrFolder({path:i,type:"directory",name:t}).then(this.handleResponse);n!=null&&n.info&&(this.delegate.create({parentId:e,index:0,data:n.info}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async delete(t){let e=this.delegate.find(t);e&&(await this.callbacks.deleteFileOrFolder({path:e.data.path}).then(this.handleResponse),this.delegate.drop({id:t}),this.onChange(this.delegate.data))}};const Oe=ge(t=>{let e=t(lt);return Ze(e,"no requestClientAtom set"),new ea({listFiles:e.sendListFiles,createFileOrFolder:e.sendCreateFileOrFolder,deleteFileOrFolder:e.sendDeleteFileOrFolder,renameFileOrFolder:e.sendRenameFileOrFolder})}),ta=ge({});async function aa(){await Be.get(Oe).refreshAll([])}var ia=ae(),ra=1024*1024*100;function Re(t){let e=(0,ia.c)(7),i;e[0]===t?i=e[1]:(i=t===void 0?{}:t,e[0]=t,e[1]=i);let n=i,{sendCreateFileOrFolder:s}=me(),r;e[2]===s?r=e[3]:(r=async c=>{for(let x of c){let l=ca(da(x)),g="";l&&(g=ce.guessDeliminator(l).dirname(l));let u=(await $t(x)).split(",")[1];await s({path:g,type:"file",name:x.name,contents:u})}await aa()},e[2]=s,e[3]=r);let d;return e[4]!==n||e[5]!==r?(d={multiple:!0,maxSize:ra,onError:oa,onDropRejected:na,onDrop:r,...n},e[4]=n,e[5]=r,e[6]=d):d=e[6],Pt(d)}function na(t){W({title:"File upload failed",description:(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map(sa)}),variant:"danger"})}function sa(t){return(0,a.jsxs)("div",{children:[t.file.name," (",t.errors.map(la).join(", "),")"]},t.file.name)}function la(t){return t.message}function oa(t){Ge.error(t),W({title:"File upload failed",description:t.message,variant:"danger"})}function da(t){if(t.webkitRelativePath)return t.webkitRelativePath;if("path"in t&&typeof t.path=="string")return t.path;if("relativePath"in t&&typeof t.relativePath=="string")return t.relativePath}function ca(t){if(t)return t.replace(/^\/+/,"")}var Z=ae(),ha=Ve("marimo:showHiddenFiles",!0,Ke,{getOnInit:!0}),Ae=F.createContext(null);const ma=t=>{let e=(0,Z.c)(68),{height:i}=t,n=(0,F.useRef)(null),s=Zt(),[r]=de(Oe),d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=[],e[0]=d):d=e[0];let[c,x]=(0,F.useState)(d),[l,g]=(0,F.useState)(null),[u,b]=de(ha),{openPrompt:h}=Ce(),[p,y]=de(ta),f;e[1]===r?f=e[2]:(f=()=>r.initialize(x),e[1]=r,e[2]=f);let k;e[3]===Symbol.for("react.memo_cache_sentinel")?(k=[],e[3]=k):k=e[3];let{isPending:D,error:v}=Se(f,k),o;e[4]!==p||e[5]!==r?(o=()=>{r.refreshAll(Object.keys(p).filter(m=>p[m]))},e[4]=p,e[5]=r,e[6]=o):o=e[6];let j=A(o),z;e[7]!==b||e[8]!==u?(z=()=>{b(!u)},e[7]=b,e[8]=u,e[9]=z):z=e[9];let C=A(z),_;e[10]!==h||e[11]!==r?(_=async()=>{h({title:"Folder name",onConfirm:async m=>{r.createFolder(m,null)}})},e[10]=h,e[11]=r,e[12]=_):_=e[12];let N=A(_),O;e[13]!==h||e[14]!==r?(O=async()=>{h({title:"File name",onConfirm:async m=>{r.createFile(m,null)}})},e[13]=h,e[14]=r,e[15]=O):O=e[15];let ne=A(O),J;e[16]===y?J=e[17]:(J=()=>{var m;(m=n.current)==null||m.closeAll(),y({})},e[16]=y,e[17]=J);let se=A(J),Q;e[18]!==c||e[19]!==u?(Q=Ie(c,u),e[18]=c,e[19]=u,e[20]=Q):Q=e[20];let le=Q;if(D){let m;return e[21]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)(wt,{size:"medium",centered:!0}),e[21]=m):m=e[21],m}if(v){let m;return e[22]===v?m=e[23]:(m=(0,a.jsx)(Ne,{error:v}),e[22]=v,e[23]=m),m}if(l){let m;e[24]===Symbol.for("react.memo_cache_sentinel")?(m=()=>g(null),e[24]=m):m=e[24];let w;e[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsx)(I,{onClick:m,"data-testid":"file-explorer-back-button",variant:"text",size:"xs",className:"mb-0",children:(0,a.jsx)(ot,{size:16})}),e[25]=w):w=e[25];let P;e[26]===l.name?P=e[27]:(P=(0,a.jsxs)("div",{className:"flex items-center pl-1 pr-3 shrink-0 border-b justify-between",children:[w,(0,a.jsx)("span",{className:"font-bold",children:l.name})]}),e[26]=l.name,e[27]=P);let V;e[28]!==l.path||e[29]!==r?(V=Ee=>We(Ee,r.relativeFromRoot(l.path)),e[28]=l.path,e[29]=r,e[30]=V):V=e[30];let L;e[31]!==l||e[32]!==V?(L=(0,a.jsx)(F.Suspense,{children:(0,a.jsx)(Xt,{onOpenNotebook:V,file:l})}),e[31]=l,e[32]=V,e[33]=L):L=e[33];let te;return e[34]!==P||e[35]!==L?(te=(0,a.jsxs)(a.Fragment,{children:[P,L]}),e[34]=P,e[35]=L,e[36]=te):te=e[36],te}let E;e[37]!==se||e[38]!==ne||e[39]!==N||e[40]!==C||e[41]!==j||e[42]!==r?(E=(0,a.jsx)(fa,{onRefresh:j,onHidden:C,onCreateFile:ne,onCreateFolder:N,onCollapseAll:se,tree:r}),e[37]=se,e[38]=ne,e[39]=N,e[40]=C,e[41]=j,e[42]=r,e[43]=E):E=e[43];let oe=i-33,H,T,B;e[44]===r?(H=e[45],T=e[46],B=e[47]):(H=async m=>{let{ids:w}=m;for(let P of w)await r.delete(P)},T=async m=>{let{id:w,name:P}=m;await r.rename(w,P)},B=async m=>{let{dragIds:w,parentId:P}=m;await r.move(w,P)},e[44]=r,e[45]=H,e[46]=T,e[47]=B);let X;e[48]===Symbol.for("react.memo_cache_sentinel")?(X=m=>{let w=m[0];w&&(w.data.isDirectory||g(w.data))},e[48]=X):X=e[48];let $;e[49]!==p||e[50]!==y||e[51]!==r?($=async m=>{if(await r.expand(m)){let w=p[m]??!1;y({...p,[m]:!w})}},e[49]=p,e[50]=y,e[51]=r,e[52]=$):$=e[52];let q;e[53]!==s||e[54]!==p||e[55]!==oe||e[56]!==H||e[57]!==T||e[58]!==B||e[59]!==$||e[60]!==le?(q=(0,a.jsx)(It,{width:"100%",ref:n,height:oe,className:"h-full",data:le,initialOpenState:p,openByDefault:!1,dndManager:s,renderCursor:va,disableDrop:ba,onDelete:H,onRename:T,onMove:B,onSelect:X,onToggle:$,padding:15,rowHeight:30,indent:pa,overscanCount:1e3,disableMultiSelection:!0,children:ja}),e[53]=s,e[54]=p,e[55]=oe,e[56]=H,e[57]=T,e[58]=B,e[59]=$,e[60]=le,e[61]=q):q=e[61];let U;e[62]!==q||e[63]!==r?(U=(0,a.jsx)(Ae,{value:r,children:q}),e[62]=q,e[63]=r,e[64]=U):U=e[64];let ee;return e[65]!==E||e[66]!==U?(ee=(0,a.jsxs)(a.Fragment,{children:[E,U]}),e[65]=E,e[66]=U,e[67]=ee):ee=e[67],ee};var pa=15,fa=t=>{let e=(0,Z.c)(34),{onRefresh:i,onHidden:n,onCreateFile:s,onCreateFolder:r,onCollapseAll:d}=t,c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={noDrag:!0,noDragEventsBubbling:!0},e[0]=c):c=e[0];let{getRootProps:x,getInputProps:l}=Re(c),g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=(0,a.jsx)(Fe,{size:16}),e[1]=g):g=e[1];let u;e[2]===s?u=e[3]:(u=(0,a.jsx)(M,{content:"Add file",children:(0,a.jsx)(I,{"data-testid":"file-explorer-add-file-button",onClick:s,variant:"text",size:"xs",children:g})}),e[2]=s,e[3]=u);let b;e[4]===Symbol.for("react.memo_cache_sentinel")?(b=(0,a.jsx)(De,{size:16}),e[4]=b):b=e[4];let h;e[5]===r?h=e[6]:(h=(0,a.jsx)(M,{content:"Add folder",children:(0,a.jsx)(I,{"data-testid":"file-explorer-add-folder-button",onClick:r,variant:"text",size:"xs",children:b})}),e[5]=r,e[6]=h);let p;e[7]===x?p=e[8]:(p=x({}),e[7]=x,e[8]=p);let y,f;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=Xe({variant:"text",size:"xs"}),f=(0,a.jsx)(Dt,{size:16}),e[9]=y,e[10]=f):(y=e[9],f=e[10]);let k;e[11]===p?k=e[12]:(k=(0,a.jsx)(M,{content:"Upload file",children:(0,a.jsx)("button",{"data-testid":"file-explorer-upload-button",...p,className:y,children:f})}),e[11]=p,e[12]=k);let D;e[13]===l?D=e[14]:(D=l({}),e[13]=l,e[14]=D);let v;e[15]===D?v=e[16]:(v=(0,a.jsx)("input",{...D,type:"file"}),e[15]=D,e[16]=v);let o;e[17]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(kt,{size:16}),e[17]=o):o=e[17];let j;e[18]===i?j=e[19]:(j=(0,a.jsx)(M,{content:"Refresh",children:(0,a.jsx)(I,{"data-testid":"file-explorer-refresh-button",onClick:i,variant:"text",size:"xs",children:o})}),e[18]=i,e[19]=j);let z;e[20]===Symbol.for("react.memo_cache_sentinel")?(z=(0,a.jsx)(yt,{size:16}),e[20]=z):z=e[20];let C;e[21]===n?C=e[22]:(C=(0,a.jsx)(M,{content:"Toggle hidden files",children:(0,a.jsx)(I,{"data-testid":"file-explorer-hidden-files-button",onClick:n,variant:"text",size:"xs",children:z})}),e[21]=n,e[22]=C);let _;e[23]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Lt,{size:16}),e[23]=_):_=e[23];let N;e[24]===d?N=e[25]:(N=(0,a.jsx)(M,{content:"Collapse all folders",children:(0,a.jsx)(I,{"data-testid":"file-explorer-collapse-button",onClick:d,variant:"text",size:"xs",children:_})}),e[24]=d,e[25]=N);let O;return e[26]!==v||e[27]!==j||e[28]!==C||e[29]!==N||e[30]!==u||e[31]!==h||e[32]!==k?(O=(0,a.jsxs)("div",{className:"flex items-center justify-end px-2 shrink-0 border-b",children:[u,h,k,v,j,C,N]}),e[26]=v,e[27]=j,e[28]=C,e[29]=N,e[30]=u,e[31]=h,e[32]=k,e[33]=O):O=e[33],O},xa=t=>{let e=(0,Z.c)(9),{node:i,onOpenMarimoFile:n}=t,s;e[0]===i?s=e[1]:(s=c=>{i.data.isDirectory||(c.stopPropagation(),i.select())},e[0]=i,e[1]=s);let r;e[2]!==i.data.isMarimoFile||e[3]!==n?(r=i.data.isMarimoFile&&!ie()&&(0,a.jsxs)("span",{className:"shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline",onClick:n,children:["open ",(0,a.jsx)(pe,{className:"inline ml-1",size:12})]}),e[2]=i.data.isMarimoFile,e[3]=n,e[4]=r):r=e[4];let d;return e[5]!==i.data.name||e[6]!==s||e[7]!==r?(d=(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",onClick:s,children:[i.data.name,r]}),e[5]=i.data.name,e[6]=s,e[7]=r,e[8]=d):d=e[8],d},ua=t=>{let e=(0,Z.c)(10),{node:i}=t,n=(0,F.useRef)(null),s,r;e[0]===i.data.name?(s=e[1],r=e[2]):(s=()=>{var l,g;(l=n.current)==null||l.focus(),(g=n.current)==null||g.setSelectionRange(0,i.data.name.lastIndexOf("."))},r=[i.data.name],e[0]=i.data.name,e[1]=s,e[2]=r),(0,F.useEffect)(s,r);let d,c;e[3]===i?(d=e[4],c=e[5]):(d=()=>i.reset(),c=l=>{l.key==="Escape"&&i.reset(),l.key==="Enter"&&i.submit(l.currentTarget.value)},e[3]=i,e[4]=d,e[5]=c);let x;return e[6]!==i.data.name||e[7]!==d||e[8]!==c?(x=(0,a.jsx)("input",{ref:n,className:"flex-1 bg-transparent border border-border text-muted-foreground",defaultValue:i.data.name,onClick:wa,onBlur:d,onKeyDown:c}),e[6]=i.data.name,e[7]=d,e[8]=c,e[9]=x):x=e[9],x},ja=({node:t,style:e,dragHandle:i})=>{let{openFile:n,sendCreateFileOrFolder:s,sendFileDetails:r}=me(),d=t.data.isDirectory?"directory":vt(t.data.name),c=bt[d],{openConfirm:x,openPrompt:l}=Ce(),{createNewCell:g}=qe(),u=Tt(),b=o=>{g({code:o,before:!1,cellId:u??"__end__"})},h=(0,F.use)(Ae),p=async o=>{We(o,h?h.relativeFromRoot(t.data.path):t.data.path)},y=async o=>{o.stopPropagation(),o.preventDefault(),x({title:"Delete file",description:`Are you sure you want to delete ${t.data.name}?`,confirmAction:(0,a.jsx)(Mt,{onClick:async()=>{await t.tree.delete(t.id)},"aria-label":"Confirm",children:"Delete"})})},f=A(async()=>{t.open(),l({title:"Folder name",onConfirm:async o=>{h==null||h.createFolder(o,t.id)}})}),k=A(async()=>{t.open(),l({title:"File name",onConfirm:async o=>{h==null||h.createFile(o,t.id)}})}),D=A(async()=>{var C;if(!h||t.data.isDirectory)return;let[o,j]=_t(t.data.name),z=`${o}_copy${j}`;try{let _=await r({path:t.data.path}),N=((C=t.parent)==null?void 0:C.data.path)||"";await s({path:N,type:"file",name:z,contents:_.contents?btoa(_.contents):void 0}),await h.refreshAll([N])}catch{W({title:"Failed to duplicate file",description:"Unable to create a duplicate of the file",variant:"danger"})}}),v=()=>{let o={size:14,strokeWidth:1.5,className:"mr-2"};return(0,a.jsxs)(ut,{align:"end",className:"no-print w-[220px]",onClick:j=>j.stopPropagation(),onCloseAutoFocus:j=>j.preventDefault(),children:[!t.data.isDirectory&&(0,a.jsxs)(S,{onSelect:()=>t.select(),children:[(0,a.jsx)(Yt,{...o}),"Open file"]}),!t.data.isDirectory&&!ie()&&(0,a.jsxs)(S,{onSelect:()=>{n({path:t.data.path})},children:[(0,a.jsx)(pe,{...o}),"Open file in external editor"]}),t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(S,{onSelect:()=>k(),children:[(0,a.jsx)(Fe,{...o}),"Create file"]}),(0,a.jsxs)(S,{onSelect:()=>f(),children:[(0,a.jsx)(De,{...o}),"Create folder"]}),(0,a.jsx)(G,{})]}),(0,a.jsxs)(S,{onSelect:()=>t.edit(),children:[(0,a.jsx)(Kt,{...o}),"Rename"]}),!t.data.isDirectory&&(0,a.jsxs)(S,{onSelect:D,children:[(0,a.jsx)(be,{...o}),"Duplicate"]}),(0,a.jsxs)(S,{onSelect:async()=>{await re(t.data.path),W({title:"Copied to clipboard"})},children:[(0,a.jsx)(_e,{...o}),"Copy path"]}),h&&(0,a.jsxs)(S,{onSelect:async()=>{await re(h.relativeFromRoot(t.data.path)),W({title:"Copied to clipboard"})},children:[(0,a.jsx)(_e,{...o}),"Copy relative path"]}),(0,a.jsx)(G,{}),(0,a.jsxs)(S,{onSelect:()=>{let{path:j}=t.data;b(ke[d](j))},children:[(0,a.jsx)(dt,{...o}),"Insert snippet for reading file"]}),(0,a.jsxs)(S,{onSelect:async()=>{W({title:"Copied to clipboard",description:"Code to open the file has been copied to your clipboard. You can also drag and drop this file into the editor"});let{path:j}=t.data;await re(ke[d](j))},children:[(0,a.jsx)(Ue,{...o}),"Copy snippet for reading file"]}),t.data.isMarimoFile&&!ie()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(G,{}),(0,a.jsxs)(S,{onSelect:p,children:[(0,a.jsx)(Gt,{...o}),"Open notebook"]})]}),(0,a.jsx)(G,{}),!t.data.isDirectory&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(S,{onSelect:async()=>{let j=(await r({path:t.data.path})).contents||"";ve(new Blob([j]),t.data.name)},children:[(0,a.jsx)(we,{...o}),"Download"]}),(0,a.jsx)(G,{})]}),(0,a.jsxs)(S,{onSelect:y,variant:"danger",children:[(0,a.jsx)(Nt,{...o}),"Delete"]})]})};return(0,a.jsxs)("div",{style:e,ref:i,className:he("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group"),draggable:!0,onClick:o=>{o.stopPropagation(),t.data.isDirectory&&t.toggle()},children:[(0,a.jsx)(ga,{node:t}),(0,a.jsxs)("span",{className:he("flex items-center pl-1 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden group",t.willReceiveDrop&&t.data.isDirectory&&"bg-accent/80 hover:bg-accent/80 text-accent-foreground"),children:[t.data.isMarimoFile?(0,a.jsx)("img",{src:Vt,className:"w-5 h-5 shrink-0 mr-2 filter grayscale",alt:"Marimo"}):(0,a.jsx)(c,{className:"w-5 h-5 shrink-0 mr-2",strokeWidth:1.5}),t.isEditing?(0,a.jsx)(ua,{node:t}):(0,a.jsx)(xa,{node:t,onOpenMarimoFile:p}),(0,a.jsxs)(jt,{modal:!1,children:[(0,a.jsx)(xt,{asChild:!0,tabIndex:-1,onClick:o=>o.stopPropagation(),children:(0,a.jsx)(I,{"data-testid":"file-explorer-more-button",variant:"text",tabIndex:-1,size:"xs",className:"mb-0","aria-label":"More options",children:(0,a.jsx)(gt,{strokeWidth:2,className:"w-5 h-5 hidden group-hover:block"})})}),v()]})]})]})},ga=t=>{let e=(0,Z.c)(3),{node:i}=t;if(!i.data.isDirectory){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=s):s=e[0],s}let n;return e[1]===i.isOpen?n=e[2]:(n=i.isOpen?(0,a.jsx)(ht,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(pt,{className:"w-5 h-5 shrink-0"}),e[1]=i.isOpen,e[2]=n),n};function We(t,e){t.stopPropagation(),t.preventDefault(),Ut(e)}function Ie(t,e){if(e)return t;let i=[];for(let n of t){if(ya(n.name))continue;let s=n;if(n.children){let r=Ie(n.children,e);r!==n.children&&(s={...n,children:r})}i.push(s)}return i}function ya(t){return!!t.startsWith(".")}function va(){return null}function ba(t){let{parentNode:e}=t;return!e.data.isDirectory}function wa(t){return t.stopPropagation()}var ka=ae(),Fa=()=>{let t=(0,ka.c)(20),{ref:e,height:i}=qt(),n=i===void 0?1:i,s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={noClick:!0,noKeyboard:!0},t[0]=s):s=t[0];let{getRootProps:r,getInputProps:d,isDragActive:c}=Re(s),x;t[1]===r?x=t[2]:(x=r(),t[1]=r,t[2]=x);let l;t[3]===Symbol.for("react.memo_cache_sentinel")?(l=he("flex flex-col flex-1 overflow-hidden relative"),t[3]=l):l=t[3];let g;t[4]===d?g=t[5]:(g=d(),t[4]=d,t[5]=g);let u;t[6]===g?u=t[7]:(u=(0,a.jsx)("input",{...g}),t[6]=g,t[7]=u);let b;t[8]===c?b=t[9]:(b=c&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center uppercase justify-center text-xl font-bold text-primary/90 bg-accent/85 z-10 border-2 border-dashed border-primary/90 rounded-lg pointer-events-none",children:"Drop files here"}),t[8]=c,t[9]=b);let h;t[10]===n?h=t[11]:(h=(0,a.jsx)(ma,{height:n}),t[10]=n,t[11]=h);let p;t[12]!==e||t[13]!==h?(p=(0,a.jsx)("div",{ref:e,className:"flex flex-col flex-1 overflow-hidden",children:h}),t[12]=e,t[13]=h,t[14]=p):p=t[14];let y;return t[15]!==x||t[16]!==u||t[17]!==b||t[18]!==p?(y=(0,a.jsx)(Qt,{children:(0,a.jsxs)("div",{...x,className:l,children:[u,b,p]})}),t[15]=x,t[16]=u,t[17]=b,t[18]=p,t[19]=y):y=t[19],y};export{Fa as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as I}from"./chunk-LvLJmgfZ.js";import{u as j}from"./useEvent-DlWF5OMa.js";import{t as M}from"./react-BGmjiNul.js";import{b as H,tt as O}from"./cells-
|
|
1
|
+
import{s as I}from"./chunk-LvLJmgfZ.js";import{u as j}from"./useEvent-DlWF5OMa.js";import{t as M}from"./react-BGmjiNul.js";import{b as H,tt as O}from"./cells-D_SkyFDn.js";import{t as S}from"./compiler-runtime-DeeZ7FnK.js";import{d as k}from"./hotkeys-uKX61F1_.js";import{t as $}from"./jsx-runtime-DN_bIXfG.js";import{t as x}from"./cn-C1rgT0yh.js";import{t as B}from"./mode-BFwdGSZ7.js";var D=S(),h=I(M(),1);function L(){return B()==="edit"?document.getElementById("App"):void 0}function _(t){let e=(0,D.c)(7),[r,o]=(0,h.useState)(void 0),[i,s]=(0,h.useState)(void 0),l=(0,h.useRef)(null),n=(0,h.useRef)(null),f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f=new Map,e[0]=f):f=e[0];let u=(0,h.useRef)(f),a,m;e[1]===t?(a=e[2],m=e[3]):(a=()=>t.length===0?void 0:(l.current=new IntersectionObserver(d=>{let v=!1;if(d.forEach(p=>{let b=p.target;p.isIntersecting?(!n.current||b.getBoundingClientRect().top<n.current.getBoundingClientRect().top)&&(n.current=b,v=!0):b===n.current&&(n.current=null,v=!0)}),v&&n.current){let p=O(n.current);o("id"in p?p.id:p.path),s(u.current.get(n.current))}},{root:L(),rootMargin:"0px",threshold:0}),t.forEach(d=>{var v;if(d){let p=O(d[0]),b=t.map(T).filter(w=>"id"in p?w.id===p.id:w.textContent===d[0].textContent).indexOf(d[0]);u.current.set(d[0],b),(v=l.current)==null||v.observe(d[0])}}),()=>{l.current&&l.current.disconnect(),n.current=null}),m=[t],e[1]=t,e[2]=a,e[3]=m),(0,h.useEffect)(a,m);let c;return e[4]!==r||e[5]!==i?(c={activeHeaderId:r,activeOccurrences:i},e[4]=r,e[5]=i,e[6]=c):c=e[6],c}function T(t){let[e]=t;return e}function C(t){if(t.length===0)return[];let e=new Map;return t.map(r=>{let o="id"in r.by?r.by.id:r.by.path,i=e.get(o)??0;e.set(o,i+1);let s=N(r,i);return s?[s,o]:null}).filter(Boolean)}function E(t,e){let r=N(t,e);if(!r){k.warn("Could not find element for outline item",t);return}r.scrollIntoView({behavior:"smooth",block:"start"}),r.classList.add("outline-item-highlight"),setTimeout(()=>{r.classList.remove("outline-item-highlight")},3e3)}function N(t,e){return"id"in t.by?document.querySelectorAll(`[id="${CSS.escape(t.by.id)}"]`)[e]:document.evaluate(t.by.path,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}var y=S(),g=I($(),1);const A=()=>{let t=(0,y.c)(19),{items:e}=j(H),r;t[0]===e?r=t[1]:(r=C(e),t[0]=e,t[1]=r);let{activeHeaderId:o,activeOccurrences:i}=_(r),[s,l]=h.useState(!1);if(e.length<2)return null;let n,f,u;t[2]===Symbol.for("react.memo_cache_sentinel")?(n=()=>l(!0),f=()=>l(!1),u=x("fixed top-[25vh] right-8 z-10000","hidden md:block"),t[2]=n,t[3]=f,t[4]=u):(n=t[2],f=t[3],u=t[4]);let a=s?"-left-[280px] opacity-100":"left-[300px] opacity-0",m;t[5]===a?m=t[6]:(m=x("-top-4 max-h-[70vh] bg-background rounded-lg shadow-lg absolute overflow-auto transition-all duration-300 w-[300px] border",a),t[5]=a,t[6]=m);let c;t[7]!==o||t[8]!==i||t[9]!==e||t[10]!==m?(c=(0,g.jsx)(R,{className:m,items:e,activeHeaderId:o,activeOccurrences:i}),t[7]=o,t[8]=i,t[9]=e,t[10]=m,t[11]=c):c=t[11];let d;t[12]!==o||t[13]!==i||t[14]!==e?(d=(0,g.jsx)(P,{items:e,activeHeaderId:o,activeOccurrences:i}),t[12]=o,t[13]=i,t[14]=e,t[15]=d):d=t[15];let v;return t[16]!==c||t[17]!==d?(v=(0,g.jsxs)("div",{onMouseEnter:n,onMouseLeave:f,className:u,children:[c,d]}),t[16]=c,t[17]=d,t[18]=v):v=t[18],v},P=t=>{let e=(0,y.c)(8),{items:r,activeHeaderId:o,activeOccurrences:i}=t,s,l;if(e[0]!==o||e[1]!==i||e[2]!==r){let f=new Map;s="flex flex-col gap-4 items-end max-h-[70vh] overflow-hidden",l=r.map((u,a)=>{let m="id"in u.by?u.by.id:u.by.path,c=f.get(m)??0;return f.set(m,c+1),(0,g.jsx)("div",{className:x("h-[2px] bg-muted-foreground/60",u.level===1&&"w-5",u.level===2&&"w-4",u.level===3&&"w-3",u.level===4&&"w-2",c===i&&o===m&&"bg-foreground"),onClick:()=>E(u,c)},`${m}-${a}`)}),e[0]=o,e[1]=i,e[2]=r,e[3]=s,e[4]=l}else s=e[3],l=e[4];let n;return e[5]!==s||e[6]!==l?(n=(0,g.jsx)("div",{className:s,children:l}),e[5]=s,e[6]=l,e[7]=n):n=e[7],n},R=t=>{let e=(0,y.c)(11),{items:r,activeHeaderId:o,activeOccurrences:i,className:s}=t,l,n;if(e[0]!==o||e[1]!==i||e[2]!==s||e[3]!==r){let u=new Map;e[6]===s?l=e[7]:(l=x("flex flex-col overflow-auto py-4 pl-2",s),e[6]=s,e[7]=l),n=r.map((a,m)=>{let c="id"in a.by?a.by.id:a.by.path,d=u.get(c)??0;return u.set(c,d+1),(0,g.jsx)("div",{className:x("px-2 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l",a.level===1&&"font-semibold",a.level===2&&"ml-3",a.level===3&&"ml-6",a.level===4&&"ml-9",d===i&&o===c&&"text-accent-foreground"),onClick:()=>E(a,d),children:a.name},`${c}-${m}`)}),e[0]=o,e[1]=i,e[2]=s,e[3]=r,e[4]=l,e[5]=n}else l=e[4],n=e[5];let f;return e[8]!==l||e[9]!==n?(f=(0,g.jsx)("div",{className:l,children:n}),e[8]=l,e[9]=n,e[10]=f):f=e[10],f};export{_ as i,R as n,C as r,A as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as s,u as C}from"./useEvent-DlWF5OMa.js";import{v as d}from"./cells-
|
|
1
|
+
import{p as s,u as C}from"./useEvent-DlWF5OMa.js";import{v as d}from"./cells-D_SkyFDn.js";import{t as m}from"./createReducer-DDa-hVe3.js";function p(){return{focusedCellId:null,lastFocusedCellId:null}}var{reducer:V,createActions:b,valueAtom:a,useActions:g}=m(p,{focusCell:(l,e)=>({...l,focusedCellId:e.cellId,lastFocusedCellId:e.cellId}),toggleCell:(l,e)=>l.focusedCellId===e.cellId?{...l,focusedCellId:null}:{...l,focusedCellId:e.cellId,lastFocusedCellId:e.cellId},blurCell:l=>({...l,focusedCellId:null})});const c=s(l=>l(a).lastFocusedCellId);function F(){return C(c)}const _=s(l=>{let e=l(c);return!e||e==="__scratch__"?null:r(e,l(d))});function h(l){return s(e=>r(l,e(d)))}function r(l,e){var o;let{cellData:i,cellHandles:f,cellRuntime:I}=e,u=i[l],t=I[l],n=(o=f[l])==null?void 0:o.current;return!u||!n?null:{cellId:l,name:u.name,config:u.config,status:t?t.status:"idle",getEditorView:()=>n.editorView,hasOutput:(t==null?void 0:t.output)!=null,hasConsoleOutput:(t==null?void 0:t.consoleOutputs)!=null}}export{g as a,c as i,h as n,F as o,_ as r,a as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{s as Me}from"./chunk-LvLJmgfZ.js";import{t as yr}from"./react-BGmjiNul.js";import{Un as wr,W as ze,_t as Nr}from"./cells-Dk_j8HX9.js";import{_ as Te,c as Cr,d as ke,f as Se,g as kr,h as _e,l as Sr,m as _r,o as Rr,p as le,s as Or,t as Re,u as Ue,y as Oe}from"./zod-Cg4WLWh2.js";import{t as fe}from"./compiler-runtime-DeeZ7FnK.js";import{a as Ar,d as Vr,f as Er}from"./hotkeys-uKX61F1_.js";import{r as Ae}from"./useEventListener-COkmyg1v.js";import{t as Pr}from"./jsx-runtime-DN_bIXfG.js";import{r as Lr,t as Be}from"./button-DuYGqRtX.js";import{t as I}from"./cn-C1rgT0yh.js";import{t as $r}from"./check-CrAQug3q.js";import{_ as Ir,c as qr,i as Je,l as Fr,m as Dr,n as Gr,r as Mr,s as zr,t as Tr}from"./select-D0g5GnIs.js";import{M as Ur,N as Ke,P as Br,j as Jr}from"./dropdown-menu-BP4_BZLr.js";import{t as Kr}from"./plus-CHesBJpY.js";import{t as Zr}from"./refresh-ccw-DbW1_PHb.js";import{n as Hr,t as Ve}from"./input-CaEtLL8p.js";import{a as V,c as R,d as E,h as Wr,l as P,m as Xr,o as A,r as Ze,u as S,y as Qr}from"./textarea-jTWtOsHe.js";import{t as Yr}from"./trash-2-C-lF7BNB.js";import{t as ea}from"./badge-DAnNhy3O.js";import{E as He,S as Ee,_ as xe,w as Pe,x as ra}from"./Combination-D1TsGrBC.js";import{l as aa}from"./dist-CBrDuocE.js";import{t as ta}from"./tooltip-CvjcEpZC.js";import{u as sa}from"./menu-items-9PZrU2e0.js";import{i as na,r as la,t as oa}from"./popover-DtnzNVk-.js";import{a as ia,o as ca,r as da,s as ua,t as ma}from"./command-gUA-HncX.js";import{t as pa}from"./label-qwandMoh.js";import{t as ha}from"./toggle-G1t0cQyf.js";var We=fe(),w=Me(yr(),1),a=Me(Pr(),1);const Xe=(0,w.createContext)({isSelected:()=>!1,onSelect:Er.NOOP}),Le=t=>{let e=(0,We.c)(94),r,n,l,o,i,d,p,s,c,u,h,f,m,j,x,g,v,y,N,C,O;e[0]===t?(r=e[1],n=e[2],l=e[3],o=e[4],i=e[5],d=e[6],p=e[7],s=e[8],c=e[9],u=e[10],h=e[11],f=e[12],m=e[13],j=e[14],x=e[15],g=e[16],v=e[17],y=e[18],N=e[19],C=e[20],O=e[21]):({children:r,displayValue:d,className:l,placeholder:m,value:O,defaultValue:i,onValueChange:h,multiple:g,shouldFilter:v,filterFn:p,open:f,defaultOpen:o,onOpenChange:c,inputPlaceholder:y,search:x,onSearchChange:u,emptyState:N,chips:C,chipsClassName:n,keepPopoverOpenOnSelect:s,...j}=t,e[0]=t,e[1]=r,e[2]=n,e[3]=l,e[4]=o,e[5]=i,e[6]=d,e[7]=p,e[8]=s,e[9]=c,e[10]=u,e[11]=h,e[12]=f,e[13]=m,e[14]=j,e[15]=x,e[16]=g,e[17]=v,e[18]=y,e[19]=N,e[20]=C,e[21]=O);let k=g===void 0?!1:g,q=v===void 0?!0:v,F=y===void 0?"Search...":y,ne=N===void 0?"Nothing found.":N,$=C===void 0?!1:C,ye=o??!1,oe;e[22]!==c||e[23]!==f||e[24]!==ye?(oe={prop:f,defaultProp:ye,onChange:c},e[22]=c,e[23]=f,e[24]=ye,e[25]=oe):oe=e[25];let[De,M]=Ee(oe),z=De===void 0?!1:De,T;e[26]===h?T=e[27]:(T=_=>{h==null||h(_)},e[26]=h,e[27]=T);let ie;e[28]!==i||e[29]!==T||e[30]!==O?(ie={prop:O,defaultProp:i,onChange:T},e[28]=i,e[29]=T,e[30]=O,e[31]=ie):ie=e[31];let[b,we]=Ee(ie),ce;e[32]===b?ce=e[33]:(ce=_=>Array.isArray(b)?b.includes(_):b===_,e[32]=b,e[33]=ce);let Ne=ce,de;e[34]!==s||e[35]!==k||e[36]!==M||e[37]!==we||e[38]!==b?(de=_=>{let D=_;if(k)if(Array.isArray(b))if(b.includes(D)){let Ge=b.filter(br=>br!==_);D=Ge.length>0?Ge:[]}else D=[...b,D];else D=[D];else b===_&&(D=null);we(D),(s??k)||M(!1)},e[34]=s,e[35]=k,e[36]=M,e[37]=we,e[38]=b,e[39]=de):de=e[39];let U=de,ue;e[40]!==$||e[41]!==d||e[42]!==k||e[43]!==m||e[44]!==b?(ue=()=>k&&$&&m?m:b==null?m??"--":Array.isArray(b)?b.length===0?m??"--":b.length===1&&d!==void 0?d(b[0]):`${b.length} selected`:d===void 0?m??"--":d(b),e[40]=$,e[41]=d,e[42]=k,e[43]=m,e[44]=b,e[45]=ue):ue=e[45];let Ce=ue,me;e[46]===Symbol.for("react.memo_cache_sentinel")?(me=I("relative"),e[46]=me):me=e[46];let B;e[47]===l?B=e[48]:(B=I("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50",l),e[47]=l,e[48]=B);let J;e[49]===Ce?J=e[50]:(J=Ce(),e[49]=Ce,e[50]=J);let K;e[51]===J?K=e[52]:(K=(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:J}),e[51]=J,e[52]=K);let pe;e[53]===Symbol.for("react.memo_cache_sentinel")?(pe=(0,a.jsx)(Ir,{className:"ml-3 w-4 h-4 opacity-50 shrink-0"}),e[53]=pe):pe=e[53];let Z;e[54]!==z||e[55]!==B||e[56]!==K?(Z=(0,a.jsx)(na,{asChild:!0,children:(0,a.jsxs)("div",{className:B,"aria-expanded":z,children:[K,pe]})}),e[54]=z,e[55]=B,e[56]=K,e[57]=Z):Z=e[57];let H;e[58]!==F||e[59]!==u||e[60]!==x?(H=(0,a.jsx)(ia,{placeholder:F,rootClassName:"px-1 h-8",autoFocus:!0,value:x,onValueChange:u}),e[58]=F,e[59]=u,e[60]=x,e[61]=H):H=e[61];let W;e[62]===ne?W=e[63]:(W=(0,a.jsx)(da,{children:ne}),e[62]=ne,e[63]=W);let X;e[64]!==U||e[65]!==Ne?(X={isSelected:Ne,onSelect:U},e[64]=U,e[65]=Ne,e[66]=X):X=e[66];let Q;e[67]!==r||e[68]!==X?(Q=(0,a.jsx)(Xe,{value:X,children:r}),e[67]=r,e[68]=X,e[69]=Q):Q=e[69];let Y;e[70]!==W||e[71]!==Q?(Y=(0,a.jsxs)(ua,{className:"max-h-60 py-.5",children:[W,Q]}),e[70]=W,e[71]=Q,e[72]=Y):Y=e[72];let ee;e[73]!==p||e[74]!==q||e[75]!==H||e[76]!==Y?(ee=(0,a.jsx)(la,{className:"w-full min-w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,a.jsxs)(ma,{filter:p,shouldFilter:q,children:[H,Y]})}),e[73]=p,e[74]=q,e[75]=H,e[76]=Y,e[77]=ee):ee=e[77];let re;e[78]!==z||e[79]!==M||e[80]!==Z||e[81]!==ee?(re=(0,a.jsxs)(oa,{open:z,onOpenChange:M,children:[Z,ee]}),e[78]=z,e[79]=M,e[80]=Z,e[81]=ee,e[82]=re):re=e[82];let ae;e[83]!==$||e[84]!==n||e[85]!==d||e[86]!==U||e[87]!==k||e[88]!==b?(ae=k&&$&&(0,a.jsx)("div",{className:I("flex flex-col gap-1 items-start",n),children:Array.isArray(b)&&b.map(_=>_==null?null:(0,a.jsxs)(ea,{variant:"secondary",children:[(d==null?void 0:d(_))??String(_),(0,a.jsx)(wr,{onClick:()=>{U(_)},className:"w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"})]},String(_)))}),e[83]=$,e[84]=n,e[85]=d,e[86]=U,e[87]=k,e[88]=b,e[89]=ae):ae=e[89];let he;return e[90]!==j||e[91]!==re||e[92]!==ae?(he=(0,a.jsxs)("div",{className:me,...j,children:[re,ae]}),e[90]=j,e[91]=re,e[92]=ae,e[93]=he):he=e[93],he},je=w.forwardRef((t,e)=>{let r=(0,We.c)(17),{children:n,className:l,value:o,onSelect:i,disabled:d}=t,p=typeof o=="object"&&"value"in o?o.value:String(o),s=w.use(Xe),c;r[0]===l?c=r[1]:(c=I("pl-6 m-1 py-1",l),r[0]=l,r[1]=c);let u;r[2]!==s||r[3]!==i||r[4]!==o?(u=()=>{s.onSelect(o),i==null||i(o)},r[2]=s,r[3]=i,r[4]=o,r[5]=u):u=r[5];let h;r[6]!==s||r[7]!==o?(h=s.isSelected(o)&&(0,a.jsx)($r,{className:"absolute left-1 h-4 w-4"}),r[6]=s,r[7]=o,r[8]=h):h=r[8];let f;return r[9]!==n||r[10]!==d||r[11]!==e||r[12]!==c||r[13]!==u||r[14]!==h||r[15]!==p?(f=(0,a.jsxs)(ca,{ref:e,className:c,role:"option",value:p,disabled:d,onSelect:u,children:[h,n]}),r[9]=n,r[10]=d,r[11]=e,r[12]=c,r[13]=u,r[14]=h,r[15]=p,r[16]=f):f=r[16],f});je.displayName="ComboboxItem";const G={of(t){return JSON.stringify(t)},parse(t){if(!t)return{};try{return JSON.parse(t)}catch{return{label:t}}}};function Qe(){return Math.floor(Math.random()*1e5)}var $e="Radio",[fa,Ye]=He($e),[xa,ja]=fa($e),er=w.forwardRef((t,e)=>{let{__scopeRadio:r,name:n,checked:l=!1,required:o,disabled:i,value:d="on",onCheck:p,form:s,...c}=t,[u,h]=w.useState(null),f=Ae(e,x=>h(x)),m=w.useRef(!1),j=u?s||!!u.closest("form"):!0;return(0,a.jsxs)(xa,{scope:r,checked:l,disabled:i,children:[(0,a.jsx)(xe.button,{type:"button",role:"radio","aria-checked":l,"data-state":sr(l),"data-disabled":i?"":void 0,disabled:i,value:d,...c,ref:f,onClick:Pe(t.onClick,x=>{l||(p==null||p()),j&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),j&&(0,a.jsx)(tr,{control:u,bubbles:!m.current,name:n,value:d,checked:l,required:o,disabled:i,form:s,style:{transform:"translateX(-100%)"}})]})});er.displayName=$e;var rr="RadioIndicator",ar=w.forwardRef((t,e)=>{let{__scopeRadio:r,forceMount:n,...l}=t,o=ja(rr,r);return(0,a.jsx)(ra,{present:n||o.checked,children:(0,a.jsx)(xe.span,{"data-state":sr(o.checked),"data-disabled":o.disabled?"":void 0,...l,ref:e})})});ar.displayName=rr;var va="RadioBubbleInput",tr=w.forwardRef(({__scopeRadio:t,control:e,checked:r,bubbles:n=!0,...l},o)=>{let i=w.useRef(null),d=Ae(i,o),p=Dr(r),s=aa(e);return w.useEffect(()=>{let c=i.current;if(!c)return;let u=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(u,"checked").set;if(p!==r&&h){let f=new Event("click",{bubbles:n});h.call(c,r),c.dispatchEvent(f)}},[p,r,n]),(0,a.jsx)(xe.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:d,style:{...l.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});tr.displayName=va;function sr(t){return t?"checked":"unchecked"}var ga=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ve="RadioGroup",[ba,mt]=He(ve,[Ke,Ye]),nr=Ke(),lr=Ye(),[ya,wa]=ba(ve),or=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,name:n,defaultValue:l,value:o,required:i=!1,disabled:d=!1,orientation:p,dir:s,loop:c=!0,onValueChange:u,...h}=t,f=nr(r),m=sa(s),[j,x]=Ee({prop:o,defaultProp:l??null,onChange:u,caller:ve});return(0,a.jsx)(ya,{scope:r,name:n,required:i,disabled:d,value:j,onValueChange:x,children:(0,a.jsx)(Ur,{asChild:!0,...f,orientation:p,dir:m,loop:c,children:(0,a.jsx)(xe.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":d?"":void 0,dir:m,...h,ref:e})})})});or.displayName=ve;var ir="RadioGroupItem",cr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,disabled:n,...l}=t,o=wa(ir,r),i=o.disabled||n,d=nr(r),p=lr(r),s=w.useRef(null),c=Ae(e,s),u=o.value===l.value,h=w.useRef(!1);return w.useEffect(()=>{let f=j=>{ga.includes(j.key)&&(h.current=!0)},m=()=>h.current=!1;return document.addEventListener("keydown",f),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",f),document.removeEventListener("keyup",m)}},[]),(0,a.jsx)(Jr,{asChild:!0,...d,focusable:!i,active:u,children:(0,a.jsx)(er,{disabled:i,required:o.required,checked:u,...p,...l,name:o.name,ref:c,onCheck:()=>o.onValueChange(l.value),onKeyDown:Pe(f=>{f.key==="Enter"&&f.preventDefault()}),onFocus:Pe(l.onFocus,()=>{var f;h.current&&((f=s.current)==null||f.click())})})})});cr.displayName=ir;var Na="RadioGroupIndicator",dr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,...n}=t;return(0,a.jsx)(ar,{...lr(r),...n,ref:e})});dr.displayName=Na;var ur=or,mr=cr,Ca=dr,pr=fe(),Ie=w.forwardRef((t,e)=>{let r=(0,pr.c)(9),n,l;r[0]===t?(n=r[1],l=r[2]):({className:n,...l}=t,r[0]=t,r[1]=n,r[2]=l);let o;r[3]===n?o=r[4]:(o=I("grid gap-2",n),r[3]=n,r[4]=o);let i;return r[5]!==l||r[6]!==e||r[7]!==o?(i=(0,a.jsx)(ur,{className:o,...l,ref:e}),r[5]=l,r[6]=e,r[7]=o,r[8]=i):i=r[8],i});Ie.displayName=ur.displayName;var qe=w.forwardRef((t,e)=>{let r=(0,pr.c)(10),n,l;if(r[0]!==t){let{className:p,children:s,...c}=t;n=p,l=c,r[0]=t,r[1]=n,r[2]=l}else n=r[1],l=r[2];let o;r[3]===n?o=r[4]:(o=I("h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none",n),r[3]=n,r[4]=o);let i;r[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Ca,{className:"flex items-center justify-center",children:(0,a.jsx)(Br,{className:"h-[10px] w-[10px] fill-primary text-current"})}),r[5]=i):i=r[5];let d;return r[6]!==l||r[7]!==e||r[8]!==o?(d=(0,a.jsx)(mr,{ref:e,className:o,...l,children:i}),r[6]=l,r[7]=e,r[8]=o,r[9]=d):d=r[9],d});qe.displayName=mr.displayName;function ka(t){return t instanceof Re.ZodArray}function hr(t){return t instanceof Re.ZodPipe}function Sa(t){return t instanceof Re.ZodTuple}function fr(t){return"unwrap"in t?t.unwrap():t}function ge(t){let e=r=>{if(r instanceof le){let n=[...r.values];return r.values.size===1?n[0]:n}if(r instanceof Ue){let n=r.def.defaultValue;return typeof n=="function"?n():n}if(hr(r))return e(r.in);if(Sa(r))return r.def.items.map(n=>e(n));if("unwrap"in r)return e(fr(r))};return t instanceof Oe||t instanceof ke?e(t.options[0]):ka(t)?_a(t)?[ge(t.element)]:[]:t instanceof Te?"":t instanceof Se?t.options[0]:t instanceof _e?Object.fromEntries(Object.entries(t.shape).map(([r,n])=>[r,e(n)])):e(t)}function te(t){if(t instanceof le)return t;if(t instanceof _e){let e=t.shape.type;if(e instanceof le)return e;throw Error("Invalid schema")}if(t instanceof Oe||t instanceof ke)return te(t.options[0]);throw Vr.warn(t),Error("Invalid schema")}function _a(t){return!t.safeParse([]).success}var xr=fe(),jr=`
|
|
1
|
+
import{s as Me}from"./chunk-LvLJmgfZ.js";import{t as yr}from"./react-BGmjiNul.js";import{Un as wr,W as ze,_t as Nr}from"./cells-D_SkyFDn.js";import{_ as Te,c as Cr,d as ke,f as Se,g as kr,h as _e,l as Sr,m as _r,o as Rr,p as le,s as Or,t as Re,u as Ue,y as Oe}from"./zod-Cg4WLWh2.js";import{t as fe}from"./compiler-runtime-DeeZ7FnK.js";import{a as Ar,d as Vr,f as Er}from"./hotkeys-uKX61F1_.js";import{r as Ae}from"./useEventListener-COkmyg1v.js";import{t as Pr}from"./jsx-runtime-DN_bIXfG.js";import{r as Lr,t as Be}from"./button-DuYGqRtX.js";import{t as I}from"./cn-C1rgT0yh.js";import{t as $r}from"./check-CrAQug3q.js";import{_ as Ir,c as qr,i as Je,l as Fr,m as Dr,n as Gr,r as Mr,s as zr,t as Tr}from"./select-D0g5GnIs.js";import{M as Ur,N as Ke,P as Br,j as Jr}from"./dropdown-menu-BP4_BZLr.js";import{t as Kr}from"./plus-CHesBJpY.js";import{t as Zr}from"./refresh-ccw-DbW1_PHb.js";import{n as Hr,t as Ve}from"./input-CaEtLL8p.js";import{a as V,c as R,d as E,h as Wr,l as P,m as Xr,o as A,r as Ze,u as S,y as Qr}from"./textarea-D2hGxqGj.js";import{t as Yr}from"./trash-2-C-lF7BNB.js";import{t as ea}from"./badge-DAnNhy3O.js";import{E as He,S as Ee,_ as xe,w as Pe,x as ra}from"./Combination-D1TsGrBC.js";import{l as aa}from"./dist-CBrDuocE.js";import{t as ta}from"./tooltip-CvjcEpZC.js";import{u as sa}from"./menu-items-9PZrU2e0.js";import{i as na,r as la,t as oa}from"./popover-DtnzNVk-.js";import{a as ia,o as ca,r as da,s as ua,t as ma}from"./command-Qt3ng7cb.js";import{t as pa}from"./label-qwandMoh.js";import{t as ha}from"./toggle-G1t0cQyf.js";var We=fe(),w=Me(yr(),1),a=Me(Pr(),1);const Xe=(0,w.createContext)({isSelected:()=>!1,onSelect:Er.NOOP}),Le=t=>{let e=(0,We.c)(94),r,n,l,o,i,d,p,s,c,u,h,f,m,j,x,g,v,y,N,C,O;e[0]===t?(r=e[1],n=e[2],l=e[3],o=e[4],i=e[5],d=e[6],p=e[7],s=e[8],c=e[9],u=e[10],h=e[11],f=e[12],m=e[13],j=e[14],x=e[15],g=e[16],v=e[17],y=e[18],N=e[19],C=e[20],O=e[21]):({children:r,displayValue:d,className:l,placeholder:m,value:O,defaultValue:i,onValueChange:h,multiple:g,shouldFilter:v,filterFn:p,open:f,defaultOpen:o,onOpenChange:c,inputPlaceholder:y,search:x,onSearchChange:u,emptyState:N,chips:C,chipsClassName:n,keepPopoverOpenOnSelect:s,...j}=t,e[0]=t,e[1]=r,e[2]=n,e[3]=l,e[4]=o,e[5]=i,e[6]=d,e[7]=p,e[8]=s,e[9]=c,e[10]=u,e[11]=h,e[12]=f,e[13]=m,e[14]=j,e[15]=x,e[16]=g,e[17]=v,e[18]=y,e[19]=N,e[20]=C,e[21]=O);let k=g===void 0?!1:g,q=v===void 0?!0:v,F=y===void 0?"Search...":y,ne=N===void 0?"Nothing found.":N,$=C===void 0?!1:C,ye=o??!1,oe;e[22]!==c||e[23]!==f||e[24]!==ye?(oe={prop:f,defaultProp:ye,onChange:c},e[22]=c,e[23]=f,e[24]=ye,e[25]=oe):oe=e[25];let[De,M]=Ee(oe),z=De===void 0?!1:De,T;e[26]===h?T=e[27]:(T=_=>{h==null||h(_)},e[26]=h,e[27]=T);let ie;e[28]!==i||e[29]!==T||e[30]!==O?(ie={prop:O,defaultProp:i,onChange:T},e[28]=i,e[29]=T,e[30]=O,e[31]=ie):ie=e[31];let[b,we]=Ee(ie),ce;e[32]===b?ce=e[33]:(ce=_=>Array.isArray(b)?b.includes(_):b===_,e[32]=b,e[33]=ce);let Ne=ce,de;e[34]!==s||e[35]!==k||e[36]!==M||e[37]!==we||e[38]!==b?(de=_=>{let D=_;if(k)if(Array.isArray(b))if(b.includes(D)){let Ge=b.filter(br=>br!==_);D=Ge.length>0?Ge:[]}else D=[...b,D];else D=[D];else b===_&&(D=null);we(D),(s??k)||M(!1)},e[34]=s,e[35]=k,e[36]=M,e[37]=we,e[38]=b,e[39]=de):de=e[39];let U=de,ue;e[40]!==$||e[41]!==d||e[42]!==k||e[43]!==m||e[44]!==b?(ue=()=>k&&$&&m?m:b==null?m??"--":Array.isArray(b)?b.length===0?m??"--":b.length===1&&d!==void 0?d(b[0]):`${b.length} selected`:d===void 0?m??"--":d(b),e[40]=$,e[41]=d,e[42]=k,e[43]=m,e[44]=b,e[45]=ue):ue=e[45];let Ce=ue,me;e[46]===Symbol.for("react.memo_cache_sentinel")?(me=I("relative"),e[46]=me):me=e[46];let B;e[47]===l?B=e[48]:(B=I("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50",l),e[47]=l,e[48]=B);let J;e[49]===Ce?J=e[50]:(J=Ce(),e[49]=Ce,e[50]=J);let K;e[51]===J?K=e[52]:(K=(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:J}),e[51]=J,e[52]=K);let pe;e[53]===Symbol.for("react.memo_cache_sentinel")?(pe=(0,a.jsx)(Ir,{className:"ml-3 w-4 h-4 opacity-50 shrink-0"}),e[53]=pe):pe=e[53];let Z;e[54]!==z||e[55]!==B||e[56]!==K?(Z=(0,a.jsx)(na,{asChild:!0,children:(0,a.jsxs)("div",{className:B,"aria-expanded":z,children:[K,pe]})}),e[54]=z,e[55]=B,e[56]=K,e[57]=Z):Z=e[57];let H;e[58]!==F||e[59]!==u||e[60]!==x?(H=(0,a.jsx)(ia,{placeholder:F,rootClassName:"px-1 h-8",autoFocus:!0,value:x,onValueChange:u}),e[58]=F,e[59]=u,e[60]=x,e[61]=H):H=e[61];let W;e[62]===ne?W=e[63]:(W=(0,a.jsx)(da,{children:ne}),e[62]=ne,e[63]=W);let X;e[64]!==U||e[65]!==Ne?(X={isSelected:Ne,onSelect:U},e[64]=U,e[65]=Ne,e[66]=X):X=e[66];let Q;e[67]!==r||e[68]!==X?(Q=(0,a.jsx)(Xe,{value:X,children:r}),e[67]=r,e[68]=X,e[69]=Q):Q=e[69];let Y;e[70]!==W||e[71]!==Q?(Y=(0,a.jsxs)(ua,{className:"max-h-60 py-.5",children:[W,Q]}),e[70]=W,e[71]=Q,e[72]=Y):Y=e[72];let ee;e[73]!==p||e[74]!==q||e[75]!==H||e[76]!==Y?(ee=(0,a.jsx)(la,{className:"w-full min-w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,a.jsxs)(ma,{filter:p,shouldFilter:q,children:[H,Y]})}),e[73]=p,e[74]=q,e[75]=H,e[76]=Y,e[77]=ee):ee=e[77];let re;e[78]!==z||e[79]!==M||e[80]!==Z||e[81]!==ee?(re=(0,a.jsxs)(oa,{open:z,onOpenChange:M,children:[Z,ee]}),e[78]=z,e[79]=M,e[80]=Z,e[81]=ee,e[82]=re):re=e[82];let ae;e[83]!==$||e[84]!==n||e[85]!==d||e[86]!==U||e[87]!==k||e[88]!==b?(ae=k&&$&&(0,a.jsx)("div",{className:I("flex flex-col gap-1 items-start",n),children:Array.isArray(b)&&b.map(_=>_==null?null:(0,a.jsxs)(ea,{variant:"secondary",children:[(d==null?void 0:d(_))??String(_),(0,a.jsx)(wr,{onClick:()=>{U(_)},className:"w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"})]},String(_)))}),e[83]=$,e[84]=n,e[85]=d,e[86]=U,e[87]=k,e[88]=b,e[89]=ae):ae=e[89];let he;return e[90]!==j||e[91]!==re||e[92]!==ae?(he=(0,a.jsxs)("div",{className:me,...j,children:[re,ae]}),e[90]=j,e[91]=re,e[92]=ae,e[93]=he):he=e[93],he},je=w.forwardRef((t,e)=>{let r=(0,We.c)(17),{children:n,className:l,value:o,onSelect:i,disabled:d}=t,p=typeof o=="object"&&"value"in o?o.value:String(o),s=w.use(Xe),c;r[0]===l?c=r[1]:(c=I("pl-6 m-1 py-1",l),r[0]=l,r[1]=c);let u;r[2]!==s||r[3]!==i||r[4]!==o?(u=()=>{s.onSelect(o),i==null||i(o)},r[2]=s,r[3]=i,r[4]=o,r[5]=u):u=r[5];let h;r[6]!==s||r[7]!==o?(h=s.isSelected(o)&&(0,a.jsx)($r,{className:"absolute left-1 h-4 w-4"}),r[6]=s,r[7]=o,r[8]=h):h=r[8];let f;return r[9]!==n||r[10]!==d||r[11]!==e||r[12]!==c||r[13]!==u||r[14]!==h||r[15]!==p?(f=(0,a.jsxs)(ca,{ref:e,className:c,role:"option",value:p,disabled:d,onSelect:u,children:[h,n]}),r[9]=n,r[10]=d,r[11]=e,r[12]=c,r[13]=u,r[14]=h,r[15]=p,r[16]=f):f=r[16],f});je.displayName="ComboboxItem";const G={of(t){return JSON.stringify(t)},parse(t){if(!t)return{};try{return JSON.parse(t)}catch{return{label:t}}}};function Qe(){return Math.floor(Math.random()*1e5)}var $e="Radio",[fa,Ye]=He($e),[xa,ja]=fa($e),er=w.forwardRef((t,e)=>{let{__scopeRadio:r,name:n,checked:l=!1,required:o,disabled:i,value:d="on",onCheck:p,form:s,...c}=t,[u,h]=w.useState(null),f=Ae(e,x=>h(x)),m=w.useRef(!1),j=u?s||!!u.closest("form"):!0;return(0,a.jsxs)(xa,{scope:r,checked:l,disabled:i,children:[(0,a.jsx)(xe.button,{type:"button",role:"radio","aria-checked":l,"data-state":sr(l),"data-disabled":i?"":void 0,disabled:i,value:d,...c,ref:f,onClick:Pe(t.onClick,x=>{l||(p==null||p()),j&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})}),j&&(0,a.jsx)(tr,{control:u,bubbles:!m.current,name:n,value:d,checked:l,required:o,disabled:i,form:s,style:{transform:"translateX(-100%)"}})]})});er.displayName=$e;var rr="RadioIndicator",ar=w.forwardRef((t,e)=>{let{__scopeRadio:r,forceMount:n,...l}=t,o=ja(rr,r);return(0,a.jsx)(ra,{present:n||o.checked,children:(0,a.jsx)(xe.span,{"data-state":sr(o.checked),"data-disabled":o.disabled?"":void 0,...l,ref:e})})});ar.displayName=rr;var va="RadioBubbleInput",tr=w.forwardRef(({__scopeRadio:t,control:e,checked:r,bubbles:n=!0,...l},o)=>{let i=w.useRef(null),d=Ae(i,o),p=Dr(r),s=aa(e);return w.useEffect(()=>{let c=i.current;if(!c)return;let u=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(u,"checked").set;if(p!==r&&h){let f=new Event("click",{bubbles:n});h.call(c,r),c.dispatchEvent(f)}},[p,r,n]),(0,a.jsx)(xe.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...l,tabIndex:-1,ref:d,style:{...l.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});tr.displayName=va;function sr(t){return t?"checked":"unchecked"}var ga=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ve="RadioGroup",[ba,mt]=He(ve,[Ke,Ye]),nr=Ke(),lr=Ye(),[ya,wa]=ba(ve),or=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,name:n,defaultValue:l,value:o,required:i=!1,disabled:d=!1,orientation:p,dir:s,loop:c=!0,onValueChange:u,...h}=t,f=nr(r),m=sa(s),[j,x]=Ee({prop:o,defaultProp:l??null,onChange:u,caller:ve});return(0,a.jsx)(ya,{scope:r,name:n,required:i,disabled:d,value:j,onValueChange:x,children:(0,a.jsx)(Ur,{asChild:!0,...f,orientation:p,dir:m,loop:c,children:(0,a.jsx)(xe.div,{role:"radiogroup","aria-required":i,"aria-orientation":p,"data-disabled":d?"":void 0,dir:m,...h,ref:e})})})});or.displayName=ve;var ir="RadioGroupItem",cr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,disabled:n,...l}=t,o=wa(ir,r),i=o.disabled||n,d=nr(r),p=lr(r),s=w.useRef(null),c=Ae(e,s),u=o.value===l.value,h=w.useRef(!1);return w.useEffect(()=>{let f=j=>{ga.includes(j.key)&&(h.current=!0)},m=()=>h.current=!1;return document.addEventListener("keydown",f),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",f),document.removeEventListener("keyup",m)}},[]),(0,a.jsx)(Jr,{asChild:!0,...d,focusable:!i,active:u,children:(0,a.jsx)(er,{disabled:i,required:o.required,checked:u,...p,...l,name:o.name,ref:c,onCheck:()=>o.onValueChange(l.value),onKeyDown:Pe(f=>{f.key==="Enter"&&f.preventDefault()}),onFocus:Pe(l.onFocus,()=>{var f;h.current&&((f=s.current)==null||f.click())})})})});cr.displayName=ir;var Na="RadioGroupIndicator",dr=w.forwardRef((t,e)=>{let{__scopeRadioGroup:r,...n}=t;return(0,a.jsx)(ar,{...lr(r),...n,ref:e})});dr.displayName=Na;var ur=or,mr=cr,Ca=dr,pr=fe(),Ie=w.forwardRef((t,e)=>{let r=(0,pr.c)(9),n,l;r[0]===t?(n=r[1],l=r[2]):({className:n,...l}=t,r[0]=t,r[1]=n,r[2]=l);let o;r[3]===n?o=r[4]:(o=I("grid gap-2",n),r[3]=n,r[4]=o);let i;return r[5]!==l||r[6]!==e||r[7]!==o?(i=(0,a.jsx)(ur,{className:o,...l,ref:e}),r[5]=l,r[6]=e,r[7]=o,r[8]=i):i=r[8],i});Ie.displayName=ur.displayName;var qe=w.forwardRef((t,e)=>{let r=(0,pr.c)(10),n,l;if(r[0]!==t){let{className:p,children:s,...c}=t;n=p,l=c,r[0]=t,r[1]=n,r[2]=l}else n=r[1],l=r[2];let o;r[3]===n?o=r[4]:(o=I("h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none",n),r[3]=n,r[4]=o);let i;r[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(Ca,{className:"flex items-center justify-center",children:(0,a.jsx)(Br,{className:"h-[10px] w-[10px] fill-primary text-current"})}),r[5]=i):i=r[5];let d;return r[6]!==l||r[7]!==e||r[8]!==o?(d=(0,a.jsx)(mr,{ref:e,className:o,...l,children:i}),r[6]=l,r[7]=e,r[8]=o,r[9]=d):d=r[9],d});qe.displayName=mr.displayName;function ka(t){return t instanceof Re.ZodArray}function hr(t){return t instanceof Re.ZodPipe}function Sa(t){return t instanceof Re.ZodTuple}function fr(t){return"unwrap"in t?t.unwrap():t}function ge(t){let e=r=>{if(r instanceof le){let n=[...r.values];return r.values.size===1?n[0]:n}if(r instanceof Ue){let n=r.def.defaultValue;return typeof n=="function"?n():n}if(hr(r))return e(r.in);if(Sa(r))return r.def.items.map(n=>e(n));if("unwrap"in r)return e(fr(r))};return t instanceof Oe||t instanceof ke?e(t.options[0]):ka(t)?_a(t)?[ge(t.element)]:[]:t instanceof Te?"":t instanceof Se?t.options[0]:t instanceof _e?Object.fromEntries(Object.entries(t.shape).map(([r,n])=>[r,e(n)])):e(t)}function te(t){if(t instanceof le)return t;if(t instanceof _e){let e=t.shape.type;if(e instanceof le)return e;throw Error("Invalid schema")}if(t instanceof Oe||t instanceof ke)return te(t.options[0]);throw Vr.warn(t),Error("Invalid schema")}function _a(t){return!t.safeParse([]).success}var xr=fe(),jr=`
|
|
2
2
|
`;const vr=t=>{let e=(0,xr.c)(24),{value:r,options:n,onChange:l,className:o,placeholder:i,textAreaClassName:d,comboBoxClassName:p}=t,[s,c]=(0,w.useState)(!1),u;e[0]===r?u=e[1]:(u=be(r),e[0]=r,e[1]=u);let h=u,f;e[2]!==p||e[3]!==l||e[4]!==n||e[5]!==i||e[6]!==s||e[7]!==d||e[8]!==h?(f=()=>s?(0,a.jsx)(Fe,{value:h,className:d,onChange:l,placeholder:i?`${i}: one per line`:"One value per line"}):(0,a.jsx)(Le,{placeholder:i,displayValue:Ra,className:I("w-full max-w-[400px]",p),multiple:!0,value:h,onValueChange:l,keepPopoverOpenOnSelect:!0,chips:!0,chipsClassName:"flex-row flex-wrap min-w-[210px]",children:n.map(Oa)}),e[2]=p,e[3]=l,e[4]=n,e[5]=i,e[6]=s,e[7]=d,e[8]=h,e[9]=f):f=e[9];let m=f,j;e[10]===o?j=e[11]:(j=I("flex gap-1",o),e[10]=o,e[11]=j);let x;e[12]===m?x=e[13]:(x=m(),e[12]=m,e[13]=x);let g=s?"Switch to multi-select":"Switch to textarea",v;e[14]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(Qr,{className:"w-3 h-3"}),e[14]=v):v=e[14];let y;e[15]===s?y=e[16]:(y=(0,a.jsx)(ha,{size:"xs",onPressedChange:c,pressed:s,children:v}),e[15]=s,e[16]=y);let N;e[17]!==g||e[18]!==y?(N=(0,a.jsx)(ta,{content:g,children:y}),e[17]=g,e[18]=y,e[19]=N):N=e[19];let C;return e[20]!==j||e[21]!==x||e[22]!==N?(C=(0,a.jsxs)("div",{className:j,children:[x,N]}),e[20]=j,e[21]=x,e[22]=N,e[23]=C):C=e[23],C},Fe=t=>{let e=(0,xr.c)(11),{className:r,value:n,onChange:l,placeholder:o}=t,i,d;if(e[0]!==n){let u=be(n);i=Ze,d=u.join(jr),e[0]=n,e[1]=i,e[2]=d}else i=e[1],d=e[2];let p;e[3]===l?p=e[4]:(p=u=>{if(u.target.value===""){l([]);return}l(u.target.value.split(jr))},e[3]=l,e[4]=p);let s=o?`${o}: one per line`:"One value per line",c;return e[5]!==i||e[6]!==r||e[7]!==d||e[8]!==p||e[9]!==s?(c=(0,a.jsx)(i,{value:d,className:r,rows:4,onChange:p,placeholder:s}),e[5]=i,e[6]=r,e[7]=d,e[8]=p,e[9]=s,e[10]=c):c=e[10],c};function be(t){return t==null?[]:Array.isArray(t)?t:[t].filter(e=>e!=null||e!=="")}function Ra(t){return t}function Oa(t){return(0,a.jsx)(je,{value:t,children:t},t)}var se=fe();const Aa=t=>{let e=(0,se.c)(11),{schema:r,form:n,path:l,renderers:o,children:i}=t,d=l===void 0?"":l,p;e[0]===o?p=e[1]:(p=o===void 0?[]:o,e[0]=o,e[1]=p);let s=p,c;e[2]!==n||e[3]!==d||e[4]!==s||e[5]!==r?(c=L(r,n,d,s),e[2]=n,e[3]=d,e[4]=s,e[5]=r,e[6]=c):c=e[6];let u;return e[7]!==i||e[8]!==n||e[9]!==c?(u=(0,a.jsxs)(Xr,{...n,children:[i,c]}),e[7]=i,e[8]=n,e[9]=c,e[10]=u):u=e[10],u};function L(t,e,r,n){for(let s of n){let{isMatch:c,Component:u}=s;if(c(t))return(0,a.jsx)(u,{schema:t,form:e,path:r})}let{label:l,description:o,special:i,direction:d="column",minLength:p}=G.parse(t.description||"");if(t instanceof Ue){let s=t.unwrap();return s=!s.description&&t.description?s.describe(t.description):s,L(s,e,r,n)}if(t instanceof kr){let s=t.unwrap();return s=!s.description&&t.description?s.describe(t.description):s,L(s,e,r,n)}if(t instanceof _e)return(0,a.jsxs)("div",{className:I("flex",d==="row"?"flex-row gap-6 items-start":d==="two-columns"?"grid grid-cols-2 gap-y-6":"flex-col gap-6"),children:[(0,a.jsx)(S,{children:l}),Ar.entries(t.shape).map(([s,c])=>{let u=c instanceof le,h=L(c,e,$a(r,s),n);return u?(0,a.jsx)(w.Fragment,{children:h},s):(0,a.jsx)("div",{className:"flex flex-row align-start",children:h},s)})]});if(t instanceof Te)return i==="time"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(V,{children:(0,a.jsx)(Ve,{...s,onValueChange:s.onChange,type:"time",className:"my-0"})}),(0,a.jsx)(E,{})]})}):(0,a.jsx)(gr,{schema:t,form:e,path:r});if(t instanceof Cr)return(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(P,{children:[(0,a.jsxs)("div",{className:"flex flex-row items-start space-x-2",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(V,{children:(0,a.jsx)(Nr,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:s.value,onCheckedChange:s.onChange})})]}),(0,a.jsx)(E,{})]})});if(t instanceof _r)return i==="random_number_button"?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(Be,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{s.onChange(Qe())},children:[(0,a.jsx)(Zr,{className:"w-3.5 h-3.5 mr-1"}),l]})}):(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(V,{children:(0,a.jsx)(Hr,{...s,className:"my-0",onValueChange:s.onChange})}),(0,a.jsx)(E,{})]})});if(t instanceof Sr){let s=i==="datetime"?"datetime-local":i==="time"?"time":"date";return(0,a.jsx)(R,{control:e.control,name:r,render:({field:c})=>(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(A,{children:o}),(0,a.jsx)(V,{children:(0,a.jsx)(Ve,{...c,onValueChange:c.onChange,type:s,className:"my-0"})}),(0,a.jsx)(E,{})]})})}if(t instanceof Rr)return(0,a.jsx)(gr,{schema:t,form:e,path:r});if(t instanceof Se)return(0,a.jsx)(Pa,{schema:t,form:e,path:r,options:t.options.map(s=>s.toString())});if(t instanceof Or){if(i==="text_area_multiline")return(0,a.jsx)(Ea,{schema:t,form:e,path:r});let s=t.element;return s instanceof Se?(0,a.jsx)(La,{schema:t,form:e,path:r,itemLabel:l,options:s.options.map(c=>c.toString())}):(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)(pa,{children:l}),(0,a.jsx)(Va,{schema:t.element,form:e,path:r,minLength:p,renderers:n},r)]})}if(t instanceof ke){let s=t.def,c=s.options,u=s.discriminator,h=f=>c.find(m=>te(m).value===f);return(0,a.jsx)(R,{control:e.control,name:r,render:({field:f})=>{let m=f.value,j=c.map(v=>te(v).value),x=m&&typeof m=="object"&&u in m?m[u]:j[0],g=h(x);return(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)("div",{className:"flex border-b mb-4 -mt-2",children:j.map(v=>(0,a.jsx)("button",{type:"button",className:`px-4 py-2 ${x===v?"border-b-2 border-primary font-medium":"text-muted-foreground"}`,onClick:()=>{let y=h(v);y?f.onChange(ge(y)):f.onChange({[u]:v})},children:v},v))}),(0,a.jsx)("div",{className:"flex flex-col",children:g&&L(g,e,r,n)},x)]})}})}return t instanceof Oe?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>{let c=t.options,u=s.value,h=c.map(m=>te(m).value);u||(u=h[0]);let f=c.find(m=>te(m).value===u);return(0,a.jsxs)("div",{className:"flex flex-col mb-4 gap-1",children:[(0,a.jsx)(S,{children:l}),(0,a.jsx)(Fr,{"data-testid":"marimo-plugin-data-frames-union-select",...s,children:h.map(m=>(0,a.jsx)("option",{value:m,children:m},m))}),f&&L(f,e,r,n)]})}}):t instanceof le?(0,a.jsx)(R,{control:e.control,name:r,render:({field:s})=>(0,a.jsx)("input",{...s,type:"hidden",value:String([...t.values][0]??"")})}):"unwrap"in t?L(fr(t),e,r,n):hr(t)?L(t.in,e,r,n):(0,a.jsxs)("div",{children:["Unknown schema type"," ",t==null?r:JSON.stringify(t.type??t)]})}var Va=t=>{let e=(0,se.c)(39),{schema:r,form:n,path:l,minLength:o,renderers:i}=t,d;e[0]===r.description?d=e[1]:(d=G.parse(r.description||""),e[0]=r.description,e[1]=d);let{label:p,description:s}=d,c=n.control,u;e[2]!==c||e[3]!==l?(u={control:c,name:l},e[2]=c,e[3]=l,e[4]=u):u=e[4];let{fields:h,append:f,remove:m}=Wr(u),j=o!=null&&h.length<o,x=o==null||h.length>o,g;e[5]===p?g=e[6]:(g=(0,a.jsx)(S,{children:p}),e[5]=p,e[6]=g);let v;e[7]===s?v=e[8]:(v=(0,a.jsx)(A,{children:s}),e[7]=s,e[8]=v);let y;if(e[9]!==x||e[10]!==h||e[11]!==n||e[12]!==l||e[13]!==m||e[14]!==i||e[15]!==r){let F;e[17]!==x||e[18]!==n||e[19]!==l||e[20]!==m||e[21]!==i||e[22]!==r?(F=(ne,$)=>(0,a.jsxs)("div",{className:"flex flex-row pl-2 ml-2 border-l-2 border-disabled hover-actions-parent relative pr-5 pt-1 items-center w-fit",onKeyDown:Lr.onEnter(Ia),children:[L(r,n,`${l}[${$}]`,i),x&&(0,a.jsx)(Yr,{className:"w-4 h-4 ml-2 my-1 text-muted-foreground hover:text-destructive cursor-pointer absolute right-0 top-5",onClick:()=>{m($)}})]},ne.id),e[17]=x,e[18]=n,e[19]=l,e[20]=m,e[21]=i,e[22]=r,e[23]=F):F=e[23],y=h.map(F),e[9]=x,e[10]=h,e[11]=n,e[12]=l,e[13]=m,e[14]=i,e[15]=r,e[16]=y}else y=e[16];let N;e[24]!==j||e[25]!==o?(N=j&&(0,a.jsx)("div",{className:"text-destructive text-xs font-semibold",children:(0,a.jsxs)("div",{children:["At least ",o," required."]})}),e[24]=j,e[25]=o,e[26]=N):N=e[26];let C;e[27]!==f||e[28]!==r?(C=()=>{f(ge(r))},e[27]=f,e[28]=r,e[29]=C):C=e[29];let O;e[30]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(Kr,{className:"w-3.5 h-3.5 mr-1"}),e[30]=O):O=e[30];let k;e[31]===C?k=e[32]:(k=(0,a.jsx)("div",{children:(0,a.jsxs)(Be,{size:"xs","data-testid":"marimo-plugin-data-frames-add-array-item",variant:"text",className:"hover:text-accent-foreground",onClick:C,children:[O,"Add"]})}),e[31]=C,e[32]=k);let q;return e[33]!==g||e[34]!==v||e[35]!==y||e[36]!==N||e[37]!==k?(q=(0,a.jsxs)("div",{className:"flex flex-col gap-2 min-w-[220px]",children:[g,v,y,N,k]}),e[33]=g,e[34]=v,e[35]=y,e[36]=N,e[37]=k,e[38]=q):q=e[38],q},gr=t=>{let e=(0,se.c)(21),{schema:r,form:n,path:l}=t,o;e[0]===r.description?o=e[1]:(o=G.parse(r.description),e[0]=r.description,e[1]=o);let{label:i,description:d,placeholder:p,disabled:s,inputType:c}=o;if(c==="textarea"){let f;e[2]!==d||e[3]!==s||e[4]!==i||e[5]!==p?(f=j=>{let{field:x}=j;return(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(V,{children:(0,a.jsx)(Ze,{...x,value:x.value,onChange:x.onChange,className:"my-0",placeholder:p,disabled:s})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=s,e[4]=i,e[5]=p,e[6]=f):f=e[6];let m;return e[7]!==n.control||e[8]!==l||e[9]!==f?(m=(0,a.jsx)(R,{control:n.control,name:l,render:f}),e[7]=n.control,e[8]=l,e[9]=f,e[10]=m):m=e[10],m}let u;e[11]!==d||e[12]!==s||e[13]!==c||e[14]!==i||e[15]!==p?(u=f=>{let{field:m}=f;return(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(V,{children:(0,a.jsx)(Ve,{...m,type:c,value:m.value,onValueChange:m.onChange,className:"my-0",placeholder:p,disabled:s})}),(0,a.jsx)(E,{})]})},e[11]=d,e[12]=s,e[13]=c,e[14]=i,e[15]=p,e[16]=u):u=e[16];let h;return e[17]!==n.control||e[18]!==l||e[19]!==u?(h=(0,a.jsx)(R,{control:n.control,name:l,render:u}),e[17]=n.control,e[18]=l,e[19]=u,e[20]=h):h=e[20],h},Ea=t=>{let e=(0,se.c)(10),{schema:r,form:n,path:l}=t,o;e[0]===r.description?o=e[1]:(o=G.parse(r.description),e[0]=r.description,e[1]=o);let{label:i,description:d,placeholder:p}=o,s;e[2]!==d||e[3]!==i||e[4]!==p?(s=u=>{let{field:h}=u;return(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:i}),(0,a.jsx)(A,{children:d}),(0,a.jsx)(V,{children:(0,a.jsx)(Fe,{...h,placeholder:p})}),(0,a.jsx)(E,{})]})},e[2]=d,e[3]=i,e[4]=p,e[5]=s):s=e[5];let c;return e[6]!==n.control||e[7]!==l||e[8]!==s?(c=(0,a.jsx)(R,{control:n.control,name:l,render:s}),e[6]=n.control,e[7]=l,e[8]=s,e[9]=c):c=e[9],c},Pa=t=>{let e=(0,se.c)(22),{schema:r,form:n,path:l,options:o,textTransform:i}=t,d;e[0]===r.description?d=e[1]:(d=G.parse(r.description),e[0]=r.description,e[1]=d);let{label:p,description:s,disabled:c,special:u}=d;if(u==="radio_group"){let m;e[2]!==s||e[3]!==p||e[4]!==o||e[5]!==l?(m=x=>{let{field:g}=x;return(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{children:p}),(0,a.jsx)(A,{children:s}),(0,a.jsx)(V,{children:(0,a.jsx)(Ie,{className:"flex flex-row gap-2 pt-1 items-center",value:g.value,onValueChange:g.onChange,children:o.map(v=>(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(qe,{value:v,id:`${l}-${v}`},v),(0,a.jsx)(S,{className:"whitespace-pre",htmlFor:`${l}-${v}`,children:ze.startCase(v)})]},v))})}),(0,a.jsx)(E,{})]})},e[2]=s,e[3]=p,e[4]=o,e[5]=l,e[6]=m):m=e[6];let j;return e[7]!==c||e[8]!==n.control||e[9]!==l||e[10]!==m?(j=(0,a.jsx)(R,{control:n.control,name:l,disabled:c,render:m}),e[7]=c,e[8]=n.control,e[9]=l,e[10]=m,e[11]=j):j=e[11],j}let h;e[12]!==s||e[13]!==p||e[14]!==o||e[15]!==i?(h=m=>{let{field:j}=m;return(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{className:"whitespace-pre",children:p}),(0,a.jsx)(A,{children:s}),(0,a.jsx)(V,{children:(0,a.jsxs)(Tr,{"data-testid":"marimo-plugin-data-frames-select",value:j.value,onValueChange:j.onChange,children:[(0,a.jsx)(zr,{className:"min-w-[180px]",children:(0,a.jsx)(qr,{placeholder:"--"})}),(0,a.jsx)(Gr,{children:(0,a.jsxs)(Mr,{children:[o.map(x=>(0,a.jsx)(Je,{value:x,children:(i==null?void 0:i(x))??x},x)),o.length===0&&(0,a.jsx)(Je,{disabled:!0,value:"--",children:"No options"})]})})]})}),(0,a.jsx)(E,{})]})},e[12]=s,e[13]=p,e[14]=o,e[15]=i,e[16]=h):h=e[16];let f;return e[17]!==c||e[18]!==n.control||e[19]!==l||e[20]!==h?(f=(0,a.jsx)(R,{control:n.control,name:l,disabled:c,render:h}),e[17]=c,e[18]=n.control,e[19]=l,e[20]=h,e[21]=f):f=e[21],f},La=t=>{let e=(0,se.c)(15),{schema:r,form:n,path:l,options:o,itemLabel:i,showSwitchable:d}=t,p;e[0]===r.description?p=e[1]:(p=G.parse(r.description),e[0]=r.description,e[1]=p);let{label:s,description:c,placeholder:u}=p,h;e[2]!==i||e[3]!==u?(h=u??(i?`Select ${i==null?void 0:i.toLowerCase()}`:void 0),e[2]=i,e[3]=u,e[4]=h):h=e[4];let f=h,m;e[5]!==c||e[6]!==s||e[7]!==o||e[8]!==f||e[9]!==d?(m=x=>{let{field:g}=x,v=be(g.value);return(0,a.jsxs)(P,{children:[(0,a.jsx)(S,{className:"whitespace-pre",children:s}),(0,a.jsx)(A,{children:c}),(0,a.jsx)(V,{children:d?(0,a.jsx)(vr,{...g,value:v,options:o,placeholder:f}):(0,a.jsx)(Le,{className:"min-w-[180px]",placeholder:f,displayValue:qa,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:v,onValueChange:g.onChange,children:o.map(Fa)})}),(0,a.jsx)(E,{})]})},e[5]=c,e[6]=s,e[7]=o,e[8]=f,e[9]=d,e[10]=m):m=e[10];let j;return e[11]!==n.control||e[12]!==l||e[13]!==m?(j=(0,a.jsx)(R,{control:n.control,name:l,render:m}),e[11]=n.control,e[12]=l,e[13]=m,e[14]=j):j=e[14],j};function $a(...t){return t.filter(e=>e!=="").join(".")}function Ia(t){return t.preventDefault()}function qa(t){return ze.startCase(t)}function Fa(t){return(0,a.jsx)(je,{value:t,children:t},t)}export{be as a,Ie as c,Qe as d,Le as f,Fe as i,qe as l,L as n,ge as o,je as p,vr as r,te as s,Aa as t,G as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as r}from"./useEvent-DlWF5OMa.js";import{s as o}from"./switch-
|
|
1
|
+
import{i as r}from"./useEvent-DlWF5OMa.js";import{s as o}from"./switch-C9iBa4rX.js";const m=()=>r.get(o),n=()=>{let e=document.querySelector("marimo-code");if(!e)return;let t=e.innerHTML;return decodeURIComponent(t).trim()};export{m as n,n as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as Z}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-DlWF5OMa.js";import{t as ge}from"./react-BGmjiNul.js";import{Bn as ye,Hn as je,Jn as be,Kr as te,Pt as re,Rn as ae,Yn as ve,_t as ke,ci as we,fn as se}from"./cells-Dk_j8HX9.js";import"./react-dom-C9fstfnp.js";import{t as oe}from"./compiler-runtime-DeeZ7FnK.js";import{a as Ne,f as _e}from"./hotkeys-uKX61F1_.js";import{n as A}from"./constants-Bkp4R3bQ.js";import{c as Se,f as Ce,m as ie,s as ze}from"./config-babG4OBR.js";import{t as Me}from"./ErrorBoundary-Drf1manw.js";import{t as Ie}from"./jsx-runtime-DN_bIXfG.js";import{t as U}from"./button-DuYGqRtX.js";import{t as De}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as V}from"./requests-C0HaHO6a.js";import{t as W}from"./createLucideIcon-CW2xpJ57.js";import{t as Pe}from"./chart-no-axes-column-D42sFB6d.js";import{_ as Oe}from"./select-D0g5GnIs.js";import{t as Re}from"./chevron-right-CqEd11Di.js";import{f as q,p as Te,r as Ae,t as le}from"./maps-s2pQkyf5.js";import{t as We}from"./circle-play-r3MHdB-P.js";import{a as Fe,p as He,r as Le,t as $e}from"./dropdown-menu-BP4_BZLr.js";import{r as Ue,t as Ve}from"./types-CiMSegk1.js";import{t as Ye}from"./file-BnFXtaZZ.js";import{i as Be,n as Je,r as qe,t as Ee}from"./youtube-BJQRl2JC.js";import{t as Ge}from"./link-54sBkoQp.js";import{t as E}from"./spinner-C1czjtp7.js";import{n as Qe,r as Ke,t as Xe}from"./app-config-button-BFjdAlTt.js";import{t as Ze}from"./refresh-ccw-DbW1_PHb.js";import{lt as et,r as tt}from"./input-CaEtLL8p.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as rt}from"./use-toast-Bzf3rpev.js";import"./Combination-D1TsGrBC.js";import{t as at}from"./tooltip-CvjcEpZC.js";import{i as st}from"./dates-CdsE1R40.js";import{o as ot}from"./alert-dialog-k5KxevGr.js";import{t as it}from"./context-BAYdLMF_.js";import"./popover-DtnzNVk-.js";import{n as lt}from"./ImperativeModal-q6QlC2aZ.js";import{a as nt,t as ne}from"./error-banner-DU5Qb8a8.js";import{t as ct}from"./tree-CeX0mTvA.js";import{n as G,t as mt}from"./useAsyncData-BJJJOr9W.js";import{t as dt}from"./label-qwandMoh.js";import{t as Q}from"./icons-D4lB4En9.js";import{t as ht}from"./links-ENMiP32L.js";import"./Inputs-DmoeP8nh.js";import{t as pt}from"./useInterval-DpipYmgs.js";var ft=W("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ut=W("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),xt=W("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),gt=W("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),yt=W("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),R=Z(ge(),1),K=oe(),a=Z(Ie(),1),jt={intro:["Introduction",ft,"Get started with marimo basics"],dataflow:["Dataflow",ve,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",ae,"Format text with parameterized markdown"],plots:["Plots",Pe,"Create interactive visualizations"],sql:["SQL",ye,"Query databases directly in marimo"],layout:["Layout",qe,"Customize the layout of your cells' output"],fileformat:["File format",Ye,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",gt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Q,"Using marimo to edit markdown files"]};const bt=()=>{let e=(0,K.c)(6),{openTutorial:t}=V(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(xt,{className:"w-4 h-4 mr-2"}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(He,{asChild:!0,children:(0,a.jsxs)(U,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Ae,{className:"w-3 h-3 ml-1"})]})}),e[1]=o):o=e[1];let s;e[2]===t?s=e[3]:(s=Ne.entries(jt).map(i=>{let[m,d]=i,[c,h,p]=d;return(0,a.jsxs)(Fe,{onSelect:async()=>{let n=await t({tutorialId:m});n&&ht(n.path)},children:[(0,a.jsx)(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:c}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:p})]})})]},m)}),e[2]=t,e[3]=s);let l;return e[4]===s?l=e[5]:(l=(0,a.jsxs)($e,{children:[o,(0,a.jsx)(Le,{side:"bottom",align:"end",className:"no-print",children:s})]}),e[4]=s,e[5]=l),l};var vt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:be,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Be,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Je,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Ee,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:ae,url:A.releasesPage}];const kt=()=>{let e=(0,K.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(Y,{Icon:Ge,children:"Resources"}),e[0]=t):t=e[0];let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[t,(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:vt.map(wt)})]}),e[1]=r):r=e[1],r},Y=e=>{let t=(0,K.c)(8),{Icon:r,control:o,children:s}=e,l;t[0]===r?l=t[1]:(l=(0,a.jsx)(r,{className:"h-5 w-5"}),t[0]=r,t[1]=l);let i;t[2]!==s||t[3]!==l?(i=(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[l,s]}),t[2]=s,t[3]=l,t[4]=i):i=t[4];let m;return t[5]!==o||t[6]!==i?(m=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,o]}),t[5]=o,t[6]=i,t[7]=m):m=t[7],m};function wt(e){return(0,a.jsxs)("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,a.jsx)(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const ce=R.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=R.createContext(""),Nt=te("marimo:home:include-markdown",!1,se,{getOnInit:!0}),de=te("marimo:home:expanded-folders",{},se,{getOnInit:!0});var P=oe();function he(e){return`${ze()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,R.useState)(0),{getRecentFiles:o,getRunningNotebooks:s}=V(),l;e[0]===o?l=e[1]:(l=()=>o(),e[0]=o,e[1]=l);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2];let m=G(l,i),d,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{r(Rt)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),pt(d,c);let h;e[5]===s?h=e[6]:(h=async()=>{let T=await s();return le.keyBy(T.files,Tt)},e[5]=s,e[6]=h);let p;e[7]===t?p=e[8]:(p=[t],e[7]=t,e[8]=p);let n=G(h,p),f,x,u,g,k,y,b,v,w,N,_,C,S;if(e[9]!==m||e[10]!==n){w=Symbol.for("react.early_return_sentinel");e:{let T=mt(m,n);if(T.error)throw T.error;let X=T.data;if(!X){let $;e[24]===Symbol.for("react.memo_cache_sentinel")?($=(0,a.jsx)(E,{centered:!0,size:"xlarge"}),e[24]=$):$=e[24],w=$;break e}let[ue,B]=X;g=ue,u=R.Suspense,x=ce,b={runningNotebooks:B,setRunningNotebooks:n.setData};let H,L;e[25]===Symbol.for("react.memo_cache_sentinel")?(H=(0,a.jsx)(bt,{}),L=(0,a.jsx)(Xe,{showAppConfig:!1}),e[25]=H,e[26]=L):(H=e[25],L=e[26]);let J=`This will shutdown the notebook server and terminate all running notebooks (${B.size}). You'll lose all data that's in memory.`;e[27]===J?v=e[28]:(v=(0,a.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[H,L,(0,a.jsx)(Qe,{description:J})]}),e[27]=J,e[28]=v),C="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),k=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(kt,{}),e[29]=k,e[30]=y,e[31]=S):(k=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(Y,{Icon:We,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...B.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=k,e[16]=y,e[17]=b,e[18]=v,e[19]=w,e[20]=N,e[21]=_,e[22]=C,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],k=e[15],y=e[16],b=e[17],v=e[18],w=e[19],N=e[20],_=e[21],C=e[22],S=e[23];if(w!==Symbol.for("react.early_return_sentinel"))return w;let z;e[33]!==f||e[34]!==N||e[35]!==_?(z=(0,a.jsx)(f,{header:N,files:_}),e[33]=f,e[34]=N,e[35]=_,e[36]=z):z=e[36];let I;e[37]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(Y,{Icon:je,children:"Recent notebooks"}),e[37]=I):I=e[37];let M;e[38]===g.files?M=e[39]:(M=(0,a.jsx)(pe,{header:I,files:g.files}),e[38]=g.files,e[39]=M);let O;e[40]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(Me,{children:(0,a.jsx)(St,{})}),e[40]=O):O=e[40];let j;e[41]!==k||e[42]!==y||e[43]!==z||e[44]!==M||e[45]!==C||e[46]!==S?(j=(0,a.jsxs)("div",{className:C,children:[S,k,y,z,M,O]}),e[41]=k,e[42]=y,e[43]=z,e[44]=M,e[45]=C,e[46]=S,e[47]=j):j=e[47];let D;e[48]!==x||e[49]!==b||e[50]!==v||e[51]!==j?(D=(0,a.jsxs)(x,{value:b,children:[v,j]}),e[48]=x,e[49]=b,e[50]=v,e[51]=j,e[52]=D):D=e[52];let F;return e[53]!==u||e[54]!==D?(F=(0,a.jsx)(u,{children:D}),e[53]=u,e[54]=D,e[55]=F):F=e[55],F},St=()=>{let e=(0,P.c)(48),{getWorkspaceFiles:t}=V(),[r,o]=ee(Nt),[s,l]=(0,R.useState)(""),i;e[0]!==t||e[1]!==r?(i=()=>t({includeMarkdown:r}),e[0]=t,e[1]=r,e[2]=i):i=e[2];let m;e[3]===r?m=e[4]:(m=[r],e[3]=r,e[4]=m);let{isPending:d,data:c,error:h,isFetching:p,refetch:n}=G(i,m);if(d){let j;return e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(E,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=j):j=e[5],j}if(h){let j;e[6]===h?j=e[7]:(j=nt(h),e[6]=h,e[7]=j);let D;return e[8]===j?D=e[9]:(D=(0,a.jsx)(ne,{kind:"danger",className:"rounded p-4",children:j}),e[8]=j,e[9]=D),D}let f;e[10]!==c.fileCount||e[11]!==c.hasMore?(f=c.hasMore&&(0,a.jsxs)(ne,{kind:"warn",className:"rounded p-4",children:["Showing first ",c.fileCount," files. Your workspace has more files."]}),e[10]=c.fileCount,e[11]=c.hasMore,e[12]=f):f=e[12];let x,u;e[13]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(et,{size:13}),u=j=>l(j.target.value),e[13]=x,e[14]=u):(x=e[13],u=e[14]);let g;e[15]===s?g=e[16]:(g=(0,a.jsx)(tt,{id:"search",value:s,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=s,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(Ct,{}),e[17]=k):k=e[17];let y;e[18]===o?y=e[19]:(y=j=>o(!!j),e[18]=o,e[19]=y);let b;e[20]!==r||e[21]!==y?(b=(0,a.jsx)(ke,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:r,onCheckedChange:y}),e[20]=r,e[21]=y,e[22]=b):b=e[22];let v;e[23]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(dt,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let w;e[24]!==g||e[25]!==b?(w=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,k,b,v]}),e[24]=g,e[25]=b,e[26]=w):w=e[26];let N;e[27]===n?N=e[28]:(N=()=>n(),e[27]=n,e[28]=N);let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Ze,{className:"w-4 h-4"}),e[29]=_):_=e[29];let C;e[30]===N?C=e[31]:(C=(0,a.jsx)(U,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:N,"aria-label":"Refresh workspace",children:_}),e[30]=N,e[31]=C);let S;e[32]===p?S=e[33]:(S=p&&(0,a.jsx)(E,{size:"small"}),e[32]=p,e[33]=S);let z;e[34]!==w||e[35]!==C||e[36]!==S?(z=(0,a.jsxs)(Y,{Icon:ut,control:w,children:["Workspace",C,S]}),e[34]=w,e[35]=C,e[36]=S,e[37]=z):z=e[37];let I;e[38]!==s||e[39]!==c.files?(I=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,a.jsx)(zt,{searchText:s,files:c.files})}),e[38]=s,e[39]=c.files,e[40]=I):I=e[40];let M;e[41]!==z||e[42]!==I||e[43]!==f?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,z,I]}),e[41]=z,e[42]=I,e[43]=f,e[44]=M):M=e[44];let O;return e[45]!==M||e[46]!==c.root?(O=(0,a.jsx)(me,{value:c.root,children:M}),e[45]=M,e[46]=c.root,e[47]=O):O=e[47],O},Ct=()=>{let e=(0,P.c)(5),t=xe(de),r;e[0]===t?r=e[1]:(r=()=>{t({})},e[0]=t,e[1]=r);let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(Te,{className:"w-4 h-4 mr-1"}),e[2]=o):o=e[2];let s;return e[3]===r?s=e[4]:(s=(0,a.jsxs)(U,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:r,children:[o,"Collapse all"]}),e[3]=r,e[4]=s),s},zt=e=>{let t=(0,P.c)(12),{files:r,searchText:o}=e,[s,l]=ee(de),i=Object.keys(s).length===0,m=(0,R.useRef)(void 0),d,c;if(t[0]===i?(d=t[1],c=t[2]):(d=()=>{var n;i&&((n=m.current)==null||n.closeAll())},c=[i],t[0]=i,t[1]=d,t[2]=c),(0,R.useEffect)(d,c),r.length===0){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,a.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=n):n=t[3],n}let h;t[4]!==s||t[5]!==l?(h=async n=>{let f=s[n]??!1;l({...s,[n]:!f})},t[4]=s,t[5]=l,t[6]=h):h=t[6];let p;return t[7]!==r||t[8]!==s||t[9]!==o||t[10]!==h?(p=(0,a.jsx)(ct,{ref:m,width:"100%",height:500,searchTerm:o,className:"h-full",idAccessor:At,data:r,openByDefault:!1,initialOpenState:s,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Wt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:Mt}),t[7]=r,t[8]=s,t[9]=o,t[10]=h,t[11]=p):p=t[11],p},Mt=e=>{let t=(0,P.c)(19),{node:r,style:o}=e,s=Ve[r.data.isDirectory?"directory":Ue(r.data.name)],l;t[0]===s?l=t[1]:(l=(0,a.jsx)(s,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=s,t[1]=l);let i=l,m=(0,R.use)(me),d;t[2]!==i||t[3]!==r.data.isDirectory||t[4]!==r.data.name||t[5]!==r.data.path||t[6]!==m?(d=()=>{if(r.data.isDirectory)return(0,a.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,r.data.name]});let u=r.data.path.startsWith(m)&&re.isAbsolute(r.data.path)?re.rest(r.data.path,m):r.data.path,g=u.endsWith(".md")||u.endsWith(".qmd");return(0,a.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:ie(`?file=${u}`).toString(),target:he(u),children:[i,(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[r.data.name,g&&(0,a.jsx)(Q,{className:"ml-2 inline opacity-80"})]}),(0,a.jsx)(fe,{filePath:u}),(0,a.jsx)(q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=i,t[3]=r.data.isDirectory,t[4]=r.data.name,t[5]=r.data.path,t[6]=m,t[7]=d):d=t[7];let c=d,h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=De("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=h):h=t[8];let p,n;t[9]===r?(p=t[10],n=t[11]):(p=u=>{u.stopPropagation(),r.data.isDirectory&&r.toggle()},n=(0,a.jsx)(It,{node:r}),t[9]=r,t[10]=p,t[11]=n);let f;t[12]===c?f=t[13]:(f=c(),t[12]=c,t[13]=f);let x;return t[14]!==o||t[15]!==p||t[16]!==n||t[17]!==f?(x=(0,a.jsxs)("div",{style:o,className:h,onClick:p,children:[n,f]}),t[14]=o,t[15]=p,t[16]=n,t[17]=f,t[18]=x):x=t[18],x},It=e=>{let t=(0,P.c)(3),{node:r}=e;if(!r.data.isDirectory){let s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),t[0]=s):s=t[0],s}let o;return t[1]===r.isOpen?o=t[2]:(o=r.isOpen?(0,a.jsx)(Oe,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(Re,{className:"w-5 h-5 shrink-0"}),t[1]=r.isOpen,t[2]=o),o},pe=e=>{let t=(0,P.c)(7),{header:r,files:o}=e;if(o.length===0)return null;let s;t[0]===o?s=t[1]:(s=o.map(Ft),t[0]=o,t[1]=s);let l;t[2]===s?l=t[3]:(l=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s}),t[2]=s,t[3]=l);let i;return t[4]!==r||t[5]!==l?(i=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[r,l]}),t[4]=r,t[5]=l,t[6]=i):i=t[6],i},Dt=e=>{let t=(0,P.c)(41),{file:r}=e,{locale:o}=it(),s;t[0]===r.path?s=t[1]:(s=Se(r.path),t[0]=r.path,t[1]=s);let l=s,i,m,d,c;if(t[2]!==r.initializationId||t[3]!==r.path||t[4]!==l){let N=ie(l?`?file=${r.initializationId}&session_id=${r.path}`:`?file=${r.path}`),_;t[9]===r.path?_=t[10]:(_=r.path.endsWith(".md"),t[9]=r.path,t[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",d=r.path,c=N.toString(),t[2]=r.initializationId,t[3]=r.path,t[4]=l,t[5]=i,t[6]=m,t[7]=d,t[8]=c}else i=t[5],m=t[6],d=t[7],c=t[8];let h=r.initializationId||r.path,p;t[11]===h?p=t[12]:(p=he(h),t[11]=h,t[12]=p);let n;t[13]===i?n=t[14]:(n=i&&(0,a.jsx)("span",{className:"opacity-80",children:(0,a.jsx)(Q,{})}),t[13]=i,t[14]=n);let f;t[15]!==r.name||t[16]!==n?(f=(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[r.name,n]}),t[15]=r.name,t[16]=n,t[17]=f):f=t[17];let x;t[18]===r.path?x=t[19]:(x=(0,a.jsx)("p",{title:r.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:r.path}),t[18]=r.path,t[19]=x);let u;t[20]!==f||t[21]!==x?(u=(0,a.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,x]}),t[20]=f,t[21]=x,t[22]=u):u=t[22];let g;t[23]===r.path?g=t[24]:(g=(0,a.jsx)("div",{children:(0,a.jsx)(fe,{filePath:r.path})}),t[23]=r.path,t[24]=g);let k;t[25]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=k):k=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,k]}),t[26]=g,t[27]=y);let b;t[28]!==r.lastModified||t[29]!==o?(b=!!r.lastModified&&(0,a.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:st(r.lastModified*1e3,o)}),t[28]=r.lastModified,t[29]=o,t[30]=b):b=t[30];let v;t[31]!==y||t[32]!==b?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[31]=y,t[32]=b,t[33]=v):v=t[33];let w;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(w=(0,a.jsxs)("a",{className:m,href:c,target:p,children:[u,v]},d),t[34]=u,t[35]=v,t[36]=m,t[37]=d,t[38]=c,t[39]=p,t[40]=w):w=t[40],w},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:o,closeModal:s}=lt(),{shutdownSession:l}=V(),{runningNotebooks:i,setRunningNotebooks:m}=(0,R.use)(ce);if(!i.has(r))return null;let d;t[0]!==s||t[1]!==r||t[2]!==o||t[3]!==i||t[4]!==m||t[5]!==l?(d=p=>{p.stopPropagation(),p.preventDefault(),o({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,a.jsx)(ot,{onClick:()=>{let n=i.get(r);we(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(le.keyBy(f.files,Ht))}),s(),rt({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=s,t[1]=r,t[2]=o,t[3]=i,t[4]=m,t[5]=l,t[6]=d):d=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Ke,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(at,{content:"Shutdown",children:(0,a.jsx)(U,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:d,children:c})}),t[8]=d,t[9]=h),h},Pt=()=>{let e=(0,P.c)(3),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Ce(),e[0]=t):t=e[0];let r=t,o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=o):o=e[1];let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsxs)("a",{className:`relative rounded-lg p-6 group
|
|
1
|
+
import{s as Z}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-DlWF5OMa.js";import{t as ge}from"./react-BGmjiNul.js";import{Bn as ye,Hn as je,Jn as be,Kr as te,Pt as re,Rn as ae,Yn as ve,_t as ke,ci as we,fn as se}from"./cells-D_SkyFDn.js";import"./react-dom-C9fstfnp.js";import{t as oe}from"./compiler-runtime-DeeZ7FnK.js";import{a as Ne,f as _e}from"./hotkeys-uKX61F1_.js";import{n as A}from"./constants-Bkp4R3bQ.js";import{c as Se,f as Ce,m as ie,s as ze}from"./config-babG4OBR.js";import{t as Me}from"./ErrorBoundary-Drf1manw.js";import{t as Ie}from"./jsx-runtime-DN_bIXfG.js";import{t as U}from"./button-DuYGqRtX.js";import{t as De}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as V}from"./requests-C0HaHO6a.js";import{t as W}from"./createLucideIcon-CW2xpJ57.js";import{t as Pe}from"./chart-no-axes-column-D42sFB6d.js";import{_ as Oe}from"./select-D0g5GnIs.js";import{t as Re}from"./chevron-right-CqEd11Di.js";import{f as q,p as Te,r as Ae,t as le}from"./maps-s2pQkyf5.js";import{t as We}from"./circle-play-r3MHdB-P.js";import{a as Fe,p as He,r as Le,t as $e}from"./dropdown-menu-BP4_BZLr.js";import{r as Ue,t as Ve}from"./types-VzFAm7Cv.js";import{t as Ye}from"./file-BnFXtaZZ.js";import{i as Be,n as Je,r as qe,t as Ee}from"./youtube-BJQRl2JC.js";import{t as Ge}from"./link-54sBkoQp.js";import{t as E}from"./spinner-C1czjtp7.js";import{n as Qe,r as Ke,t as Xe}from"./app-config-button-CsABtw-A.js";import{t as Ze}from"./refresh-ccw-DbW1_PHb.js";import{lt as et,r as tt}from"./input-CaEtLL8p.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as rt}from"./use-toast-Bzf3rpev.js";import"./Combination-D1TsGrBC.js";import{t as at}from"./tooltip-CvjcEpZC.js";import{i as st}from"./dates-CdsE1R40.js";import{o as ot}from"./alert-dialog-k5KxevGr.js";import{t as it}from"./context-BAYdLMF_.js";import"./popover-DtnzNVk-.js";import{n as lt}from"./ImperativeModal-q6QlC2aZ.js";import{a as nt,t as ne}from"./error-banner-DU5Qb8a8.js";import{t as ct}from"./tree-CeX0mTvA.js";import{n as G,t as mt}from"./useAsyncData-BJJJOr9W.js";import{t as dt}from"./label-qwandMoh.js";import{t as Q}from"./icons-D4lB4En9.js";import{t as ht}from"./links-ENMiP32L.js";import"./Inputs-DmoeP8nh.js";import{t as pt}from"./useInterval-DpipYmgs.js";var ft=W("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ut=W("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),xt=W("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),gt=W("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),yt=W("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),R=Z(ge(),1),K=oe(),a=Z(Ie(),1),jt={intro:["Introduction",ft,"Get started with marimo basics"],dataflow:["Dataflow",ve,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",ae,"Format text with parameterized markdown"],plots:["Plots",Pe,"Create interactive visualizations"],sql:["SQL",ye,"Query databases directly in marimo"],layout:["Layout",qe,"Customize the layout of your cells' output"],fileformat:["File format",Ye,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",gt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Q,"Using marimo to edit markdown files"]};const bt=()=>{let e=(0,K.c)(6),{openTutorial:t}=V(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(xt,{className:"w-4 h-4 mr-2"}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(He,{asChild:!0,children:(0,a.jsxs)(U,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Ae,{className:"w-3 h-3 ml-1"})]})}),e[1]=o):o=e[1];let s;e[2]===t?s=e[3]:(s=Ne.entries(jt).map(i=>{let[m,d]=i,[c,h,p]=d;return(0,a.jsxs)(Fe,{onSelect:async()=>{let n=await t({tutorialId:m});n&&ht(n.path)},children:[(0,a.jsx)(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:c}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:p})]})})]},m)}),e[2]=t,e[3]=s);let l;return e[4]===s?l=e[5]:(l=(0,a.jsxs)($e,{children:[o,(0,a.jsx)(Le,{side:"bottom",align:"end",className:"no-print",children:s})]}),e[4]=s,e[5]=l),l};var vt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:be,url:A.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Be,url:A.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Je,url:A.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Ee,url:A.youtube},{title:"Changelog",description:"See what's new in marimo",icon:ae,url:A.releasesPage}];const kt=()=>{let e=(0,K.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(Y,{Icon:Ge,children:"Resources"}),e[0]=t):t=e[0];let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[t,(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:vt.map(wt)})]}),e[1]=r):r=e[1],r},Y=e=>{let t=(0,K.c)(8),{Icon:r,control:o,children:s}=e,l;t[0]===r?l=t[1]:(l=(0,a.jsx)(r,{className:"h-5 w-5"}),t[0]=r,t[1]=l);let i;t[2]!==s||t[3]!==l?(i=(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[l,s]}),t[2]=s,t[3]=l,t[4]=i):i=t[4];let m;return t[5]!==o||t[6]!==i?(m=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,o]}),t[5]=o,t[6]=i,t[7]=m):m=t[7],m};function wt(e){return(0,a.jsxs)("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,a.jsx)(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const ce=R.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=R.createContext(""),Nt=te("marimo:home:include-markdown",!1,se,{getOnInit:!0}),de=te("marimo:home:expanded-folders",{},se,{getOnInit:!0});var P=oe();function he(e){return`${ze()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,R.useState)(0),{getRecentFiles:o,getRunningNotebooks:s}=V(),l;e[0]===o?l=e[1]:(l=()=>o(),e[0]=o,e[1]=l);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2];let m=G(l,i),d,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{r(Rt)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),pt(d,c);let h;e[5]===s?h=e[6]:(h=async()=>{let T=await s();return le.keyBy(T.files,Tt)},e[5]=s,e[6]=h);let p;e[7]===t?p=e[8]:(p=[t],e[7]=t,e[8]=p);let n=G(h,p),f,x,u,g,k,y,b,v,w,N,_,C,S;if(e[9]!==m||e[10]!==n){w=Symbol.for("react.early_return_sentinel");e:{let T=mt(m,n);if(T.error)throw T.error;let X=T.data;if(!X){let $;e[24]===Symbol.for("react.memo_cache_sentinel")?($=(0,a.jsx)(E,{centered:!0,size:"xlarge"}),e[24]=$):$=e[24],w=$;break e}let[ue,B]=X;g=ue,u=R.Suspense,x=ce,b={runningNotebooks:B,setRunningNotebooks:n.setData};let H,L;e[25]===Symbol.for("react.memo_cache_sentinel")?(H=(0,a.jsx)(bt,{}),L=(0,a.jsx)(Xe,{showAppConfig:!1}),e[25]=H,e[26]=L):(H=e[25],L=e[26]);let J=`This will shutdown the notebook server and terminate all running notebooks (${B.size}). You'll lose all data that's in memory.`;e[27]===J?v=e[28]:(v=(0,a.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[H,L,(0,a.jsx)(Qe,{description:J})]}),e[27]=J,e[28]=v),C="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),k=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(kt,{}),e[29]=k,e[30]=y,e[31]=S):(k=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(Y,{Icon:We,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...B.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=k,e[16]=y,e[17]=b,e[18]=v,e[19]=w,e[20]=N,e[21]=_,e[22]=C,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],k=e[15],y=e[16],b=e[17],v=e[18],w=e[19],N=e[20],_=e[21],C=e[22],S=e[23];if(w!==Symbol.for("react.early_return_sentinel"))return w;let z;e[33]!==f||e[34]!==N||e[35]!==_?(z=(0,a.jsx)(f,{header:N,files:_}),e[33]=f,e[34]=N,e[35]=_,e[36]=z):z=e[36];let I;e[37]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(Y,{Icon:je,children:"Recent notebooks"}),e[37]=I):I=e[37];let M;e[38]===g.files?M=e[39]:(M=(0,a.jsx)(pe,{header:I,files:g.files}),e[38]=g.files,e[39]=M);let O;e[40]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(Me,{children:(0,a.jsx)(St,{})}),e[40]=O):O=e[40];let j;e[41]!==k||e[42]!==y||e[43]!==z||e[44]!==M||e[45]!==C||e[46]!==S?(j=(0,a.jsxs)("div",{className:C,children:[S,k,y,z,M,O]}),e[41]=k,e[42]=y,e[43]=z,e[44]=M,e[45]=C,e[46]=S,e[47]=j):j=e[47];let D;e[48]!==x||e[49]!==b||e[50]!==v||e[51]!==j?(D=(0,a.jsxs)(x,{value:b,children:[v,j]}),e[48]=x,e[49]=b,e[50]=v,e[51]=j,e[52]=D):D=e[52];let F;return e[53]!==u||e[54]!==D?(F=(0,a.jsx)(u,{children:D}),e[53]=u,e[54]=D,e[55]=F):F=e[55],F},St=()=>{let e=(0,P.c)(48),{getWorkspaceFiles:t}=V(),[r,o]=ee(Nt),[s,l]=(0,R.useState)(""),i;e[0]!==t||e[1]!==r?(i=()=>t({includeMarkdown:r}),e[0]=t,e[1]=r,e[2]=i):i=e[2];let m;e[3]===r?m=e[4]:(m=[r],e[3]=r,e[4]=m);let{isPending:d,data:c,error:h,isFetching:p,refetch:n}=G(i,m);if(d){let j;return e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(E,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=j):j=e[5],j}if(h){let j;e[6]===h?j=e[7]:(j=nt(h),e[6]=h,e[7]=j);let D;return e[8]===j?D=e[9]:(D=(0,a.jsx)(ne,{kind:"danger",className:"rounded p-4",children:j}),e[8]=j,e[9]=D),D}let f;e[10]!==c.fileCount||e[11]!==c.hasMore?(f=c.hasMore&&(0,a.jsxs)(ne,{kind:"warn",className:"rounded p-4",children:["Showing first ",c.fileCount," files. Your workspace has more files."]}),e[10]=c.fileCount,e[11]=c.hasMore,e[12]=f):f=e[12];let x,u;e[13]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(et,{size:13}),u=j=>l(j.target.value),e[13]=x,e[14]=u):(x=e[13],u=e[14]);let g;e[15]===s?g=e[16]:(g=(0,a.jsx)(tt,{id:"search",value:s,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=s,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(Ct,{}),e[17]=k):k=e[17];let y;e[18]===o?y=e[19]:(y=j=>o(!!j),e[18]=o,e[19]=y);let b;e[20]!==r||e[21]!==y?(b=(0,a.jsx)(ke,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:r,onCheckedChange:y}),e[20]=r,e[21]=y,e[22]=b):b=e[22];let v;e[23]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(dt,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let w;e[24]!==g||e[25]!==b?(w=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,k,b,v]}),e[24]=g,e[25]=b,e[26]=w):w=e[26];let N;e[27]===n?N=e[28]:(N=()=>n(),e[27]=n,e[28]=N);let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Ze,{className:"w-4 h-4"}),e[29]=_):_=e[29];let C;e[30]===N?C=e[31]:(C=(0,a.jsx)(U,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:N,"aria-label":"Refresh workspace",children:_}),e[30]=N,e[31]=C);let S;e[32]===p?S=e[33]:(S=p&&(0,a.jsx)(E,{size:"small"}),e[32]=p,e[33]=S);let z;e[34]!==w||e[35]!==C||e[36]!==S?(z=(0,a.jsxs)(Y,{Icon:ut,control:w,children:["Workspace",C,S]}),e[34]=w,e[35]=C,e[36]=S,e[37]=z):z=e[37];let I;e[38]!==s||e[39]!==c.files?(I=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,a.jsx)(zt,{searchText:s,files:c.files})}),e[38]=s,e[39]=c.files,e[40]=I):I=e[40];let M;e[41]!==z||e[42]!==I||e[43]!==f?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,z,I]}),e[41]=z,e[42]=I,e[43]=f,e[44]=M):M=e[44];let O;return e[45]!==M||e[46]!==c.root?(O=(0,a.jsx)(me,{value:c.root,children:M}),e[45]=M,e[46]=c.root,e[47]=O):O=e[47],O},Ct=()=>{let e=(0,P.c)(5),t=xe(de),r;e[0]===t?r=e[1]:(r=()=>{t({})},e[0]=t,e[1]=r);let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(Te,{className:"w-4 h-4 mr-1"}),e[2]=o):o=e[2];let s;return e[3]===r?s=e[4]:(s=(0,a.jsxs)(U,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:r,children:[o,"Collapse all"]}),e[3]=r,e[4]=s),s},zt=e=>{let t=(0,P.c)(12),{files:r,searchText:o}=e,[s,l]=ee(de),i=Object.keys(s).length===0,m=(0,R.useRef)(void 0),d,c;if(t[0]===i?(d=t[1],c=t[2]):(d=()=>{var n;i&&((n=m.current)==null||n.closeAll())},c=[i],t[0]=i,t[1]=d,t[2]=c),(0,R.useEffect)(d,c),r.length===0){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,a.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=n):n=t[3],n}let h;t[4]!==s||t[5]!==l?(h=async n=>{let f=s[n]??!1;l({...s,[n]:!f})},t[4]=s,t[5]=l,t[6]=h):h=t[6];let p;return t[7]!==r||t[8]!==s||t[9]!==o||t[10]!==h?(p=(0,a.jsx)(ct,{ref:m,width:"100%",height:500,searchTerm:o,className:"h-full",idAccessor:At,data:r,openByDefault:!1,initialOpenState:s,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Wt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:Mt}),t[7]=r,t[8]=s,t[9]=o,t[10]=h,t[11]=p):p=t[11],p},Mt=e=>{let t=(0,P.c)(19),{node:r,style:o}=e,s=Ve[r.data.isDirectory?"directory":Ue(r.data.name)],l;t[0]===s?l=t[1]:(l=(0,a.jsx)(s,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=s,t[1]=l);let i=l,m=(0,R.use)(me),d;t[2]!==i||t[3]!==r.data.isDirectory||t[4]!==r.data.name||t[5]!==r.data.path||t[6]!==m?(d=()=>{if(r.data.isDirectory)return(0,a.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,r.data.name]});let u=r.data.path.startsWith(m)&&re.isAbsolute(r.data.path)?re.rest(r.data.path,m):r.data.path,g=u.endsWith(".md")||u.endsWith(".qmd");return(0,a.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:ie(`?file=${u}`).toString(),target:he(u),children:[i,(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[r.data.name,g&&(0,a.jsx)(Q,{className:"ml-2 inline opacity-80"})]}),(0,a.jsx)(fe,{filePath:u}),(0,a.jsx)(q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=i,t[3]=r.data.isDirectory,t[4]=r.data.name,t[5]=r.data.path,t[6]=m,t[7]=d):d=t[7];let c=d,h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=De("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=h):h=t[8];let p,n;t[9]===r?(p=t[10],n=t[11]):(p=u=>{u.stopPropagation(),r.data.isDirectory&&r.toggle()},n=(0,a.jsx)(It,{node:r}),t[9]=r,t[10]=p,t[11]=n);let f;t[12]===c?f=t[13]:(f=c(),t[12]=c,t[13]=f);let x;return t[14]!==o||t[15]!==p||t[16]!==n||t[17]!==f?(x=(0,a.jsxs)("div",{style:o,className:h,onClick:p,children:[n,f]}),t[14]=o,t[15]=p,t[16]=n,t[17]=f,t[18]=x):x=t[18],x},It=e=>{let t=(0,P.c)(3),{node:r}=e;if(!r.data.isDirectory){let s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),t[0]=s):s=t[0],s}let o;return t[1]===r.isOpen?o=t[2]:(o=r.isOpen?(0,a.jsx)(Oe,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(Re,{className:"w-5 h-5 shrink-0"}),t[1]=r.isOpen,t[2]=o),o},pe=e=>{let t=(0,P.c)(7),{header:r,files:o}=e;if(o.length===0)return null;let s;t[0]===o?s=t[1]:(s=o.map(Ft),t[0]=o,t[1]=s);let l;t[2]===s?l=t[3]:(l=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s}),t[2]=s,t[3]=l);let i;return t[4]!==r||t[5]!==l?(i=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[r,l]}),t[4]=r,t[5]=l,t[6]=i):i=t[6],i},Dt=e=>{let t=(0,P.c)(41),{file:r}=e,{locale:o}=it(),s;t[0]===r.path?s=t[1]:(s=Se(r.path),t[0]=r.path,t[1]=s);let l=s,i,m,d,c;if(t[2]!==r.initializationId||t[3]!==r.path||t[4]!==l){let N=ie(l?`?file=${r.initializationId}&session_id=${r.path}`:`?file=${r.path}`),_;t[9]===r.path?_=t[10]:(_=r.path.endsWith(".md"),t[9]=r.path,t[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",d=r.path,c=N.toString(),t[2]=r.initializationId,t[3]=r.path,t[4]=l,t[5]=i,t[6]=m,t[7]=d,t[8]=c}else i=t[5],m=t[6],d=t[7],c=t[8];let h=r.initializationId||r.path,p;t[11]===h?p=t[12]:(p=he(h),t[11]=h,t[12]=p);let n;t[13]===i?n=t[14]:(n=i&&(0,a.jsx)("span",{className:"opacity-80",children:(0,a.jsx)(Q,{})}),t[13]=i,t[14]=n);let f;t[15]!==r.name||t[16]!==n?(f=(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[r.name,n]}),t[15]=r.name,t[16]=n,t[17]=f):f=t[17];let x;t[18]===r.path?x=t[19]:(x=(0,a.jsx)("p",{title:r.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:r.path}),t[18]=r.path,t[19]=x);let u;t[20]!==f||t[21]!==x?(u=(0,a.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,x]}),t[20]=f,t[21]=x,t[22]=u):u=t[22];let g;t[23]===r.path?g=t[24]:(g=(0,a.jsx)("div",{children:(0,a.jsx)(fe,{filePath:r.path})}),t[23]=r.path,t[24]=g);let k;t[25]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=k):k=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,k]}),t[26]=g,t[27]=y);let b;t[28]!==r.lastModified||t[29]!==o?(b=!!r.lastModified&&(0,a.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:st(r.lastModified*1e3,o)}),t[28]=r.lastModified,t[29]=o,t[30]=b):b=t[30];let v;t[31]!==y||t[32]!==b?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[31]=y,t[32]=b,t[33]=v):v=t[33];let w;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(w=(0,a.jsxs)("a",{className:m,href:c,target:p,children:[u,v]},d),t[34]=u,t[35]=v,t[36]=m,t[37]=d,t[38]=c,t[39]=p,t[40]=w):w=t[40],w},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:o,closeModal:s}=lt(),{shutdownSession:l}=V(),{runningNotebooks:i,setRunningNotebooks:m}=(0,R.use)(ce);if(!i.has(r))return null;let d;t[0]!==s||t[1]!==r||t[2]!==o||t[3]!==i||t[4]!==m||t[5]!==l?(d=p=>{p.stopPropagation(),p.preventDefault(),o({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,a.jsx)(ot,{onClick:()=>{let n=i.get(r);we(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(le.keyBy(f.files,Ht))}),s(),rt({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=s,t[1]=r,t[2]=o,t[3]=i,t[4]=m,t[5]=l,t[6]=d):d=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Ke,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(at,{content:"Shutdown",children:(0,a.jsx)(U,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:d,children:c})}),t[8]=d,t[9]=h),h},Pt=()=>{let e=(0,P.c)(3),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Ce(),e[0]=t):t=e[0];let r=t,o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=o):o=e[1];let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsxs)("a",{className:`relative rounded-lg p-6 group
|
|
2
2
|
text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
|
|
3
3
|
transition-all duration-300 cursor-pointer
|
|
4
4
|
`,href:r,target:"_blank",rel:"noreferrer",children:[o,(0,a.jsx)("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:(0,a.jsx)(q,{size:24})})]}),e[2]=s):s=e[2],s},Ot=_t;function Rt(e){return e+1}function Tt(e){return e.path}function At(e){return e.path}function Wt(){return null}function Ft(e){return(0,a.jsx)(Dt,{file:e},e.path)}function Ht(e){return e.path}export{Ot as default};
|