@marimo-team/frontend 0.18.5-dev186 → 0.18.5-dev189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/assets/{CellStatus-DqLx71xI.js → CellStatus-Bo1x1B6n.js} +1 -1
  2. package/dist/assets/{JsonOutput-3u2O9mUd.js → JsonOutput-BCHaEg3R.js} +1 -1
  3. package/dist/assets/MarimoErrorOutput-BIIhR96K.js +7 -0
  4. package/dist/assets/{RenderHTML-Dp8s4Bzr.js → RenderHTML-BUhX0rkG.js} +1 -1
  5. package/dist/assets/{add-cell-with-ai-DTIq0l6h.js → add-cell-with-ai-CLrEdPGH.js} +1 -1
  6. package/dist/assets/{add-database-form-C20ZnUUx.js → add-database-form-DkSxzOXk.js} +1 -1
  7. package/dist/assets/{agent-panel-D08HI0-X.js → agent-panel-Bz7HLWO3.js} +2 -2
  8. package/dist/assets/{ai-model-dropdown-CK5sei5N.js → ai-model-dropdown-ea-cOLAL.js} +1 -1
  9. package/dist/assets/{app-config-button-Ce5Tkr5O.js → app-config-button-BFjdAlTt.js} +1 -1
  10. package/dist/assets/{cell-link-B7EjqLUL.js → cell-link-DNVmmRzI.js} +1 -1
  11. package/dist/assets/{cells-BLhvmrVl.js → cells-Dk_j8HX9.js} +50 -50
  12. package/dist/assets/{chat-components-DHkUyXWV.js → chat-components-BMWBGknq.js} +1 -1
  13. package/dist/assets/{chat-display-DZMIiHZy.js → chat-display-CEYX5MXY.js} +1 -1
  14. package/dist/assets/{chat-panel-Bm-_lPiR.js → chat-panel-DmUjYxAt.js} +1 -1
  15. package/dist/assets/{client-hHcgVFo7.js → client-D08Rbi3p.js} +1 -1
  16. package/dist/assets/{column-preview-B1AyyIgE.js → column-preview-Cqovvoyb.js} +1 -1
  17. package/dist/assets/{command-CDWT71Ts.js → command-gUA-HncX.js} +1 -1
  18. package/dist/assets/{command-palette-BcPZK2Wg.js → command-palette-Dt43cGFk.js} +1 -1
  19. package/dist/assets/{common-4ZdFNk6L.js → common-BWR26KIv.js} +1 -1
  20. package/dist/assets/{datasource-DNy_uzDr.js → datasource-i415crE1.js} +1 -1
  21. package/dist/assets/{dependency-graph-panel-B6oPfRTp.js → dependency-graph-panel-BwaKuCE7.js} +1 -1
  22. package/dist/assets/{documentation-panel-BRHbbFlV.js → documentation-panel-C4aTmugE.js} +1 -1
  23. package/dist/assets/{download-DPiYP-j0.js → download-Dsuja3On.js} +1 -1
  24. package/dist/assets/edit-page-sCQCmucY.js +12 -0
  25. package/dist/assets/{error-panel-qGIXpWqc.js → error-panel-DCozbyWc.js} +1 -1
  26. package/dist/assets/{es-CR1H2K7u.js → es-DjCjT1hB.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-DdOLBo1H.js → file-explorer-panel-BvRpCXWv.js} +1 -1
  28. package/dist/assets/{floating-outline-foC3RCPc.js → floating-outline-DYdnwTX9.js} +1 -1
  29. package/dist/assets/{focus-CgHW_IRL.js → focus-U1ePwk4d.js} +1 -1
  30. package/dist/assets/{form-NWifpNWT.js → form-D8BW7hlS.js} +1 -1
  31. package/dist/assets/{glide-data-editor-Brckuic5.js → glide-data-editor-DqvrqciP.js} +1 -1
  32. package/dist/assets/{globals-CiRTn5Vt.js → globals-BBskDqJi.js} +1 -1
  33. package/dist/assets/{home-page-WElJkZm5.js → home-page-c43aYnLs.js} +1 -1
  34. package/dist/assets/{index-CBtg35hI.js → index-BG4TYPt5.js} +4 -4
  35. package/dist/assets/{kiosk-mode-vS4t3di8.js → kiosk-mode-C23fjW_G.js} +1 -1
  36. package/dist/assets/{layout-D1qNIXxE.js → layout-DenYhPfS.js} +1 -1
  37. package/dist/assets/{logs-panel-BUqhCH8r.js → logs-panel-CmImbuAp.js} +1 -1
  38. package/dist/assets/{markdown-renderer-DgV_KnEf.js → markdown-renderer-COkLQ1b5.js} +1 -1
  39. package/dist/assets/{mode-BeOhz3YE.js → mode-BOijHAOc.js} +1 -1
  40. package/dist/assets/{name-cell-input-lVGcUDBb.js → name-cell-input-Cf2CUXDm.js} +1 -1
  41. package/dist/assets/{outline-panel-DHLUaY4X.js → outline-panel-CdaUT0TE.js} +1 -1
  42. package/dist/assets/{packages-panel-DhVyvWkj.js → packages-panel-CghFsvM0.js} +1 -1
  43. package/dist/assets/{panel-context-B3nGD1_W.js → panel-context-DUUPei-R.js} +1 -1
  44. package/dist/assets/{panels-BMfGXS7h.js → panels-CymS0QU-.js} +1 -1
  45. package/dist/assets/{process-output-C2mignv4.js → process-output-BAfpcew-.js} +1 -1
  46. package/dist/assets/{readonly-python-code-C3URGhHv.js → readonly-python-code-B8gfuyX1.js} +1 -1
  47. package/dist/assets/{run-page-BqTaOWHL.js → run-page-rr9Ilre7.js} +1 -1
  48. package/dist/assets/{scratchpad-panel-5FCgSkW8.js → scratchpad-panel-fzQUjA3o.js} +1 -1
  49. package/dist/assets/{session-panel-6od-_OeM.js → session-panel-BsMBi24k.js} +1 -1
  50. package/dist/assets/{snippets-panel-CAAC62vz.js → snippets-panel-DW6lWuPh.js} +1 -1
  51. package/dist/assets/{state-CGIjjAWG.js → state-DWEWL_KV.js} +1 -1
  52. package/dist/assets/{state-CoslvOiH.js → state-HUtu_wpA.js} +1 -1
  53. package/dist/assets/{switch-BLEwkiUl.js → switch-Cd5iA-KH.js} +1 -1
  54. package/dist/assets/{textarea-S24k5l8r.js → textarea-jTWtOsHe.js} +1 -1
  55. package/dist/assets/{tracing-Cl31yJ-W.js → tracing-CDJRdFd4.js} +1 -1
  56. package/dist/assets/{tracing-panel-Cw103_Tm.js → tracing-panel-BrBmQCJr.js} +2 -2
  57. package/dist/assets/{types-DiksLxkJ.js → types-CiMSegk1.js} +1 -1
  58. package/dist/assets/{useAddCell-DGhb_PpU.js → useAddCell-FisWjOQO.js} +1 -1
  59. package/dist/assets/{useCellActionButton-COxDEyF8.js → useCellActionButton-DLwn_yx9.js} +1 -1
  60. package/dist/assets/{useDeleteCell-BVWdwuvc.js → useDeleteCell-CFtiNna2.js} +1 -1
  61. package/dist/assets/{useDependencyPanelTab-DgtlzfpF.js → useDependencyPanelTab-DWfKzMhf.js} +1 -1
  62. package/dist/assets/{useNotebookActions-BeEH92nn.js → useNotebookActions-B4HR9n-p.js} +1 -1
  63. package/dist/assets/{useRunCells-Buew9vMX.js → useRunCells-DLQFWY1L.js} +1 -1
  64. package/dist/assets/{useSplitCell-LsoCeBEb.js → useSplitCell-DDFoE9WM.js} +1 -1
  65. package/dist/assets/{utilities.esm-BAGxBLhu.js → utilities.esm-DlnAwGsz.js} +1 -1
  66. package/dist/index.html +31 -31
  67. package/package.json +1 -1
  68. package/src/components/editor/chrome/state.ts +62 -24
  69. package/src/components/editor/chrome/wrapper/app-chrome.tsx +4 -8
  70. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  71. package/src/components/editor/chrome/wrapper/footer.tsx +5 -13
  72. package/src/components/editor/chrome/wrapper/sidebar.tsx +2 -3
  73. package/src/components/editor/output/MarimoErrorOutput.tsx +2 -2
  74. package/src/components/terminal/hooks.ts +2 -2
  75. package/src/plugins/impl/data-editor/glide-data-editor.tsx +0 -1
  76. package/dist/assets/MarimoErrorOutput-HLzwepOd.js +0 -7
  77. package/dist/assets/edit-page-BNwlX8qM.js +0 -12
@@ -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-BLhvmrVl.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-HLzwepOd.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-B7EjqLUL.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
+ 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-Dk_j8HX9.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-BIIhR96K.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-DNVmmRzI.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-BLhvmrVl.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-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(`
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-BLhvmrVl.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-3u2O9mUd.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-DPiYP-j0.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-DgV_KnEf.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-DiksLxkJ.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-CR1H2K7u.js";import{o as Tt}from"./focus-CgHW_IRL.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-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 +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-BLhvmrVl.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-BeOhz3YE.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
+ 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-Dk_j8HX9.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-BOijHAOc.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-BLhvmrVl.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
+ import{p as s,u as C}from"./useEvent-DlWF5OMa.js";import{v as d}from"./cells-Dk_j8HX9.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-BLhvmrVl.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-S24k5l8r.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-CDWT71Ts.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-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=`
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};
@@ -129,4 +129,4 @@ var C0=Object.defineProperty;var S0=(Kr,Cr,Yr)=>Cr in Kr?C0(Kr,Cr,{enumerable:!0
129
129
  `),rawValue:we});return Je===void 0?void 0:(Zt(Je.kind===G.kind),{location:ge,value:Je})}}}let z=A.columns,N=A.rows,W=(($=dt.current)==null?void 0:$.contains(document.activeElement))===!0||((V=a.current)==null?void 0:V.contains(document.activeElement))===!0,Y;if(A.current===void 0?z.length===1?Y=[z.first()??0,0]:N.length===1&&(Y=[B,N.first()??0]):Y=[A.current.range.x,A.current.range.y],W&&Y!==void 0){let G,ge,we="text/plain",ie="text/html";if(navigator.clipboard.read!==void 0){let Te=await navigator.clipboard.read();for(let Se of Te){if(Se.types.includes(ie)){let Je=na(await(await Se.getType(ie)).text());if(Je!==void 0){G=Je;break}}Se.types.includes(we)&&(ge=await(await Se.getType(we)).text())}}else if(navigator.clipboard.readText!==void 0)ge=await navigator.clipboard.readText();else if(g!==void 0&&(g==null?void 0:g.clipboardData)!==null)g.clipboardData.types.includes(ie)&&(G=na(g.clipboardData.getData(ie))),G===void 0&&g.clipboardData.types.includes(we)&&(ge=g.clipboardData.getData(we));else return;let[Ce,ze]=Y,Ze=[];do{if(Ue===void 0){let Te=qt(Y),Se=ge??(G==null?void 0:G.map(Yt=>Yt.map(Lt=>Lt.rawValue).join(" ")).join(" "))??"",Je=D(Te,Y,Se,void 0);Je!==void 0&&Ze.push(Je);break}if(G===void 0){if(ge===void 0)return;G=Dd(ge)}if(Ue===!1||typeof Ue=="function"&&(Ue==null?void 0:Ue([Y[0]-B,Y[1]],G.map(Te=>Te.map(Se=>{var Je;return((Je=Se.rawValue)==null?void 0:Je.toString())??""}))))!==!0)return;for(let[Te,Se]of G.entries()){if(Te+ze>=Ie)break;for(let[Je,Yt]of Se.entries()){let Lt=[Je+Ce,Te+ze],[hr,xr]=Lt;if(hr>=ot.length||xr>=Wt)continue;let nr=D(qt(Lt),Lt,Yt.rawValue,Yt.formatted);nr!==void 0&&Ze.push(nr)}}}while(!1);tr(Ze),(Z=Kt.current)==null||Z.damage(Ze.map(Te=>({cell:Te.location})))}},[F,Ht,qt,A,yr.paste,dt,ot.length,tr,Wt,Ue,B,Ie]);jt("paste",_i,f,!1,!0);let uo=d.useCallback(async(g,D)=>{var $,V;if(!yr.copy)return;let z=D===!0||(($=dt.current)==null?void 0:$.contains(document.activeElement))===!0||((V=a.current)==null?void 0:V.contains(document.activeElement))===!0,N=A.columns,W=A.rows,Y=(Z,G)=>{zd(me?[G.map(ge=>({kind:pe.Text,data:M[ge].title,displayData:M[ge].title,allowOverlay:!1})),...Z]:Z,G,g)};if(z&&ve!==void 0){if(A.current!==void 0){let Z=ve(A.current.range,ce.current.signal);typeof Z!="object"&&(Z=await Z()),Y(Z,(0,bn.default)(A.current.range.x-B,A.current.range.x+A.current.range.width-B))}else if(W!==void 0&&W.length>0){let Z=[...W].map(G=>{let ge=ve({x:B,y:G,width:M.length,height:1},ce.current.signal);return typeof ge=="object"?ge[0]:ge().then(we=>we[0])});Z.some(G=>G instanceof Promise)?Y(await Promise.all(Z),(0,bn.default)(M.length)):Y(Z,(0,bn.default)(M.length))}else if(N.length>0){let Z=[],G=[];for(let ge of N){let we=ve({x:ge,y:0,width:1,height:Ie},ce.current.signal);typeof we!="object"&&(we=await we()),Z.push(we),G.push(ge-B)}Z.length===1?Y(Z[0],G):Y(Z.reduce((ge,we)=>ge.map((ie,Ce)=>[...ie,...we[Ce]])),G)}}},[M,ve,A,yr.copy,B,dt,Ie,me]);jt("copy",uo,f,!1,!1),jt("cut",d.useCallback(async g=>{var D,z;if(yr.cut&&(((D=dt.current)==null?void 0:D.contains(document.activeElement))===!0||((z=a.current)==null?void 0:z.contains(document.activeElement))===!0)&&(await uo(g),A.current!==void 0)){let N={current:{cell:A.current.cell,range:A.current.range,rangeStack:[]},rows:nt.empty(),columns:nt.empty()},W=lt==null?void 0:lt(N);if(W===!1||(N=W===!0?N:W,N.current===void 0))return;hn(N.current.range)}},[hn,A,yr.cut,uo,dt,lt]),f,!1,!1);let c0=d.useCallback((g,D)=>{if(de!==void 0){B!==0&&(g=g.map(W=>[W[0]-B,W[1]])),de(g,D);return}if(g.length===0||D===-1)return;let[z,N]=g[D];u.current!==void 0&&u.current[0]===z&&u.current[1]===N||(u.current=[z,N],Br(z,N,!1,!1))},[de,B,Br]),[Vo,Ko]=(($a=wt==null?void 0:wt.current)==null?void 0:$a.cell)??[],Yo=d.useRef(It);Yo.current=It,d.useLayoutEffect(()=>{var g,D,z,N;Fi.current&&!Ao.current&&Vo!==void 0&&Ko!==void 0&&(Vo!==((D=(g=st.current)==null?void 0:g.current)==null?void 0:D.cell[0])||Ko!==((N=(z=st.current)==null?void 0:z.current)==null?void 0:N.cell[1]))&&Yo.current(Vo,Ko),Ao.current=!1},[Vo,Ko]);let ja=A.current!==void 0&&(A.current.cell[0]>=ot.length||A.current.cell[1]>=Wt);d.useLayoutEffect(()=>{ja&&he(Ro,!1)},[ja,he]);let u0=d.useMemo(()=>bt===!0&&(Re==null?void 0:Re.tint)===!0?nt.fromSingleSelection(Wt-1):nt.empty(),[Wt,bt,Re==null?void 0:Re.tint]),d0=d.useCallback(g=>typeof $e=="boolean"?$e:($e==null?void 0:$e(g-B))??!0,[B,$e]),h0=d.useMemo(()=>{if(Hi===void 0||a.current===null)return null;let{bounds:g,group:D}=Hi,z=a.current.getBoundingClientRect();return d.createElement(Cd,{bounds:g,group:D,canvasBounds:z,onClose:()=>Di(void 0),onFinish:N=>{Di(void 0),se==null||se(D,N)}})},[se,Hi]),f0=Math.min(ot.length,be+(er?1:0));d.useImperativeHandle(t,()=>({appendRow:(g,D)=>On(g+B,D),updateCells:g=>{var D;return B!==0&&(g=g.map(z=>({cell:[z.cell[0]+B,z.cell[1]]}))),(D=Kt.current)==null?void 0:D.damage(g)},getBounds:(g,D)=>{var z;if(!((a==null?void 0:a.current)===null||(dt==null?void 0:dt.current)===null)){if(g===void 0&&D===void 0){let N=a.current.getBoundingClientRect(),W=N.width/dt.current.clientWidth;return{x:N.x-dt.current.scrollLeft*W,y:N.y-dt.current.scrollTop*W,width:dt.current.scrollWidth*W,height:dt.current.scrollHeight*W}}return(z=Kt.current)==null?void 0:z.getBounds((g??0)+B,D)}},focus:()=>{var g;return(g=Kt.current)==null?void 0:g.focus()},emit:async g=>{switch(g){case"delete":co({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!1,key:"Delete",keyCode:46,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-right":co({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"r",keyCode:82,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"fill-down":co({bounds:void 0,cancel:()=>{},stopPropagation:()=>{},preventDefault:()=>{},ctrlKey:!0,key:"d",keyCode:68,metaKey:!1,shiftKey:!1,altKey:!1,rawEvent:void 0,location:void 0});break;case"copy":await uo(void 0,!0);break;case"paste":await _i();break}},scrollTo:It,remeasureColumns:g=>{for(let D of g)Bo(D+B)}}),[On,Bo,dt,uo,co,_i,B,It]);let[Fa,_a]=br??[],g0=d.useCallback(g=>{let[D,z]=g;if(z===-1){Qe!=="none"&&(Pe(nt.fromSingleSelection(D),void 0,!1),Bt());return}Fa===D&&_a===z||(gt({cell:g,range:{x:D,y:z,width:1,height:1}},!0,!1,"keyboard-nav"),It(D,z))},[Qe,Bt,It,Fa,_a,gt,Pe]),[p0,m0]=d.useState(!1),Na=d.useRef((0,qd.default)(g=>{m0(g)},5)),v0=d.useCallback(()=>{Na.current(!0),A.current===void 0&&A.columns.length===0&&A.rows.length===0&&s===void 0&&gt({cell:[B,Lo],range:{x:B,y:Lo,width:1,height:1}},!0,!1,"keyboard-select")},[Lo,A,s,B,gt]),w0=d.useCallback(()=>{Na.current(!1)},[]),[y0,b0]=d.useMemo(()=>{let g,D=(Ct==null?void 0:Ct.scrollbarWidthOverride)??oi(),z=Ie+(bt?1:0);if(typeof wr=="number")g=oo+z*wr;else{let W=0,Y=Math.min(z,10);for(let $=0;$<Y;$++)W+=wr($);W=Math.floor(W/Y),g=oo+z*W}g+=D;let N=ot.reduce((W,Y)=>Y.width+W,0)+D;return[`${Math.min(1e5,N)}px`,`${Math.min(1e5,g)}px`]},[ot,Ct==null?void 0:Ct.scrollbarWidthOverride,wr,Ie,bt,oo]),x0=d.useMemo(()=>ef(at),[at]);return d.createElement(tf.Provider,{value:at},d.createElement(Fd,{style:x0,className:_,inWidth:v??y0,inHeight:S??b0},d.createElement(yd,{fillHandle:Et,drawFocusRing:Jn,experimental:Ct,fixedShadowX:Tt,fixedShadowY:At,getRowThemeOverride:ar,headerIcons:Mr,imageWindowLoader:Eo,initialSize:jr,isDraggable:Rr,onDragLeave:Er,onRowMoved:vr,overscrollX:ro,overscrollY:no,preventDiagonalScrolling:Cn,rightElement:Sn,rightElementProps:kn,smoothScrollX:Qr,smoothScrollY:Fr,className:_,enableGroups:Ii,onCanvasFocused:v0,onCanvasBlur:w0,canvasRef:a,onContextMenu:s0,theme:at,cellXOffset:Uh,cellYOffset:Lo,accessibilityHeight:sn.height,onDragEnd:i0,columns:ot,nonGrowWidth:Sa,drawHeader:Ot,onColumnProposeMove:w,drawCell:Ut,disabledRows:u0,freezeColumns:f0,lockColumns:B,firstColAccessible:B===0,getCellContent:qt,minColumnWidth:Or,maxColumnWidth:rn,searchInputRef:l,showSearch:ye,onSearchClose:fe,highlightRegions:Xh,getCellsForSelection:ve,getGroupDetails:Oi,headerHeight:nn,isFocused:p0,groupHeaderHeight:Ii?to:0,freezeTrailingRows:yt+(bt&&(Re==null?void 0:Re.sticky)===!0?1:0),hasAppendRow:bt,onColumnResize:Le,onColumnResizeEnd:Ye,onColumnResizeStart:it,onCellFocused:g0,onColumnMoved:n0,onDragStart:o0,onHeaderMenuClick:e0,onHeaderIndicatorClick:t0,onItemHovered:ji,isFilling:(s==null?void 0:s.fillHandle)===!0,onMouseMove:Qh,onKeyDown:co,onKeyUp:le,onMouseDown:qh,onMouseUp:Jh,onDragOverCell:xt,onDrop:Mt,onSearchResultsChanged:c0,onVisibleRegionChanged:r0,clientSize:_t,rowHeight:wr,searchResults:X,searchValue:te,onSearchValueChange:q,rows:Wt,scrollRef:dt,selection:A,translateX:sn.tx,translateY:sn.ty,verticalBorder:d0,gridRef:Kt,getCellRenderer:Ht,resizeIndicator:Ho}),h0,o!==void 0&&d.createElement(d.Suspense,{fallback:null},d.createElement(Zd,{...o,validateCell:ke,bloom:L,id:a0,getCellRenderer:Ht,className:(Ct==null?void 0:Ct.isSubGrid)===!0?"click-outside-ignore":void 0,provideEditor:ir,imageEditorOverride:p,onFinishEditing:l0,markdownDivCreateNode:h,isOutsideClick:Ri,customEventTarget:Ct==null?void 0:Ct.eventTarget}))))});var da=20;function ha(e){let{cell:t,posX:r,posY:n,bounds:o,theme:i}=e,{width:l,height:a,x:s,y:c}=o,u=t.maxSize??da,f=Math.floor(o.y+a/2),p=rl(u,a,i.cellVerticalPadding),m=el(tl(t.contentAlign??"center",s,l,i.cellHorizontalPadding,p),f,p),h=nl(s+r,c+n,m);return Ki(t)&&h}const th={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??"false"},kind:pe.Boolean,needsHover:!0,useLabel:!1,needsHoverPosition:!0,measure:()=>50,draw:e=>rh(e,e.cell.data,Ki(e.cell),e.cell.maxSize??da,e.cell.hoverEffectIntensity??.35),onDelete:e=>({...e,data:!1}),onSelect:e=>{ha(e)&&e.preventDefault()},onClick:e=>{if(ha(e))return{...e.cell,data:ia(e.cell.data)}},onPaste:(e,t)=>{let r=null;return e.toLowerCase()==="true"?r=!0:e.toLowerCase()==="false"?r=!1:e.toLowerCase()==="indeterminate"&&(r=void 0),r===t.data?void 0:{...t,data:r}}};function rh(e,t,r,n,o){if(!r&&t===null)return;let{ctx:i,hoverAmount:l,theme:a,rect:s,highlighted:c,hoverX:u,hoverY:f,cell:{contentAlign:p}}=e,{x:m,y:h,width:v,height:S}=s,M=!1;if(o>0){let y=r?1-o+o*l:.4;if(t===null&&(y*=l),y===0)return;y<1&&(M=!0,i.globalAlpha=y)}mi(i,a,t,m,h,v,S,c,u,f,n,p),M&&(i.globalAlpha=1)}const nh=Jt("div")({name:"BubblesOverlayEditorStyle",class:"gdg-b1ygi5by",propsAsIs:!1});var oh=e=>{let{bubbles:t}=e;return d.createElement(nh,null,t.map((r,n)=>d.createElement("div",{key:n,className:"boe-bubble"},r)),d.createElement("textarea",{className:"gdg-input",autoFocus:!0}))};const ih={getAccessibilityString:e=>ol(e.data),kind:pe.Bubble,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,r)=>t.data.reduce((n,o)=>e.measureText(o).width+n+20,0)+2*r.cellHorizontalPadding-4,draw:e=>ah(e,e.cell.data),provideEditor:()=>e=>{let{value:t}=e;return d.createElement(oh,{bubbles:t.data})},onPaste:()=>{}};var lh=4;function ah(e,t){let{rect:r,theme:n,ctx:o,highlighted:i}=e,{x:l,y:a,width:s,height:c}=r,u=lh,f=l+n.cellHorizontalPadding,p=[];for(let m of t){if(f>l+s)break;let h=wn(m,o,n.baseFontFull).width;p.push({x:f,width:h}),f+=h+16+u}o.beginPath();for(let m of p)gr(o,m.x,a+(c-20)/2,m.width+16,20,n.roundingRadius??20/2);o.fillStyle=i?n.bgBubbleSelected:n.bgBubble,o.fill();for(let[m,h]of p.entries())o.beginPath(),o.fillStyle=n.textBubble,o.fillText(t[m],h.x+8,a+c/2+Hr(o,n))}var sh=Jt("div")({name:"DrilldownOverlayEditorStyle",class:"gdg-d4zsq0x",propsAsIs:!1}),ch=e=>{let{drilldowns:t}=e;return d.createElement(sh,null,t.map((r,n)=>d.createElement("div",{key:n,className:"doe-bubble"},r.img!==void 0&&d.createElement("img",{src:r.img}),d.createElement("div",null,r.text))))};const uh={getAccessibilityString:e=>ol(e.data.map(t=>t.text)),kind:pe.Drilldown,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:(e,t,r)=>t.data.reduce((n,o)=>e.measureText(o.text).width+n+20+(o.img===void 0?0:18),0)+2*r.cellHorizontalPadding-4,draw:e=>fh(e,e.cell.data),provideEditor:()=>e=>{let{value:t}=e;return d.createElement(ch,{drilldowns:t.data})},onPaste:()=>{}};var dh=4,Ci={};function hh(e,t,r,n){let o=Math.ceil(window.devicePixelRatio),i=r-10,l=r*o,a=n+5,s=n*3,c=(s+10)*o,u=`${e},${t},${o},${r}`;if(Ci[u]!==void 0)return{el:Ci[u],height:l,width:c,middleWidth:4*o,sideWidth:a*o,padding:5*o,dpr:o};let f=document.createElement("canvas"),p=f.getContext("2d");return p===null?null:(f.width=c,f.height=l,p.scale(o,o),Ci[u]=f,p.beginPath(),gr(p,5,5,s,i,n),p.shadowColor="rgba(24, 25, 34, 0.4)",p.shadowBlur=1,p.fillStyle=e,p.fill(),p.shadowColor="rgba(24, 25, 34, 0.3)",p.shadowOffsetY=1,p.shadowBlur=5,p.fillStyle=e,p.fill(),p.shadowOffsetY=0,p.shadowBlur=0,p.shadowBlur=0,p.beginPath(),gr(p,5.5,5.5,s,i,n),p.strokeStyle=t,p.lineWidth=1,p.stroke(),{el:f,height:l,width:c,sideWidth:a*o,middleWidth:n*o,padding:5*o,dpr:o})}function fh(e,t){let{rect:r,theme:n,ctx:o,imageLoader:i,col:l,row:a}=e,{x:s,width:c}=r,u=n.baseFontFull,f=pl(o,u),p=Math.min(r.height,Math.max(16,Math.ceil(f*n.lineHeight)*2)),m=Math.floor(r.y+(r.height-p)/2),h=p-10,v=dh,S=s+n.cellHorizontalPadding,M=n.roundingRadius??6,y=hh(n.bgCell,n.drilldownBorder,p,M),k=[];for(let I of t){if(S>s+c)break;let P=wn(I.text,o,u).width,E=0;I.img!==void 0&&i.loadOrGetImage(I.img,l,a)!==void 0&&(E=h-8+4);let O=P+E+16;k.push({x:S,width:O}),S+=O+v}if(y!==null){let{el:I,height:P,middleWidth:E,sideWidth:O,width:F,dpr:C,padding:R}=y,L=O/C,x=R/C;for(let w of k){let T=Math.floor(w.x),H=Math.floor(w.width),b=H-(L-x)*2;o.imageSmoothingEnabled=!1,o.drawImage(I,0,0,O,P,T-x,m,L,p),b>0&&o.drawImage(I,O,0,E,P,T+(L-x),m,b,p),o.drawImage(I,F-O,0,O,P,T+H-(L-x),m,L,p),o.imageSmoothingEnabled=!0}}o.beginPath();for(let[I,P]of k.entries()){let E=t[I],O=P.x+8;if(E.img!==void 0){let F=i.loadOrGetImage(E.img,l,a);if(F!==void 0){let C=h-8,R=0,L=0,x=F.width,w=F.height;x>w?(R+=(x-w)/2,x=w):w>x&&(L+=(w-x)/2,w=x),o.beginPath(),gr(o,O,m+p/2-C/2,C,C,n.roundingRadius??3),o.save(),o.clip(),o.drawImage(F,R,L,x,w,O,m+p/2-C/2,C,C),o.restore(),O+=C+4}}o.beginPath(),o.fillStyle=n.textBubble,o.fillText(E.text,O,m+p/2+Hr(o,n))}}const gh={getAccessibilityString:e=>e.data.join(", "),kind:pe.Image,needsHover:!1,useLabel:!1,needsHoverPosition:!1,draw:e=>ph(e,e.cell.displayData??e.cell.data,e.cell.rounding??e.theme.roundingRadius??4,e.cell.contentAlign),measure:(e,t)=>t.data.length*50,onDelete:e=>({...e,data:[]}),provideEditor:()=>e=>{let{value:t,onFinishedEditing:r,imageEditorOverride:n}=e,o=n??Hs;return d.createElement(o,{urls:t.data,canWrite:t.readonly!==!0,onCancel:r,onChange:i=>{r({...t,data:[i]})}})},onPaste:(e,t)=>{e=e.trim();let r=e.split(",").map(n=>{try{return new URL(n),n}catch{return}}).filter(n=>n!==void 0);if(!(r.length===t.data.length&&r.every((n,o)=>n===t.data[o])))return{...t,data:r}}};var Si=4;function ph(e,t,r,n){let{rect:o,col:i,row:l,theme:a,ctx:s,imageLoader:c}=e,{x:u,y:f,height:p,width:m}=o,h=p-a.cellVerticalPadding*2,v=[],S=0;for(let y=0;y<t.length;y++){let k=t[y];if(k.length===0)continue;let I=c.loadOrGetImage(k,i,l);if(I!==void 0){v[y]=I;let P=I.width*(h/I.height);S+=P+Si}}if(S===0)return;S-=Si;let M=u+a.cellHorizontalPadding;n==="right"?M=Math.floor(u+m-a.cellHorizontalPadding-S):n==="center"&&(M=Math.floor(u+m/2-S/2));for(let y of v){if(y===void 0)continue;let k=y.width*(h/y.height);r>0&&(s.beginPath(),gr(s,M,f+a.cellVerticalPadding,k,h,r),s.save(),s.clip()),s.drawImage(y,M,f+a.cellVerticalPadding,k,h),r>0&&s.restore(),M+=k+Si}}function mh(e,t){let r=e*49632+t*325176;return r^=r<<13,r^=r>>17,r^=r<<5,r/4294967295*2}const vh={getAccessibilityString:()=>"",kind:pe.Loading,needsHover:!1,useLabel:!1,needsHoverPosition:!1,measure:()=>120,draw:e=>{let{cell:t,col:r,row:n,ctx:o,rect:i,theme:l}=e;if(t.skeletonWidth===void 0||t.skeletonWidth===0)return;let a=t.skeletonWidth;t.skeletonWidthVariability!==void 0&&t.skeletonWidthVariability>0&&(a+=Math.round(mh(r,n)*t.skeletonWidthVariability));let s=l.cellHorizontalPadding;a+s*2>=i.width&&(a=i.width-s*2-1);let c=t.skeletonHeight??Math.min(18,i.height-2*l.cellVerticalPadding);gr(o,i.x+s,i.y+(i.height-c)/2,a,c,l.roundingRadius??3),o.fillStyle=gn(l.textDark,.1),o.fill()},onPaste:()=>{}};var wh=()=>e=>e.targetWidth;const fa=Jt("div")({name:"MarkdownOverlayEditorStyle",class:"gdg-m1pnx84e",propsAsIs:!1,vars:{"m1pnx84e-0":[wh(),"px"]}}),yh=e=>{let{value:t,onChange:r,forceEditMode:n,createNode:o,targetRect:i,onFinish:l,validatedSelection:a}=e,s=t.data,c=t.readonly===!0,[u,f]=d.useState(s===""||n),p=d.useCallback(()=>{f(h=>!h)},[]),m=s?"gdg-ml-6":"";return u?d.createElement(fa,{targetWidth:i.width-20},d.createElement(vo,{autoFocus:!0,highlight:!1,validatedSelection:a,value:s,onKeyDown:h=>{h.key==="Enter"&&h.stopPropagation()},onChange:r}),d.createElement("div",{className:`gdg-edit-icon gdg-checkmark-hover ${m}`,onClick:()=>l(t)},d.createElement(Rs,null))):d.createElement(fa,{targetWidth:i.width},d.createElement(zs,{contents:s,createNode:o}),!c&&d.createElement(d.Fragment,null,d.createElement("div",{className:"spacer"}),d.createElement("div",{className:`gdg-edit-icon gdg-edit-hover ${m}`,onClick:p},d.createElement(ri,null))),d.createElement("textarea",{className:"gdg-md-edit-textarea gdg-input",autoFocus:!0}))},bh={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:pe.Markdown,needsHover:!1,needsHoverPosition:!1,drawPrep:Bn,measure:(e,t,r)=>{let n=t.data.split(`
130
130
  `)[0];return e.measureText(n).width+2*r.cellHorizontalPadding},draw:e=>Sr(e,e.cell.data,e.cell.contentAlign),onDelete:e=>({...e,data:""}),provideEditor:()=>e=>{let{onChange:t,value:r,target:n,onFinishedEditing:o,markdownDivCreateNode:i,forceEditMode:l,validatedSelection:a}=e;return d.createElement(yh,{onFinish:o,targetRect:n,value:r,validatedSelection:a,onChange:s=>t({...r,data:s.target.value}),forceEditMode:l,createNode:i})},onPaste:(e,t)=>e===t.data?void 0:{...t,data:e}},xh={getAccessibilityString:e=>e.row.toString(),kind:$r.Marker,needsHover:!0,needsHoverPosition:!1,drawPrep:Ch,measure:()=>44,draw:e=>kh(e,e.cell.row,e.cell.checked,e.cell.markerKind,e.cell.drawHandle,e.cell.checkboxStyle),onClick:e=>{let{bounds:t,cell:r,posX:n,posY:o}=e,{width:i,height:l}=t,a=r.drawHandle?7+(i-7)/2:i/2,s=l/2;if(Math.abs(n-a)<=10&&Math.abs(o-s)<=10)return{...r,checked:!r.checked}},onPaste:()=>{}};function Ch(e,t){let{ctx:r,theme:n}=e,o=n.markerFontFull,i=t??{};return(i==null?void 0:i.font)!==o&&(r.font=o,i.font=o),i.deprep=Sh,r.textAlign="center",i}function Sh(e){let{ctx:t}=e;t.textAlign="start"}function kh(e,t,r,n,o,i){let{ctx:l,rect:a,hoverAmount:s,theme:c}=e,{x:u,y:f,width:p,height:m}=a,h=r?1:n==="checkbox-visible"?.6+.4*s:s;if(n!=="number"&&h>0){l.globalAlpha=h;let v=7*(r?s:1);if(mi(l,c,r,o?u+v:u,f,o?p-v:p,m,!0,void 0,void 0,18,"center",i),o){l.globalAlpha=s,l.beginPath();for(let S of[3,6])for(let M of[-5,-1,3])l.rect(u+S,f+m/2+M,2,2);l.fillStyle=c.textLight,l.fill(),l.beginPath()}l.globalAlpha=1}if(n==="number"||n==="both"&&!r){let v=t.toString(),S=c.markerFontFull,M=u+p/2;n==="both"&&s!==0&&(l.globalAlpha=1-s),l.fillStyle=c.textLight,l.font=S,l.fillText(v,M,f+m/2+Hr(l,S)),s!==0&&(l.globalAlpha=1)}}const Mh={getAccessibilityString:()=>"",kind:$r.NewRow,needsHover:!0,needsHoverPosition:!1,measure:()=>200,draw:e=>Rh(e,e.cell.hint,e.cell.icon),onPaste:()=>{}};function Rh(e,t,r){let{ctx:n,rect:o,hoverAmount:i,theme:l,spriteManager:a}=e,{x:s,y:c,width:u,height:f}=o;n.beginPath(),n.globalAlpha=i,n.rect(s+1,c+1,u,f-2),n.fillStyle=l.bgHeaderHovered,n.fill(),n.globalAlpha=1,n.beginPath();let p=t!=="",m=0;if(r!==void 0){let h=f-8,v=s+8/2,S=c+8/2;a.drawSprite(r,"normal",n,v,S,h,l,p?1:i),m=h}else{m=24;let h=p?12:i*12,v=p?0:(1-i)*12*.5,S=l.cellHorizontalPadding+4;h>0&&(n.moveTo(s+S+v,c+f/2),n.lineTo(s+S+v+h,c+f/2),n.moveTo(s+S+v+h*.5,c+f/2-h*.5),n.lineTo(s+S+v+h*.5,c+f/2+h*.5),n.lineWidth=2,n.strokeStyle=l.bgIconHeader,n.lineCap="round",n.stroke())}n.fillStyle=l.textMedium,n.fillText(t,m+s+l.cellHorizontalPadding+.5,c+f/2+Hr(n,l)),n.beginPath()}function ga(e,t,r,n,o,i,l){e.textBaseline="alphabetic";let a=Eh(e,o,n,t,(r==null?void 0:r.fullSize)??!1);e.beginPath(),gr(e,a.x,a.y,a.width,a.height,t.roundingRadius??4),e.globalAlpha=i,e.fillStyle=(r==null?void 0:r.bgColor)??gn(t.textDark,.1),e.fill(),e.globalAlpha=1,e.fillStyle=t.textDark,e.textBaseline="middle",l==null||l("text")}function Eh(e,t,r,n,o){let i=n.cellHorizontalPadding,l=n.cellVerticalPadding;if(o)return{x:t.x+i/2,y:t.y+l/2+1,width:t.width-i,height:t.height-l-1};let a=wn(r,e,n.baseFontFull,"alphabetic"),s=t.height-l,c=Math.min(s,a.actualBoundingBoxAscent*2.5);return{x:t.x+i/2,y:t.y+(t.height-c)/2+1,width:a.width+i*3,height:c-1}}var Ih=d.lazy(async()=>await Ja(()=>import("./number-overlay-editor-QP1aGrq9.js").then(async e=>(await e.__tla,e)),__vite__mapDeps([7,4,5,2,3]),import.meta.url));const Th={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:pe.Number,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,useLabel:!0,drawPrep:Bn,draw:e=>{let{hoverAmount:t,cell:r,ctx:n,theme:o,rect:i,overrideCursor:l}=e,{hoverEffect:a,displayData:s,hoverEffectTheme:c}=r;a===!0&&t>0&&ga(n,o,c,s,i,t,l),Sr(e,e.cell.displayData,e.cell.contentAlign)},measure:(e,t,r)=>e.measureText(t.displayData).width+r.cellHorizontalPadding*2,onDelete:e=>({...e,data:void 0}),provideEditor:()=>e=>{let{isHighlighted:t,onChange:r,value:n,validatedSelection:o}=e;return d.createElement(d.Suspense,{fallback:null},d.createElement(Ih,{highlight:t,disabled:n.readonly===!0,value:n.data,fixedDecimals:n.fixedDecimals,allowNegative:n.allowNegative,thousandSeparator:n.thousandSeparator,decimalSeparator:n.decimalSeparator,validatedSelection:o,onChange:i=>r({...n,data:Number.isNaN(i.floatValue??0)?0:i.floatValue})}))},onPaste:(e,t,r)=>{let n=typeof r.rawValue=="number"?r.rawValue:Number.parseFloat(typeof r.rawValue=="string"?r.rawValue:e);if(!(Number.isNaN(n)||t.data===n))return{...t,data:n,displayData:r.formattedString??t.displayData}}},Oh={getAccessibilityString:()=>"",measure:()=>108,kind:pe.Protected,needsHover:!1,needsHoverPosition:!1,draw:Ph,onPaste:()=>{}};function Ph(e){let{ctx:t,theme:r,rect:n}=e,{x:o,y:i,height:l}=n;t.beginPath();let a=2.5,s=o+r.cellHorizontalPadding+a,c=i+l/2,u=Math.cos(Qi(30))*a,f=Math.sin(Qi(30))*a;for(let p=0;p<12;p++)t.moveTo(s,c-a),t.lineTo(s,c+a),t.moveTo(s+u,c-f),t.lineTo(s-u,c+f),t.moveTo(s-u,c-f),t.lineTo(s+u,c+f),s+=8;t.lineWidth=1.1,t.lineCap="square",t.strokeStyle=r.textLight,t.stroke()}const Hh={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:pe.RowID,needsHover:!1,needsHoverPosition:!1,drawPrep:(e,t)=>Bn(e,t,e.theme.textLight),draw:e=>Sr(e,e.cell.data,e.cell.contentAlign),measure:(e,t,r)=>e.measureText(t.data).width+r.cellHorizontalPadding*2,provideEditor:()=>e=>{let{isHighlighted:t,onChange:r,value:n,validatedSelection:o}=e;return d.createElement(vo,{highlight:t,autoFocus:n.readonly!==!0,disabled:n.readonly!==!1,value:n.data,validatedSelection:o,onChange:i=>r({...n,data:i.target.value})})},onPaste:()=>{}},Dh={getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:pe.Text,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!1,drawPrep:Bn,useLabel:!0,draw:e=>{let{cell:t,hoverAmount:r,hyperWrapping:n,ctx:o,rect:i,theme:l,overrideCursor:a}=e,{displayData:s,contentAlign:c,hoverEffect:u,allowWrapping:f,hoverEffectTheme:p}=t;u===!0&&r>0&&ga(o,l,p,s,i,r,a),Sr(e,s,c,f,n)},measure:(e,t,r)=>{let n=t.displayData.split(`
131
131
  `,t.allowWrapping===!0?void 0:1),o=0;for(let i of n)o=Math.max(o,e.measureText(i).width);return o+2*r.cellHorizontalPadding},onDelete:e=>({...e,data:""}),provideEditor:e=>({disablePadding:e.allowWrapping===!0,editor:t=>{let{isHighlighted:r,onChange:n,value:o,validatedSelection:i}=t;return d.createElement(vo,{style:e.allowWrapping===!0?{padding:"3px 8.5px"}:void 0,highlight:r,autoFocus:o.readonly!==!0,disabled:o.readonly===!0,altNewline:!0,value:o.data,validatedSelection:i,onChange:l=>n({...o,data:l.target.value})})}}),onPaste:(e,t,r)=>e===t.data?void 0:{...t,data:e,displayData:r.formattedString??t.displayData}},zh=Jt("div")({name:"UriOverlayEditorStyle",class:"gdg-u1rrojo",propsAsIs:!1});var Ah=e=>{let{uri:t,onChange:r,forceEditMode:n,readonly:o,validatedSelection:i,preview:l}=e,[a,s]=d.useState(!o&&(t===""||n)),c=d.useCallback(()=>{s(!0)},[]);return a?d.createElement(vo,{validatedSelection:i,highlight:!0,autoFocus:!0,value:t,onChange:r}):d.createElement(zh,null,d.createElement("a",{className:"gdg-link-area",href:t,target:"_blank",rel:"noopener noreferrer"},l),!o&&d.createElement("div",{className:"gdg-edit-icon",onClick:c},d.createElement(ri,null)),d.createElement("textarea",{className:"gdg-input",autoFocus:!0}))};function pa(e,t,r,n){let o=r.cellHorizontalPadding,i=t.height/2-e.actualBoundingBoxAscent/2,l=e.width,a=e.actualBoundingBoxAscent;return n==="right"?o=t.width-l-r.cellHorizontalPadding:n==="center"&&(o=t.width/2-l/2),{x:o,y:i,width:l,height:a}}function ma(e){let{cell:t,bounds:r,posX:n,posY:o,theme:i}=e,l=t.displayData??t.data;if(t.hoverEffect!==!0||t.onClickUri===void 0)return!1;let a=dl(l,i.baseFontFull);if(a===void 0)return!1;let s=pa(a,r,i,t.contentAlign);return qr({x:s.x-4,y:s.y-4,width:s.width+8,height:s.height+8},n,o)}const Lh=[xh,Mh,th,ih,uh,gh,vh,bh,Th,Oh,Hh,Dh,{getAccessibilityString:e=>{var t;return((t=e.data)==null?void 0:t.toString())??""},kind:pe.Uri,needsHover:e=>e.hoverEffect===!0,needsHoverPosition:!0,useLabel:!0,drawPrep:Bn,draw:e=>{let{cell:t,theme:r,overrideCursor:n,hoverX:o,hoverY:i,rect:l,ctx:a}=e,s=t.displayData??t.data,c=t.hoverEffect===!0;if(n!==void 0&&c&&o!==void 0&&i!==void 0){let{x:u,y:f,width:p,height:m}=pa(wn(s,a,r.baseFontFull),l,r,t.contentAlign);if(o>=u-4&&o<=u-4+p+8&&i>=f-4&&i<=f-4+m+8){let h=Hr(a,r.baseFontFull);n("pointer");let v=f-h;a.beginPath(),a.moveTo(l.x+u,Math.floor(l.y+v+m+5)+.5),a.lineTo(l.x+u+p,Math.floor(l.y+v+m+5)+.5),a.strokeStyle=r.linkColor,a.stroke(),a.save(),a.fillStyle=e.cellFillColor,Sr({...e,rect:{...l,x:l.x-1}},s,t.contentAlign),Sr({...e,rect:{...l,x:l.x-2}},s,t.contentAlign),Sr({...e,rect:{...l,x:l.x+1}},s,t.contentAlign),Sr({...e,rect:{...l,x:l.x+2}},s,t.contentAlign),a.restore()}}a.fillStyle=c?r.linkColor:r.textDark,Sr(e,s,t.contentAlign)},onSelect:e=>{ma(e)&&e.preventDefault()},onClick:e=>{var r;let{cell:t}=e;ma(e)&&((r=t.onClickUri)==null||r.call(t,e))},measure:(e,t,r)=>e.measureText(t.displayData??t.data).width+r.cellHorizontalPadding*2,onDelete:e=>({...e,data:""}),provideEditor:e=>t=>{let{onChange:r,value:n,forceEditMode:o,validatedSelection:i}=t;return d.createElement(Ah,{forceEditMode:n.readonly!==!0&&(o||e.hoverEffect===!0&&e.onClickUri!==void 0),uri:n.data,preview:n.displayData??n.data,validatedSelection:i,readonly:n.readonly===!0,onChange:l=>r({...n,data:l.target.value})})},onPaste:(e,t,r)=>e===t.data?void 0:{...t,data:e,displayData:r.formattedString??t.displayData}}];var jh=Gt(U(((e,t)=>{var r=ti(),n=ho(),o="Expected a function";function i(l,a,s){var c=!0,u=!0;if(typeof l!="function")throw TypeError(o);return n(s)&&(c="leading"in s?!!s.leading:c,u="trailing"in s?!!s.trailing:u),r(l,a,{leading:c,maxWait:a,trailing:u})}t.exports=i}))(),1),ki=[],Fh=class extends vl{constructor(){super(...arguments);tt(this,"imageLoaded",()=>{});tt(this,"loadedLocations",[]);tt(this,"cache",{});tt(this,"sendLoaded",(0,jh.default)(()=>{this.imageLoaded(new $n(this.loadedLocations)),this.loadedLocations=[]},20));tt(this,"clearOutOfWindow",()=>{let t=Object.keys(this.cache);for(let r of t){let n=this.cache[r],o=!1;for(let i=0;i<n.cells.length;i++){let l=n.cells[i];if(this.isInWindow(l)){o=!0;break}}o?n.cells=n.cells.filter(this.isInWindow):(n.cancel(),delete this.cache[r])}})}setCallback(t){this.imageLoaded=t}loadImage(t,r,n,o){let i=!1,l=ki.pop()??new Image,a=!1,s={img:void 0,cells:[or(r,n)],url:t,cancel:()=>{a||(a=!0,ki.length<12?ki.unshift(l):i||(l.src=""))}},c=new Promise(u=>l.addEventListener("load",()=>u(null)));requestAnimationFrame(async()=>{try{l.src=t,await c,await l.decode();let u=this.cache[o];if(u!==void 0&&!a){u.img=l;for(let f of u.cells)this.loadedLocations.push(ui(f));i=!0,this.sendLoaded()}}catch{s.cancel()}}),this.cache[o]=s}loadOrGetImage(t,r,n){let o=t,i=this.cache[o];if(i!==void 0){let l=or(r,n);return i.cells.includes(l)||i.cells.push(l),i.img}else this.loadImage(t,r,n,o)}};const _h=d.forwardRef((e,t)=>{let r=d.useMemo(()=>({...Pc,...e.headerIcons}),[e.headerIcons]),n=d.useMemo(()=>e.imageWindowLoader??new Fh,[e.imageWindowLoader]);return d.createElement(eh,{...e,renderers:Lh,headerIcons:r,ref:t,imageWindowLoader:n})});function Nh(e){switch(e){case"string":return pe.Text;case"number":return pe.Number;case"boolean":return pe.Boolean;default:return pe.Text}}function Wh(e){switch(e){case"string":return Vr.HeaderString;case"number":case"integer":return Vr.HeaderNumber;case"boolean":return Vr.HeaderBoolean;case"date":case"datetime":return Vr.HeaderDate;case"time":return Vr.HeaderTime;case"unknown":return Vr.HeaderString;default:return Va(e),Vr.HeaderString}}function va(e){return"rowIdx"in e&&"columnId"in e&&"value"in e}function Bh(e){return"rowIdx"in e&&"type"in e}function $h(e){return"columnIdx"in e&&"type"in e}function Vh(e){let{selection:t,data:r,setData:n,onAddEdits:o,columns:i,editableColumns:l}=e;if(!t.current)return;let{range:a}=t.current,{x:s,y:c}=a;navigator.clipboard.readText().then(u=>{if(!u.trim())return;let f=u.split(`
132
- `).filter(h=>h.trim()),p=[];for(let h of f){let v=h.split(" ");p.push(v)}if(p.length===0)return;let m=[];for(let[h,v]of p.entries()){if(!v)continue;let S=c+h;if(S>=r.length)break;for(let[M,y]of v.entries()){if(y===void 0)continue;let k=s+M;if(!i||k>=i.length)break;let I=i[k],P=I.dataType;if(!(l==="all"||l.includes(I.title)))continue;let E=y;switch(P){case"integer":case"number":{let F=Number(y);if(Number.isNaN(F))continue;E=F;break}case"boolean":{let F=y.toLowerCase();E=F==="true"||F==="1";break}}let O=i[k].title;m.push({rowIdx:S,columnId:O,value:E})}}m.length>0&&(o(m),n(h=>{let v=[...h];for(let S of m)if(va(S)){let M=S.rowIdx,y=S.columnId;if(M<v.length){let k=v[M];y in k&&(k[y]=S.value)}}return v}))}).catch(u=>{Wi.error("Failed to read clipboard data",u)})}function Kh(e){return e==="light"?{lineHeight:1.25}:{lineHeight:1.25,accentColor:"#7c3aed",accentLight:"rgba(124, 58, 237, 0.15)",textDark:"#f4f4f5",textMedium:"#a1a1aa",textLight:"#71717a",textBubble:"#f4f4f5",bgIconHeader:"#a1a1aa",fgIconHeader:"#18181b",textHeader:"#d4d4d8",textHeaderSelected:"#18181b",bgCell:"#18181b",bgCellMedium:"#27272a",bgHeader:"#27272a",bgHeaderHasFocus:"#3f3f46",bgHeaderHovered:"#3f3f46",bgBubble:"#27272a",bgBubbleSelected:"#7c3aed",bgSearchResult:"#312e81",borderColor:"#27272a",drilldownBorder:"#7c3aed",linkColor:"#818cf8",headerFontStyle:"bold 14px",baseFontStyle:"13px"}}var wa=M0(),Ae=Gt(T0(),1);const Yh=e=>{let t=(0,wa.c)(19),{currentColumnName:r,onRename:n,onCancel:o}=e,[i,l]=(0,d.useState)(""),a;t[0]!==r||t[1]!==i||t[2]!==n?(a=()=>{i.trim()&&(n(i.trim()),l(r))},t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3];let s=a,c;t[4]!==s||t[5]!==o?(c=y=>{y.key==="Enter"?s():y.key==="Escape"&&o()},t[4]=s,t[5]=o,t[6]=c):c=t[6];let u=c,f;t[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,Ae.jsxs)(Ua,{children:[(0,Ae.jsx)(N0,{className:"mr-2 h-3.5 w-3.5"}),"Rename column"]}),t[7]=f):f=t[7];let p;t[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,Ae.jsx)(Vi,{htmlFor:"rename-input",children:"Column name"}),t[8]=p):p=t[8];let m;t[9]===Symbol.for("react.memo_cache_sentinel")?(m=y=>l(y.target.value),t[9]=m):m=t[9];let h;t[10]!==u||t[11]!==i?(h=(0,Ae.jsxs)("div",{children:[p,(0,Ae.jsx)(Za,{value:i,onChange:m,placeholder:"Enter new column name",className:"mt-1",onKeyDown:u})]}),t[10]=u,t[11]=i,t[12]=h):h=t[12];let v=!i.trim(),S;t[13]!==s||t[14]!==v?(S=(0,Ae.jsx)($i,{onClick:s,disabled:v,size:"sm",className:"w-full",children:"Rename"}),t[13]=s,t[14]=v,t[15]=S):S=t[15];let M;return t[16]!==h||t[17]!==S?(M=(0,Ae.jsxs)(qa,{children:[f,(0,Ae.jsx)(Xa,{children:(0,Ae.jsx)(Ga,{className:"w-64 p-4",children:(0,Ae.jsxs)("div",{className:"space-y-3",children:[h,S]})})})]}),t[16]=h,t[17]=S,t[18]=M):M=t[18],M},ya=e=>{let t=(0,wa.c)(77),{direction:r,onAdd:n,onCancel:o}=e,[i,l]=(0,d.useState)(""),[a,s]=(0,d.useState)("string"),c,u,f,p,m,h,v,S,M,y,k,I,P,E,O;if(t[0]!==i||t[1]!==a||t[2]!==r||t[3]!==n||t[4]!==o){let J=["string","number","boolean","datetime"],_;t[20]!==i||t[21]!==a||t[22]!==n?(_=()=>{i.trim()&&(n(i.trim(),a),l(""),s("string"))},t[20]=i,t[21]=a,t[22]=n,t[23]=_):_=t[23],h=_;let Q;t[24]!==h||t[25]!==o?(Q=le=>{le.key==="Enter"?h():le.key==="Escape"&&o()},t[24]=h,t[25]=o,t[26]=Q):Q=t[26];let ee=Q;m=qa;let K;t[27]===Symbol.for("react.memo_cache_sentinel")?(K=(0,Ae.jsx)(W0,{className:"mr-2 h-3.5 w-3.5"}),t[27]=K):K=t[27],t[28]===r?O=t[29]:(O=(0,Ae.jsxs)(Ua,{children:[K,"Add column to the ",r]}),t[28]=r,t[29]=O),p=Xa,f=Ga,E="w-64 p-4",I="space-y-3";let se=`add-column-input-${r}`,oe;t[30]===se?oe=t[31]:(oe=(0,Ae.jsx)(Vi,{htmlFor:se,children:"Column name"}),t[30]=se,t[31]=oe);let ue=`add-column-input-${r}`,de;t[32]===Symbol.for("react.memo_cache_sentinel")?(de=le=>l(le.target.value),t[32]=de):de=t[32];let X;t[33]!==i||t[34]!==ee||t[35]!==ue?(X=(0,Ae.jsx)(Za,{id:ue,value:i,onChange:de,placeholder:"Enter column name",className:"mt-1",onKeyDown:ee}),t[33]=i,t[34]=ee,t[35]=ue,t[36]=X):X=t[36],t[37]!==oe||t[38]!==X?(P=(0,Ae.jsxs)("div",{children:[oe,X]}),t[37]=oe,t[38]=X,t[39]=P):P=t[39];let q=`add-column-type-${r}`;t[40]===q?k=t[41]:(k=(0,Ae.jsx)(Vi,{htmlFor:q,children:"Data type"}),t[40]=q,t[41]=k),u=L0,S=a,t[42]===Symbol.for("react.memo_cache_sentinel")?(M=le=>s(le),t[42]=M):M=t[42];let te=`add-column-type-${r}`,ne;t[43]===Symbol.for("react.memo_cache_sentinel")?(ne=(0,Ae.jsx)(H0,{}),t[43]=ne):ne=t[43],t[44]===te?y=t[45]:(y=(0,Ae.jsx)(A0,{id:te,className:"mt-1",children:ne}),t[44]=te,t[45]=y),c=z0,v=J.map(Gh),t[0]=i,t[1]=a,t[2]=r,t[3]=n,t[4]=o,t[5]=c,t[6]=u,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=v,t[12]=S,t[13]=M,t[14]=y,t[15]=k,t[16]=I,t[17]=P,t[18]=E,t[19]=O}else c=t[5],u=t[6],f=t[7],p=t[8],m=t[9],h=t[10],v=t[11],S=t[12],M=t[13],y=t[14],k=t[15],I=t[16],P=t[17],E=t[18],O=t[19];let F;t[46]!==c||t[47]!==v?(F=(0,Ae.jsx)(c,{children:v}),t[46]=c,t[47]=v,t[48]=F):F=t[48];let C;t[49]!==u||t[50]!==F||t[51]!==S||t[52]!==M||t[53]!==y?(C=(0,Ae.jsxs)(u,{value:S,onValueChange:M,children:[y,F]}),t[49]=u,t[50]=F,t[51]=S,t[52]=M,t[53]=y,t[54]=C):C=t[54];let R;t[55]!==C||t[56]!==k?(R=(0,Ae.jsxs)("div",{children:[k,C]}),t[55]=C,t[56]=k,t[57]=R):R=t[57];let L=!i.trim(),x;t[58]!==h||t[59]!==L?(x=(0,Ae.jsx)($i,{onClick:h,disabled:L,size:"sm",className:"w-full",children:"Add"}),t[58]=h,t[59]=L,t[60]=x):x=t[60];let w;t[61]!==R||t[62]!==x||t[63]!==I||t[64]!==P?(w=(0,Ae.jsxs)("div",{className:I,children:[P,R,x]}),t[61]=R,t[62]=x,t[63]=I,t[64]=P,t[65]=w):w=t[65];let T;t[66]!==f||t[67]!==w||t[68]!==E?(T=(0,Ae.jsx)(f,{className:E,children:w}),t[66]=f,t[67]=w,t[68]=E,t[69]=T):T=t[69];let H;t[70]!==p||t[71]!==T?(H=(0,Ae.jsx)(p,{children:T}),t[70]=p,t[71]=T,t[72]=H):H=t[72];let b;return t[73]!==m||t[74]!==H||t[75]!==O?(b=(0,Ae.jsxs)(m,{children:[O,H]}),t[73]=m,t[74]=H,t[75]=O,t[76]=b):b=t[76],b};function Gh(e){return(0,Ae.jsx)(D0,{value:e,children:E0(e)},e)}function ba(e,t){return e.map(r=>{let n=r,o=Object.keys(n);if(t<0||t>=o.length)return n;let i=o[t],{[i]:l,...a}=n;return a})}function xa(e,t){return t?e.map(r=>({...r,[t]:""})):e}function Ca(e,t,r){return!t||!r||t===r?e:e.map(n=>{let o=n,{[t]:i,...l}=o;return{...l,[r]:o[t]}})}function xn(e){var l;let{columnFields:t,columnIdx:r,type:n,dataType:o,newColumnName:i}=e;switch(n){case"insert":{if(!i)return Wi.error("newName is required for insert"),t;let a=Object.entries(t),s=[...a.slice(0,r),[i,o||"string"],...a.slice(r)];return Object.fromEntries(s)}case"remove":{if(r<0||r>=Object.keys(t).length)return t;let a=(l=Object.entries(t)[r])==null?void 0:l[0];if(a){let{[a]:s,...c}=t;return c}return t}case"rename":{if(!i)return Wi.error("newName is required for rename"),t;if(r<0||r>=Object.keys(t).length)return t;let a=Object.entries(t),s=[...a.slice(0,r),[i,o||"string"],...a.slice(r+1)];return Object.fromEntries(s)}}}Ui=({data:e,setData:t,columnFields:r,setColumnFields:n,editableColumns:o,edits:i,onAddEdits:l,onAddRows:a,onDeleteRows:s,onRenameColumn:c,onDeleteColumn:u,onAddColumn:f})=>{let{theme:p}=V0(),m=(0,d.useRef)(null),[h,v]=(0,d.useState)(),[S,M]=(0,d.useState)(!1),[y,k]=d.useState({columns:nt.empty(),rows:nt.empty()}),[I,P]=(0,d.useState)({}),E=P0();R0(()=>{if(i.length===0)return;let q=new Map;for(let ne of i)if(va(ne))if(ne.rowIdx>=e.length){q.has(ne.rowIdx)||q.set(ne.rowIdx,{});let le=q.get(ne.rowIdx);le&&(le[ne.columnId]=ne.value)}else t(le=>{let Fe=[...le];return Fe[ne.rowIdx][ne.columnId]=ne.value,Fe});else if(Bh(ne)&&ne.type===Xo.Remove)t(le=>le.filter((Fe,Oe)=>Oe!==ne.rowIdx));else if($h(ne))switch(ne.type){case Xo.Remove:t(le=>ba(le,ne.columnIdx)),n(le=>xn({columnFields:le,columnIdx:ne.columnIdx,type:"remove"}));break;case Xo.Insert:n(le=>xn({columnFields:le,columnIdx:ne.columnIdx,type:"insert",newColumnName:ne.newName})),t(le=>xa(le,ne.newName));break;case Xo.Rename:{let le=O[ne.columnIdx].title,Fe=ne.newName;if(!le||!Fe)return;n(Oe=>xn({columnFields:Oe,columnIdx:ne.columnIdx,type:"rename",newColumnName:Fe})),t(Oe=>Ca(Oe,le,Fe));break}}let te=[...q.entries()].sort(([ne],[le])=>ne-le).map(([,ne])=>ne);te.length>0&&t(ne=>[...ne,...te]),E()});let O=(0,d.useMemo)(()=>{let q=[];for(let[te,ne]of Object.entries(r)){let le=o==="all"||o.includes(te);q.push({id:te,title:te,width:I[te],icon:le?Wh(ne):Vr.ProtectedColumnOverlay,style:"normal",kind:Nh(ne),dataType:ne,hasMenu:!0,themeOverride:le?void 0:{bgCell:p==="light"?"#F9F9FA":"#1e1e21"}})}return q},[r,I,o,p]),F=(0,d.useCallback)(q=>{let[te,ne]=q,le=e[ne][O[te].title],Fe=O[te].kind,Oe=o==="all"||o.includes(O[te].title);if(Fe===pe.Boolean){let Ee=!!le;return{kind:pe.Boolean,allowOverlay:!1,readonly:!Oe,data:Ee}}return Fe===pe.Number&&typeof le=="number"?{kind:pe.Number,allowOverlay:Oe,readonly:!Oe,displayData:String(le),data:le}:{kind:pe.Text,allowOverlay:Oe,readonly:!Oe,displayData:String(le),data:String(le)}},[O,e,o]),C=(0,d.useCallback)((q,te)=>{let[ne,le]=q,Fe=O[ne],Oe=Fe.title,Ee=te.data;(Fe.dataType==="number"||Fe.dataType==="integer")&&(te.data===void 0||te.data==="")&&(Ee=null),t(Ge=>{let Me=[...Ge];return Me[le][Oe]=Ee,Me}),l([{rowIdx:le,columnId:Oe,value:Ee}])},[O,l,t]),R=(0,d.useCallback)((q,te)=>{P(ne=>({...ne,[q.title]:te}))},[]),L=(0,d.useCallback)((q,te,ne)=>{let[le,Fe]=q;switch(r[O[le].title]){case"number":case"integer":if(Number.isNaN(Number(te.data)))return!1;break;case"boolean":if(typeof te.data!="boolean")return!1;break}return!0},[r,O]),x=(0,d.useCallback)(q=>{if(m.current){if(Bi.isMetaOrCtrl(q)&&q.key==="c"){m.current.emit("copy");return}if(Bi.isMetaOrCtrl(q)&&q.key==="v"){Vh({selection:y,data:e,setData:t,columns:O,editableColumns:o,onAddEdits:l});return}if(Bi.isMetaOrCtrl(q)&&q.key==="f"){M(te=>!te),q.stopPropagation(),q.preventDefault();return}if(q.key==="Escape"){M(!1);return}}},[O,e,o,l,y,t]),w=(0,d.useCallback)(()=>{let q=Object.fromEntries(O.map(te=>{let ne=te.dataType;switch(ne){case"boolean":return[te.title,!1];case"number":case"integer":return[te.title,null];case"date":case"datetime":case"time":return[te.title,new Date];case"string":case"unknown":return[te.title,""];default:return Va(ne),[te.title,""]}}));a([q]),t(te=>[...te,q])},[O,a,t]),T=()=>{let q=y.rows.toArray();s(q);let te=0;for(let ne of q){let le=ne-te;t(Fe=>Fe.filter((Oe,Ee)=>Ee!==le)),te++}k({columns:nt.empty(),rows:nt.empty()})},H=k0((q,te)=>{v({col:q,bounds:te})}),b=async()=>{if(h){let q=O[h.col].title;await K0(q),v(void 0)}};function J(q){$0({title:`Column '${q}' already exists`,description:"Please enter a different column name",variant:"danger"})}let _=q=>{if(h){let te=O[h.col].title;if(r[q]){J(q);return}let ne=O[h.col].dataType;c(h.col,q),n(le=>xn({columnFields:le,columnIdx:h.col,type:"rename",dataType:ne,newColumnName:q})),t(le=>Ca(le,te,q)),v(void 0)}},Q=()=>{h&&(u(h.col),n(q=>xn({columnFields:q,columnIdx:h.col,type:"remove"})),t(q=>ba(q,h.col)),v(void 0))},ee=q=>{let{direction:te,columnName:ne,dataType:le}=q;if(h){let Fe=h.col+(te==="left"?0:1),Oe=Math.max(0,Math.min(Fe,O.length));if(r[ne]){J(ne);return}f(Oe,ne),n(Ee=>xn({columnFields:Ee,columnIdx:Oe,type:"insert",dataType:le,newColumnName:ne})),t(Ee=>xa(Ee,ne)),v(void 0)}},K=(h==null?void 0:h.col)===O.length-1,se=h!==void 0,oe="mr-2 h-3.5 w-3.5",ue={hint:"New row",sticky:!0,tint:!0},de=e.length>1e5,X=o==="all";return(0,Ae.jsxs)("div",{className:"relative",children:[(0,Ae.jsx)(I0,{children:(0,Ae.jsx)(_h,{ref:m,getCellContent:F,columns:O,gridSelection:y,onGridSelectionChange:k,rows:e.length,overscrollX:50,smoothScrollX:!de,smoothScrollY:!de,validateCell:L,getCellsForSelection:!0,onPaste:!0,showSearch:S,fillHandle:!0,allowedFillDirections:"vertical",onKeyDown:x,height:e.length>10?450:void 0,width:"100%",rowMarkers:{kind:"both"},rowSelectionMode:"multi",onCellEdited:C,onColumnResize:R,onHeaderMenuClick:H,theme:Kh(p),trailingRowOptions:ue,onRowAppended:w,maxColumnAutoWidth:600,maxColumnWidth:600})}),(()=>{if(!se)return;let q=(0,Ae.jsxs)(Ae.Fragment,{children:[X&&(0,Ae.jsx)(Yh,{currentColumnName:O[h.col].title,onRename:_,onCancel:()=>v(void 0)}),(0,Ae.jsx)(Ya,{}),(0,Ae.jsx)(ya,{direction:"left",onAdd:(te,ne)=>ee({direction:"left",columnName:te,dataType:ne}),onCancel:()=>v(void 0)}),(0,Ae.jsx)(ya,{direction:"right",onAdd:(te,ne)=>ee({direction:"right",columnName:te,dataType:ne}),onCancel:()=>v(void 0)}),(0,Ae.jsx)(Ya,{}),!K&&X&&(0,Ae.jsxs)(Ka,{onClick:Q,className:"text-destructive focus:text-destructive",children:[(0,Ae.jsx)(B0,{className:oe}),"Delete column"]})]});return(0,Ae.jsx)(F0,{open:se,onOpenChange:te=>!te&&v(void 0),children:(0,Ae.jsxs)(j0,{style:{left:(h==null?void 0:h.bounds.x)??0,top:((h==null?void 0:h.bounds.y)??0)+((h==null?void 0:h.bounds.height)??0)},className:"fixed w-52",children:[(0,Ae.jsxs)(Ka,{onClick:b,children:[(0,Ae.jsx)(_0,{className:oe}),"Copy column name"]}),!de&&q]})})})(),(0,Ae.jsx)("div",{className:"absolute bottom-1 right-2 w-26",children:(0,Ae.jsx)($i,{variant:"destructive",size:"sm",disabled:y.rows.length===0,className:"right-2 h-7",onClick:T,children:y.rows.length<=1?"Delete row":"Delete rows"})})]})},fs=Ui})();export{Ui as GlideDataEditor,of as __tla,fs as default};
132
+ `).filter(h=>h.trim()),p=[];for(let h of f){let v=h.split(" ");p.push(v)}if(p.length===0)return;let m=[];for(let[h,v]of p.entries()){if(!v)continue;let S=c+h;if(S>=r.length)break;for(let[M,y]of v.entries()){if(y===void 0)continue;let k=s+M;if(!i||k>=i.length)break;let I=i[k],P=I.dataType;if(!(l==="all"||l.includes(I.title)))continue;let E=y;switch(P){case"integer":case"number":{let F=Number(y);if(Number.isNaN(F))continue;E=F;break}case"boolean":{let F=y.toLowerCase();E=F==="true"||F==="1";break}}let O=i[k].title;m.push({rowIdx:S,columnId:O,value:E})}}m.length>0&&(o(m),n(h=>{let v=[...h];for(let S of m)if(va(S)){let M=S.rowIdx,y=S.columnId;if(M<v.length){let k=v[M];y in k&&(k[y]=S.value)}}return v}))}).catch(u=>{Wi.error("Failed to read clipboard data",u)})}function Kh(e){return e==="light"?{lineHeight:1.25}:{lineHeight:1.25,accentColor:"#7c3aed",accentLight:"rgba(124, 58, 237, 0.15)",textDark:"#f4f4f5",textMedium:"#a1a1aa",textLight:"#71717a",textBubble:"#f4f4f5",bgIconHeader:"#a1a1aa",fgIconHeader:"#18181b",textHeader:"#d4d4d8",textHeaderSelected:"#18181b",bgCell:"#18181b",bgCellMedium:"#27272a",bgHeader:"#27272a",bgHeaderHasFocus:"#3f3f46",bgHeaderHovered:"#3f3f46",bgBubble:"#27272a",bgBubbleSelected:"#7c3aed",bgSearchResult:"#312e81",borderColor:"#27272a",drilldownBorder:"#7c3aed",linkColor:"#818cf8",headerFontStyle:"bold 14px",baseFontStyle:"13px"}}var wa=M0(),Ae=Gt(T0(),1);const Yh=e=>{let t=(0,wa.c)(19),{currentColumnName:r,onRename:n,onCancel:o}=e,[i,l]=(0,d.useState)(""),a;t[0]!==r||t[1]!==i||t[2]!==n?(a=()=>{i.trim()&&(n(i.trim()),l(r))},t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3];let s=a,c;t[4]!==s||t[5]!==o?(c=y=>{y.key==="Enter"?s():y.key==="Escape"&&o()},t[4]=s,t[5]=o,t[6]=c):c=t[6];let u=c,f;t[7]===Symbol.for("react.memo_cache_sentinel")?(f=(0,Ae.jsxs)(Ua,{children:[(0,Ae.jsx)(N0,{className:"mr-2 h-3.5 w-3.5"}),"Rename column"]}),t[7]=f):f=t[7];let p;t[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,Ae.jsx)(Vi,{htmlFor:"rename-input",children:"Column name"}),t[8]=p):p=t[8];let m;t[9]===Symbol.for("react.memo_cache_sentinel")?(m=y=>l(y.target.value),t[9]=m):m=t[9];let h;t[10]!==u||t[11]!==i?(h=(0,Ae.jsxs)("div",{children:[p,(0,Ae.jsx)(Za,{value:i,onChange:m,placeholder:"Enter new column name",className:"mt-1",onKeyDown:u})]}),t[10]=u,t[11]=i,t[12]=h):h=t[12];let v=!i.trim(),S;t[13]!==s||t[14]!==v?(S=(0,Ae.jsx)($i,{onClick:s,disabled:v,size:"sm",className:"w-full",children:"Rename"}),t[13]=s,t[14]=v,t[15]=S):S=t[15];let M;return t[16]!==h||t[17]!==S?(M=(0,Ae.jsxs)(qa,{children:[f,(0,Ae.jsx)(Xa,{children:(0,Ae.jsx)(Ga,{className:"w-64 p-4",children:(0,Ae.jsxs)("div",{className:"space-y-3",children:[h,S]})})})]}),t[16]=h,t[17]=S,t[18]=M):M=t[18],M},ya=e=>{let t=(0,wa.c)(77),{direction:r,onAdd:n,onCancel:o}=e,[i,l]=(0,d.useState)(""),[a,s]=(0,d.useState)("string"),c,u,f,p,m,h,v,S,M,y,k,I,P,E,O;if(t[0]!==i||t[1]!==a||t[2]!==r||t[3]!==n||t[4]!==o){let J=["string","number","boolean","datetime"],_;t[20]!==i||t[21]!==a||t[22]!==n?(_=()=>{i.trim()&&(n(i.trim(),a),l(""),s("string"))},t[20]=i,t[21]=a,t[22]=n,t[23]=_):_=t[23],h=_;let Q;t[24]!==h||t[25]!==o?(Q=le=>{le.key==="Enter"?h():le.key==="Escape"&&o()},t[24]=h,t[25]=o,t[26]=Q):Q=t[26];let ee=Q;m=qa;let K;t[27]===Symbol.for("react.memo_cache_sentinel")?(K=(0,Ae.jsx)(W0,{className:"mr-2 h-3.5 w-3.5"}),t[27]=K):K=t[27],t[28]===r?O=t[29]:(O=(0,Ae.jsxs)(Ua,{children:[K,"Add column to the ",r]}),t[28]=r,t[29]=O),p=Xa,f=Ga,E="w-64 p-4",I="space-y-3";let se=`add-column-input-${r}`,oe;t[30]===se?oe=t[31]:(oe=(0,Ae.jsx)(Vi,{htmlFor:se,children:"Column name"}),t[30]=se,t[31]=oe);let ue=`add-column-input-${r}`,de;t[32]===Symbol.for("react.memo_cache_sentinel")?(de=le=>l(le.target.value),t[32]=de):de=t[32];let X;t[33]!==i||t[34]!==ee||t[35]!==ue?(X=(0,Ae.jsx)(Za,{id:ue,value:i,onChange:de,placeholder:"Enter column name",className:"mt-1",onKeyDown:ee}),t[33]=i,t[34]=ee,t[35]=ue,t[36]=X):X=t[36],t[37]!==oe||t[38]!==X?(P=(0,Ae.jsxs)("div",{children:[oe,X]}),t[37]=oe,t[38]=X,t[39]=P):P=t[39];let q=`add-column-type-${r}`;t[40]===q?k=t[41]:(k=(0,Ae.jsx)(Vi,{htmlFor:q,children:"Data type"}),t[40]=q,t[41]=k),u=L0,S=a,t[42]===Symbol.for("react.memo_cache_sentinel")?(M=le=>s(le),t[42]=M):M=t[42];let te=`add-column-type-${r}`,ne;t[43]===Symbol.for("react.memo_cache_sentinel")?(ne=(0,Ae.jsx)(H0,{}),t[43]=ne):ne=t[43],t[44]===te?y=t[45]:(y=(0,Ae.jsx)(A0,{id:te,className:"mt-1",children:ne}),t[44]=te,t[45]=y),c=z0,v=J.map(Gh),t[0]=i,t[1]=a,t[2]=r,t[3]=n,t[4]=o,t[5]=c,t[6]=u,t[7]=f,t[8]=p,t[9]=m,t[10]=h,t[11]=v,t[12]=S,t[13]=M,t[14]=y,t[15]=k,t[16]=I,t[17]=P,t[18]=E,t[19]=O}else c=t[5],u=t[6],f=t[7],p=t[8],m=t[9],h=t[10],v=t[11],S=t[12],M=t[13],y=t[14],k=t[15],I=t[16],P=t[17],E=t[18],O=t[19];let F;t[46]!==c||t[47]!==v?(F=(0,Ae.jsx)(c,{children:v}),t[46]=c,t[47]=v,t[48]=F):F=t[48];let C;t[49]!==u||t[50]!==F||t[51]!==S||t[52]!==M||t[53]!==y?(C=(0,Ae.jsxs)(u,{value:S,onValueChange:M,children:[y,F]}),t[49]=u,t[50]=F,t[51]=S,t[52]=M,t[53]=y,t[54]=C):C=t[54];let R;t[55]!==C||t[56]!==k?(R=(0,Ae.jsxs)("div",{children:[k,C]}),t[55]=C,t[56]=k,t[57]=R):R=t[57];let L=!i.trim(),x;t[58]!==h||t[59]!==L?(x=(0,Ae.jsx)($i,{onClick:h,disabled:L,size:"sm",className:"w-full",children:"Add"}),t[58]=h,t[59]=L,t[60]=x):x=t[60];let w;t[61]!==R||t[62]!==x||t[63]!==I||t[64]!==P?(w=(0,Ae.jsxs)("div",{className:I,children:[P,R,x]}),t[61]=R,t[62]=x,t[63]=I,t[64]=P,t[65]=w):w=t[65];let T;t[66]!==f||t[67]!==w||t[68]!==E?(T=(0,Ae.jsx)(f,{className:E,children:w}),t[66]=f,t[67]=w,t[68]=E,t[69]=T):T=t[69];let H;t[70]!==p||t[71]!==T?(H=(0,Ae.jsx)(p,{children:T}),t[70]=p,t[71]=T,t[72]=H):H=t[72];let b;return t[73]!==m||t[74]!==H||t[75]!==O?(b=(0,Ae.jsxs)(m,{children:[O,H]}),t[73]=m,t[74]=H,t[75]=O,t[76]=b):b=t[76],b};function Gh(e){return(0,Ae.jsx)(D0,{value:e,children:E0(e)},e)}function ba(e,t){return e.map(r=>{let n=r,o=Object.keys(n);if(t<0||t>=o.length)return n;let i=o[t],{[i]:l,...a}=n;return a})}function xa(e,t){return t?e.map(r=>({...r,[t]:""})):e}function Ca(e,t,r){return!t||!r||t===r?e:e.map(n=>{let o=n,{[t]:i,...l}=o;return{...l,[r]:o[t]}})}function xn(e){var l;let{columnFields:t,columnIdx:r,type:n,dataType:o,newColumnName:i}=e;switch(n){case"insert":{if(!i)return Wi.error("newName is required for insert"),t;let a=Object.entries(t),s=[...a.slice(0,r),[i,o||"string"],...a.slice(r)];return Object.fromEntries(s)}case"remove":{if(r<0||r>=Object.keys(t).length)return t;let a=(l=Object.entries(t)[r])==null?void 0:l[0];if(a){let{[a]:s,...c}=t;return c}return t}case"rename":{if(!i)return Wi.error("newName is required for rename"),t;if(r<0||r>=Object.keys(t).length)return t;let a=Object.entries(t),s=[...a.slice(0,r),[i,o||"string"],...a.slice(r+1)];return Object.fromEntries(s)}}}Ui=({data:e,setData:t,columnFields:r,setColumnFields:n,editableColumns:o,edits:i,onAddEdits:l,onAddRows:a,onDeleteRows:s,onRenameColumn:c,onDeleteColumn:u,onAddColumn:f})=>{let{theme:p}=V0(),m=(0,d.useRef)(null),[h,v]=(0,d.useState)(),[S,M]=(0,d.useState)(!1),[y,k]=d.useState({columns:nt.empty(),rows:nt.empty()}),[I,P]=(0,d.useState)({}),E=P0();R0(()=>{if(i.length===0)return;let q=new Map;for(let ne of i)if(va(ne))if(ne.rowIdx>=e.length){q.has(ne.rowIdx)||q.set(ne.rowIdx,{});let le=q.get(ne.rowIdx);le&&(le[ne.columnId]=ne.value)}else t(le=>{let Fe=[...le];return Fe[ne.rowIdx][ne.columnId]=ne.value,Fe});else if(Bh(ne)&&ne.type===Xo.Remove)t(le=>le.filter((Fe,Oe)=>Oe!==ne.rowIdx));else if($h(ne))switch(ne.type){case Xo.Remove:t(le=>ba(le,ne.columnIdx)),n(le=>xn({columnFields:le,columnIdx:ne.columnIdx,type:"remove"}));break;case Xo.Insert:n(le=>xn({columnFields:le,columnIdx:ne.columnIdx,type:"insert",newColumnName:ne.newName})),t(le=>xa(le,ne.newName));break;case Xo.Rename:{let le=O[ne.columnIdx].title,Fe=ne.newName;if(!le||!Fe)return;n(Oe=>xn({columnFields:Oe,columnIdx:ne.columnIdx,type:"rename",newColumnName:Fe})),t(Oe=>Ca(Oe,le,Fe));break}}let te=[...q.entries()].sort(([ne],[le])=>ne-le).map(([,ne])=>ne);te.length>0&&t(ne=>[...ne,...te]),E()});let O=(0,d.useMemo)(()=>{let q=[];for(let[te,ne]of Object.entries(r)){let le=o==="all"||o.includes(te);q.push({id:te,title:te,width:I[te],icon:le?Wh(ne):Vr.ProtectedColumnOverlay,style:"normal",kind:Nh(ne),dataType:ne,hasMenu:!0,themeOverride:le?void 0:{bgCell:p==="light"?"#F9F9FA":"#1e1e21"}})}return q},[r,I,o,p]),F=(0,d.useCallback)(q=>{let[te,ne]=q,le=e[ne][O[te].title],Fe=O[te].kind,Oe=o==="all"||o.includes(O[te].title);if(Fe===pe.Boolean){let Ee=!!le;return{kind:pe.Boolean,allowOverlay:!1,readonly:!Oe,data:Ee}}return Fe===pe.Number&&typeof le=="number"?{kind:pe.Number,allowOverlay:Oe,readonly:!Oe,displayData:String(le),data:le}:{kind:pe.Text,allowOverlay:Oe,readonly:!Oe,displayData:String(le),data:String(le)}},[O,e,o]),C=(0,d.useCallback)((q,te)=>{let[ne,le]=q,Fe=O[ne],Oe=Fe.title,Ee=te.data;(Fe.dataType==="number"||Fe.dataType==="integer")&&(te.data===void 0||te.data==="")&&(Ee=null),t(Ge=>{let Me=[...Ge];return Me[le][Oe]=Ee,Me}),l([{rowIdx:le,columnId:Oe,value:Ee}])},[O,l,t]),R=(0,d.useCallback)((q,te)=>{P(ne=>({...ne,[q.title]:te}))},[]),L=(0,d.useCallback)((q,te,ne)=>{let[le,Fe]=q;switch(r[O[le].title]){case"number":case"integer":if(Number.isNaN(Number(te.data)))return!1;break;case"boolean":if(typeof te.data!="boolean")return!1;break}return!0},[r,O]),x=(0,d.useCallback)(q=>{if(m.current){if(Bi.isMetaOrCtrl(q)&&q.key==="c"){m.current.emit("copy");return}if(Bi.isMetaOrCtrl(q)&&q.key==="v"){Vh({selection:y,data:e,setData:t,columns:O,editableColumns:o,onAddEdits:l});return}if(Bi.isMetaOrCtrl(q)&&q.key==="f"){M(te=>!te),q.stopPropagation(),q.preventDefault();return}if(q.key==="Escape"){M(!1);return}}},[O,e,o,l,y,t]),w=(0,d.useCallback)(()=>{let q=Object.fromEntries(O.map(te=>{let ne=te.dataType;switch(ne){case"boolean":return[te.title,!1];case"number":case"integer":return[te.title,null];case"date":case"datetime":case"time":return[te.title,new Date];case"string":case"unknown":return[te.title,""];default:return Va(ne),[te.title,""]}}));a([q]),t(te=>[...te,q])},[O,a,t]),T=()=>{let q=y.rows.toArray();s(q);let te=0;for(let ne of q){let le=ne-te;t(Fe=>Fe.filter((Oe,Ee)=>Ee!==le)),te++}k({columns:nt.empty(),rows:nt.empty()})},H=k0((q,te)=>{v({col:q,bounds:te})}),b=async()=>{if(h){let q=O[h.col].title;await K0(q),v(void 0)}};function J(q){$0({title:`Column '${q}' already exists`,description:"Please enter a different column name",variant:"danger"})}let _=q=>{if(h){let te=O[h.col].title;if(r[q]){J(q);return}let ne=O[h.col].dataType;c(h.col,q),n(le=>xn({columnFields:le,columnIdx:h.col,type:"rename",dataType:ne,newColumnName:q})),t(le=>Ca(le,te,q)),v(void 0)}},Q=()=>{h&&(u(h.col),n(q=>xn({columnFields:q,columnIdx:h.col,type:"remove"})),t(q=>ba(q,h.col)),v(void 0))},ee=q=>{let{direction:te,columnName:ne,dataType:le}=q;if(h){let Fe=h.col+(te==="left"?0:1),Oe=Math.max(0,Math.min(Fe,O.length));if(r[ne]){J(ne);return}f(Oe,ne),n(Ee=>xn({columnFields:Ee,columnIdx:Oe,type:"insert",dataType:le,newColumnName:ne})),t(Ee=>xa(Ee,ne)),v(void 0)}},K=(h==null?void 0:h.col)===O.length-1,se=h!==void 0,oe="mr-2 h-3.5 w-3.5",ue={hint:"New row",sticky:!0,tint:!0},de=e.length>1e5,X=o==="all";return(0,Ae.jsxs)("div",{className:"relative",children:[(0,Ae.jsx)(I0,{children:(0,Ae.jsx)(_h,{ref:m,getCellContent:F,columns:O,gridSelection:y,onGridSelectionChange:k,rows:e.length,overscrollX:50,smoothScrollX:!de,smoothScrollY:!de,validateCell:L,getCellsForSelection:!0,onPaste:!0,showSearch:S,fillHandle:!0,allowedFillDirections:"vertical",onKeyDown:x,height:e.length>10?450:void 0,rowMarkers:{kind:"both"},rowSelectionMode:"multi",onCellEdited:C,onColumnResize:R,onHeaderMenuClick:H,theme:Kh(p),trailingRowOptions:ue,onRowAppended:w,maxColumnAutoWidth:600,maxColumnWidth:600})}),(()=>{if(!se)return;let q=(0,Ae.jsxs)(Ae.Fragment,{children:[X&&(0,Ae.jsx)(Yh,{currentColumnName:O[h.col].title,onRename:_,onCancel:()=>v(void 0)}),(0,Ae.jsx)(Ya,{}),(0,Ae.jsx)(ya,{direction:"left",onAdd:(te,ne)=>ee({direction:"left",columnName:te,dataType:ne}),onCancel:()=>v(void 0)}),(0,Ae.jsx)(ya,{direction:"right",onAdd:(te,ne)=>ee({direction:"right",columnName:te,dataType:ne}),onCancel:()=>v(void 0)}),(0,Ae.jsx)(Ya,{}),!K&&X&&(0,Ae.jsxs)(Ka,{onClick:Q,className:"text-destructive focus:text-destructive",children:[(0,Ae.jsx)(B0,{className:oe}),"Delete column"]})]});return(0,Ae.jsx)(F0,{open:se,onOpenChange:te=>!te&&v(void 0),children:(0,Ae.jsxs)(j0,{style:{left:(h==null?void 0:h.bounds.x)??0,top:((h==null?void 0:h.bounds.y)??0)+((h==null?void 0:h.bounds.height)??0)},className:"fixed w-52",children:[(0,Ae.jsxs)(Ka,{onClick:b,children:[(0,Ae.jsx)(_0,{className:oe}),"Copy column name"]}),!de&&q]})})})(),(0,Ae.jsx)("div",{className:"absolute bottom-1 right-2 w-26",children:(0,Ae.jsx)($i,{variant:"destructive",size:"sm",disabled:y.rows.length===0,className:"right-2 h-7",onClick:T,children:y.rows.length<=1?"Delete row":"Delete rows"})})]})},fs=Ui})();export{Ui as GlideDataEditor,of as __tla,fs as default};
@@ -1 +1 @@
1
- import{i as r}from"./useEvent-DlWF5OMa.js";import{s as o}from"./switch-BLEwkiUl.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
+ import{i as r}from"./useEvent-DlWF5OMa.js";import{s as o}from"./switch-Cd5iA-KH.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};