@marimo-team/frontend 0.17.3 → 0.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-C3bK7-wN.js → CellStatus-c0SAQ-F-.js} +1 -1
- package/dist/assets/{ConsoleOutput-DWvKgTax.js → ConsoleOutput-CDSftFlX.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-BgZFHyAp.js → MarimoErrorOutput-BMyX5A6l.js} +1 -1
- package/dist/assets/{Output-C8n2C1Pu.js → Output-pZgeySyq.js} +1 -1
- package/dist/assets/RenderHTML-BUSbsjNK.js +1 -0
- package/dist/assets/{add-cell-with-ai-Bwg9bH8i.js → add-cell-with-ai-D5ovEhXx.js} +1 -1
- package/dist/assets/{add-database-form-dbmUeWp4.js → add-database-form-p8983nDn.js} +1 -1
- package/dist/assets/{add-missing-import-qki9bte9.js → add-missing-import-BwGZ98W0.js} +1 -1
- package/dist/assets/{agent-panel-Dhy20Enr.js → agent-panel-B5iI79QW.js} +1 -1
- package/dist/assets/{app-config-button-CYwoclvk.js → app-config-button-BFmqvqPu.js} +1 -1
- package/dist/assets/{cell-actions-c22Lh_IO.js → cell-actions-Cc2JYtcT.js} +1 -1
- package/dist/assets/{cell-editor-GZrtvFJW.js → cell-editor-DJ46IITP.js} +1 -1
- package/dist/assets/{cell-link-sTcnY1Ng.js → cell-link-DFNTDaPd.js} +1 -1
- package/dist/assets/{cells-ChcCEAp9.js → cells-DNq9ng4B.js} +3 -5
- package/dist/assets/{chat-components-2Txp_uWE.js → chat-components-BJMCzZRK.js} +1 -1
- package/dist/assets/{chat-panel-B-aSH1sh.js → chat-panel-DajnoQHz.js} +1 -1
- package/dist/assets/{client-DphVxIGq.js → client-B0dO9skM.js} +1 -1
- package/dist/assets/{column-preview-CXzpLY8T.js → column-preview-BiiXdwvw.js} +1 -1
- package/dist/assets/{command-palette-DisdRO5p.js → command-palette-DbfvqoOB.js} +1 -1
- package/dist/assets/{common-D0IIv-_3.js → common-U0RDob8X.js} +1 -1
- package/dist/assets/{datasources-panel-6PT8Bek6.js → datasources-panel-Bo6UM72J.js} +1 -1
- package/dist/assets/{dependency-graph-panel-6gaUZ9_z.js → dependency-graph-panel-DcOypoYV.js} +1 -1
- package/dist/assets/{documentation-panel-CuORNaIe.js → documentation-panel-BPa77v-x.js} +1 -1
- package/dist/assets/{edit-page-CF6ZT6DW.js → edit-page-CYfYSIzk.js} +3 -3
- package/dist/assets/{error-panel-DsYYzWCa.js → error-panel-C4Dh4_Gz.js} +1 -1
- package/dist/assets/{file-explorer-panel-CPZ1gNhJ.js → file-explorer-panel-BTjjB1ys.js} +1 -1
- package/dist/assets/{floating-outline-BjOLeg9Q.js → floating-outline-DwAgRZTh.js} +1 -1
- package/dist/assets/{focus-BrbV9nqw.js → focus-BwMl5m5_.js} +1 -1
- package/dist/assets/{form-BogImzlM.js → form-CQCzdh1o.js} +1 -1
- package/dist/assets/{form-wmMKGeHm.js → form-D69llIWP.js} +1 -1
- package/dist/assets/{home-page-XcjCdiYR.js → home-page-F1w05vyJ.js} +1 -1
- package/dist/assets/{index-B6c28rYm.css → index-BmcO-QYJ.css} +1 -1
- package/dist/assets/{index-BXJ0L2ZN.js → index-q8eVuDDk.js} +3 -3
- package/dist/assets/{kiosk-mode-DW0KYuDo.js → kiosk-mode-Dd1ooBaF.js} +1 -1
- package/dist/assets/{layout-CNCmZJQH.js → layout-C8ytLSQd.js} +1 -1
- package/dist/assets/{logs-panel-KRi5a3Yd.js → logs-panel-C8ChYhO8.js} +1 -1
- package/dist/assets/{mode-47luhzpx.js → mode-BWw7rz82.js} +1 -1
- package/dist/assets/{name-cell-input-iv2D5yrk.js → name-cell-input-F8bM4E5e.js} +1 -1
- package/dist/assets/{outline-panel-CwQOW3hr.js → outline-panel-QjRV3Zps.js} +1 -1
- package/dist/assets/{packages-panel-bIuFo_yZ.js → packages-panel-_yihtFbB.js} +1 -1
- package/dist/assets/{readonly-python-code-DOMir81o.js → readonly-python-code-gmO6162d.js} +1 -1
- package/dist/assets/{run-page-DcyDyVAW.js → run-page-BsulC5PQ.js} +1 -1
- package/dist/assets/{scratchpad-panel-6URLLQyW.js → scratchpad-panel-A9G8o9jf.js} +1 -1
- package/dist/assets/{snippets-panel-DQjHx5dH.js → snippets-panel-C6FwSaZz.js} +1 -1
- package/dist/assets/{state-OU5IKSGK.js → state-C7T5AXo0.js} +1 -1
- package/dist/assets/{state-Ds5BCDZt.js → state-CIEHjRfF.js} +1 -1
- package/dist/assets/{storage-CCZ0kBEN.js → storage-CmIwledL.js} +1 -1
- package/dist/assets/{tracing-DlcXZDiG.js → tracing-Cq1z4XC3.js} +1 -1
- package/dist/assets/{tracing-panel-BNZEX5NU.js → tracing-panel-Mt1B8lhs.js} +2 -2
- package/dist/assets/{types-XAhA2qP3.js → types-UoG2cq5J.js} +1 -1
- package/dist/assets/{useAddCell-CG6KWlO3.js → useAddCell-xX3fIjF2.js} +1 -1
- package/dist/assets/{useCellActionButton-DFWFWfvs.js → useCellActionButton-jH-t2BrR.js} +1 -1
- package/dist/assets/{useDeleteCell-BPNrZc-g.js → useDeleteCell-CJ4WX9R2.js} +1 -1
- package/dist/assets/{useNotebookActions-DhHVJ3q5.js → useNotebookActions-Cf9b-Ef9.js} +1 -1
- package/dist/assets/{useRunCells-BmIxLPpn.js → useRunCells-DjmsNJ7r.js} +1 -1
- package/dist/assets/{useSplitCell-CDjHCs8K.js → useSplitCell-ueztloAj.js} +1 -1
- package/dist/assets/{utilities.esm-B_umFSka.js → utilities.esm-D8HYU14D.js} +1 -1
- package/dist/assets/{variable-panel-E1eImuWQ.js → variable-panel-DAhAueP9.js} +1 -1
- package/dist/index.html +24 -24
- package/package.json +1 -1
- package/src/css/md.css +6 -0
- package/src/plugins/core/__test__/sanitize.test.ts +27 -0
- package/src/plugins/core/sanitize.ts +1 -1
- package/dist/assets/RenderHTML-DockW4fh.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as v}from"./chunk-DZLz74EQ.js";import{c as R,d as Oe,l as N,s as Be}from"./jotai-BTnrNcC1.js";import{t as Ue}from"./react-BcIddLXZ.js";import{Br as de,Cn as Ye,E as ce,Jn as $e,Lt as he,Mt as pe,Z as Q,_ as Ge,gn as Fe,h as ee,or as Ze,qn as Je,r as Ke,sr as Xe,v as Qe,wn as me}from"./cells-ChcCEAp9.js";import{t as A}from"./compiler-runtime-Cr9loedd.js";import{t as ye}from"./startCase-RfubwhHM.js";import{n as et}from"./add-database-form-dbmUeWp4.js";import{a as te}from"./hotkeys-ClCtr3_I.js";import{v as tt}from"./utils-BpjB6B-Y.js";import{t as z}from"./constants-CEISdYm1.js";import{g as ae,u as at}from"./config-e9OVB2bJ.js";import{t as ot}from"./jsx-runtime-mwDPpfh_.js";import{r as it,t as oe}from"./button-Zjtz1syG.js";import{r as E}from"./requests-DD3OWR81.js";import{t as C}from"./use-toast-BPMVOfO3.js";import{s as nt,t as st}from"./connection-CsVOmbVi.js";import{i as lt}from"./useLifecycle-CxNbfWnk.js";import{t as c}from"./createLucideIcon-CaU6_Jtx.js";import{t as rt}from"./activity-CwCrFh0w.js";import{a as fe,d as dt,f as ue,i as ke,u as be}from"./layout-CNCmZJQH.js";import{n as ct,t as ht}from"./square-B9bfYM_2.js";import{p as pt,t as mt,u as yt}from"./state-OU5IKSGK.js";import{t as xe}from"./check-Dc7YCRim.js";import{a as ft,c as ut,i as kt,n as bt,r as xt,s as wt,t as gt}from"./select-Di-JjADd.js";import{i as we,r as jt,t as ge}from"./download-DrI1Gw05.js";import{_ as vt}from"./maps-cpHLsM9S.js";import{i as Ct,o as Mt,r as zt}from"./useCellActionButton-DFWFWfvs.js";import{t as je}from"./circle-x-Bb-EcEyG.js";import{t as Wt}from"./eye-off-BIDUS-iw.js";import{t as _t}from"./copy-CDDalEhv.js";import{t as At}from"./database-zap-qZPyZzpI.js";import{t as It}from"./download-kgdScOCd.js";import{t as St}from"./file-plus-2-CCnTSf5c.js";import{t as ve}from"./file-text-Z92DzmMA.js";import{t as Nt}from"./file-Cesos4Qp.js";import{i as Et,n as Pt,r as Ht,t as Dt}from"./youtube-IyU5o7JU.js";import{t as Tt}from"./globe-BGR7PZfb.js";import{t as Lt}from"./image-CVwcB3Mo.js";import{t as Vt}from"./link-DmSljZn4.js";import{u as qt}from"./MarimoErrorOutput-BgZFHyAp.js";import{r as Rt}from"./input-DuVApvWu.js";import{t as Ot}from"./settings-DvMaGwYY.js";import{t as Bt}from"./square-function-DncO0xCM.js";import{g as Ut}from"./form-wmMKGeHm.js";import{t as Yt}from"./text-search-ClAG-7sc.js";import{t as $t}from"./tooltip-CerBk_un.js";import{a as Ce,i as Gt,r as Ft}from"./mode-47luhzpx.js";import{o as Zt}from"./alert-dialog-BZHeDuaE.js";import{a as Jt,c as Kt,i as Xt,n as Qt,r as ea}from"./dialog-CzmSXArA.js";import{n as ie}from"./ImperativeModal-ExH1h9et.js";import{r as ta,t as aa}from"./share-Bur20myQ.js";import{t as O}from"./copy-SPzF4B1M.js";import{r as oa}from"./useRunCells-BmIxLPpn.js";import{a as Me}from"./renderShortcut-a-3t8sis.js";import{a as ia}from"./cell-link-sTcnY1Ng.js";import{t as na}from"./icons-HGhpVPVr.js";import{t as sa}from"./links-nvlVnGWE.js";import{t as ze}from"./types-BAj-eUz8.js";var la=c("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),ra=c("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),We=c("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),da=c("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),_e=c("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Ae=c("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),ca=c("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),ha=c("files",[["path",{d:"M15 2a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 21 8v7a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z",key:"1vo8kb"}],["path",{d:"M15 2v4a2 2 0 0 0 2 2h4",key:"sud9ri"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),pa=c("folder-tree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]),ma=c("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),ya=c("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]),fa=c("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]),ua=c("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Ie=c("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),ka=c("list",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]),ba=c("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Se=c("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),xa=c("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),wa=c("square-dashed-bottom-code",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["path",{d:"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2",key:"as5y1o"}],["path",{d:"M9 21h1",key:"15o7lz"}]]),ga=c("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),Ne=c("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),Ee=v(A(),1),ne=v(Ue(),1),a=v(ot(),1),B="https://static.marimo.app";const ja=e=>{let t=(0,Ee.c)(25),{onClose:o}=e,[n,r]=(0,ne.useState)(""),{exportAsHTML:l}=E(),i=`${n}-${Math.random().toString(36).slice(2,6)}`,s=`${B}/static/${i}`,d;t[0]!==l||t[1]!==o||t[2]!==i?(d=async M=>{M.preventDefault(),o();let I=await l({download:!1,includeCode:!0,files:dt.INSTANCE.filenames()}),W=C({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${B}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:I,path:i})}).catch(()=>{W.dismiss(),C({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:z.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),W.dismiss(),C({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},t[0]=l,t[1]=o,t[2]=i,t[3]=d):d=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Kt,{children:"Share static notebook"}),t[4]=p):p=t[4];let x;t[5]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsxs)(Jt,{children:[p,(0,a.jsxs)(ea,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:B,target:"_blank",children:B}),"."]})]}),t[5]=x):x=t[5];let g;t[6]===Symbol.for("react.memo_cache_sentinel")?(g=M=>{r(M.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},t[6]=g):g=t[6];let m;t[7]===n?m=t[8]:(m=(0,a.jsx)(Rt,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:n,placeholder:"Notebook slug",onChange:g,required:!0,autoComplete:"off"}),t[7]=n,t[8]=m);let y;t[9]===s?y=t[10]:(y=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(va,{text:s}),(0,a.jsx)("span",{className:"text-primary",children:s})]})]}),t[9]=s,t[10]=y);let f;t[11]!==m||t[12]!==y?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[m,y]}),t[11]=m,t[12]=y,t[13]=f):f=t[13];let u;t[14]===o?u=t[15]:(u=(0,a.jsx)(oe,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:o,children:"Cancel"}),t[14]=o,t[15]=u);let k;t[16]===s?k=t[17]:(k=(0,a.jsx)(oe,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await O(s)},children:"Create"}),t[16]=s,t[17]=k);let b;t[18]!==u||t[19]!==k?(b=(0,a.jsxs)(Xt,{children:[u,k]}),t[18]=u,t[19]=k,t[20]=b):b=t[20];let j;return t[21]!==d||t[22]!==b||t[23]!==f?(j=(0,a.jsx)(Qt,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[x,f,b]})}),t[21]=d,t[22]=b,t[23]=f,t[24]=j):j=t[24],j};var va=e=>{let t=(0,Ee.c)(8),[o,n]=ne.useState(!1),r;t[0]===e.text?r=t[1]:(r=it.stopPropagation(async p=>{p.preventDefault(),await O(e.text),n(!0),setTimeout(()=>n(!1),2e3)}),t[0]=e.text,t[1]=r);let l=r,i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(_t,{size:14,strokeWidth:1.5}),t[2]=i):i=t[2];let s;t[3]===l?s=t[4]:(s=(0,a.jsx)(oe,{"data-testid":"copy-static-notebook-url-button",onClick:l,size:"xs",variant:"secondary",children:i}),t[3]=l,t[4]=s);let d;return t[5]!==o||t[6]!==s?(d=(0,a.jsx)($t,{content:"Copied!",open:o,children:s}),t[5]=o,t[6]=s,t[7]=d):d=t[7],d},Ca=v(A(),1);function Pe(){let e=(0,Ca.c)(2),t=N(Ce),o;return e[0]===t?o=e[1]:(o=()=>{let n=document.getElementsByClassName("output-area"),r=window.innerHeight||document.documentElement.clientHeight,l=null;for(let i of Array.from(n)){let s=i.getBoundingClientRect();if(s.top>=0&&s.top<=r||s.bottom>=0&&s.bottom<=r){l=de.parse(i.parentNode.id);break}}t(i=>({mode:Gt(i.mode),cellAnchor:l})),requestAnimationFrame(()=>{var i;l!==null&&((i=document.getElementById(de.create(l)))==null||i.scrollIntoView())})},e[0]=t,e[1]=o),o}const He=[{type:"files",Icon:pa,tooltip:"View files",position:"sidebar"},{type:"variables",Icon:Bt,tooltip:"Explore variables",position:"sidebar"},{type:"datasources",Icon:pe,tooltip:"Explore data sources",position:"sidebar"},{type:"packages",Icon:pt,tooltip:"Manage packages",position:"sidebar"},{type:"chat",Icon:ct,tooltip:"Chat with AI",position:"sidebar"},{type:"agents",Icon:ma,tooltip:"Agents",position:"sidebar",hidden:!Q("external_agents")},{type:"scratchpad",Icon:qt,tooltip:"Scratchpad",position:"sidebar"},{type:"snippets",Icon:wa,tooltip:"Snippets",position:"sidebar"},{type:"documentation",Icon:Yt,tooltip:"View live docs",position:"sidebar"},{type:"logs",Icon:ve,tooltip:"Notebook logs",position:"sidebar"},{type:"dependencies",Icon:Mt,tooltip:"Explore dependencies",position:"sidebar"},{type:"tracing",Icon:rt,tooltip:"Tracing",position:"sidebar"},{type:"secrets",Icon:fa,tooltip:"Secrets",hidden:ae(),position:"sidebar"},{type:"cache",Icon:At,tooltip:"Manage cache",position:"sidebar",hidden:!Q("cache_panel")},{type:"errors",Icon:je,tooltip:"View errors",position:"footer"}],De=Oe(!1);var Ma=v(A(),1);const za=()=>{let e=(0,Ma.c)(7),{selectedLayout:t}=fe(),{setLayoutView:o}=ke();if(ae()&&!Q("wasm_layouts"))return null;let n;e[0]===o?n=e[1]:(n=s=>o(s),e[0]=o,e[1]=n);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(wt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(ut,{placeholder:"Select a view"})}),e[2]=r):r=e[2];let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(bt,{children:(0,a.jsxs)(xt,{children:[(0,a.jsx)(ft,{children:"View as"}),ze.map(_a)]})}),e[3]=l):l=e[3];let i;return e[4]!==t||e[5]!==n?(i=(0,a.jsxs)(gt,{"data-testid":"layout-select",value:t,onValueChange:n,children:[r,l]}),e[4]=t,e[5]=n,e[6]=i):i=e[6],i};function Wa(e){return(0,a.jsx)(Te(e),{className:"h-4 w-4"})}function Te(e){switch(e){case"vertical":return ka;case"grid":return Ht;case"slides":return Se;default:return lt(e),ht}}function Le(e){return ye(e)}function _a(e){return(0,a.jsx)(kt,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Wa(e),(0,a.jsx)("span",{children:Le(e)})]})},e)}var Aa=v(A(),1);function Ia(e){let t=(0,Aa.c)(5),{openPrompt:o,closeModal:n}=ie(),{sendCopy:r}=E(),l;return t[0]!==n||t[1]!==o||t[2]!==r||t[3]!==e?(l=()=>{if(!e)return null;let i=Ye.guessDeliminator(e);o({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${me.basename(e)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:s=>{let d=i.join(me.dirname(e),s);r({source:e,destination:d}).then(()=>{n(),C({title:"Notebook copied",description:"A copy of the notebook has been created."}),sa(d)})}})},t[0]=n,t[1]=o,t[2]=r,t[3]=e,t[4]=l):l=t[4],l}const Sa=()=>{let{updateCellConfig:e}=ce(),{saveCellConfig:t}=E();return(0,ne.useCallback)(async()=>{let o=new Fe,n=ee(),r=n.cellIds.inOrderIds,l={};for(let s of r){if(n.cellData[s]===void 0)continue;let{code:d,config:p}=n.cellData[s];p.hide_code||o.isSupported(d)&&(l[s]={hide_code:!0})}let i=te.entries(l);if(i.length!==0){await t({configs:l});for(let[s,d]of i)e({cellId:s,config:d})}},[e])};var Na=v(A(),1);function Ve(){let e=(0,Na.c)(4),{openConfirm:t}=ie(),o=N(st),{sendRestart:n}=E(),r;return e[0]!==t||e[1]!==n||e[2]!==o?(r=()=>{t({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Zt,{onClick:async()=>{o({state:nt.CLOSING}),await n(),ta()},"aria-label":"Confirm Restart",children:"Restart"})})},e[0]=t,e[1]=n,e[2]=o,e[3]=r):r=e[3],r}var Ea=v(A(),1),P=e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()};function Pa(){var le,re;let e=(0,Ea.c)(39),t=ia(),{openModal:o,closeModal:n}=ie(),{toggleApplication:r}=Je(),{selectedPanel:l}=$e(),[i]=Be(Ce),s=R(Ft),d=Sa(),[p]=tt(),{updateCellConfig:x,undoDeleteCell:g,clearAllCellOutputs:m,addSetupCellIfDoesntExist:y,collapseAllCells:f,expandAllCells:u}=ce(),k=Ve(),b=oa(),j=Ia(t),M=N(De),I=N(mt),W=N(yt),{exportAsMarkdown:U,readCode:S,saveCellConfig:H}=E(),Y=R(Ge),$=R(Qe),G=R(Ke),{selectedLayout:F}=fe(),{setLayoutView:Z}=ke(),D=Pe(),se=((le=p.sharing)==null?void 0:le.html)??!0,T=((re=p.sharing)==null?void 0:re.wasm)??!0,qe=eo,L;e[0]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(xa,{size:14,strokeWidth:1.5}),e[0]=L):L=e[0];let J=!se&&!T,V;e[1]===Symbol.for("react.memo_cache_sentinel")?(V=(0,a.jsx)(Tt,{size:14,strokeWidth:1.5}),e[1]=V):V=e[1];let K=!se,_;e[2]!==n||e[3]!==o?(_=async()=>{o((0,a.jsx)(ja,{onClose:n}))},e[2]=n,e[3]=o,e[4]=_):_=e[4];let q;return e[5]!==y||e[6]!==G||e[7]!==m||e[8]!==n||e[9]!==f||e[10]!==j||e[11]!==u||e[12]!==U||e[13]!==t||e[14]!==Y||e[15]!==$||e[16]!==d||e[17]!==s||e[18]!==o||e[19]!==S||e[20]!==k||e[21]!==b||e[22]!==H||e[23]!==F||e[24]!==l||e[25]!==M||e[26]!==W||e[27]!==Z||e[28]!==I||e[29]!==T||e[30]!==J||e[31]!==K||e[32]!==_||e[33]!==r||e[34]!==D||e[35]!==g||e[36]!==x||e[37]!==i.mode?(q=[{icon:L,label:"Share",handle:P,hidden:J,dropdown:[{icon:V,label:"Publish HTML to web",hidden:K,handle:_},{icon:(0,a.jsx)(Vt,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!T,handle:async()=>{await O(aa({code:(await S()).contents})),C({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(It,{size:14,strokeWidth:1.5}),label:"Download",handle:P,dropdown:[{icon:(0,a.jsx)(ue,{size:14,strokeWidth:1.5}),label:"Download as HTML",handle:async()=>{if(!t){C({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await be({filename:t,includeCode:!0})}},{icon:(0,a.jsx)(ue,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!t){C({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await be({filename:t,includeCode:!1})}},{icon:(0,a.jsx)(na,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let h=await U({download:!1});ge(new Blob([h],{type:"text/plain"}),we.toMarkdown(document.title))}},{icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let h=await S();ge(new Blob([h.contents],{type:"text/plain"}),we.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(Lt,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Me("global.hideCode",!1)]}),handle:Qa},{icon:(0,a.jsx)(Nt,{size:14,strokeWidth:1.5}),label:"Download as PDF",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Me("global.hideCode",!1)]}),handle:Ka}]},{divider:!0,icon:(0,a.jsx)(ba,{size:14,strokeWidth:1.5}),label:"Helper panel",handle:P,dropdown:He.flatMap(h=>{let{type:w,Icon:X,hidden:Re}=h;return Re?[]:{label:ye(w),rightElement:qe(l===w),icon:(0,a.jsx)(X,{size:14,strokeWidth:1.5}),handle:()=>r(w)}})},{icon:(0,a.jsx)(Se,{size:14,strokeWidth:1.5}),label:"Present as",handle:P,dropdown:[{icon:i.mode==="present"?(0,a.jsx)(Ut,{size:14,strokeWidth:1.5}):(0,a.jsx)(Ie,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{D()}},...ze.map((h,w)=>{let X=Te(h);return{divider:w===0,label:Le(h),icon:(0,a.jsx)(X,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:F===h&&(0,a.jsx)(xe,{size:14})}),handle:()=>{Z(h),i.mode==="edit"&&D()}}})]},{icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Create notebook copy",hidden:!t||ae(),handle:j},{icon:(0,a.jsx)(We,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!t,handle:async()=>{await O((await S()).contents),C({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!Y||s,handle:async()=>{let h=Ze(ee());await H({configs:te.fromEntries(h.map(Ja))});for(let w of h)x({cellId:w,config:{disabled:!1}})}},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"Disable all cells",hidden:!$||s,handle:async()=>{let h=Xe(ee());await H({configs:te.fromEntries(h.map(Za))});for(let w of h)x({cellId:w,config:{disabled:!0}})}},{icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d},{icon:(0,a.jsx)(ra,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:f},{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:u},{icon:(0,a.jsx)(Ae,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{y({})}},{icon:(0,a.jsx)(je,{size:14,strokeWidth:1.5}),label:"Clear all outputs",handle:()=>{m()}},{icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Re-run all cells",hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(Ne,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!G||s,handle:()=>{g()}},{icon:(0,a.jsx)(pe,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{o((0,a.jsx)(et,{onClose:n}))}},{divider:!0,icon:(0,a.jsx)(_e,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>M(Fa)},{icon:(0,a.jsx)(Ot,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>I(Ga)},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>W($a)},{icon:(0,a.jsx)(he,{size:14,strokeWidth:1.5}),label:"Open documentation",handle:Ya},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Resources",handle:P,dropdown:[{icon:(0,a.jsx)(he,{size:14,strokeWidth:1.5}),label:"Documentation",handle:Ua},{icon:(0,a.jsx)(Et,{size:14,strokeWidth:1.5}),label:"GitHub",handle:Ba},{icon:(0,a.jsx)(Pt,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:Oa},{icon:(0,a.jsx)(Dt,{size:14,strokeWidth:1.5}),label:"YouTube",handle:Ra},{icon:(0,a.jsx)(ve,{size:14,strokeWidth:1.5}),label:"Changelog",handle:qa}]},{divider:!0,icon:(0,a.jsx)(ya,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:Va},{icon:(0,a.jsx)(St,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:La},{icon:(0,a.jsx)(ga,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:k}].filter(Ta).map(Ha),e[5]=y,e[6]=G,e[7]=m,e[8]=n,e[9]=f,e[10]=j,e[11]=u,e[12]=U,e[13]=t,e[14]=Y,e[15]=$,e[16]=d,e[17]=s,e[18]=o,e[19]=S,e[20]=k,e[21]=b,e[22]=H,e[23]=F,e[24]=l,e[25]=M,e[26]=W,e[27]=Z,e[28]=I,e[29]=T,e[30]=J,e[31]=K,e[32]=_,e[33]=r,e[34]=D,e[35]=g,e[36]=x,e[37]=i.mode,e[38]=q):q=e[38],q}function Ha(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(Da)}:e}function Da(e){return!e.hidden}function Ta(e){return!e.hidden}function La(){let e=at();window.open(e,"_blank")}function Va(){let e=document.baseURI.split("?")[0];window.open(e,"_self")}function qa(){window.open(z.releasesPage,"_blank")}function Ra(){window.open(z.youtube,"_blank")}function Oa(){window.open(z.discordLink,"_blank")}function Ba(){window.open(z.githubPage,"_blank")}function Ua(){window.open(z.docsPage,"_blank")}function Ya(){window.open(z.docsPage,"_blank")}function $a(e){return!e}function Ga(e){return!e}function Fa(e){return!e}function Za(e){return[e,{disabled:!0}]}function Ja(e){return[e,{disabled:!1}]}async function Ka(){let e=new Event("export-beforeprint"),t=new Event("export-afterprint");(function(){window.dispatchEvent(e),setTimeout(Xa,0),setTimeout(()=>window.dispatchEvent(t),0)})()}function Xa(){return window.print()}async function Qa(){let e=document.getElementById("App");e&&await jt(e,document.title)}function eo(e){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:e&&(0,a.jsx)(xe,{size:14})})}export{He as a,Ie as c,We as d,De as i,Ae as l,Ve as n,Pe as o,za as r,Ne as s,Pa as t,_e as u};
|
|
1
|
+
import{s as v}from"./chunk-DZLz74EQ.js";import{c as R,d as Oe,l as N,s as Be}from"./jotai-BTnrNcC1.js";import{t as Ue}from"./react-BcIddLXZ.js";import{Br as de,Cn as Ye,E as ce,Jn as $e,Lt as he,Mt as pe,Z as Q,_ as Ge,gn as Fe,h as ee,or as Ze,qn as Je,r as Ke,sr as Xe,v as Qe,wn as me}from"./cells-DNq9ng4B.js";import{t as A}from"./compiler-runtime-Cr9loedd.js";import{t as ye}from"./startCase-RfubwhHM.js";import{n as et}from"./add-database-form-p8983nDn.js";import{a as te}from"./hotkeys-ClCtr3_I.js";import{v as tt}from"./utils-BpjB6B-Y.js";import{t as z}from"./constants-CEISdYm1.js";import{g as ae,u as at}from"./config-e9OVB2bJ.js";import{t as ot}from"./jsx-runtime-mwDPpfh_.js";import{r as it,t as oe}from"./button-Zjtz1syG.js";import{r as E}from"./requests-DD3OWR81.js";import{t as C}from"./use-toast-BPMVOfO3.js";import{s as nt,t as st}from"./connection-CsVOmbVi.js";import{i as lt}from"./useLifecycle-CxNbfWnk.js";import{t as c}from"./createLucideIcon-CaU6_Jtx.js";import{t as rt}from"./activity-CwCrFh0w.js";import{a as fe,d as dt,f as ue,i as ke,u as be}from"./layout-C8ytLSQd.js";import{n as ct,t as ht}from"./square-B9bfYM_2.js";import{p as pt,t as mt,u as yt}from"./state-C7T5AXo0.js";import{t as xe}from"./check-Dc7YCRim.js";import{a as ft,c as ut,i as kt,n as bt,r as xt,s as wt,t as gt}from"./select-Di-JjADd.js";import{i as we,r as jt,t as ge}from"./download-DrI1Gw05.js";import{_ as vt}from"./maps-cpHLsM9S.js";import{i as Ct,o as Mt,r as zt}from"./useCellActionButton-jH-t2BrR.js";import{t as je}from"./circle-x-Bb-EcEyG.js";import{t as Wt}from"./eye-off-BIDUS-iw.js";import{t as _t}from"./copy-CDDalEhv.js";import{t as At}from"./database-zap-qZPyZzpI.js";import{t as It}from"./download-kgdScOCd.js";import{t as St}from"./file-plus-2-CCnTSf5c.js";import{t as ve}from"./file-text-Z92DzmMA.js";import{t as Nt}from"./file-Cesos4Qp.js";import{i as Et,n as Pt,r as Ht,t as Dt}from"./youtube-IyU5o7JU.js";import{t as Tt}from"./globe-BGR7PZfb.js";import{t as Lt}from"./image-CVwcB3Mo.js";import{t as Vt}from"./link-DmSljZn4.js";import{u as qt}from"./MarimoErrorOutput-BMyX5A6l.js";import{r as Rt}from"./input-DuVApvWu.js";import{t as Ot}from"./settings-DvMaGwYY.js";import{t as Bt}from"./square-function-DncO0xCM.js";import{g as Ut}from"./form-D69llIWP.js";import{t as Yt}from"./text-search-ClAG-7sc.js";import{t as $t}from"./tooltip-CerBk_un.js";import{a as Ce,i as Gt,r as Ft}from"./mode-BWw7rz82.js";import{o as Zt}from"./alert-dialog-BZHeDuaE.js";import{a as Jt,c as Kt,i as Xt,n as Qt,r as ea}from"./dialog-CzmSXArA.js";import{n as ie}from"./ImperativeModal-ExH1h9et.js";import{r as ta,t as aa}from"./share-Bur20myQ.js";import{t as O}from"./copy-SPzF4B1M.js";import{r as oa}from"./useRunCells-DjmsNJ7r.js";import{a as Me}from"./renderShortcut-a-3t8sis.js";import{a as ia}from"./cell-link-DFNTDaPd.js";import{t as na}from"./icons-HGhpVPVr.js";import{t as sa}from"./links-nvlVnGWE.js";import{t as ze}from"./types-BAj-eUz8.js";var la=c("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),ra=c("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),We=c("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),da=c("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),_e=c("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Ae=c("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),ca=c("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),ha=c("files",[["path",{d:"M15 2a2 2 0 0 1 1.414.586l4 4A2 2 0 0 1 21 8v7a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z",key:"1vo8kb"}],["path",{d:"M15 2v4a2 2 0 0 0 2 2h4",key:"sud9ri"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),pa=c("folder-tree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]),ma=c("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),ya=c("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]),fa=c("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]),ua=c("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Ie=c("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),ka=c("list",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]),ba=c("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),Se=c("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),xa=c("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),wa=c("square-dashed-bottom-code",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"M14 21h1",key:"v9vybs"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["path",{d:"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2",key:"as5y1o"}],["path",{d:"M9 21h1",key:"15o7lz"}]]),ga=c("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),Ne=c("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),Ee=v(A(),1),ne=v(Ue(),1),a=v(ot(),1),B="https://static.marimo.app";const ja=e=>{let t=(0,Ee.c)(25),{onClose:o}=e,[n,r]=(0,ne.useState)(""),{exportAsHTML:l}=E(),i=`${n}-${Math.random().toString(36).slice(2,6)}`,s=`${B}/static/${i}`,d;t[0]!==l||t[1]!==o||t[2]!==i?(d=async M=>{M.preventDefault(),o();let I=await l({download:!1,includeCode:!0,files:dt.INSTANCE.filenames()}),W=C({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${B}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:I,path:i})}).catch(()=>{W.dismiss(),C({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:z.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),W.dismiss(),C({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},t[0]=l,t[1]=o,t[2]=i,t[3]=d):d=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Kt,{children:"Share static notebook"}),t[4]=p):p=t[4];let x;t[5]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsxs)(Jt,{children:[p,(0,a.jsxs)(ea,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:B,target:"_blank",children:B}),"."]})]}),t[5]=x):x=t[5];let g;t[6]===Symbol.for("react.memo_cache_sentinel")?(g=M=>{r(M.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},t[6]=g):g=t[6];let m;t[7]===n?m=t[8]:(m=(0,a.jsx)(Rt,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:n,placeholder:"Notebook slug",onChange:g,required:!0,autoComplete:"off"}),t[7]=n,t[8]=m);let y;t[9]===s?y=t[10]:(y=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(va,{text:s}),(0,a.jsx)("span",{className:"text-primary",children:s})]})]}),t[9]=s,t[10]=y);let f;t[11]!==m||t[12]!==y?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[m,y]}),t[11]=m,t[12]=y,t[13]=f):f=t[13];let u;t[14]===o?u=t[15]:(u=(0,a.jsx)(oe,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:o,children:"Cancel"}),t[14]=o,t[15]=u);let k;t[16]===s?k=t[17]:(k=(0,a.jsx)(oe,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await O(s)},children:"Create"}),t[16]=s,t[17]=k);let b;t[18]!==u||t[19]!==k?(b=(0,a.jsxs)(Xt,{children:[u,k]}),t[18]=u,t[19]=k,t[20]=b):b=t[20];let j;return t[21]!==d||t[22]!==b||t[23]!==f?(j=(0,a.jsx)(Qt,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[x,f,b]})}),t[21]=d,t[22]=b,t[23]=f,t[24]=j):j=t[24],j};var va=e=>{let t=(0,Ee.c)(8),[o,n]=ne.useState(!1),r;t[0]===e.text?r=t[1]:(r=it.stopPropagation(async p=>{p.preventDefault(),await O(e.text),n(!0),setTimeout(()=>n(!1),2e3)}),t[0]=e.text,t[1]=r);let l=r,i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(_t,{size:14,strokeWidth:1.5}),t[2]=i):i=t[2];let s;t[3]===l?s=t[4]:(s=(0,a.jsx)(oe,{"data-testid":"copy-static-notebook-url-button",onClick:l,size:"xs",variant:"secondary",children:i}),t[3]=l,t[4]=s);let d;return t[5]!==o||t[6]!==s?(d=(0,a.jsx)($t,{content:"Copied!",open:o,children:s}),t[5]=o,t[6]=s,t[7]=d):d=t[7],d},Ca=v(A(),1);function Pe(){let e=(0,Ca.c)(2),t=N(Ce),o;return e[0]===t?o=e[1]:(o=()=>{let n=document.getElementsByClassName("output-area"),r=window.innerHeight||document.documentElement.clientHeight,l=null;for(let i of Array.from(n)){let s=i.getBoundingClientRect();if(s.top>=0&&s.top<=r||s.bottom>=0&&s.bottom<=r){l=de.parse(i.parentNode.id);break}}t(i=>({mode:Gt(i.mode),cellAnchor:l})),requestAnimationFrame(()=>{var i;l!==null&&((i=document.getElementById(de.create(l)))==null||i.scrollIntoView())})},e[0]=t,e[1]=o),o}const He=[{type:"files",Icon:pa,tooltip:"View files",position:"sidebar"},{type:"variables",Icon:Bt,tooltip:"Explore variables",position:"sidebar"},{type:"datasources",Icon:pe,tooltip:"Explore data sources",position:"sidebar"},{type:"packages",Icon:pt,tooltip:"Manage packages",position:"sidebar"},{type:"chat",Icon:ct,tooltip:"Chat with AI",position:"sidebar"},{type:"agents",Icon:ma,tooltip:"Agents",position:"sidebar",hidden:!Q("external_agents")},{type:"scratchpad",Icon:qt,tooltip:"Scratchpad",position:"sidebar"},{type:"snippets",Icon:wa,tooltip:"Snippets",position:"sidebar"},{type:"documentation",Icon:Yt,tooltip:"View live docs",position:"sidebar"},{type:"logs",Icon:ve,tooltip:"Notebook logs",position:"sidebar"},{type:"dependencies",Icon:Mt,tooltip:"Explore dependencies",position:"sidebar"},{type:"tracing",Icon:rt,tooltip:"Tracing",position:"sidebar"},{type:"secrets",Icon:fa,tooltip:"Secrets",hidden:ae(),position:"sidebar"},{type:"cache",Icon:At,tooltip:"Manage cache",position:"sidebar",hidden:!Q("cache_panel")},{type:"errors",Icon:je,tooltip:"View errors",position:"footer"}],De=Oe(!1);var Ma=v(A(),1);const za=()=>{let e=(0,Ma.c)(7),{selectedLayout:t}=fe(),{setLayoutView:o}=ke();if(ae()&&!Q("wasm_layouts"))return null;let n;e[0]===o?n=e[1]:(n=s=>o(s),e[0]=o,e[1]=n);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(wt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(ut,{placeholder:"Select a view"})}),e[2]=r):r=e[2];let l;e[3]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(bt,{children:(0,a.jsxs)(xt,{children:[(0,a.jsx)(ft,{children:"View as"}),ze.map(_a)]})}),e[3]=l):l=e[3];let i;return e[4]!==t||e[5]!==n?(i=(0,a.jsxs)(gt,{"data-testid":"layout-select",value:t,onValueChange:n,children:[r,l]}),e[4]=t,e[5]=n,e[6]=i):i=e[6],i};function Wa(e){return(0,a.jsx)(Te(e),{className:"h-4 w-4"})}function Te(e){switch(e){case"vertical":return ka;case"grid":return Ht;case"slides":return Se;default:return lt(e),ht}}function Le(e){return ye(e)}function _a(e){return(0,a.jsx)(kt,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[Wa(e),(0,a.jsx)("span",{children:Le(e)})]})},e)}var Aa=v(A(),1);function Ia(e){let t=(0,Aa.c)(5),{openPrompt:o,closeModal:n}=ie(),{sendCopy:r}=E(),l;return t[0]!==n||t[1]!==o||t[2]!==r||t[3]!==e?(l=()=>{if(!e)return null;let i=Ye.guessDeliminator(e);o({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${me.basename(e)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:s=>{let d=i.join(me.dirname(e),s);r({source:e,destination:d}).then(()=>{n(),C({title:"Notebook copied",description:"A copy of the notebook has been created."}),sa(d)})}})},t[0]=n,t[1]=o,t[2]=r,t[3]=e,t[4]=l):l=t[4],l}const Sa=()=>{let{updateCellConfig:e}=ce(),{saveCellConfig:t}=E();return(0,ne.useCallback)(async()=>{let o=new Fe,n=ee(),r=n.cellIds.inOrderIds,l={};for(let s of r){if(n.cellData[s]===void 0)continue;let{code:d,config:p}=n.cellData[s];p.hide_code||o.isSupported(d)&&(l[s]={hide_code:!0})}let i=te.entries(l);if(i.length!==0){await t({configs:l});for(let[s,d]of i)e({cellId:s,config:d})}},[e])};var Na=v(A(),1);function Ve(){let e=(0,Na.c)(4),{openConfirm:t}=ie(),o=N(st),{sendRestart:n}=E(),r;return e[0]!==t||e[1]!==n||e[2]!==o?(r=()=>{t({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Zt,{onClick:async()=>{o({state:nt.CLOSING}),await n(),ta()},"aria-label":"Confirm Restart",children:"Restart"})})},e[0]=t,e[1]=n,e[2]=o,e[3]=r):r=e[3],r}var Ea=v(A(),1),P=e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()};function Pa(){var le,re;let e=(0,Ea.c)(39),t=ia(),{openModal:o,closeModal:n}=ie(),{toggleApplication:r}=Je(),{selectedPanel:l}=$e(),[i]=Be(Ce),s=R(Ft),d=Sa(),[p]=tt(),{updateCellConfig:x,undoDeleteCell:g,clearAllCellOutputs:m,addSetupCellIfDoesntExist:y,collapseAllCells:f,expandAllCells:u}=ce(),k=Ve(),b=oa(),j=Ia(t),M=N(De),I=N(mt),W=N(yt),{exportAsMarkdown:U,readCode:S,saveCellConfig:H}=E(),Y=R(Ge),$=R(Qe),G=R(Ke),{selectedLayout:F}=fe(),{setLayoutView:Z}=ke(),D=Pe(),se=((le=p.sharing)==null?void 0:le.html)??!0,T=((re=p.sharing)==null?void 0:re.wasm)??!0,qe=eo,L;e[0]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(xa,{size:14,strokeWidth:1.5}),e[0]=L):L=e[0];let J=!se&&!T,V;e[1]===Symbol.for("react.memo_cache_sentinel")?(V=(0,a.jsx)(Tt,{size:14,strokeWidth:1.5}),e[1]=V):V=e[1];let K=!se,_;e[2]!==n||e[3]!==o?(_=async()=>{o((0,a.jsx)(ja,{onClose:n}))},e[2]=n,e[3]=o,e[4]=_):_=e[4];let q;return e[5]!==y||e[6]!==G||e[7]!==m||e[8]!==n||e[9]!==f||e[10]!==j||e[11]!==u||e[12]!==U||e[13]!==t||e[14]!==Y||e[15]!==$||e[16]!==d||e[17]!==s||e[18]!==o||e[19]!==S||e[20]!==k||e[21]!==b||e[22]!==H||e[23]!==F||e[24]!==l||e[25]!==M||e[26]!==W||e[27]!==Z||e[28]!==I||e[29]!==T||e[30]!==J||e[31]!==K||e[32]!==_||e[33]!==r||e[34]!==D||e[35]!==g||e[36]!==x||e[37]!==i.mode?(q=[{icon:L,label:"Share",handle:P,hidden:J,dropdown:[{icon:V,label:"Publish HTML to web",hidden:K,handle:_},{icon:(0,a.jsx)(Vt,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!T,handle:async()=>{await O(aa({code:(await S()).contents})),C({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(It,{size:14,strokeWidth:1.5}),label:"Download",handle:P,dropdown:[{icon:(0,a.jsx)(ue,{size:14,strokeWidth:1.5}),label:"Download as HTML",handle:async()=>{if(!t){C({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await be({filename:t,includeCode:!0})}},{icon:(0,a.jsx)(ue,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!t){C({variant:"danger",title:"Error",description:"Notebooks must be named to be exported."});return}await be({filename:t,includeCode:!1})}},{icon:(0,a.jsx)(na,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let h=await U({download:!1});ge(new Blob([h],{type:"text/plain"}),we.toMarkdown(document.title))}},{icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let h=await S();ge(new Blob([h.contents],{type:"text/plain"}),we.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(Lt,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Me("global.hideCode",!1)]}),handle:Qa},{icon:(0,a.jsx)(Nt,{size:14,strokeWidth:1.5}),label:"Download as PDF",disabled:i.mode!=="present",tooltip:i.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Me("global.hideCode",!1)]}),handle:Ka}]},{divider:!0,icon:(0,a.jsx)(ba,{size:14,strokeWidth:1.5}),label:"Helper panel",handle:P,dropdown:He.flatMap(h=>{let{type:w,Icon:X,hidden:Re}=h;return Re?[]:{label:ye(w),rightElement:qe(l===w),icon:(0,a.jsx)(X,{size:14,strokeWidth:1.5}),handle:()=>r(w)}})},{icon:(0,a.jsx)(Se,{size:14,strokeWidth:1.5}),label:"Present as",handle:P,dropdown:[{icon:i.mode==="present"?(0,a.jsx)(Ut,{size:14,strokeWidth:1.5}):(0,a.jsx)(Ie,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{D()}},...ze.map((h,w)=>{let X=Te(h);return{divider:w===0,label:Le(h),icon:(0,a.jsx)(X,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:F===h&&(0,a.jsx)(xe,{size:14})}),handle:()=>{Z(h),i.mode==="edit"&&D()}}})]},{icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Create notebook copy",hidden:!t||ae(),handle:j},{icon:(0,a.jsx)(We,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!t,handle:async()=>{await O((await S()).contents),C({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!Y||s,handle:async()=>{let h=Ze(ee());await H({configs:te.fromEntries(h.map(Ja))});for(let w of h)x({cellId:w,config:{disabled:!1}})}},{icon:(0,a.jsx)(Ct,{size:14,strokeWidth:1.5}),label:"Disable all cells",hidden:!$||s,handle:async()=>{let h=Xe(ee());await H({configs:te.fromEntries(h.map(Za))});for(let w of h)x({cellId:w,config:{disabled:!0}})}},{icon:(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d},{icon:(0,a.jsx)(ra,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:f},{icon:(0,a.jsx)(la,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:u},{icon:(0,a.jsx)(Ae,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{y({})}},{icon:(0,a.jsx)(je,{size:14,strokeWidth:1.5}),label:"Clear all outputs",handle:()=>{m()}},{icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Re-run all cells",hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(Ne,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!G||s,handle:()=>{g()}},{icon:(0,a.jsx)(pe,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{o((0,a.jsx)(et,{onClose:n}))}},{divider:!0,icon:(0,a.jsx)(_e,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>M(Fa)},{icon:(0,a.jsx)(Ot,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>I(Ga)},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>W($a)},{icon:(0,a.jsx)(he,{size:14,strokeWidth:1.5}),label:"Open documentation",handle:Ya},{icon:(0,a.jsx)(vt,{size:14,strokeWidth:1.5}),label:"Resources",handle:P,dropdown:[{icon:(0,a.jsx)(he,{size:14,strokeWidth:1.5}),label:"Documentation",handle:Ua},{icon:(0,a.jsx)(Et,{size:14,strokeWidth:1.5}),label:"GitHub",handle:Ba},{icon:(0,a.jsx)(Pt,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:Oa},{icon:(0,a.jsx)(Dt,{size:14,strokeWidth:1.5}),label:"YouTube",handle:Ra},{icon:(0,a.jsx)(ve,{size:14,strokeWidth:1.5}),label:"Changelog",handle:qa}]},{divider:!0,icon:(0,a.jsx)(ya,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:Va},{icon:(0,a.jsx)(St,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:La},{icon:(0,a.jsx)(ga,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:k}].filter(Ta).map(Ha),e[5]=y,e[6]=G,e[7]=m,e[8]=n,e[9]=f,e[10]=j,e[11]=u,e[12]=U,e[13]=t,e[14]=Y,e[15]=$,e[16]=d,e[17]=s,e[18]=o,e[19]=S,e[20]=k,e[21]=b,e[22]=H,e[23]=F,e[24]=l,e[25]=M,e[26]=W,e[27]=Z,e[28]=I,e[29]=T,e[30]=J,e[31]=K,e[32]=_,e[33]=r,e[34]=D,e[35]=g,e[36]=x,e[37]=i.mode,e[38]=q):q=e[38],q}function Ha(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(Da)}:e}function Da(e){return!e.hidden}function Ta(e){return!e.hidden}function La(){let e=at();window.open(e,"_blank")}function Va(){let e=document.baseURI.split("?")[0];window.open(e,"_self")}function qa(){window.open(z.releasesPage,"_blank")}function Ra(){window.open(z.youtube,"_blank")}function Oa(){window.open(z.discordLink,"_blank")}function Ba(){window.open(z.githubPage,"_blank")}function Ua(){window.open(z.docsPage,"_blank")}function Ya(){window.open(z.docsPage,"_blank")}function $a(e){return!e}function Ga(e){return!e}function Fa(e){return!e}function Za(e){return[e,{disabled:!0}]}function Ja(e){return[e,{disabled:!1}]}async function Ka(){let e=new Event("export-beforeprint"),t=new Event("export-afterprint");(function(){window.dispatchEvent(e),setTimeout(Xa,0),setTimeout(()=>window.dispatchEvent(t),0)})()}function Xa(){return window.print()}async function Qa(){let e=document.getElementById("App");e&&await jt(e,document.title)}function eo(e){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:e&&(0,a.jsx)(xe,{size:14})})}export{He as a,Ie as c,We as d,De as i,Ae as l,Ve as n,Pe as o,za as r,Ne as s,Pa as t,_e as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as g}from"./chunk-DZLz74EQ.js";import{d as k,l as v}from"./jotai-BTnrNcC1.js";import{$n as w,E as y,dr as F,h as p,nt as x,sr as D}from"./cells-
|
|
1
|
+
import{s as g}from"./chunk-DZLz74EQ.js";import{d as k,l as v}from"./jotai-BTnrNcC1.js";import{$n as w,E as y,dr as F,h as p,nt as x,sr as D}from"./cells-DNq9ng4B.js";import{t as E}from"./compiler-runtime-Cr9loedd.js";import{u as H}from"./hotkeys-ClCtr3_I.js";import{r as V}from"./requests-DD3OWR81.js";import{o as _}from"./dist-DdXBxU_X.js";import{n as i}from"./useEvent-itkPNnCe.js";var u=g(E(),1);const I=k(!1);function $(){let r=(0,u.c)(2),t=f(),n;return r[0]===t?n=r[1]:(n=()=>t(F(p())),r[0]=t,r[1]=n),i(n)}function j(r){let t=(0,u.c)(3),n=f(),o;return t[0]!==r||t[1]!==n?(o=()=>{r!==void 0&&n([r])},t[0]=r,t[1]=n,t[2]=o):o=t[2],i(o)}function q(){let r=(0,u.c)(2),t=f(),n;return r[0]===t?n=r[1]:(n=()=>t(D(p())),r[0]=t,r[1]=n),i(n)}function f(){let r=(0,u.c)(4),{prepareForRun:t}=y(),{sendRun:n}=V(),o=v(I),e;return r[0]!==t||r[1]!==n||r[2]!==o?(e=async s=>{if(s.length===0)return;let c=p();return o(!0),b({cellIds:s,sendRun:n,prepareForRun:t,notebook:c})},r[0]=t,r[1]=n,r[2]=o,r[3]=e):e=r[3],i(e)}async function b({cellIds:r,sendRun:t,prepareForRun:n,notebook:o}){var d,h,R;if(r.length===0)return;let{cellHandles:e,cellData:s}=o,c=[];for(let a of r){let l=(h=(d=e[a])==null?void 0:d.current)==null?void 0:h.editorView,m;l?(w(l)!=="markdown"&&_(l),m=x(l)):m=((R=s[a])==null?void 0:R.code)||"",c.push(m),n({cellId:a})}await t({cellIds:r,codes:c}).catch(a=>{H.error(a)})}export{f as a,j as i,b as n,$ as o,q as r,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as a}from"./chunk-DZLz74EQ.js";import{E as p,nt as d,p as f}from"./cells-
|
|
1
|
+
import{s as a}from"./chunk-DZLz74EQ.js";import{E as p,nt as d,p as f}from"./cells-DNq9ng4B.js";import{t as u}from"./compiler-runtime-Cr9loedd.js";import{t as c}from"./jsx-runtime-mwDPpfh_.js";import{t as C}from"./use-toast-BPMVOfO3.js";import{n as h}from"./useEvent-itkPNnCe.js";import{r as v}from"./useDeleteCell-CJ4WX9R2.js";var x=a(u(),1),b=a(c(),1);function j(){let t=(0,x.c)(3),{splitCell:o,undoSplitCell:s}=p(),i;return t[0]!==o||t[1]!==s?(i=r=>{let l=f(r.cellId);if(!l)return;let n=d(l);o(r);let{dismiss:e}=C({title:"Cell split",action:(0,b.jsx)(v,{"data-testid":"undo-split-button",size:"sm",variant:"outline",onClick:()=>{s({...r,snapshot:n}),m()},children:"Undo"})}),m=e},t[0]=o,t[1]=s,t[2]=i):i=t[2],h(i)}export{j as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var jn=Object.defineProperty;var Tn=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var d=(t,e,n)=>Tn(t,typeof e!="symbol"?e+"":e,n);var de;import{s as we}from"./chunk-DZLz74EQ.js";import{d as ie,n as Be,s as Ne}from"./jotai-BTnrNcC1.js";import{t as Hn}from"./react-BcIddLXZ.js";import{Ir as $n,Lr as ve,S as On,Tr as Un,jr as Wn,x as Bn}from"./cells-ChcCEAp9.js";import{A as xe,C as gt,F as Se,L as Gn,O as Vn,P as Xn,V as Yn,w as yt,z as bt}from"./zod-U2NFpcFA.js";import{t as wt}from"./compiler-runtime-Cr9loedd.js";import{t as Kn}from"./debounce-BUM2losY.js";import{t as Jn}from"./_baseSet-L2qemYhz.js";import{f as $,u as G}from"./hotkeys-ClCtr3_I.js";import{t as Qn}from"./invariant-D5a0EE05.js";import{x as Zn}from"./utils-BpjB6B-Y.js";import{g as er}from"./config-e9OVB2bJ.js";import{t as tr}from"./api-qc-D7yz9.js";import{n as vt}from"./globals-Bcw0dX52.js";import{t as xt}from"./ErrorBoundary-5_63wxX3.js";import{t as nr}from"./jsx-runtime-mwDPpfh_.js";import{t as rr}from"./cn-DEUt_IsG.js";import{t as ar}from"./button-Zjtz1syG.js";import{K as ir,W as lr}from"./Output-C8n2C1Pu.js";import{t as St}from"./requests-DD3OWR81.js";import{t as Ge}from"./Deferred-Mppm0cvJ.js";import{t as or}from"./uuid-4lb_EYpq.js";import{n as sr}from"./key-BOd4SjWu.js";import{t as ur}from"./use-toast-BPMVOfO3.js";import{r as dr}from"./useLifecycle-CxNbfWnk.js";import{t as Et}from"./createLucideIcon-CaU6_Jtx.js";import{h as cr}from"./select-Di-JjADd.js";import{t as Ct}from"./tooltip-CerBk_un.js";import{t as zt}from"./mode-47luhzpx.js";import{n as fr,r as pr,t as mr}from"./share-Bur20myQ.js";import{t as hr}from"./dist-I8SxGjN9.js";import{t as kt}from"./toggle-CPnmDQd7.js";function gr(t,e,n){return t==null?t:Jn(t,e,n)}var Rt=gr,yr=Et("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),br=Et("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);function wr(t){return{all:t||(t=new Map),on:function(e,n){var r=t.get(e);r?r.push(n):t.set(e,[n])},off:function(e,n){var r=t.get(e);r&&(n?r.splice(r.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var r=t.get(e);r&&r.slice().map(function(i){i(n)}),(r=t.get("*"))&&r.slice().map(function(i){i(e,n)})}}}var u=we(Hn(),1),Ve=(0,u.createContext)(null),vr=t=>{let{controller:e}=(0,u.useContext)(Ve),n=u.useRef(Symbol("fill"));return(0,u.useEffect)(()=>(e.mount({name:t.name,ref:n.current,children:t.children}),()=>{e.unmount({name:t.name,ref:n.current})}),[]),(0,u.useEffect)(()=>{e.update({name:t.name,ref:n.current,children:t.children})}),null},xr=Object.defineProperty,Sr=(t,e,n)=>e in t?xr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,It=(t,e,n)=>(Sr(t,typeof e=="symbol"?e:e+"",n),n),Nt=console,Er=class{constructor(t){It(this,"_bus"),It(this,"_db"),this._bus=t,this.handleFillMount=this.handleFillMount.bind(this),this.handleFillUpdated=this.handleFillUpdated.bind(this),this.handleFillUnmount=this.handleFillUnmount.bind(this),this._db={byName:new Map,byFill:new Map}}mount(){this._bus.on("fill-mount",this.handleFillMount),this._bus.on("fill-updated",this.handleFillUpdated),this._bus.on("fill-unmount",this.handleFillUnmount)}unmount(){this._bus.off("fill-mount",this.handleFillMount),this._bus.off("fill-updated",this.handleFillUpdated),this._bus.off("fill-unmount",this.handleFillUnmount)}handleFillMount({fill:t}){let e=u.Children.toArray(t.children),n=t.name,r={fill:t,children:e,name:n},i=this._db.byName.get(n);i?(i.components.push(r),i.listeners.forEach(a=>a([...i.components]))):this._db.byName.set(n,{listeners:[],components:[r]}),this._db.byFill.set(t.ref,r)}handleFillUpdated({fill:t}){let e=this._db.byFill.get(t.ref),n=u.Children.toArray(t.children);if(e){e.children=n;let r=this._db.byName.get(e.name);if(r)r.listeners.forEach(i=>i([...r.components]));else throw Error("registration was expected to be defined")}else{Nt.error("[handleFillUpdated] component was expected to be defined");return}}handleFillUnmount({fill:t}){let e=this._db.byFill.get(t.ref);if(!e){Nt.error("[handleFillUnmount] component was expected to be defined");return}let n=e.name,r=this._db.byName.get(n);if(!r)throw Error("registration was expected to be defined");r.components=r.components.filter(i=>i!==e),this._db.byFill.delete(t.ref),r.listeners.length===0&&r.components.length===0?this._db.byName.delete(n):r.listeners.forEach(i=>i([...r.components]))}onComponentsChange(t,e){let n=this._db.byName.get(t);n?(n.listeners.push(e),e(n.components)):(this._db.byName.set(t,{listeners:[e],components:[]}),e([]))}getFillsByName(t){let e=this._db.byName.get(t);return e?e.components.map(n=>n.fill):[]}getChildrenByName(t){let e=this._db.byName.get(t);return e?e.components.map(n=>n.children).reduce((n,r)=>n.concat(r),[]):[]}removeOnComponentsChange(t,e){let n=this._db.byName.get(t);if(!n)throw Error("expected registration to be defined");let r=n.listeners;r.splice(r.indexOf(e),1)}},Cr=Object.defineProperty,zr=(t,e,n)=>e in t?Cr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,kr=(t,e,n)=>(zr(t,typeof e=="symbol"?e:e+"",n),n),Pt=class{constructor(){kr(this,"bus",wr())}mount(t){this.bus.emit("fill-mount",{fill:t})}unmount(t){this.bus.emit("fill-unmount",{fill:t})}update(t){this.bus.emit("fill-updated",{fill:t})}};function Rr(t){let e=t||new Pt;return{controller:e,manager:new Er(e.bus)}}var Ir=({controller:t,children:e})=>{let[n]=u.useState(()=>{let r=Rr(t);return r.manager.mount(),r});return u.useEffect(()=>()=>{n.manager.unmount()},[]),u.createElement(Ve.Provider,{value:n},e)};function Xe(t,e){let[n,r]=(0,u.useState)([]),{manager:i}=(0,u.useContext)(Ve);return(0,u.useEffect)(()=>(i.onComponentsChange(t,r),()=>{i.removeOnComponentsChange(t,r)}),[t]),n.flatMap((a,l)=>{let{children:o}=a;return o.map((s,g)=>{if(typeof s=="number"||typeof s=="string")throw Error("Only element children will work here");return u.cloneElement(s,{key:l.toString()+g.toString(),...e})})})}var At=t=>{let e=Xe(t.name,t.childProps);if(typeof t.children=="function"){let n=t.children(e);if(u.isValidElement(n)||n===null)return n;throw Error("Slot rendered with function must return a valid React Element.")}return e};const Nr=new Pt,Pe={SIDEBAR:"sidebar",CONTEXT_AWARE_PANEL:"context-aware-panel"};var Pr=1e10,Ar=1e3;function Ae(t,e){let n=t.map(r=>`"${r}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${n}`)}function _r(t={}){let e={};function n(c){e=c}let r={};function i(c){var x;r.unregisterHandler&&r.unregisterHandler(),r=c,(x=r.registerHandler)==null||x.call(r,_)}let a;function l(c){if(typeof c=="function"){a=c;return}a=(x,P)=>{let C=c[x];if(C)return C(P);let N=c._;if(!N)throw Error(`The requested method has no handler: ${x}`);return N(x,P)}}let{maxRequestTime:o=Ar}=t;t.transport&&i(t.transport),t.requestHandler&&l(t.requestHandler),t._debugHooks&&n(t._debugHooks);let s=0;function g(){return s<=Pr?++s:s=0}let h=new Map,f=new Map;function p(c,...x){let P=x[0];return new Promise((C,N)=>{var q;if(!r.send)throw Ae(["send"],"make requests");let M=g(),U={type:"request",id:M,method:c,params:P};h.set(M,{resolve:C,reject:N}),o!==1/0&&f.set(M,setTimeout(()=>{f.delete(M),N(Error("RPC request timed out."))},o)),(q=e.onSend)==null||q.call(e,U),r.send(U)})}let y=new Proxy(p,{get:(c,x,P)=>x in c?Reflect.get(c,x,P):C=>p(x,C)}),v=y;function z(c,...x){var N;let P=x[0];if(!r.send)throw Ae(["send"],"send messages");let C={type:"message",id:c,payload:P};(N=e.onSend)==null||N.call(e,C),r.send(C)}let b=new Proxy(z,{get:(c,x,P)=>x in c?Reflect.get(c,x,P):C=>z(x,C)}),I=b,A=new Map,D=new Set;function H(c,x){var P;if(!r.registerHandler)throw Ae(["registerHandler"],"register message listeners");if(c==="*"){D.add(x);return}A.has(c)||A.set(c,new Set),(P=A.get(c))==null||P.add(x)}function V(c,x){var P,C;if(c==="*"){D.delete(x);return}(P=A.get(c))==null||P.delete(x),((C=A.get(c))==null?void 0:C.size)===0&&A.delete(c)}async function _(c){var x,P;if((x=e.onReceive)==null||x.call(e,c),!("type"in c))throw Error("Message does not contain a type.");if(c.type==="request"){if(!r.send||!a)throw Ae(["send","requestHandler"],"handle requests");let{id:C,method:N,params:M}=c,U;try{U={type:"response",id:C,success:!0,payload:await a(N,M)}}catch(q){if(!(q instanceof Error))throw q;U={type:"response",id:C,success:!1,error:q.message}}(P=e.onSend)==null||P.call(e,U),r.send(U);return}if(c.type==="response"){let C=f.get(c.id);C!=null&&clearTimeout(C);let{resolve:N,reject:M}=h.get(c.id)??{};c.success?N==null||N(c.payload):M==null||M(Error(c.error));return}if(c.type==="message"){for(let N of D)N(c.id,c.payload);let C=A.get(c.id);if(!C)return;for(let N of C)N(c.payload);return}throw Error(`Unexpected RPC message type: ${c.type}`)}return{setTransport:i,setRequestHandler:l,request:y,requestProxy:v,send:b,sendProxy:I,addMessageListener:H,removeMessageListener:V,proxy:{send:I,request:v},_setDebugHooks:n}}function Mr(t){return _r(t)}var _t="[transport-id]";function Lr(t,e){let{transportId:n}=e;return n==null?t:{[_t]:n,data:t}}function Fr(t,e){let{transportId:n,filter:r}=e,i=r==null?void 0:r();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=t;if(n){if(t[_t]!==n)return[!0];a=t.data}return i===!1?[!0]:[!1,a]}function Dr(t,e={}){let{transportId:n,filter:r,remotePort:i}=e,a=t,l=i??t,o;return{send(s){l.postMessage(Lr(s,{transportId:n}))},registerHandler(s){o=g=>{let h=g.data,[f,p]=Fr(h,{transportId:n,filter:()=>r==null?void 0:r(g)});f||s(p)},a.addEventListener("message",o)},unregisterHandler(){o&&a.removeEventListener("message",o)}}}function qr(t,e){return Dr(t,e)}function Mt(t){return Mr({transport:qr(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{G.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{G.debug("[rpc] Worker -> Parent",e)}}})}const Lt=ie("Initializing..."),jr=ie(t=>{let e=t(Bn),n=Object.values(e.cellRuntime);return n.some(r=>!lr(r.output))?!0:n.every(r=>r.status==="idle")});var Ft=we(fr(),1),Dt="marimo:file",qt=new Un(null);const Tr={saveFile(t){qt.set(Dt,t)},readFile(){return qt.get(Dt)}};var Hr={saveFile(t){ve.setCodeForHash((0,Ft.compressToEncodedURIComponent)(t))},readFile(){let t=ve.getCodeFromHash()||ve.getCodeFromSearchParam();return t?(0,Ft.decompressFromEncodedURIComponent)(t):null}};const $r={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var Or={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Ur={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
|
|
1
|
+
var jn=Object.defineProperty;var Tn=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var d=(t,e,n)=>Tn(t,typeof e!="symbol"?e+"":e,n);var de;import{s as we}from"./chunk-DZLz74EQ.js";import{d as ie,n as Be,s as Ne}from"./jotai-BTnrNcC1.js";import{t as Hn}from"./react-BcIddLXZ.js";import{Ir as $n,Lr as ve,S as On,Tr as Un,jr as Wn,x as Bn}from"./cells-DNq9ng4B.js";import{A as xe,C as gt,F as Se,L as Gn,O as Vn,P as Xn,V as Yn,w as yt,z as bt}from"./zod-U2NFpcFA.js";import{t as wt}from"./compiler-runtime-Cr9loedd.js";import{t as Kn}from"./debounce-BUM2losY.js";import{t as Jn}from"./_baseSet-L2qemYhz.js";import{f as $,u as G}from"./hotkeys-ClCtr3_I.js";import{t as Qn}from"./invariant-D5a0EE05.js";import{x as Zn}from"./utils-BpjB6B-Y.js";import{g as er}from"./config-e9OVB2bJ.js";import{t as tr}from"./api-qc-D7yz9.js";import{n as vt}from"./globals-Bcw0dX52.js";import{t as xt}from"./ErrorBoundary-5_63wxX3.js";import{t as nr}from"./jsx-runtime-mwDPpfh_.js";import{t as rr}from"./cn-DEUt_IsG.js";import{t as ar}from"./button-Zjtz1syG.js";import{K as ir,W as lr}from"./Output-pZgeySyq.js";import{t as St}from"./requests-DD3OWR81.js";import{t as Ge}from"./Deferred-Mppm0cvJ.js";import{t as or}from"./uuid-4lb_EYpq.js";import{n as sr}from"./key-BOd4SjWu.js";import{t as ur}from"./use-toast-BPMVOfO3.js";import{r as dr}from"./useLifecycle-CxNbfWnk.js";import{t as Et}from"./createLucideIcon-CaU6_Jtx.js";import{h as cr}from"./select-Di-JjADd.js";import{t as Ct}from"./tooltip-CerBk_un.js";import{t as zt}from"./mode-BWw7rz82.js";import{n as fr,r as pr,t as mr}from"./share-Bur20myQ.js";import{t as hr}from"./dist-I8SxGjN9.js";import{t as kt}from"./toggle-CPnmDQd7.js";function gr(t,e,n){return t==null?t:Jn(t,e,n)}var Rt=gr,yr=Et("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]),br=Et("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);function wr(t){return{all:t||(t=new Map),on:function(e,n){var r=t.get(e);r?r.push(n):t.set(e,[n])},off:function(e,n){var r=t.get(e);r&&(n?r.splice(r.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var r=t.get(e);r&&r.slice().map(function(i){i(n)}),(r=t.get("*"))&&r.slice().map(function(i){i(e,n)})}}}var u=we(Hn(),1),Ve=(0,u.createContext)(null),vr=t=>{let{controller:e}=(0,u.useContext)(Ve),n=u.useRef(Symbol("fill"));return(0,u.useEffect)(()=>(e.mount({name:t.name,ref:n.current,children:t.children}),()=>{e.unmount({name:t.name,ref:n.current})}),[]),(0,u.useEffect)(()=>{e.update({name:t.name,ref:n.current,children:t.children})}),null},xr=Object.defineProperty,Sr=(t,e,n)=>e in t?xr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,It=(t,e,n)=>(Sr(t,typeof e=="symbol"?e:e+"",n),n),Nt=console,Er=class{constructor(t){It(this,"_bus"),It(this,"_db"),this._bus=t,this.handleFillMount=this.handleFillMount.bind(this),this.handleFillUpdated=this.handleFillUpdated.bind(this),this.handleFillUnmount=this.handleFillUnmount.bind(this),this._db={byName:new Map,byFill:new Map}}mount(){this._bus.on("fill-mount",this.handleFillMount),this._bus.on("fill-updated",this.handleFillUpdated),this._bus.on("fill-unmount",this.handleFillUnmount)}unmount(){this._bus.off("fill-mount",this.handleFillMount),this._bus.off("fill-updated",this.handleFillUpdated),this._bus.off("fill-unmount",this.handleFillUnmount)}handleFillMount({fill:t}){let e=u.Children.toArray(t.children),n=t.name,r={fill:t,children:e,name:n},i=this._db.byName.get(n);i?(i.components.push(r),i.listeners.forEach(a=>a([...i.components]))):this._db.byName.set(n,{listeners:[],components:[r]}),this._db.byFill.set(t.ref,r)}handleFillUpdated({fill:t}){let e=this._db.byFill.get(t.ref),n=u.Children.toArray(t.children);if(e){e.children=n;let r=this._db.byName.get(e.name);if(r)r.listeners.forEach(i=>i([...r.components]));else throw Error("registration was expected to be defined")}else{Nt.error("[handleFillUpdated] component was expected to be defined");return}}handleFillUnmount({fill:t}){let e=this._db.byFill.get(t.ref);if(!e){Nt.error("[handleFillUnmount] component was expected to be defined");return}let n=e.name,r=this._db.byName.get(n);if(!r)throw Error("registration was expected to be defined");r.components=r.components.filter(i=>i!==e),this._db.byFill.delete(t.ref),r.listeners.length===0&&r.components.length===0?this._db.byName.delete(n):r.listeners.forEach(i=>i([...r.components]))}onComponentsChange(t,e){let n=this._db.byName.get(t);n?(n.listeners.push(e),e(n.components)):(this._db.byName.set(t,{listeners:[e],components:[]}),e([]))}getFillsByName(t){let e=this._db.byName.get(t);return e?e.components.map(n=>n.fill):[]}getChildrenByName(t){let e=this._db.byName.get(t);return e?e.components.map(n=>n.children).reduce((n,r)=>n.concat(r),[]):[]}removeOnComponentsChange(t,e){let n=this._db.byName.get(t);if(!n)throw Error("expected registration to be defined");let r=n.listeners;r.splice(r.indexOf(e),1)}},Cr=Object.defineProperty,zr=(t,e,n)=>e in t?Cr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,kr=(t,e,n)=>(zr(t,typeof e=="symbol"?e:e+"",n),n),Pt=class{constructor(){kr(this,"bus",wr())}mount(t){this.bus.emit("fill-mount",{fill:t})}unmount(t){this.bus.emit("fill-unmount",{fill:t})}update(t){this.bus.emit("fill-updated",{fill:t})}};function Rr(t){let e=t||new Pt;return{controller:e,manager:new Er(e.bus)}}var Ir=({controller:t,children:e})=>{let[n]=u.useState(()=>{let r=Rr(t);return r.manager.mount(),r});return u.useEffect(()=>()=>{n.manager.unmount()},[]),u.createElement(Ve.Provider,{value:n},e)};function Xe(t,e){let[n,r]=(0,u.useState)([]),{manager:i}=(0,u.useContext)(Ve);return(0,u.useEffect)(()=>(i.onComponentsChange(t,r),()=>{i.removeOnComponentsChange(t,r)}),[t]),n.flatMap((a,l)=>{let{children:o}=a;return o.map((s,g)=>{if(typeof s=="number"||typeof s=="string")throw Error("Only element children will work here");return u.cloneElement(s,{key:l.toString()+g.toString(),...e})})})}var At=t=>{let e=Xe(t.name,t.childProps);if(typeof t.children=="function"){let n=t.children(e);if(u.isValidElement(n)||n===null)return n;throw Error("Slot rendered with function must return a valid React Element.")}return e};const Nr=new Pt,Pe={SIDEBAR:"sidebar",CONTEXT_AWARE_PANEL:"context-aware-panel"};var Pr=1e10,Ar=1e3;function Ae(t,e){let n=t.map(r=>`"${r}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${n}`)}function _r(t={}){let e={};function n(c){e=c}let r={};function i(c){var x;r.unregisterHandler&&r.unregisterHandler(),r=c,(x=r.registerHandler)==null||x.call(r,_)}let a;function l(c){if(typeof c=="function"){a=c;return}a=(x,P)=>{let C=c[x];if(C)return C(P);let N=c._;if(!N)throw Error(`The requested method has no handler: ${x}`);return N(x,P)}}let{maxRequestTime:o=Ar}=t;t.transport&&i(t.transport),t.requestHandler&&l(t.requestHandler),t._debugHooks&&n(t._debugHooks);let s=0;function g(){return s<=Pr?++s:s=0}let h=new Map,f=new Map;function p(c,...x){let P=x[0];return new Promise((C,N)=>{var q;if(!r.send)throw Ae(["send"],"make requests");let M=g(),U={type:"request",id:M,method:c,params:P};h.set(M,{resolve:C,reject:N}),o!==1/0&&f.set(M,setTimeout(()=>{f.delete(M),N(Error("RPC request timed out."))},o)),(q=e.onSend)==null||q.call(e,U),r.send(U)})}let y=new Proxy(p,{get:(c,x,P)=>x in c?Reflect.get(c,x,P):C=>p(x,C)}),v=y;function z(c,...x){var N;let P=x[0];if(!r.send)throw Ae(["send"],"send messages");let C={type:"message",id:c,payload:P};(N=e.onSend)==null||N.call(e,C),r.send(C)}let b=new Proxy(z,{get:(c,x,P)=>x in c?Reflect.get(c,x,P):C=>z(x,C)}),I=b,A=new Map,D=new Set;function H(c,x){var P;if(!r.registerHandler)throw Ae(["registerHandler"],"register message listeners");if(c==="*"){D.add(x);return}A.has(c)||A.set(c,new Set),(P=A.get(c))==null||P.add(x)}function V(c,x){var P,C;if(c==="*"){D.delete(x);return}(P=A.get(c))==null||P.delete(x),((C=A.get(c))==null?void 0:C.size)===0&&A.delete(c)}async function _(c){var x,P;if((x=e.onReceive)==null||x.call(e,c),!("type"in c))throw Error("Message does not contain a type.");if(c.type==="request"){if(!r.send||!a)throw Ae(["send","requestHandler"],"handle requests");let{id:C,method:N,params:M}=c,U;try{U={type:"response",id:C,success:!0,payload:await a(N,M)}}catch(q){if(!(q instanceof Error))throw q;U={type:"response",id:C,success:!1,error:q.message}}(P=e.onSend)==null||P.call(e,U),r.send(U);return}if(c.type==="response"){let C=f.get(c.id);C!=null&&clearTimeout(C);let{resolve:N,reject:M}=h.get(c.id)??{};c.success?N==null||N(c.payload):M==null||M(Error(c.error));return}if(c.type==="message"){for(let N of D)N(c.id,c.payload);let C=A.get(c.id);if(!C)return;for(let N of C)N(c.payload);return}throw Error(`Unexpected RPC message type: ${c.type}`)}return{setTransport:i,setRequestHandler:l,request:y,requestProxy:v,send:b,sendProxy:I,addMessageListener:H,removeMessageListener:V,proxy:{send:I,request:v},_setDebugHooks:n}}function Mr(t){return _r(t)}var _t="[transport-id]";function Lr(t,e){let{transportId:n}=e;return n==null?t:{[_t]:n,data:t}}function Fr(t,e){let{transportId:n,filter:r}=e,i=r==null?void 0:r();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=t;if(n){if(t[_t]!==n)return[!0];a=t.data}return i===!1?[!0]:[!1,a]}function Dr(t,e={}){let{transportId:n,filter:r,remotePort:i}=e,a=t,l=i??t,o;return{send(s){l.postMessage(Lr(s,{transportId:n}))},registerHandler(s){o=g=>{let h=g.data,[f,p]=Fr(h,{transportId:n,filter:()=>r==null?void 0:r(g)});f||s(p)},a.addEventListener("message",o)},unregisterHandler(){o&&a.removeEventListener("message",o)}}}function qr(t,e){return Dr(t,e)}function Mt(t){return Mr({transport:qr(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{G.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{G.debug("[rpc] Worker -> Parent",e)}}})}const Lt=ie("Initializing..."),jr=ie(t=>{let e=t(Bn),n=Object.values(e.cellRuntime);return n.some(r=>!lr(r.output))?!0:n.every(r=>r.status==="idle")});var Ft=we(fr(),1),Dt="marimo:file",qt=new Un(null);const Tr={saveFile(t){qt.set(Dt,t)},readFile(){return qt.get(Dt)}};var Hr={saveFile(t){ve.setCodeForHash((0,Ft.compressToEncodedURIComponent)(t))},readFile(){let t=ve.getCodeFromHash()||ve.getCodeFromSearchParam();return t?(0,Ft.decompressFromEncodedURIComponent)(t):null}};const $r={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var Or={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}},Ur={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
|
|
2
2
|
`)}},jt=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};const _e=new jt([$r,Hr]),Ye=new jt([Tr,Or,Ur]);var Wr=class Ln{constructor(){d(this,"initialized",new Ge);d(this,"sendRename",async({filename:e})=>(e===null||(ve.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));d(this,"sendSave",async e=>{if(!this.saveRpc)return G.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let n=await this.readCode();return n.contents&&(_e.saveFile(n.contents),Ye.saveFile(n.contents)),this.rpc.proxy.request.saveNotebook(e).catch(r=>{G.error(r)}),null});d(this,"sendCopy",async()=>{$()});d(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));d(this,"sendPdb",async()=>{$()});d(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
|
|
3
3
|
`)),await this.putControlRequest(e),null));d(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest(e),null));d(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));d(this,"sendShutdown",async()=>(window.close(),null));d(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));d(this,"sendDeleteCell",async e=>(await this.putControlRequest(e),null));d(this,"sendInstallMissingPackages",async e=>(this.putControlRequest(e),null));d(this,"sendCodeCompletionRequest",async e=>(Be.get(On)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));d(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),tr.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(n=>(G.error(n),null))));d(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));d(this,"saveCellConfig",async e=>(await this.putControlRequest(e),null));d(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(_e.saveFile(e.contents),Ye.saveFile(e.contents)),pr(),null});d(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(G.warn("Save RPC not initialized"),{contents:""}));d(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));d(this,"openFile",async({path:e})=>{let n=mr({code:null,baseUrl:window.location.origin});return window.open(n,"_blank"),null});d(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));d(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));d(this,"sendComponentValues",async e=>(await this.putControlRequest({...e,token:or()}),null));d(this,"sendInstantiate",async e=>null);d(this,"sendFunctionRequest",async e=>(await this.putControlRequest(e),null));d(this,"sendCreateFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:e}));d(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));d(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));d(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));d(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));d(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));d(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));d(this,"previewDatasetColumn",async e=>(await this.putControlRequest(e),null));d(this,"previewSQLTable",async e=>(await this.putControlRequest(e),null));d(this,"previewSQLTableList",async e=>(await this.putControlRequest(e),null));d(this,"previewDataSourceConnection",async e=>(await this.putControlRequest(e),null));d(this,"validateSQL",async e=>(await this.putControlRequest(e),null));d(this,"sendModelValue",async e=>(await this.putControlRequest(e),null));d(this,"syncCellIds",()=>Promise.resolve(null));d(this,"getUsageStats",$);d(this,"openTutorial",$);d(this,"getRecentFiles",$);d(this,"getWorkspaceFiles",$);d(this,"getRunningNotebooks",$);d(this,"shutdownSession",$);d(this,"autoExportAsHTML",$);d(this,"autoExportAsMarkdown",$);d(this,"autoExportAsIPYNB",$);d(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));d(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));d(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());d(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));d(this,"listSecretKeys",async e=>(await this.putControlRequest(e),null));d(this,"writeSecret",async e=>(await this.putControlRequest(e),null));d(this,"invokeAiTool",$);d(this,"clearCache",$);d(this,"getCacheInfo",$);er()&&(this.rpc=Mt(new Worker(new URL(""+new URL("worker-CUYGINRG.js",import.meta.url).href,""+import.meta.url),{type:"module",name:vt()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{Be.set(Lt,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(G.error(e),ur({title:"Error initializing",description:e,variant:"danger"})),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var n;(n=this.messageConsumer)==null||n.call(this,e)}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new Ln),window[e]}getSaveWorker(){return zt()==="read"?(G.debug("Skipping SaveWorker in read-mode"),{readFile:$,readNotebook:$,saveNotebook:$}):Mt(new Worker(new URL(""+new URL("save-worker-Bn51_kZE.js",import.meta.url).href,""+import.meta.url),{type:"module",name:vt()})).proxy.request}async startSession(){let e=await _e.readFile(),n=await Ye.readFile(),r=ve.getFilename(),i=Be.get(Zn),a={},l=new URLSearchParams(window.location.search);for(let o of l.keys()){let s=l.getAll(o);a[o]=s.length===1?s[0]:s}await this.rpc.proxy.request.startSession({queryParameters:a,code:e||n||"",filename:r,userConfig:{...i,runtime:{...i.runtime,auto_instantiate:zt()==="read"?!0:i.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):G.warn("Not running in a secure context; interrupts are not available.")}consumeMessages(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},Br=class{constructor(t){d(this,"CONNECTING",WebSocket.CONNECTING);d(this,"OPEN",WebSocket.OPEN);d(this,"CLOSING",WebSocket.CLOSING);d(this,"CLOSED",WebSocket.CLOSED);d(this,"binaryType","blob");d(this,"bufferedAmount",0);d(this,"extensions","");d(this,"protocol","");d(this,"url","");d(this,"onclose",null);d(this,"onerror",null);d(this,"onmessage",null);d(this,"onopen",null);d(this,"openSubscriptions",new Set);d(this,"closeSubscriptions",new Set);d(this,"messageSubscriptions",new Set);d(this,"errorSubscriptions",new Set);d(this,"dispatchEvent",$);d(this,"reconnect",$);d(this,"send",$);d(this,"readyState",WebSocket.OPEN);d(this,"retryCount",0);d(this,"shouldReconnect",!1);this.bridge=t}consumeMessages(){this.bridge.consumeMessages(t=>{this.messageSubscriptions.forEach(e=>{e({data:t})})})}addEventListener(t,e,n){switch(t){case"open":this.openSubscriptions.add(e),e();break;case"close":this.closeSubscriptions.add(e);break;case"message":this.messageSubscriptions.add(e),this.consumeMessages();break;case"error":this.errorSubscriptions.add(e);break}}removeEventListener(t,e,n){switch(t){case"open":this.openSubscriptions.delete(e);break;case"close":this.closeSubscriptions.delete(e);break;case"message":this.messageSubscriptions.delete(e);break;case"error":this.errorSubscriptions.delete(e);break}}close(){}};function Me(t){return()=>({TYPE:t,is(e){return e.type===t},create(e){return new CustomEvent(t,e)}})}const Tt=Me("marimo-value-input")(),Ht=Me("marimo-value-update")(),$t=Me("marimo-value-ready")(),Ot=Me("marimo-incoming-message")();function Gr(t,e){return Tt.create({bubbles:!0,composed:!0,detail:{value:t,element:e}})}var Ut=class Fn{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new Fn),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,n){if(this.entries.has(e))throw Error(`UIElement ${e} already registered`);this.entries.set(e,{objectId:e,value:n,elements:new Set})}registerInstance(e,n){let r=this.entries.get(e);r===void 0?this.entries.set(e,{objectId:e,value:$n(n,this),elements:new Set([n])}):r.elements.add(n)}removeInstance(e,n){let r=this.entries.get(e);r!=null&&r.elements.has(n)&&r.elements.delete(n)}removeElementsByCell(e){[...this.entries.keys()].filter(n=>n.startsWith(`${e}-`)).forEach(n=>{this.entries.delete(n)})}lookupValue(e){let n=this.entries.get(e);return n===void 0?void 0:n.value}broadcastMessage(e,n,r){let i=this.entries.get(e);i===void 0?G.warn("UIElementRegistry missing entry",e):i.elements.forEach(a=>{a.dispatchEvent(Ot.create({bubbles:!1,composed:!0,detail:{objectId:e,message:n,buffers:r}}))})}broadcastValueUpdate(e,n,r){let i=this.entries.get(n);i===void 0?G.warn("UIElementRegistry missing entry",n):(i.value=r,i.elements.forEach(a=>{a!==e&&a.dispatchEvent(Ht.create({bubbles:!1,composed:!0,detail:{value:r,element:a}}))}),document.dispatchEvent($t.create({bubbles:!0,composed:!0,detail:{objectId:n}})))}};const Vr=Ut.INSTANCE,Xr=new sr("function-call-result",async(t,e)=>{await St().sendFunctionRequest({functionCallId:t,...e})}),Yr="68px";var Kr="288px";const Jr=t=>t?/^\d+$/.test(t)?`${t}px`:t:Kr,Qr=Wn({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}});function Zr(t,e,n){if(!e||e.length===0)return t;n&&Qn(n.length===e.length,"Buffers and buffer paths not the same length");let r=structuredClone(t);for(let[i,a]of e.entries()){let l=n[i];if(!l){G.warn("Could not find buffer at path",a);continue}r=Rt(r,a,l)}return r}const Wt=new class{constructor(t=1e4){d(this,"models",new Map);this.timeout=t}get(t){let e=this.models.get(t);return e||(e=new Ge,this.models.set(t,e),setTimeout(()=>{e.status==="pending"&&(e.reject(Error(`Model not found for key: ${t}`)),this.models.delete(t))},this.timeout)),e.promise}set(t,e){let n=this.models.get(t);n||(n=new Ge,this.models.set(t,n)),n.resolve(e)}delete(t){this.models.delete(t)}};var Bt=(de=class{constructor(e,n,r,i){d(this,"ANY_CHANGE_EVENT","change");d(this,"listeners",{});d(this,"widget_manager",{async get_model(e){let n=await de._modelManager.get(e);if(!n)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return n}});d(this,"emitAnyChange",Kn(()=>{var e;(e=this.listeners[this.ANY_CHANGE_EVENT])==null||e.forEach(n=>n())},0));this.data=e,this.onChange=n,this.sendToWidget=r,this.dirtyFields=new Set(i)}off(e,n){var r;if(!e){this.listeners={};return}if(!n){this.listeners[e]=new Set;return}(r=this.listeners[e])==null||r.delete(n)}send(e,n,r){r&&G.warn("buffers not supported in marimo anywidget.send"),this.sendToWidget({content:e,buffers:r}).then(n)}get(e){return this.data[e]}set(e,n){this.data={...this.data,[e]:n},this.dirtyFields.add(e),this.emit(`change:${e}`,n),this.emitAnyChange()}save_changes(){if(this.dirtyFields.size===0)return;let e={};this.dirtyFields.forEach(n=>{e[n]=this.data[n]}),this.onChange(e)}updateAndEmitDiffs(e){Object.keys(e).forEach(n=>{let r=n;hr(this.data[r],e[r])||this.set(r,e[r])})}receiveCustomMessage(e,n=[]){var i;let r=Gt.safeParse(e);if(r.success){let a=r.data;switch(a.method){case"update":this.updateAndEmitDiffs(a.state);break;case"custom":(i=this.listeners["msg:custom"])==null||i.forEach(l=>l(a.content,n));break;case"open":this.updateAndEmitDiffs(a.state);break}}else G.error("Failed to parse message",r.error),G.error("Message",e)}on(e,n){this.listeners[e]||(this.listeners[e]=new Set),this.listeners[e].add(n)}emit(e,n){this.listeners[e]&&this.listeners[e].forEach(r=>r(n))}},d(de,"_modelManager",Wt),de),Ke=yt(yt(Yn([bt(),Xn()]))),Je=Gn(bt(),gt()),Gt=Vn("method",[Se({method:xe("open"),state:Je,buffer_paths:Ke.optional()}),Se({method:xe("update"),state:Je,buffer_paths:Ke.optional()}),Se({method:xe("custom"),content:gt()}),Se({method:xe("echo_update"),buffer_paths:Ke,state:Je}),Se({method:xe("close")})]);function ea(t){return t==null?!1:Gt.safeParse(t).success}async function ta({modelId:t,msg:e,buffers:n,modelManager:r}){if(e.method==="echo_update")return;if(e.method==="custom"){(await r.get(t)).receiveCustomMessage(e);return}if(e.method==="close"){r.delete(t);return}let{method:i,state:a,buffer_paths:l=[]}=e,o=Zr(a,l,n);if(i==="open"){let s=new Bt(o,g=>{l&&G.warn("Changed data with buffer paths may not be supported",g),St().sendModelValue({modelId:t,message:{state:g,bufferPaths:[]},buffers:[]})},$,new Set);r.set(t,s);return}if(i==="update"){(await r.get(t)).updateAndEmitDiffs(o);return}dr(i)}const Vt=ie(null),na=ie(null),Xt=ie(!1),ra=ie(!1),Yt=ie(!1);var Le=(0,u.createContext)(null);Le.displayName="PanelGroupContext";var T={group:"data-panel-group",groupDirection:"data-panel-group-direction",groupId:"data-panel-group-id",panel:"data-panel",panelCollapsible:"data-panel-collapsible",panelId:"data-panel-id",panelSize:"data-panel-size",resizeHandle:"data-resize-handle",resizeHandleActive:"data-resize-handle-active",resizeHandleEnabled:"data-panel-resize-handle-enabled",resizeHandleId:"data-panel-resize-handle-id",resizeHandleState:"data-resize-handle-state"},Qe=10,le=u.useLayoutEffect,Kt=u.useId,aa=typeof Kt=="function"?Kt:()=>null,ia=0;function Ze(t=null){let e=aa(),n=(0,u.useRef)(t||e||null);return n.current===null&&(n.current=""+ia++),t??n.current}function Jt({children:t,className:e="",collapsedSize:n,collapsible:r,defaultSize:i,forwardedRef:a,id:l,maxSize:o,minSize:s,onCollapse:g,onExpand:h,onResize:f,order:p,style:y,tagName:v="div",...z}){let b=(0,u.useContext)(Le);if(b===null)throw Error("Panel components must be rendered within a PanelGroup container");let{collapsePanel:I,expandPanel:A,getPanelSize:D,getPanelStyle:H,groupId:V,isPanelCollapsed:_,reevaluatePanelConstraints:c,registerPanel:x,resizePanel:P,unregisterPanel:C}=b,N=Ze(l),M=(0,u.useRef)({callbacks:{onCollapse:g,onExpand:h,onResize:f},constraints:{collapsedSize:n,collapsible:r,defaultSize:i,maxSize:o,minSize:s},id:N,idIsFromProps:l!==void 0,order:p});(0,u.useRef)({didLogMissingDefaultSizeWarning:!1}),le(()=>{let{callbacks:q,constraints:B}=M.current,X={...B};M.current.id=N,M.current.idIsFromProps=l!==void 0,M.current.order=p,q.onCollapse=g,q.onExpand=h,q.onResize=f,B.collapsedSize=n,B.collapsible=r,B.defaultSize=i,B.maxSize=o,B.minSize=s,(X.collapsedSize!==B.collapsedSize||X.collapsible!==B.collapsible||X.maxSize!==B.maxSize||X.minSize!==B.minSize)&&c(M.current,X)}),le(()=>{let q=M.current;return x(q),()=>{C(q)}},[p,N,x,C]),(0,u.useImperativeHandle)(a,()=>({collapse:()=>{I(M.current)},expand:q=>{A(M.current,q)},getId(){return N},getSize(){return D(M.current)},isCollapsed(){return _(M.current)},isExpanded(){return!_(M.current)},resize:q=>{P(M.current,q)}}),[I,A,D,_,N,P]);let U=H(M.current,i);return(0,u.createElement)(v,{...z,children:t,className:e,id:N,style:{...U,...y},[T.groupId]:V,[T.panel]:"",[T.panelCollapsible]:r||void 0,[T.panelId]:N,[T.panelSize]:parseFloat(""+U.flexGrow).toFixed(1)})}var et=(0,u.forwardRef)((t,e)=>(0,u.createElement)(Jt,{...t,forwardedRef:e}));Jt.displayName="Panel",et.displayName="forwardRef(Panel)";var la;function oa(){return la}var tt=null,sa=!0,Fe=-1,Z=null;function ua(t,e){if(e){let n=(e&ln)!==0,r=(e&on)!==0,i=(e&sn)!==0,a=(e&un)!==0;if(n)return i?"se-resize":a?"ne-resize":"e-resize";if(r)return i?"sw-resize":a?"nw-resize":"w-resize";if(i)return"s-resize";if(a)return"n-resize"}switch(t){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function da(){Z!==null&&(document.head.removeChild(Z),tt=null,Z=null,Fe=-1)}function nt(t,e){var i;if(!sa)return;let n=ua(t,e);if(tt!==n){if(tt=n,Z===null){Z=document.createElement("style");let a=oa();a&&Z.setAttribute("nonce",a),document.head.appendChild(Z)}if(Fe>=0){var r;(r=Z.sheet)==null||r.removeRule(Fe)}Fe=((i=Z.sheet)==null?void 0:i.insertRule(`*{cursor: ${n} !important;}`))??-1}}function Qt(t){return t.type==="keydown"}function Zt(t){return t.type.startsWith("pointer")}function en(t){return t.type.startsWith("mouse")}function De(t){if(Zt(t)){if(t.isPrimary)return{x:t.clientX,y:t.clientY}}else if(en(t))return{x:t.clientX,y:t.clientY};return{x:1/0,y:1/0}}function ca(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}function fa(t,e,n){return n?t.x<e.x+e.width&&t.x+t.width>e.x&&t.y<e.y+e.height&&t.y+t.height>e.y:t.x<=e.x+e.width&&t.x+t.width>=e.x&&t.y<=e.y+e.height&&t.y+t.height>=e.y}function pa(t,e){if(t===e)throw Error("Cannot compare node with itself");let n={a:rn(t),b:rn(e)},r;for(;n.a.at(-1)===n.b.at(-1);)t=n.a.pop(),e=n.b.pop(),r=t;R(r,"Stacking order can only be calculated for elements with a common ancestor");let i={a:nn(tn(n.a)),b:nn(tn(n.b))};if(i.a===i.b){let a=r.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)},o=a.length;for(;o--;){let s=a[o];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(i.a-i.b)}var ma=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function ha(t){let e=getComputedStyle(an(t)??t).display;return e==="flex"||e==="inline-flex"}function ga(t){let e=getComputedStyle(t);return!!(e.position==="fixed"||e.zIndex!=="auto"&&(e.position!=="static"||ha(t))||+e.opacity<1||"transform"in e&&e.transform!=="none"||"webkitTransform"in e&&e.webkitTransform!=="none"||"mixBlendMode"in e&&e.mixBlendMode!=="normal"||"filter"in e&&e.filter!=="none"||"webkitFilter"in e&&e.webkitFilter!=="none"||"isolation"in e&&e.isolation==="isolate"||ma.test(e.willChange)||e.webkitOverflowScrolling==="touch")}function tn(t){let e=t.length;for(;e--;){let n=t[e];if(R(n,"Missing node"),ga(n))return n}return null}function nn(t){return t&&Number(getComputedStyle(t).zIndex)||0}function rn(t){let e=[];for(;t;)e.push(t),t=an(t);return e}function an(t){let{parentNode:e}=t;return e&&e instanceof ShadowRoot?e.host:e}var ln=1,on=2,sn=4,un=8,ya=ca()==="coarse",J=[],fe=!1,oe=new Map,qe=new Map,Ee=new Set;function ba(t,e,n,r,i){let{ownerDocument:a}=e,l={direction:n,element:e,hitAreaMargins:r,setResizeHandlerState:i},o=oe.get(a)??0;return oe.set(a,o+1),Ee.add(l),je(),function(){qe.delete(t),Ee.delete(l);let s=oe.get(a)??1;if(oe.set(a,s-1),je(),s===1&&oe.delete(a),J.includes(l)){let g=J.indexOf(l);g>=0&&J.splice(g,1),ot(),i("up",!0,null)}}}function wa(t){let{target:e}=t,{x:n,y:r}=De(t);fe=!0,it({target:e,x:n,y:r}),je(),J.length>0&&(Te("down",t),t.preventDefault(),dn(e)||t.stopImmediatePropagation())}function rt(t){let{x:e,y:n}=De(t);if(fe&&t.buttons===0&&(fe=!1,Te("up",t)),!fe){let{target:r}=t;it({target:r,x:e,y:n})}Te("move",t),ot(),J.length>0&&t.preventDefault()}function at(t){let{target:e}=t,{x:n,y:r}=De(t);qe.clear(),fe=!1,J.length>0&&(t.preventDefault(),dn(e)||t.stopImmediatePropagation()),Te("up",t),it({target:e,x:n,y:r}),ot(),je()}function dn(t){let e=t;for(;e;){if(e.hasAttribute(T.resizeHandle))return!0;e=e.parentElement}return!1}function it({target:t,x:e,y:n}){J.splice(0);let r=null;(t instanceof HTMLElement||t instanceof SVGElement)&&(r=t),Ee.forEach(i=>{let{element:a,hitAreaMargins:l}=i,o=a.getBoundingClientRect(),{bottom:s,left:g,right:h,top:f}=o,p=ya?l.coarse:l.fine;if(e>=g-p&&e<=h+p&&n>=f-p&&n<=s+p){if(r!==null&&document.contains(r)&&a!==r&&!a.contains(r)&&!r.contains(a)&&pa(r,a)>0){let y=r,v=!1;for(;y&&!y.contains(a);){if(fa(y.getBoundingClientRect(),o,!0)){v=!0;break}y=y.parentElement}if(v)return}J.push(i)}})}function lt(t,e){qe.set(t,e)}function ot(){let t=!1,e=!1;J.forEach(r=>{let{direction:i}=r;i==="horizontal"?t=!0:e=!0});let n=0;qe.forEach(r=>{n|=r}),t&&e?nt("intersection",n):t?nt("horizontal",n):e?nt("vertical",n):da()}var st=new AbortController;function je(){st.abort(),st=new AbortController;let t={capture:!0,signal:st.signal};Ee.size&&(fe?(J.length>0&&oe.forEach((e,n)=>{let{body:r}=n;e>0&&(r.addEventListener("contextmenu",at,t),r.addEventListener("pointerleave",rt,t),r.addEventListener("pointermove",rt,t))}),window.addEventListener("pointerup",at,t),window.addEventListener("pointercancel",at,t)):oe.forEach((e,n)=>{let{body:r}=n;e>0&&(r.addEventListener("pointerdown",wa,t),r.addEventListener("pointermove",rt,t))}))}function Te(t,e){Ee.forEach(n=>{let{setResizeHandlerState:r}=n;r(t,J.includes(n),e)})}function va(){let[t,e]=(0,u.useState)(0);return(0,u.useCallback)(()=>e(n=>n+1),[])}function R(t,e){if(!t)throw console.error(e),Error(e)}function se(t,e,n=Qe){return t.toFixed(n)===e.toFixed(n)?0:t>e?1:-1}function ee(t,e,n=Qe){return se(t,e,n)===0}function Y(t,e,n){return se(t,e,n)===0}function xa(t,e,n){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++){let i=t[r],a=e[r];if(!Y(i,a,n))return!1}return!0}function pe({panelConstraints:t,panelIndex:e,size:n}){let r=t[e];R(r!=null,`Panel constraints not found for index ${e}`);let{collapsedSize:i=0,collapsible:a,maxSize:l=100,minSize:o=0}=r;if(se(n,o)<0)if(a){let s=(i+o)/2;n=se(n,s)<0?i:o}else n=o;return n=Math.min(l,n),n=parseFloat(n.toFixed(Qe)),n}function Ce({delta:t,initialLayout:e,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(Y(t,0))return e;let l=[...e],[o,s]=r;R(o!=null,"Invalid first pivot index"),R(s!=null,"Invalid second pivot index");let g=0;if(a==="keyboard"){{let h=t<0?s:o,f=n[h];R(f,`Panel constraints not found for index ${h}`);let{collapsedSize:p=0,collapsible:y,minSize:v=0}=f;if(y){let z=e[h];if(R(z!=null,`Previous layout not found for panel index ${h}`),Y(z,p)){let b=v-z;se(b,Math.abs(t))>0&&(t=t<0?0-b:b)}}}{let h=t<0?o:s,f=n[h];R(f,`No panel constraints found for index ${h}`);let{collapsedSize:p=0,collapsible:y,minSize:v=0}=f;if(y){let z=e[h];if(R(z!=null,`Previous layout not found for panel index ${h}`),Y(z,v)){let b=z-p;se(b,Math.abs(t))>0&&(t=t<0?0-b:b)}}}}{let h=t<0?1:-1,f=t<0?s:o,p=0;for(;;){let v=e[f];R(v!=null,`Previous layout not found for panel index ${f}`);let z=pe({panelConstraints:n,panelIndex:f,size:100})-v;if(p+=z,f+=h,f<0||f>=n.length)break}let y=Math.min(Math.abs(t),Math.abs(p));t=t<0?0-y:y}{let h=t<0?o:s;for(;h>=0&&h<n.length;){let f=Math.abs(t)-Math.abs(g),p=e[h];R(p!=null,`Previous layout not found for panel index ${h}`);let y=p-f,v=pe({panelConstraints:n,panelIndex:h,size:y});if(!Y(p,v)&&(g+=p-v,l[h]=v,g.toPrecision(3).localeCompare(Math.abs(t).toPrecision(3),void 0,{numeric:!0})>=0))break;t<0?h--:h++}}if(xa(i,l))return i;{let h=t<0?s:o,f=e[h];R(f!=null,`Previous layout not found for panel index ${h}`);let p=f+g,y=pe({panelConstraints:n,panelIndex:h,size:p});if(l[h]=y,!Y(y,p)){let v=p-y,z=t<0?s:o;for(;z>=0&&z<n.length;){let b=l[z];R(b!=null,`Previous layout not found for panel index ${z}`);let I=b+v,A=pe({panelConstraints:n,panelIndex:z,size:I});if(Y(b,A)||(v-=A-b,l[z]=A),Y(v,0))break;t>0?z--:z++}}}return Y(l.reduce((h,f)=>f+h,0),100)?l:i}function Sa({layout:t,panelsArray:e,pivotIndices:n}){let r=0,i=100,a=0,l=0,o=n[0];return R(o!=null,"No pivot index found"),e.forEach((s,g)=>{let{constraints:h}=s,{maxSize:f=100,minSize:p=0}=h;g===o?(r=p,i=f):(a+=p,l+=f)}),{valueMax:Math.min(i,100-a),valueMin:Math.max(r,100-l),valueNow:t[o]}}function ze(t,e=document){return Array.from(e.querySelectorAll(`[${T.resizeHandleId}][data-panel-group-id="${t}"]`))}function cn(t,e,n=document){return ze(t,n).findIndex(r=>r.getAttribute(T.resizeHandleId)===e)??null}function fn(t,e,n){let r=cn(t,e,n);return r==null?[-1,-1]:[r,r+1]}function pn(t,e=document){var n;return e instanceof HTMLElement&&((n=e==null?void 0:e.dataset)==null?void 0:n.panelGroupId)==t?e:e.querySelector(`[data-panel-group][data-panel-group-id="${t}"]`)||null}function He(t,e=document){return e.querySelector(`[${T.resizeHandleId}="${t}"]`)||null}function Ea(t,e,n,r=document){var o,s;let i=He(e,r),a=ze(t,r),l=i?a.indexOf(i):-1;return[((o=n[l])==null?void 0:o.id)??null,((s=n[l+1])==null?void 0:s.id)??null]}function Ca({committedValuesRef:t,eagerValuesRef:e,groupId:n,layout:r,panelDataArray:i,panelGroupElement:a,setLayout:l}){(0,u.useRef)({didWarnAboutMissingResizeHandle:!1}),le(()=>{if(!a)return;let o=ze(n,a);for(let s=0;s<i.length-1;s++){let{valueMax:g,valueMin:h,valueNow:f}=Sa({layout:r,panelsArray:i,pivotIndices:[s,s+1]}),p=o[s];if(p!=null){let y=i[s];R(y,`No panel data found for index "${s}"`),p.setAttribute("aria-controls",y.id),p.setAttribute("aria-valuemax",""+Math.round(g)),p.setAttribute("aria-valuemin",""+Math.round(h)),p.setAttribute("aria-valuenow",f==null?"":""+Math.round(f))}}return()=>{o.forEach((s,g)=>{s.removeAttribute("aria-controls"),s.removeAttribute("aria-valuemax"),s.removeAttribute("aria-valuemin"),s.removeAttribute("aria-valuenow")})}},[n,r,i,a]),(0,u.useEffect)(()=>{if(!a)return;let o=e.current;R(o,"Eager values not found");let{panelDataArray:s}=o;R(pn(n,a)!=null,`No group found for id "${n}"`);let g=ze(n,a);R(g,`No resize handles found for group id "${n}"`);let h=g.map(f=>{let p=f.getAttribute(T.resizeHandleId);R(p,"Resize handle element has no handle id attribute");let[y,v]=Ea(n,p,s,a);if(y==null||v==null)return()=>{};let z=b=>{if(!b.defaultPrevented)switch(b.key){case"Enter":{b.preventDefault();let I=s.findIndex(A=>A.id===y);if(I>=0){let A=s[I];R(A,`No panel data found for index ${I}`);let D=r[I],{collapsedSize:H=0,collapsible:V,minSize:_=0}=A.constraints;if(D!=null&&V){let c=Ce({delta:Y(D,H)?_-H:H-D,initialLayout:r,panelConstraints:s.map(x=>x.constraints),pivotIndices:fn(n,p,a),prevLayout:r,trigger:"keyboard"});r!==c&&l(c)}}break}}};return f.addEventListener("keydown",z),()=>{f.removeEventListener("keydown",z)}});return()=>{h.forEach(f=>f())}},[a,t,e,n,r,i,l])}function mn(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function hn(t,e){let n=t==="horizontal",{x:r,y:i}=De(e);return n?r:i}function za(t,e,n,r,i){let a=n==="horizontal",l=He(e,i);R(l,`No resize handle element found for id "${e}"`);let o=l.getAttribute(T.groupId);R(o,"Resize handle element has no group id attribute");let{initialCursorPosition:s}=r,g=hn(n,t),h=pn(o,i);R(h,`No group element found for id "${o}"`);let f=h.getBoundingClientRect(),p=a?f.width:f.height;return(g-s)/p*100}function ka(t,e,n,r,i,a){if(Qt(t)){let l=n==="horizontal",o=0;o=t.shiftKey?100:i??10;let s=0;switch(t.key){case"ArrowDown":s=l?0:o;break;case"ArrowLeft":s=l?-o:0;break;case"ArrowRight":s=l?o:0;break;case"ArrowUp":s=l?0:-o;break;case"End":s=100;break;case"Home":s=-100;break}return s}else return r==null?0:za(t,e,n,r,a)}function Ra({panelDataArray:t}){let e=Array(t.length),n=t.map(a=>a.constraints),r=0,i=100;for(let a=0;a<t.length;a++){let l=n[a];R(l,`Panel constraints not found for index ${a}`);let{defaultSize:o}=l;o!=null&&(r++,e[a]=o,i-=o)}for(let a=0;a<t.length;a++){let l=n[a];R(l,`Panel constraints not found for index ${a}`);let{defaultSize:o}=l;if(o!=null)continue;let s=t.length-r,g=i/s;r++,e[a]=g,i-=g}return e}function me(t,e,n){e.forEach((r,i)=>{let a=t[i];R(a,`Panel data not found for index ${i}`);let{callbacks:l,constraints:o,id:s}=a,{collapsedSize:g=0,collapsible:h}=o,f=n[s];if(f==null||r!==f){n[s]=r;let{onCollapse:p,onExpand:y,onResize:v}=l;v&&v(r,f),h&&(p||y)&&(y&&(f==null||ee(f,g))&&!ee(r,g)&&y(),p&&(f==null||!ee(f,g))&&ee(r,g)&&p())}})}function $e(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!=e[n])return!1;return!0}function Ia({defaultSize:t,dragState:e,layout:n,panelData:r,panelIndex:i,precision:a=3}){let l=n[i],o;return o=l==null?t==null?"1":t.toPrecision(a):r.length===1?"1":l.toPrecision(a),{flexBasis:0,flexGrow:o,flexShrink:1,overflow:"hidden",pointerEvents:e===null?void 0:"none"}}function Na(t,e=10){let n=null;return(...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{t(...r)},e)}}function gn(t){try{if(typeof localStorage<"u")t.getItem=e=>localStorage.getItem(e),t.setItem=(e,n)=>{localStorage.setItem(e,n)};else throw Error("localStorage not supported in this environment")}catch(e){console.error(e),t.getItem=()=>null,t.setItem=()=>{}}}function yn(t){return`react-resizable-panels:${t}`}function bn(t){return t.map(e=>{let{constraints:n,id:r,idIsFromProps:i,order:a}=e;return i?r:a?`${a}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((e,n)=>e.localeCompare(n)).join(",")}function wn(t,e){try{let n=yn(t),r=e.getItem(n);if(r){let i=JSON.parse(r);if(typeof i=="object"&&i)return i}}catch{}return null}function Pa(t,e,n){return(wn(t,n)??{})[bn(e)]??null}function Aa(t,e,n,r,i){let a=yn(t),l=bn(e),o=wn(t,i)??{};o[l]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{i.setItem(a,JSON.stringify(o))}catch(s){console.error(s)}}function vn({layout:t,panelConstraints:e}){let n=[...t],r=n.reduce((a,l)=>a+l,0);if(n.length!==e.length)throw Error(`Invalid ${e.length} panel layout: ${n.map(a=>`${a}%`).join(", ")}`);if(!Y(r,100)&&n.length>0)for(let a=0;a<e.length;a++){let l=n[a];R(l!=null,`No layout data found for index ${a}`),n[a]=100/r*l}let i=0;for(let a=0;a<e.length;a++){let l=n[a];R(l!=null,`No layout data found for index ${a}`);let o=pe({panelConstraints:e,panelIndex:a,size:l});l!=o&&(i+=l-o,n[a]=o)}if(!Y(i,0))for(let a=0;a<e.length;a++){let l=n[a];R(l!=null,`No layout data found for index ${a}`);let o=l+i,s=pe({panelConstraints:e,panelIndex:a,size:o});if(l!==s&&(i-=s-l,n[a]=s,Y(i,0)))break}return n}var _a=100,ke={getItem:t=>(gn(ke),ke.getItem(t)),setItem:(t,e)=>{gn(ke),ke.setItem(t,e)}},xn={};function Sn({autoSaveId:t=null,children:e,className:n="",direction:r,forwardedRef:i,id:a=null,onLayout:l=null,keyboardResizeBy:o=null,storage:s=ke,style:g,tagName:h="div",...f}){let p=Ze(a),y=(0,u.useRef)(null),[v,z]=(0,u.useState)(null),[b,I]=(0,u.useState)([]),A=va(),D=(0,u.useRef)({}),H=(0,u.useRef)(new Map),V=(0,u.useRef)(0),_=(0,u.useRef)({autoSaveId:t,direction:r,dragState:v,id:p,keyboardResizeBy:o,onLayout:l,storage:s}),c=(0,u.useRef)({layout:b,panelDataArray:[],panelDataArrayChanged:!1});(0,u.useRef)({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),(0,u.useImperativeHandle)(i,()=>({getId:()=>_.current.id,getLayout:()=>{let{layout:m}=c.current;return m},setLayout:m=>{let{onLayout:w}=_.current,{layout:S,panelDataArray:E}=c.current,k=vn({layout:m,panelConstraints:E.map(L=>L.constraints)});mn(S,k)||(I(k),c.current.layout=k,w&&w(k),me(E,k,D.current))}}),[]),le(()=>{_.current.autoSaveId=t,_.current.direction=r,_.current.dragState=v,_.current.id=p,_.current.onLayout=l,_.current.storage=s}),Ca({committedValuesRef:_,eagerValuesRef:c,groupId:p,layout:b,panelDataArray:c.current.panelDataArray,setLayout:I,panelGroupElement:y.current}),(0,u.useEffect)(()=>{let{panelDataArray:m}=c.current;if(t){if(b.length===0||b.length!==m.length)return;let w=xn[t];w??(w=Na(Aa,_a),xn[t]=w);let S=[...m],E=new Map(H.current);w(t,S,E,b,s)}},[t,b,s]),(0,u.useEffect)(()=>{});let x=(0,u.useCallback)(m=>{let{onLayout:w}=_.current,{layout:S,panelDataArray:E}=c.current;if(m.constraints.collapsible){let k=E.map(O=>O.constraints),{collapsedSize:L=0,panelSize:j,pivotIndices:W}=ue(E,m,S);if(R(j!=null,`Panel size not found for panel "${m.id}"`),!ee(j,L)){H.current.set(m.id,j);let O=Ce({delta:he(E,m)===E.length-1?j-L:L-j,initialLayout:S,panelConstraints:k,pivotIndices:W,prevLayout:S,trigger:"imperative-api"});$e(S,O)||(I(O),c.current.layout=O,w&&w(O),me(E,O,D.current))}}},[]),P=(0,u.useCallback)((m,w)=>{let{onLayout:S}=_.current,{layout:E,panelDataArray:k}=c.current;if(m.constraints.collapsible){let L=k.map(te=>te.constraints),{collapsedSize:j=0,panelSize:W=0,minSize:O=0,pivotIndices:Q}=ue(k,m,E),K=w??O;if(ee(W,j)){let te=H.current.get(m.id),Ie=te!=null&&te>=K?te:K,ae=Ce({delta:he(k,m)===k.length-1?W-Ie:Ie-W,initialLayout:E,panelConstraints:L,pivotIndices:Q,prevLayout:E,trigger:"imperative-api"});$e(E,ae)||(I(ae),c.current.layout=ae,S&&S(ae),me(k,ae,D.current))}}},[]),C=(0,u.useCallback)(m=>{let{layout:w,panelDataArray:S}=c.current,{panelSize:E}=ue(S,m,w);return R(E!=null,`Panel size not found for panel "${m.id}"`),E},[]),N=(0,u.useCallback)((m,w)=>{let{panelDataArray:S}=c.current;return Ia({defaultSize:w,dragState:v,layout:b,panelData:S,panelIndex:he(S,m)})},[v,b]),M=(0,u.useCallback)(m=>{let{layout:w,panelDataArray:S}=c.current,{collapsedSize:E=0,collapsible:k,panelSize:L}=ue(S,m,w);return R(L!=null,`Panel size not found for panel "${m.id}"`),k===!0&&ee(L,E)},[]),U=(0,u.useCallback)(m=>{let{layout:w,panelDataArray:S}=c.current,{collapsedSize:E=0,collapsible:k,panelSize:L}=ue(S,m,w);return R(L!=null,`Panel size not found for panel "${m.id}"`),!k||se(L,E)>0},[]),q=(0,u.useCallback)(m=>{let{panelDataArray:w}=c.current;w.push(m),w.sort((S,E)=>{let k=S.order,L=E.order;return k==null&&L==null?0:k==null?-1:L==null?1:k-L}),c.current.panelDataArrayChanged=!0,A()},[A]);le(()=>{if(c.current.panelDataArrayChanged){c.current.panelDataArrayChanged=!1;let{autoSaveId:m,onLayout:w,storage:S}=_.current,{layout:E,panelDataArray:k}=c.current,L=null;if(m){let W=Pa(m,k,S);W&&(H.current=new Map(Object.entries(W.expandToSizes)),L=W.layout)}L??(L=Ra({panelDataArray:k}));let j=vn({layout:L,panelConstraints:k.map(W=>W.constraints)});mn(E,j)||(I(j),c.current.layout=j,w&&w(j),me(k,j,D.current))}}),le(()=>{let m=c.current;return()=>{m.layout=[]}},[]);let B=(0,u.useCallback)(m=>{let w=!1,S=y.current;return S&&window.getComputedStyle(S,null).getPropertyValue("direction")==="rtl"&&(w=!0),function(E){E.preventDefault();let k=y.current;if(!k)return()=>null;let{direction:L,dragState:j,id:W,keyboardResizeBy:O,onLayout:Q}=_.current,{layout:K,panelDataArray:te}=c.current,{initialLayout:Ie}=j??{},ae=fn(W,m,k),ne=ka(E,m,L,j,O,k),mt=L==="horizontal";mt&&w&&(ne=-ne);let Dn=te.map(qn=>qn.constraints),be=Ce({delta:ne,initialLayout:Ie??K,panelConstraints:Dn,pivotIndices:ae,prevLayout:K,trigger:Qt(E)?"keyboard":"mouse-or-touch"}),ht=!$e(K,be);(Zt(E)||en(E))&&V.current!=ne&&(V.current=ne,!ht&&ne!==0?mt?lt(m,ne<0?ln:on):lt(m,ne<0?sn:un):lt(m,0)),ht&&(I(be),c.current.layout=be,Q&&Q(be),me(te,be,D.current))}},[]),X=(0,u.useCallback)((m,w)=>{let{onLayout:S}=_.current,{layout:E,panelDataArray:k}=c.current,L=k.map(Q=>Q.constraints),{panelSize:j,pivotIndices:W}=ue(k,m,E);R(j!=null,`Panel size not found for panel "${m.id}"`);let O=Ce({delta:he(k,m)===k.length-1?j-w:w-j,initialLayout:E,panelConstraints:L,pivotIndices:W,prevLayout:E,trigger:"imperative-api"});$e(E,O)||(I(O),c.current.layout=O,S&&S(O),me(k,O,D.current))},[]),ye=(0,u.useCallback)((m,w)=>{let{layout:S,panelDataArray:E}=c.current,{collapsedSize:k=0,collapsible:L}=w,{collapsedSize:j=0,collapsible:W,maxSize:O=100,minSize:Q=0}=m.constraints,{panelSize:K}=ue(E,m,S);K!=null&&(L&&W&&ee(K,k)?ee(k,j)||X(m,j):K<Q?X(m,Q):K>O&&X(m,O))},[X]),Re=(0,u.useCallback)((m,w)=>{let{direction:S}=_.current,{layout:E}=c.current;if(!y.current)return;let k=He(m,y.current);R(k,`Drag handle element not found for id "${m}"`);let L=hn(S,w);z({dragHandleId:m,dragHandleRect:k.getBoundingClientRect(),initialCursorPosition:L,initialLayout:E})},[]),re=(0,u.useCallback)(()=>{z(null)},[]),ce=(0,u.useCallback)(m=>{let{panelDataArray:w}=c.current,S=he(w,m);S>=0&&(w.splice(S,1),delete D.current[m.id],c.current.panelDataArrayChanged=!0,A())},[A]),Ue=(0,u.useMemo)(()=>({collapsePanel:x,direction:r,dragState:v,expandPanel:P,getPanelSize:C,getPanelStyle:N,groupId:p,isPanelCollapsed:M,isPanelExpanded:U,reevaluatePanelConstraints:ye,registerPanel:q,registerResizeHandle:B,resizePanel:X,startDragging:Re,stopDragging:re,unregisterPanel:ce,panelGroupElement:y.current}),[x,v,r,P,C,N,p,M,U,ye,q,B,X,Re,re,ce]),We={display:"flex",flexDirection:r==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"};return(0,u.createElement)(Le.Provider,{value:Ue},(0,u.createElement)(h,{...f,children:e,className:n,id:a,ref:y,style:{...We,...g},[T.group]:"",[T.groupDirection]:r,[T.groupId]:p}))}var En=(0,u.forwardRef)((t,e)=>(0,u.createElement)(Sn,{...t,forwardedRef:e}));Sn.displayName="PanelGroup",En.displayName="forwardRef(PanelGroup)";function he(t,e){return t.findIndex(n=>n===e||n.id===e.id)}function ue(t,e,n){let r=he(t,e),i=r===t.length-1?[r-1,r]:[r,r+1],a=n[r];return{...e.constraints,panelSize:a,pivotIndices:i}}function Ma({disabled:t,handleId:e,resizeHandler:n,panelGroupElement:r}){(0,u.useEffect)(()=>{if(t||n==null||r==null)return;let i=He(e,r);if(i==null)return;let a=l=>{if(!l.defaultPrevented)switch(l.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":l.preventDefault(),n(l);break;case"F6":{l.preventDefault();let o=i.getAttribute(T.groupId);R(o,`No group element found for id "${o}"`);let s=ze(o,r),g=cn(o,e,r);R(g!==null,`No resize element found for id "${e}"`),s[l.shiftKey?g>0?g-1:s.length-1:g+1<s.length?g+1:0].focus();break}}};return i.addEventListener("keydown",a),()=>{i.removeEventListener("keydown",a)}},[r,t,e,n])}function ut({children:t=null,className:e="",disabled:n=!1,hitAreaMargins:r,id:i,onBlur:a,onClick:l,onDragging:o,onFocus:s,onPointerDown:g,onPointerUp:h,style:f={},tabIndex:p=0,tagName:y="div",...v}){let z=(0,u.useRef)(null),b=(0,u.useRef)({onClick:l,onDragging:o,onPointerDown:g,onPointerUp:h});(0,u.useEffect)(()=>{b.current.onClick=l,b.current.onDragging=o,b.current.onPointerDown=g,b.current.onPointerUp=h});let I=(0,u.useContext)(Le);if(I===null)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");let{direction:A,groupId:D,registerResizeHandle:H,startDragging:V,stopDragging:_,panelGroupElement:c}=I,x=Ze(i),[P,C]=(0,u.useState)("inactive"),[N,M]=(0,u.useState)(!1),[U,q]=(0,u.useState)(null),B=(0,u.useRef)({state:P});le(()=>{B.current.state=P}),(0,u.useEffect)(()=>{if(n)q(null);else{let re=H(x);q(()=>re)}},[n,x,H]);let X=(r==null?void 0:r.coarse)??15,ye=(r==null?void 0:r.fine)??5;(0,u.useEffect)(()=>{if(n||U==null)return;let re=z.current;R(re,"Element ref not attached");let ce=!1;return ba(x,re,A,{coarse:X,fine:ye},(Ue,We,m)=>{if(!We){C("inactive");return}switch(Ue){case"down":{C("drag"),ce=!1,R(m,'Expected event to be defined for "down" action'),V(x,m);let{onDragging:w,onPointerDown:S}=b.current;w==null||w(!0),S==null||S();break}case"move":{let{state:w}=B.current;ce=!0,w!=="drag"&&C("hover"),R(m,'Expected event to be defined for "move" action'),U(m);break}case"up":{C("hover"),_();let{onClick:w,onDragging:S,onPointerUp:E}=b.current;S==null||S(!1),E==null||E(),ce||(w==null||w());break}}})},[X,A,n,ye,H,x,U,V,_]),Ma({disabled:n,handleId:x,resizeHandler:U,panelGroupElement:c});let Re={touchAction:"none",userSelect:"none"};return(0,u.createElement)(y,{...v,children:t,className:e,id:i,onBlur:()=>{M(!1),a==null||a()},onFocus:()=>{M(!0),s==null||s()},ref:z,role:"separator",style:{...Re,...f},tabIndex:p,[T.groupDirection]:A,[T.groupId]:D,[T.resizeHandle]:"",[T.resizeHandleActive]:P==="drag"?"pointer":N?"keyboard":void 0,[T.resizeHandleEnabled]:!n,[T.resizeHandleId]:x,[T.resizeHandleState]:P})}ut.displayName="PanelResizeHandle";var La=we(wt(),1);const Cn=t=>{let e=(0,La.c)(8),{onResize:n,startingWidth:r,minWidth:i,maxWidth:a}=t,l=(0,u.useRef)(null),o=(0,u.useRef)(null),s=(0,u.useRef)(null),g,h;e[0]!==a||e[1]!==i||e[2]!==n?(g=()=>{let v=l.current,z=o.current,b=s.current;if(!v||!z&&!b)return;let I=Number.parseInt(window.getComputedStyle(v).width,10),A=0,D=!1,H=null,V=C=>{if(!v||!D||!H)return;let N=C.clientX-A;A=C.clientX,I=H==="left"?I-N:I+N,i&&(I=Math.max(i,I)),a&&(I=Math.min(a,I)),v.style.width=`${I}px`},_=()=>{D&&(n==null||n(I),D=!1,H=null),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_)},c=(C,N)=>{C.preventDefault(),D=!0,H=N,A=C.clientX,document.addEventListener("mousemove",V),document.addEventListener("mouseup",_)},x=C=>c(C,"left"),P=C=>c(C,"right");return z&&z.addEventListener("mousedown",x),b&&b.addEventListener("mousedown",P),()=>{z&&z.removeEventListener("mousedown",x),b&&b.removeEventListener("mousedown",P),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_)}},h=[i,a,n],e[0]=a,e[1]=i,e[2]=n,e[3]=g,e[4]=h):(g=e[3],h=e[4]),(0,u.useEffect)(g,h);let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f={left:o,right:s},e[5]=f):f=e[5];let p=r==="contentWidth"?"var(--content-width-medium)":`${r}px`,y;return e[6]===p?y=e[7]:(y={resizableDivRef:l,handleRefs:f,style:{width:p}},e[6]=p,e[7]=y),y};function zn(t){t||window.dispatchEvent(new Event("resize"))}var kn=we(wt(),1),F=we(nr(),1);const Fa=()=>{let t=(0,kn.c)(16),[e,n]=Ne(Vt),[r,i]=Ne(Xt),[a,l]=Ne(ra),[o,s]=Ne(Yt),g;t[0]!==i||t[1]!==n?(g=()=>{n(null),i(!1)},t[0]=i,t[1]=n,t[2]=g):g=t[2];let h=g;if(Xe(Pe.CONTEXT_AWARE_PANEL).length===0||!e||!r)return null;let f;t[3]!==o||t[4]!==a||t[5]!==s||t[6]!==l?(f=()=>(0,F.jsxs)("div",{className:"flex flex-row items-center gap-3",children:[(0,F.jsx)(Ct,{content:a?"Unpin panel":"Pin panel",children:(0,F.jsx)(kt,{size:"xs",onPressedChange:()=>l(!a),pressed:a,"aria-label":a?"Unpin panel":"Pin panel",children:a?(0,F.jsx)(br,{className:"w-4 h-4"}):(0,F.jsx)(ir,{className:"w-4 h-4"})})}),(0,F.jsx)(Ct,{content:o?(0,F.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,F.jsx)("span",{children:"Follow focused table"}),(0,F.jsx)("span",{className:"text-xs text-muted-foreground w-64",children:"The panel updates as cells that output tables are focused. Click to fix to the current cell."})]}):(0,F.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,F.jsx)("span",{children:"Focus on current table"}),(0,F.jsx)("span",{className:"text-xs text-muted-foreground w-64",children:"The panel is focused on the current table. Click to update based on which cell is focused."})]}),children:(0,F.jsx)(kt,{size:"xs",onPressedChange:()=>s(!o),pressed:o,"aria-label":o?"Follow focused cell":"Fixed",children:(0,F.jsx)(yr,{className:rr("w-4 h-4",o&&"text-primary")})})})]}),t[3]=o,t[4]=a,t[5]=s,t[6]=l,t[7]=f):f=t[7];let p=f,y;t[8]!==h||t[9]!==p?(y=()=>(0,F.jsxs)("div",{className:"mt-2 pb-7 mb-4 h-full overflow-auto",children:[(0,F.jsxs)("div",{className:"flex flex-row justify-between items-center mx-2",children:[p(),(0,F.jsx)(ar,{variant:"linkDestructive",size:"icon",onClick:h,"aria-label":"Close selection panel",children:(0,F.jsx)(cr,{className:"w-4 h-4"})})]}),(0,F.jsx)(xt,{children:(0,F.jsx)(At,{name:Pe.CONTEXT_AWARE_PANEL})})]}),t[8]=h,t[9]=p,t[10]=y):y=t[10];let v=y;if(!a){let I;return t[11]===v?I=t[12]:(I=(0,F.jsx)(qa,{children:v()}),t[11]=v,t[12]=I),I}let z;t[13]===Symbol.for("react.memo_cache_sentinel")?(z=(0,F.jsx)(ut,{onDragging:zn,className:"resize-handle border-border z-20 no-print border-l"}),t[13]=z):z=t[13];let b;return t[14]===v?b=t[15]:(b=(0,F.jsxs)(F.Fragment,{children:[z,(0,F.jsx)(et,{defaultSize:20,minSize:15,maxSize:80,children:v()})]}),t[14]=v,t[15]=b),b},Da=t=>{let e=(0,kn.c)(2),{children:n}=t,r;return e[0]===n?r=e[1]:(r=(0,F.jsx)(xt,{children:(0,F.jsx)(vr,{name:Pe.CONTEXT_AWARE_PANEL,children:n})}),e[0]=n,e[1]=r),r};var qa=({children:t})=>{let{resizableDivRef:e,handleRefs:n,style:r}=Cn({startingWidth:400,minWidth:300,maxWidth:1500});return(0,F.jsxs)("div",{className:"absolute z-40 right-0 h-full bg-background flex flex-row",children:[(0,F.jsx)("div",{ref:n.left,className:"w-1 h-full cursor-col-resize border-l"}),(0,F.jsx)("div",{ref:e,style:r,children:t})]})};function ja(){var t=[...arguments];return(0,u.useMemo)(()=>e=>{t.forEach(n=>n(e))},t)}var Rn=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0;function Oe(t){let e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function dt(t){return"nodeType"in t}function ge(t){var e;return t?Oe(t)?t:dt(t)?((e=t.ownerDocument)==null?void 0:e.defaultView)??window:window:window}function In(t){let{Document:e}=ge(t);return t instanceof e}function Nn(t){return Oe(t)?!1:t instanceof ge(t).HTMLElement}function Pn(t){return t instanceof ge(t).SVGElement}function Ta(t){return t?Oe(t)?t.document:dt(t)?In(t)?t:Nn(t)||Pn(t)?t.ownerDocument:document:document:document}var ct=Rn?u.useLayoutEffect:u.useEffect;function An(t){let e=(0,u.useRef)(t);return ct(()=>{e.current=t}),(0,u.useCallback)(function(){var n=[...arguments];return e.current==null?void 0:e.current(...n)},[])}function Ha(){let t=(0,u.useRef)(null);return[(0,u.useCallback)((e,n)=>{t.current=setInterval(e,n)},[]),(0,u.useCallback)(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[])]}function $a(t,e){e===void 0&&(e=[t]);let n=(0,u.useRef)(t);return ct(()=>{n.current!==t&&(n.current=t)},e),n}function Oa(t,e){let n=(0,u.useRef)();return(0,u.useMemo)(()=>{let r=t(n.current);return n.current=r,r},[...e])}function Ua(t){let e=An(t),n=(0,u.useRef)(null);return[n,(0,u.useCallback)(r=>{r!==n.current&&(e==null||e(r,n.current)),n.current=r},[])]}function Wa(t){let e=(0,u.useRef)();return(0,u.useEffect)(()=>{e.current=t},[t]),e.current}var ft={};function Ba(t,e){return(0,u.useMemo)(()=>{if(e)return e;let n=ft[t]==null?0:ft[t]+1;return ft[t]=n,t+"-"+n},[t,e])}function _n(t){return function(e){return[...arguments].slice(1).reduce((n,r)=>{let i=Object.entries(r);for(let[a,l]of i){let o=n[a];o!=null&&(n[a]=o+t*l)}return n},{...e})}}var Ga=_n(1),Va=_n(-1);function Xa(t){return"clientX"in t&&"clientY"in t}function Ya(t){if(!t)return!1;let{KeyboardEvent:e}=ge(t.target);return e&&t instanceof e}function Ka(t){if(!t)return!1;let{TouchEvent:e}=ge(t.target);return e&&t instanceof e}function Ja(t){if(Ka(t)){if(t.touches&&t.touches.length){let{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){let{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return Xa(t)?{x:t.clientX,y:t.clientY}:null}var pt=Object.freeze({Translate:{toString(t){if(!t)return;let{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;let{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[pt.Translate.toString(t),pt.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),Mn="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Qa(t){return t.matches(Mn)?t:t.querySelector(Mn)}export{jr as $,ut as A,Jr as B,Ba as C,Cn as D,zn as E,Wt as F,Ot as G,Xr as H,Bt as I,Ht as J,Tt as K,ta as L,Vt as M,na as N,et as O,Yt as P,_e as Q,ea as R,Wa as S,Da as T,Ut as U,Qr as V,Vr as W,Wr as X,Gr as Y,Br as Z,Ha as _,Ja as a,Xe as at,Oa as b,In as c,dt as d,Lt as et,Pn as f,An as g,ja as h,Qa as i,At as it,Xt as j,En as k,Nn as l,Va as m,Ga as n,Nr as nt,Ta as o,Rt as ot,Oe as p,$t as q,Rn as r,Ir as rt,ge as s,pt as t,Pe as tt,Ya as u,ct as v,Fa as w,Ua as x,$a as y,Yr as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as x}from"./chunk-DZLz74EQ.js";import"./jotai-BTnrNcC1.js";import{t as F}from"./react-BcIddLXZ.js";import{N as k,Rn as C,Yn as S,j as B,mt as I,p as M}from"./cells-
|
|
1
|
+
import{s as x}from"./chunk-DZLz74EQ.js";import"./jotai-BTnrNcC1.js";import{t as F}from"./react-BcIddLXZ.js";import{N as k,Rn as C,Yn as S,j as B,mt as I,p as M}from"./cells-DNq9ng4B.js";import"./react-dom-D6bRRS5R.js";import"./zod-U2NFpcFA.js";import{t as O}from"./compiler-runtime-Cr9loedd.js";import"./_Uint8Array-D5Z9rM2X.js";import"./isSymbol-xTSywenE.js";import"./_arrayMap-DQI2GUNb.js";import"./toString-CBnct2wx.js";import"./toNumber-CTOPJrpu.js";import"./toInteger-Bor4StOs.js";import"./isArrayLikeObject-DKyJYtr8.js";import"./_getTag-CVRrQL_Q.js";import"./_baseIsEqual-CVFfFJm2.js";import"./_toKey-16owuO_q.js";import"./memoize-DhF8x4Aa.js";import"./get-BUGWIXZE.js";import"./_baseFlatten-ViL-mfkw.js";import"./merge-Dvc5opZF.js";import"./_baseSlice-BWZ0PeaJ.js";import"./upperFirst-CBQfDRod.js";import"./_hasUnicode-3DIK_jNi.js";import"./capitalize-CBqvgOfA.js";import"./_arrayReduce-DV4IVFuG.js";import"./startCase-RfubwhHM.js";import"./_baseEach-CMG9RfnR.js";import"./hasIn-BgJKauE7.js";import"./_baseProperty-c4IQJQis.js";import"./now-BXqTLlmI.js";import"./debounce-BUM2losY.js";import"./_baseMap-Cw6xPrGQ.js";import"./tooltip-Yli91_uW.js";import{t as u}from"./sortBy-B2UQBZri.js";import"./range-ZclXTdAh.js";import"./hotkeys-ClCtr3_I.js";import"./invariant-D5a0EE05.js";import"./utils-BpjB6B-Y.js";import"./constants-CEISdYm1.js";import"./config-e9OVB2bJ.js";import"./ErrorBoundary-5_63wxX3.js";import"./useEventListener-D1FLsfmf.js";import{t as D}from"./jsx-runtime-mwDPpfh_.js";import{t as T}from"./cn-DEUt_IsG.js";import"./button-Zjtz1syG.js";import"./dist-o3-gJN-A.js";import"./dist-CzgFQFBf.js";import{A as V,D as j,O as R,S as h,j as G,k as _}from"./Output-pZgeySyq.js";import"./once-3GsqimLM.js";import"./capabilities-CEL4hxAo.js";import"./createReducer-C6dJ71nW.js";import"./requests-DD3OWR81.js";import"./preload-helper-DImqtvgl.js";import"./dist-DdXBxU_X.js";import"./dist-ws1ADWL0.js";import"./dist-BOJjflZo.js";import"./dist-w3K5vvwl.js";import"./dist-DXPWGCwf.js";import"./dist-BGbJQ9FV.js";import"./stex-w1KpyykF.js";import"./Deferred-Mppm0cvJ.js";import"./uuid-4lb_EYpq.js";import"./key-BOd4SjWu.js";import"./use-toast-BPMVOfO3.js";import"./main-CCaZmKLi.js";import"./marked.esm-BB_RKOA5.js";import"./connection-CsVOmbVi.js";import"./dist-dCpey1ug.js";import"./useLifecycle-CxNbfWnk.js";import"./useTheme-DcMAIbRt.js";import{t as q}from"./createLucideIcon-CaU6_Jtx.js";import"./type-DVCC-93H.js";import"./table-CmDieCGZ.js";import"./check-Dc7YCRim.js";import"./select-Di-JjADd.js";import"./download-DrI1Gw05.js";import"./chevron-right-BExEgq1M.js";import"./maps-cpHLsM9S.js";import"./toDate-CnvLb18a.js";import"./dropdown-menu-ChUikXiI.js";import"./copy-CDDalEhv.js";import"./spinner-1oeuzoUk.js";import"./MarimoErrorOutput-BMyX5A6l.js";import{a as A}from"./input-DuVApvWu.js";import"./state-CIEHjRfF.js";import{t as E}from"./square-function-DncO0xCM.js";import{t as H}from"./workflow-BmOhe3mQ.js";import"./badge-CxcKOiwY.js";import"./Combination-DWHMUa0d.js";import"./dist-1ZdxNBaX.js";import"./tooltip-CerBk_un.js";import"./menu-items-Dm8s6sMr.js";import"./useNonce-CL3DrH5R.js";import"./en-US-Bxm1PGFP.js";import"./isValid-CFczudfT.js";import"./mode-BWw7rz82.js";import"./alert-dialog-BZHeDuaE.js";import"./dialog-CzmSXArA.js";import"./usePress-C2JVmCUi.js";import"./SSRProvider-CMB_HLxO.js";import"./useDateFormatter-CQ9jB95h.js";import{t as P}from"./context-BqH7Jigl.js";import"./useNumberFormatter-BPGR7t2W.js";import"./shim-FF_l0CN4.js";import"./numbers-Dft9TKC1.js";import"./useEvent-itkPNnCe.js";import"./useDebounce--Sw2WRQ5.js";import"./ImperativeModal-ExH1h9et.js";import"./strings-DRRWXNT2.js";import"./error-banner-rdjPobI5.js";import"./vega-loader.browser-Cp1bHVeU.js";import"./precisionRound-BLxyDkD7.js";import"./defaultLocale-DEWTIUVh.js";import"./defaultLocale-B9-NA0ur.js";import"./copy-SPzF4B1M.js";import"./copy-icon-Ckew1l1_.js";import"./RenderHTML-BUSbsjNK.js";import"./purify.es-CmG1k0Cr.js";import"./useRunCells-DjmsNJ7r.js";import"./multi-map-COQ6MvP7.js";import"./emotion-is-prop-valid.esm-CjexKXdD.js";import"./extends-DhnjMUSs.js";import"./prop-types-BAY7nW8B.js";import"./alert-B5fh2kMN.js";import"./useAsyncData-BPaRR7vx.js";import"./kbd-BfBY_QKr.js";import"./popover-BoRNi4dY.js";import{t as v}from"./cell-link-DFNTDaPd.js";import"./links-90C38wV6.js";import"./useIframeCapabilities-BLQ5-OdI.js";import"./lazy-tfeVHpGH.js";import"./tabs-CGHt3Blh.js";import"./command-DhuV6_de.js";import{a as U,i as $,n as z,o as y,r as L,t as Y}from"./table-Bj1zHGNd.js";import"./formats-Cit8Tr_y.js";import{t as J}from"./empty-state-n1MMYrpv.js";import{n as K,t as Q}from"./common-U0RDob8X.js";var W=q("square-equal",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}]]),X=x(O(),1),c=x(F(),1),r=x(D(),1);function Dt(e){return e}var n={name:"name",type:"type-value",defs:"defs-refs"},Z=[{id:n.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:e})=>(0,r.jsx)(h,{header:"Name",column:e}),cell:({getValue:e})=>{let[t,m]=e();return(0,r.jsx)(Q,{name:t,declaredBy:m})}},{id:n.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:e})=>(0,r.jsx)(h,{header:(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("span",{children:"Type"}),(0,r.jsx)("span",{children:"Value"})]}),column:e}),cell:({getValue:e})=>{let[t,m]=e();return(0,r.jsxs)("div",{className:"max-w-[150px]",children:[(0,r.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:t}),(0,r.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:m??"",children:m})]})}},{id:n.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:e})=>(0,r.jsx)(h,{header:(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("span",{children:"Declared By"}),(0,r.jsx)("span",{children:"Used By"})]}),column:e}),cell:({getValue:e})=>{let[t,m,o]=e(),i=s=>{let p=M(s);p&&C(p,o)};return(0,r.jsxs)("div",{className:"flex flex-col gap-1 py-1",children:[(0,r.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-center",children:[(0,r.jsx)("span",{title:"Declared by",children:(0,r.jsx)(W,{className:"w-3.5 h-3.5 text-muted-foreground"})}),t.length===1?(0,r.jsx)(v,{variant:"focus",cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,r.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:t.slice(0,3).map((s,p)=>(0,r.jsxs)("span",{className:"flex",children:[(0,r.jsx)(v,{variant:"focus",cellId:s,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>i(s)},s),p<t.length-1&&", "]},s))})]}),(0,r.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,r.jsx)("span",{title:"Used by",children:(0,r.jsx)(H,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,r.jsx)(K,{maxCount:3,cellIds:m,skipScroll:!0,onClick:i})]})]})}}];function ee({variables:e,sort:t,cellIdToIndex:m}){t||(t={id:n.defs,desc:!1});let o=[];switch(t.id){case n.name:o=u(e,i=>i.name);break;case n.type:o=u(e,i=>i.dataType);break;case n.defs:o=u(e,i=>m.get(i.declaredBy[0]));break}return t.desc?o.reverse():o}const w=(0,c.memo)(({className:e,cellIds:t,variables:m})=>{let[o,i]=c.useState([]),[s,p]=c.useState(""),f=k(),{locale:N}=P(),g=(0,c.useMemo)(()=>{let a=l=>{let d=f[l];return I(d)?`cell-${t.indexOf(l)}`:d??`cell-${t.indexOf(l)}`};return Object.values(m).map(l=>({...l,declaredByNames:l.declaredBy.map(a),usedByNames:l.usedBy.map(a)}))},[m,f,t]),b=R({data:(0,c.useMemo)(()=>{let a=new Map;return t.forEach((l,d)=>a.set(l,d)),ee({variables:g,sort:o[0],cellIdToIndex:a})},[g,o,t]),columns:Z,getCoreRowModel:_(),onGlobalFilterChange:p,getFilteredRowModel:V(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(a){return a.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:N,onSortingChange:i,getSortedRowModel:G(),state:{sorting:o,globalFilter:s}});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(A,{className:"w-full",placeholder:"Search",value:s,onChange:a=>p(a.target.value)}),(0,r.jsxs)(Y,{className:T("w-full text-sm flex-1 border-separate border-spacing-0",e),children:[(0,r.jsx)(U,{children:(0,r.jsx)(y,{className:"whitespace-nowrap text-xs",children:b.getFlatHeaders().map(a=>(0,r.jsx)($,{className:"sticky top-0 bg-background border-b",children:j(a.column.columnDef.header,a.getContext())},a.id))})}),(0,r.jsx)(z,{children:b.getRowModel().rows.map(a=>(0,r.jsx)(y,{className:"hover:bg-accent",children:a.getVisibleCells().map(l=>(0,r.jsx)(L,{className:"border-b",children:j(l.column.columnDef.cell,l.getContext())},l.id))},a.id))})]})]})});w.displayName="VariableTable";var re=()=>{let e=(0,X.c)(4),t=S(),m=B();if(Object.keys(t).length===0){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,r.jsx)(J,{title:"No variables",description:"Global variables will appear here.",icon:(0,r.jsx)(E,{})}),e[0]=i):i=e[0],i}let o;return e[1]!==m.inOrderIds||e[2]!==t?(o=(0,r.jsx)(w,{className:"flex-1",cellIds:m.inOrderIds,variables:t}),e[1]=m.inOrderIds,e[2]=t,e[3]=o):o=e[3],o};export{re as default};
|
package/dist/index.html
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
|
|
67
67
|
<!-- /TODO -->
|
|
68
68
|
<title>{{ title }}</title>
|
|
69
|
-
<script type="module" crossorigin src="./assets/index-
|
|
69
|
+
<script type="module" crossorigin src="./assets/index-q8eVuDDk.js"></script>
|
|
70
70
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-DImqtvgl.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="./assets/chunk-DZLz74EQ.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="./assets/react-BcIddLXZ.js">
|
|
@@ -138,11 +138,11 @@
|
|
|
138
138
|
<link rel="modulepreload" crossorigin href="./assets/type-DVCC-93H.js">
|
|
139
139
|
<link rel="modulepreload" crossorigin href="./assets/marked.esm-BB_RKOA5.js">
|
|
140
140
|
<link rel="modulepreload" crossorigin href="./assets/main-CCaZmKLi.js">
|
|
141
|
-
<link rel="modulepreload" crossorigin href="./assets/cells-
|
|
141
|
+
<link rel="modulepreload" crossorigin href="./assets/cells-DNq9ng4B.js">
|
|
142
142
|
<link rel="modulepreload" crossorigin href="./assets/kbd-BfBY_QKr.js">
|
|
143
143
|
<link rel="modulepreload" crossorigin href="./assets/renderShortcut-a-3t8sis.js">
|
|
144
144
|
<link rel="modulepreload" crossorigin href="./assets/useEvent-itkPNnCe.js">
|
|
145
|
-
<link rel="modulepreload" crossorigin href="./assets/useDeleteCell-
|
|
145
|
+
<link rel="modulepreload" crossorigin href="./assets/useDeleteCell-CJ4WX9R2.js">
|
|
146
146
|
<link rel="modulepreload" crossorigin href="./assets/lazy-tfeVHpGH.js">
|
|
147
147
|
<link rel="modulepreload" crossorigin href="./assets/defaultLocale-DEWTIUVh.js">
|
|
148
148
|
<link rel="modulepreload" crossorigin href="./assets/precisionRound-BLxyDkD7.js">
|
|
@@ -160,24 +160,24 @@
|
|
|
160
160
|
<link rel="modulepreload" crossorigin href="./assets/usePress-C2JVmCUi.js">
|
|
161
161
|
<link rel="modulepreload" crossorigin href="./assets/input-DuVApvWu.js">
|
|
162
162
|
<link rel="modulepreload" crossorigin href="./assets/ImperativeModal-ExH1h9et.js">
|
|
163
|
-
<link rel="modulepreload" crossorigin href="./assets/cell-link-
|
|
163
|
+
<link rel="modulepreload" crossorigin href="./assets/cell-link-DFNTDaPd.js">
|
|
164
164
|
<link rel="modulepreload" crossorigin href="./assets/alert-B5fh2kMN.js">
|
|
165
165
|
<link rel="modulepreload" crossorigin href="./assets/links-90C38wV6.js">
|
|
166
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
167
|
-
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-
|
|
166
|
+
<link rel="modulepreload" crossorigin href="./assets/state-CIEHjRfF.js">
|
|
167
|
+
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-BMyX5A6l.js">
|
|
168
168
|
<link rel="modulepreload" crossorigin href="./assets/spinner-1oeuzoUk.js">
|
|
169
169
|
<link rel="modulepreload" crossorigin href="./assets/_arrayReduce-DV4IVFuG.js">
|
|
170
170
|
<link rel="modulepreload" crossorigin href="./assets/startCase-RfubwhHM.js">
|
|
171
171
|
<link rel="modulepreload" crossorigin href="./assets/strings-DRRWXNT2.js">
|
|
172
172
|
<link rel="modulepreload" crossorigin href="./assets/command-DhuV6_de.js">
|
|
173
173
|
<link rel="modulepreload" crossorigin href="./assets/popover-BoRNi4dY.js">
|
|
174
|
-
<link rel="modulepreload" crossorigin href="./assets/useRunCells-
|
|
174
|
+
<link rel="modulepreload" crossorigin href="./assets/useRunCells-DjmsNJ7r.js">
|
|
175
175
|
<link rel="modulepreload" crossorigin href="./assets/copy-SPzF4B1M.js">
|
|
176
176
|
<link rel="modulepreload" crossorigin href="./assets/copy-CDDalEhv.js">
|
|
177
177
|
<link rel="modulepreload" crossorigin href="./assets/copy-icon-Ckew1l1_.js">
|
|
178
|
-
<link rel="modulepreload" crossorigin href="./assets/mode-
|
|
178
|
+
<link rel="modulepreload" crossorigin href="./assets/mode-BWw7rz82.js">
|
|
179
179
|
<link rel="modulepreload" crossorigin href="./assets/purify.es-CmG1k0Cr.js">
|
|
180
|
-
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-
|
|
180
|
+
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-BUSbsjNK.js">
|
|
181
181
|
<link rel="modulepreload" crossorigin href="./assets/table-Bj1zHGNd.js">
|
|
182
182
|
<link rel="modulepreload" crossorigin href="./assets/tabs-CGHt3Blh.js">
|
|
183
183
|
<link rel="modulepreload" crossorigin href="./assets/useAsyncData-BPaRR7vx.js">
|
|
@@ -194,8 +194,8 @@
|
|
|
194
194
|
<link rel="modulepreload" crossorigin href="./assets/useDateFormatter-CQ9jB95h.js">
|
|
195
195
|
<link rel="modulepreload" crossorigin href="./assets/range-ZclXTdAh.js">
|
|
196
196
|
<link rel="modulepreload" crossorigin href="./assets/table-CmDieCGZ.js">
|
|
197
|
-
<link rel="modulepreload" crossorigin href="./assets/Output-
|
|
198
|
-
<link rel="modulepreload" crossorigin href="./assets/name-cell-input-
|
|
197
|
+
<link rel="modulepreload" crossorigin href="./assets/Output-pZgeySyq.js">
|
|
198
|
+
<link rel="modulepreload" crossorigin href="./assets/name-cell-input-F8bM4E5e.js">
|
|
199
199
|
<link rel="modulepreload" crossorigin href="./assets/useHotkey-Ca6pS8sJ.js">
|
|
200
200
|
<link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-CNyONSoo.js">
|
|
201
201
|
<link rel="modulepreload" crossorigin href="./assets/esm-D8ZMWeYP.js">
|
|
@@ -298,18 +298,18 @@
|
|
|
298
298
|
<link rel="modulepreload" crossorigin href="./assets/z80-CJYC52xh.js">
|
|
299
299
|
<link rel="modulepreload" crossorigin href="./assets/esm-DXHMyc8g.js">
|
|
300
300
|
<link rel="modulepreload" crossorigin href="./assets/trash-DpmcvlCC.js">
|
|
301
|
-
<link rel="modulepreload" crossorigin href="./assets/ConsoleOutput-
|
|
301
|
+
<link rel="modulepreload" crossorigin href="./assets/ConsoleOutput-CDSftFlX.js">
|
|
302
302
|
<link rel="modulepreload" crossorigin href="./assets/icons-HGhpVPVr.js">
|
|
303
|
-
<link rel="modulepreload" crossorigin href="./assets/add-missing-import-
|
|
303
|
+
<link rel="modulepreload" crossorigin href="./assets/add-missing-import-BwGZ98W0.js">
|
|
304
304
|
<link rel="modulepreload" crossorigin href="./assets/blob-B96v6VlX.js">
|
|
305
|
-
<link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-
|
|
305
|
+
<link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-D5ovEhXx.js">
|
|
306
306
|
<link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-C2nGNVra.js">
|
|
307
307
|
<link rel="modulepreload" crossorigin href="./assets/square-function-DncO0xCM.js">
|
|
308
308
|
<link rel="modulepreload" crossorigin href="./assets/spec-Cdxt7KQF.js">
|
|
309
|
-
<link rel="modulepreload" crossorigin href="./assets/focus-
|
|
309
|
+
<link rel="modulepreload" crossorigin href="./assets/focus-BwMl5m5_.js">
|
|
310
310
|
<link rel="modulepreload" crossorigin href="./assets/useInstallPackage-B1IBfLxp.js">
|
|
311
|
-
<link rel="modulepreload" crossorigin href="./assets/column-preview-
|
|
312
|
-
<link rel="modulepreload" crossorigin href="./assets/useAddCell-
|
|
311
|
+
<link rel="modulepreload" crossorigin href="./assets/column-preview-BiiXdwvw.js">
|
|
312
|
+
<link rel="modulepreload" crossorigin href="./assets/useAddCell-xX3fIjF2.js">
|
|
313
313
|
<link rel="modulepreload" crossorigin href="./assets/toggle-CPnmDQd7.js">
|
|
314
314
|
<link rel="modulepreload" crossorigin href="./assets/api-qc-D7yz9.js">
|
|
315
315
|
<link rel="modulepreload" crossorigin href="./assets/globals-Bcw0dX52.js">
|
|
@@ -318,22 +318,22 @@
|
|
|
318
318
|
<link rel="modulepreload" crossorigin href="./assets/memoize-DhF8x4Aa.js">
|
|
319
319
|
<link rel="modulepreload" crossorigin href="./assets/_toKey-16owuO_q.js">
|
|
320
320
|
<link rel="modulepreload" crossorigin href="./assets/_baseSet-L2qemYhz.js">
|
|
321
|
-
<link rel="modulepreload" crossorigin href="./assets/utilities.esm-
|
|
322
|
-
<link rel="modulepreload" crossorigin href="./assets/floating-outline-
|
|
321
|
+
<link rel="modulepreload" crossorigin href="./assets/utilities.esm-D8HYU14D.js">
|
|
322
|
+
<link rel="modulepreload" crossorigin href="./assets/floating-outline-DwAgRZTh.js">
|
|
323
323
|
<link rel="modulepreload" crossorigin href="./assets/eye-off-BIDUS-iw.js">
|
|
324
324
|
<link rel="modulepreload" crossorigin href="./assets/plus-DWAWtOBJ.js">
|
|
325
|
-
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-
|
|
325
|
+
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-gmO6162d.js">
|
|
326
326
|
<link rel="modulepreload" crossorigin href="./assets/file-video-camera-gcIrLbdD.js">
|
|
327
327
|
<link rel="modulepreload" crossorigin href="./assets/file-text-Z92DzmMA.js">
|
|
328
328
|
<link rel="modulepreload" crossorigin href="./assets/file-Cesos4Qp.js">
|
|
329
|
-
<link rel="modulepreload" crossorigin href="./assets/types-
|
|
329
|
+
<link rel="modulepreload" crossorigin href="./assets/types-UoG2cq5J.js">
|
|
330
330
|
<link rel="modulepreload" crossorigin href="./assets/label-FIGQlkj5.js">
|
|
331
|
-
<link rel="modulepreload" crossorigin href="./assets/form-
|
|
331
|
+
<link rel="modulepreload" crossorigin href="./assets/form-D69llIWP.js">
|
|
332
332
|
<link rel="modulepreload" crossorigin href="./assets/textarea-DA_SbCD5.js">
|
|
333
333
|
<link rel="modulepreload" crossorigin href="./assets/circle-x-Bb-EcEyG.js">
|
|
334
334
|
<link rel="modulepreload" crossorigin href="./assets/refresh-ccw-ETV_gv20.js">
|
|
335
335
|
<link rel="modulepreload" crossorigin href="./assets/trash-2-D1jEfGpj.js">
|
|
336
|
-
<link rel="modulepreload" crossorigin href="./assets/form-
|
|
336
|
+
<link rel="modulepreload" crossorigin href="./assets/form-CQCzdh1o.js">
|
|
337
337
|
<link rel="modulepreload" crossorigin href="./assets/field-mNGJv_67.js">
|
|
338
338
|
<link rel="modulepreload" crossorigin href="./assets/switch-p-zRh0zu.js">
|
|
339
339
|
<link rel="modulepreload" crossorigin href="./assets/useBoolean-CG31RE8p.js">
|
|
@@ -358,7 +358,7 @@
|
|
|
358
358
|
<link rel="stylesheet" crossorigin href="./assets/cells-BvrC6Bsv.css">
|
|
359
359
|
<link rel="stylesheet" crossorigin href="./assets/Output-j3zW187k.css">
|
|
360
360
|
<link rel="stylesheet" crossorigin href="./assets/ConsoleOutput-BFFTcC5Y.css">
|
|
361
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
361
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BmcO-QYJ.css">
|
|
362
362
|
</head>
|
|
363
363
|
<body>
|
|
364
364
|
<div id="root"></div>
|
package/package.json
CHANGED
package/src/css/md.css
CHANGED
|
@@ -78,8 +78,14 @@ a .markdown iconify-icon:first-child {
|
|
|
78
78
|
margin-inline-end: 0.4em;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
iconify-icon {
|
|
82
|
+
display: inline-flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
}
|
|
85
|
+
|
|
81
86
|
/* align icons with buttons better */
|
|
82
87
|
button .markdown .paragraph {
|
|
88
|
+
display: inline-flex;
|
|
83
89
|
align-items: baseline;
|
|
84
90
|
gap: 0.4em;
|
|
85
91
|
|
|
@@ -462,4 +462,31 @@ describe("sanitizeHtml", () => {
|
|
|
462
462
|
`"<details><summary>Click me</summary><p>Hidden content</p></details>"`,
|
|
463
463
|
);
|
|
464
464
|
});
|
|
465
|
+
|
|
466
|
+
test("preserves iconify-icon custom element", () => {
|
|
467
|
+
const html = '<iconify-icon icon="lucide:leaf"></iconify-icon>';
|
|
468
|
+
expect(sanitizeHtml(html)).toMatchInlineSnapshot(
|
|
469
|
+
`"<iconify-icon icon="lucide:leaf"></iconify-icon>"`,
|
|
470
|
+
);
|
|
471
|
+
});
|
|
472
|
+
|
|
473
|
+
test("preserves iconify-icon with all attributes", () => {
|
|
474
|
+
const html =
|
|
475
|
+
'<iconify-icon icon="lucide:rocket" width="24px" height="24px" inline="" flip="horizontal" rotate="90deg" style="color: blue;"></iconify-icon>';
|
|
476
|
+
expect(sanitizeHtml(html)).toMatchInlineSnapshot(
|
|
477
|
+
`"<iconify-icon icon="lucide:rocket" width="24px" height="24px" inline="" flip="horizontal" rotate="90deg" style="color: blue;"></iconify-icon>"`,
|
|
478
|
+
);
|
|
479
|
+
});
|
|
480
|
+
|
|
481
|
+
test("preserves self-closing iconify-icon", () => {
|
|
482
|
+
const html = '<iconify-icon icon="lucide:star" />';
|
|
483
|
+
expect(sanitizeHtml(html)).toMatchInlineSnapshot(
|
|
484
|
+
`"<iconify-icon icon="lucide:star"></iconify-icon>"`,
|
|
485
|
+
);
|
|
486
|
+
});
|
|
487
|
+
|
|
488
|
+
test("still removes other non-marimo/non-iconify custom elements", () => {
|
|
489
|
+
const html = "<some-custom-element>Content</some-custom-element>";
|
|
490
|
+
expect(sanitizeHtml(html)).toMatchInlineSnapshot(`"Content"`);
|
|
491
|
+
});
|
|
465
492
|
});
|