@marimo-team/frontend 0.23.16-dev50 → 0.23.16-dev52
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-DciB5rbr.js → CellStatus-BT88_2jw.js} +1 -1
- package/dist/assets/{JsonOutput-BM3vve9F.js → JsonOutput-0XYUxjxO.js} +12 -12
- package/dist/assets/{MarimoErrorOutput-Bh0y53Du.js → MarimoErrorOutput-DuwnzR5D.js} +4 -4
- package/dist/assets/{RenderHTML-B9jx7Dsm.js → RenderHTML-BPdXbewN.js} +1 -1
- package/dist/assets/{RunButton-DMtHbFuA.js → RunButton-DJyvIhMO.js} +1 -1
- package/dist/assets/{add-cell-with-ai-BcRYriMM.js → add-cell-with-ai-Dspw1-mO.js} +12 -12
- package/dist/assets/add-connection-dialog-B1fFBVqJ.js +178 -0
- package/dist/assets/{agent-panel-B31W_VwU.js → agent-panel-iPdDqSEd.js} +4 -4
- package/dist/assets/{ai-model-dropdown-B3D05oQh.js → ai-model-dropdown-BC1SNLKb.js} +3 -3
- package/dist/assets/{app-config-button-D_mjovwU.js → app-config-button-CuE-bLFn.js} +1 -1
- package/dist/assets/{blob-BJREJiQp.js → blob-C23KHI9W.js} +1 -1
- package/dist/assets/{cell-editor-BOhZHoLm.js → cell-editor-D8UAfiUa.js} +11 -11
- package/dist/assets/cell-link-Bu5k33_H.js +1 -0
- package/dist/assets/{cells-Jr-5Pc9f.js → cells-C3V6s-g5.js} +53 -53
- package/dist/assets/{chat-display-Djy1Jt6b.js → chat-display-DSMFTDiK.js} +1 -1
- package/dist/assets/{chat-panel-B2nYSE_l.js → chat-panel-DuGaXa17.js} +4 -4
- package/dist/assets/{chat-ui-DlG0En7w.js → chat-ui-TD66NC03.js} +4 -4
- package/dist/assets/{column-preview-BUHlI5va.js → column-preview-Dqt5ygdi.js} +1 -1
- package/dist/assets/{command-palette-rEJmXCZM.js → command-palette-DgyUILpb.js} +1 -1
- package/dist/assets/{common-CZc3fQI4.js → common-CIJsW5yR.js} +1 -1
- package/dist/assets/{components-GAYCj6Mx.js → components-CniQJAsf.js} +1 -1
- package/dist/assets/{datasource-AWkkAeiS.js → datasource-YLl5kKpx.js} +2 -2
- package/dist/assets/{dependency-graph-panel-wcqTPq6b.js → dependency-graph-panel-MPHqARlX.js} +4 -4
- package/dist/assets/{documentation-panel-Eu8MIkoU.js → documentation-panel-DZnNktBv.js} +1 -1
- package/dist/assets/{download-CQ7iZFJL.js → download-CSWknseP.js} +2 -2
- package/dist/assets/{edit-page-zyK_cMuR.js → edit-page-DVXg8Ibp.js} +6 -6
- package/dist/assets/error-entries-DIjVQBFa.js +8 -0
- package/dist/assets/{error-panel-BZzr0PA1.js → error-panel-CJSBDHOq.js} +1 -1
- package/dist/assets/{file-explorer-panel-C1W7g_Wp.js → file-explorer-panel-sHVZyshk.js} +4 -4
- package/dist/assets/{file-icons-BAqZR08W.js → file-icons-DDUQU--N.js} +1 -1
- package/dist/assets/{file-name-input-0MiZVw5r.js → file-name-input-CQjQP_zG.js} +1 -1
- package/dist/assets/{floating-outline-C6g75zrP.js → floating-outline-D1iQUiR_.js} +1 -1
- package/dist/assets/{focus-C0HXXg3V.js → focus-D_UTw9HF.js} +1 -1
- package/dist/assets/{form-C051zAev.js → form-B6jUSJBp.js} +1 -1
- package/dist/assets/{form-DT44Rmhp.js → form-Bp7lk3pm.js} +1 -1
- package/dist/assets/{home-page-CJz9IHZ2.js → home-page-CX6IV-hM.js} +2 -2
- package/dist/assets/{html-to-image-CfjhKLA4.js → html-to-image-kpOREGyr.js} +2 -2
- package/dist/assets/index-8Nlyq3mV.css +2 -0
- package/dist/assets/{index-BGE_j_ZS.js → index-CrJhpWGp.js} +6 -6
- package/dist/assets/{layout-D4bpsgVD.js → layout-DdPE4xZU.js} +5 -5
- package/dist/assets/{logs-panel-CsaY3O1m.js → logs-panel-DnNiJzUQ.js} +1 -1
- package/dist/assets/{markdown-renderer-BgqeO4JR.js → markdown-renderer-CqljiwGm.js} +2 -2
- package/dist/assets/{name-cell-input-DcU8Rfrz.js → name-cell-input-BQzQI3Ja.js} +1 -1
- package/dist/assets/{outline-panel-D-CHPZQM.js → outline-panel-BIgVnAC7.js} +1 -1
- package/dist/assets/{packages-panel-dq7QVZl1.js → packages-panel-_HiSQVV7.js} +1 -1
- package/dist/assets/panels-b-OL36p2.js +4 -0
- package/dist/assets/{process-output-NbwnUu05.js → process-output-CJkR5qgD.js} +1 -1
- package/dist/assets/{radio-group-rhQpGwU-.js → radio-group-Dm-ZV-tP.js} +1 -1
- package/dist/assets/readonly-code-display-BiNt9i32.js +1 -0
- package/dist/assets/{readonly-python-code-Q_1Y3VyZ.js → readonly-python-code-DMKb3G0K.js} +1 -1
- package/dist/assets/{reveal-component-CedpDwM8.js → reveal-component-DN6-mIsb.js} +2 -2
- package/dist/assets/{run-page-CGoux5cj.js → run-page-BKCqJ0uJ.js} +1 -1
- package/dist/assets/scratchpad-panel-DwZEAfW1.js +1 -0
- package/dist/assets/{session-panel-OIot3eyB.js → session-panel-B-9BnZxS.js} +1 -1
- package/dist/assets/{skeleton-BRvjFlRu.js → skeleton-B72xXZAF.js} +1 -1
- package/dist/assets/{snippets-panel-YFyH2hUM.js → snippets-panel-Brc_pmTk.js} +1 -1
- package/dist/assets/{state-bHyw5u3R.js → state-BTAocii6.js} +1 -1
- package/dist/assets/state-D9oG57zx.js +3 -0
- package/dist/assets/{tracing-CDMM1BB2.js → tracing-Cn9cTT65.js} +1 -1
- package/dist/assets/{tracing-panel-BH5Zbvl9.js → tracing-panel-FWoe3_eY.js} +2 -2
- package/dist/assets/{tree-actions-DDveUIHK.js → tree-actions-rPl1v1gM.js} +1 -1
- package/dist/assets/useCellActionButton-Du3JXpNf.js +1 -0
- package/dist/assets/{useDeleteCell-BIopCngo.js → useDeleteCell-DHOwR-CG.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-snM337f9.js → useDependencyPanelTab-B2PCtSi6.js} +1 -1
- package/dist/assets/{useNotebookActions-CsZfWFKy.js → useNotebookActions-DfQAtofT.js} +4 -4
- package/dist/assets/useRunCells-Dg11M4pT.js +1 -0
- package/dist/assets/{useSplitCell-BTmKY1CU.js → useSplitCell-BwWVHida.js} +1 -1
- package/dist/index.html +24 -24
- package/package.json +1 -1
- package/src/__mocks__/requests.ts +1 -0
- package/src/components/editor/connections/__tests__/quick-add-data-sources.test.tsx +113 -0
- package/src/components/editor/connections/add-connection-dialog.tsx +2 -0
- package/src/components/editor/connections/quick-add-data-sources.tsx +106 -0
- package/src/components/editor/viewer-banner.tsx +4 -2
- package/src/core/datasets/data-source-discovery.ts +5 -0
- package/src/core/datasets/request-registry.ts +11 -0
- package/src/core/islands/bootstrap.ts +1 -0
- package/src/core/islands/bridge.ts +1 -0
- package/src/core/kernel/messages.ts +2 -0
- package/src/core/network/__tests__/requests-lazy.test.ts +15 -0
- package/src/core/network/__tests__/requests-network.test.ts +14 -0
- package/src/core/network/requests-lazy.ts +1 -0
- package/src/core/network/requests-network.ts +8 -0
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +2 -0
- package/src/core/wasm/bridge.ts +10 -0
- package/src/core/websocket/useMarimoKernelConnection.tsx +4 -0
- package/src/hooks/__tests__/useDataSourceDiscovery.test.ts +80 -0
- package/src/hooks/useDataSourceDiscovery.ts +18 -0
- package/dist/assets/add-connection-dialog-syjRSNPT.js +0 -178
- package/dist/assets/cell-link-DqNEv3f9.js +0 -1
- package/dist/assets/error-entries-Cr8uVukN.js +0 -8
- package/dist/assets/index-D6Dp_PFj.css +0 -2
- package/dist/assets/panels-DWoniKhE.js +0 -4
- package/dist/assets/readonly-code-display-CVY2f7EZ.js +0 -1
- package/dist/assets/scratchpad-panel-BLuF25yR.js +0 -1
- package/dist/assets/state-DB_fxbhn.js +0 -3
- package/dist/assets/useCellActionButton-D5ix_g2a.js +0 -1
- package/dist/assets/useRunCells-CF_V8X2K.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{s as H}from"./chunk-LvLJmgfZ.js";import{t as fe}from"./react-Bj1aDYRI.js";import{Nt as xe}from"./cells-
|
|
1
|
+
import{s as H}from"./chunk-LvLJmgfZ.js";import{t as fe}from"./react-Bj1aDYRI.js";import{Nt as xe}from"./cells-C3V6s-g5.js";import{_ as Q,c as ue,d as Z,f as F,g as je,h as I,l as ve,m as ge,o as be,p as E,s as Ne,t as q,u as R,y as B}from"./zod-H_cgTO0M.js";import{t as X}from"./compiler-runtime-B3qBwwSJ.js";import{g as we}from"./useEventListener-C0195JsF.js";import{t as ye}from"./objects-BlG0ZrO0.js";import{t as K}from"./cn-DYvqRARy.js";import{t as Ce}from"./jsx-runtime-Blw4afVn.js";import{c as Se,i as Y,l as ke,n as Oe,r as Ve,s as $e,t as Ae}from"./select-BP75_5jJ.js";import{N as ee,P as re,W as Le}from"./JsonOutput-0XYUxjxO.js";import{t as Pe}from"./label-CqjrpwRC.js";import{n as ze,t as Ee}from"./radio-group-Dm-ZV-tP.js";import{t as Me}from"./tooltip-4bZlU7jl.js";import{r as Te,t as ne}from"./button-DDGiD1NW.js";import{t as se}from"./strings--BknHX9C.js";import{t as _e}from"./createLucideIcon-w-Qo9n0R.js";import{t as De}from"./plus-AgXtozBz.js";import{t as Je}from"./refresh-ccw-sLaKP2vj.js";import{n as Ze,t as U}from"./input-JxFwu-3G.js";import{a as w,c as k,d as Fe,f as Ie,g as qe,n as O,o as V,r as S,s as N}from"./form-B6jUSJBp.js";import{t as Be}from"./trash-2-72W0TZ3L.js";import{r as te}from"./textarea-DZB2bzVL.js";var Ke=_e("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);const A={of(n){return JSON.stringify(n)},parse(n){if(!n)return{};try{return JSON.parse(n)}catch{return{label:n}}}};function ae(){return Math.floor(Math.random()*1e5)}function Ue(n){return n instanceof q.ZodArray}function le(n){return n instanceof q.ZodPipe}function We(n){return n instanceof q.ZodTuple}function ie(n){return"unwrap"in n?n.unwrap():n}function D(n){let e=t=>{if(t instanceof E){let a=[...t.values];return t.values.size===1?a[0]:a}if(t instanceof R){let a=t.def.defaultValue;return typeof a=="function"?a():a}if(le(t))return e(t.in);if(We(t))return t.def.items.map(a=>e(a));if("unwrap"in t)return e(ie(t))};return n instanceof B||n instanceof Z?e(n.options[0]):Ue(n)?Ge(n)?[D(n.element)]:[]:n instanceof Q?"":n instanceof F?n.options[0]:n instanceof I?Object.fromEntries(Object.entries(n.shape).map(([t,a])=>[t,e(a)])):e(n)}function P(n){if(n instanceof E)return n;if(n instanceof I){let e=n.shape.type;if(e instanceof E)return e;throw Error("Invalid schema")}if(n instanceof B||n instanceof Z)return P(n.options[0]);throw we.warn(n),Error("Invalid schema")}function Ge(n){return!n.safeParse([]).success}var oe=X(),ce=H(fe(),1),r=H(Ce(),1),de=`
|
|
2
2
|
`;const pe=n=>{let e=(0,oe.c)(24),{value:t,options:a,onChange:l,className:d,placeholder:o,textAreaClassName:h,comboBoxClassName:m}=n,[s,i]=(0,ce.useState)(!1),p;e[0]===t?p=e[1]:(p=J(t),e[0]=t,e[1]=p);let f=p,x;e[2]!==m||e[3]!==l||e[4]!==a||e[5]!==o||e[6]!==s||e[7]!==h||e[8]!==f?(x=()=>s?(0,r.jsx)(W,{value:f,className:h,onChange:l,placeholder:o?`${o}: one per line`:"One value per line"}):(0,r.jsx)(ee,{placeholder:o,displayValue:He,className:K("w-full max-w-[400px]",m),multiple:!0,value:f,onValueChange:l,keepPopoverOpenOnSelect:!0,chips:!0,chipsClassName:"flex-row flex-wrap min-w-[210px]",children:a.map(Qe)}),e[2]=m,e[3]=l,e[4]=a,e[5]=o,e[6]=s,e[7]=h,e[8]=f,e[9]=x):x=e[9];let c=x,v;e[10]===d?v=e[11]:(v=K("flex gap-1",d),e[10]=d,e[11]=v);let u;e[12]===c?u=e[13]:(u=c(),e[12]=c,e[13]=u);let g=s?"Switch to multi-select":"Switch to textarea",j;e[14]===Symbol.for("react.memo_cache_sentinel")?(j=(0,r.jsx)(qe,{className:"w-3 h-3"}),e[14]=j):j=e[14];let b;e[15]===s?b=e[16]:(b=(0,r.jsx)(Le,{size:"xs",onPressedChange:i,pressed:s,children:j}),e[15]=s,e[16]=b);let y;e[17]!==g||e[18]!==b?(y=(0,r.jsx)(Me,{content:g,children:b}),e[17]=g,e[18]=b,e[19]=y):y=e[19];let C;return e[20]!==v||e[21]!==u||e[22]!==y?(C=(0,r.jsxs)("div",{className:v,children:[u,y]}),e[20]=v,e[21]=u,e[22]=y,e[23]=C):C=e[23],C},W=n=>{let e=(0,oe.c)(11),{className:t,value:a,onChange:l,placeholder:d}=n,o,h;if(e[0]!==a){let p=J(a);o=te,h=p.join(de),e[0]=a,e[1]=o,e[2]=h}else o=e[1],h=e[2];let m;e[3]===l?m=e[4]:(m=p=>{if(p.target.value===""){l([]);return}l(p.target.value.split(de))},e[3]=l,e[4]=m);let s=d?`${d}: one per line`:"One value per line",i;return e[5]!==o||e[6]!==t||e[7]!==h||e[8]!==m||e[9]!==s?(i=(0,r.jsx)(o,{value:h,className:t,rows:4,onChange:m,placeholder:s}),e[5]=o,e[6]=t,e[7]=h,e[8]=m,e[9]=s,e[10]=i):i=e[10],i};function J(n){return n==null?[]:Array.isArray(n)?n:[n].filter(e=>e!=null||e!=="")}function He(n){return n}function Qe(n){return(0,r.jsx)(re,{value:n,children:n},n)}var z=X();const Re=n=>{let e=(0,z.c)(11),{schema:t,form:a,path:l,renderers:d,children:o}=n,h=l===void 0?"":l,m;e[0]===d?m=e[1]:(m=d===void 0?[]:d,e[0]=d,e[1]=m);let s=m,i;e[2]!==a||e[3]!==h||e[4]!==s||e[5]!==t?(i=$(t,a,h,s),e[2]=a,e[3]=h,e[4]=s,e[5]=t,e[6]=i):i=e[6];let p;return e[7]!==o||e[8]!==a||e[9]!==i?(p=(0,r.jsxs)(Fe,{...a,children:[o,i]}),e[7]=o,e[8]=a,e[9]=i,e[10]=p):p=e[10],p};function $(n,e,t,a){for(let s of a){let{isMatch:i,Component:p}=s;if(i(n))return(0,r.jsx)(p,{schema:n,form:e,path:t})}let{label:l,description:d,special:o,direction:h="column",minLength:m}=A.parse(n.description||"");if(n instanceof R){let s=n.unwrap();return s=!s.description&&n.description?s.describe(n.description):s,$(s,e,t,a)}if(n instanceof je){let s=n.unwrap();return s=!s.description&&n.description?s.describe(n.description):s,$(s,e,t,a)}if(n instanceof I)return(0,r.jsxs)("div",{className:K("flex",h==="row"?"flex-row gap-6 items-start":h==="two-columns"?"grid grid-cols-2 gap-y-6":"flex-col gap-6"),children:[(0,r.jsx)(N,{children:l}),ye.entries(n.shape).map(([s,i])=>{let p=i instanceof E,f=$(i,e,nr(t,s),a);return p?(0,r.jsx)(ce.Fragment,{children:f},s):(0,r.jsx)("div",{className:"flex flex-row align-start",children:f},s)})]});if(n instanceof Q)return o==="time"?(0,r.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(O,{children:(0,r.jsx)(U,{...s,onValueChange:s.onChange,type:"time",className:"my-0"})}),(0,r.jsx)(k,{})]})}):(0,r.jsx)(me,{schema:n,form:e,path:t});if(n instanceof ue)return(0,r.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(V,{children:[(0,r.jsxs)("div",{className:"flex flex-row items-start space-x-2",children:[(0,r.jsx)(N,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(O,{children:(0,r.jsx)(xe,{"data-testid":"marimo-plugin-data-frames-boolean-checkbox",checked:s.value,onCheckedChange:s.onChange})})]}),(0,r.jsx)(k,{})]})});if(n instanceof ge)return o==="random_number_button"?(0,r.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(ne,{size:"xs","data-testid":"marimo-plugin-data-frames-random-number-button",variant:"secondary",onClick:()=>{s.onChange(ae())},children:[(0,r.jsx)(Je,{className:"w-3.5 h-3.5 mr-1"}),l]})}):(0,r.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(O,{children:(0,r.jsx)(Ze,{...s,className:"my-0",onValueChange:s.onChange})}),(0,r.jsx)(k,{})]})});if(n instanceof ve){let s=o==="datetime"?"datetime-local":o==="time"?"time":"date";return(0,r.jsx)(w,{control:e.control,name:t,render:({field:i})=>(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:l}),(0,r.jsx)(S,{children:d}),(0,r.jsx)(O,{children:(0,r.jsx)(U,{...i,onValueChange:i.onChange,type:s,className:"my-0"})}),(0,r.jsx)(k,{})]})})}if(n instanceof be)return(0,r.jsx)(me,{schema:n,form:e,path:t});if(n instanceof F)return(0,r.jsx)(er,{schema:n,form:e,path:t,options:n.options.map(s=>s.toString())});if(n instanceof Ne){if(o==="text_area_multiline")return(0,r.jsx)(Ye,{schema:n,form:e,path:t});let s=n.element;return s instanceof F?(0,r.jsx)(rr,{schema:n,form:e,path:t,itemLabel:l,options:s.options.map(i=>i.toString())}):(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)(Pe,{children:l}),(0,r.jsx)(Xe,{schema:n.element,form:e,path:t,minLength:m,renderers:a},t)]})}if(n instanceof Z){let s=n.def,i=s.options,p=s.discriminator,f=x=>i.find(c=>P(c).value===x);return(0,r.jsx)(w,{control:e.control,name:t,render:({field:x})=>{let c=x.value,v=i.map(j=>P(j).value),u=c&&typeof c=="object"&&p in c?c[p]:v[0],g=f(u);return(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)(N,{children:l}),(0,r.jsx)("div",{className:"flex border-b mb-4 -mt-2",children:v.map(j=>(0,r.jsx)("button",{type:"button",className:`px-4 py-2 ${u===j?"border-b-2 border-primary font-medium":"text-muted-foreground"}`,onClick:()=>{let b=f(j);b?x.onChange(D(b)):x.onChange({[p]:j})},children:j},j))}),(0,r.jsx)("div",{className:"flex flex-col",children:g&&$(g,e,t,a)},u)]})}})}return n instanceof B?(0,r.jsx)(w,{control:e.control,name:t,render:({field:s})=>{let i=n.options,p=s.value,f=i.map(c=>P(c).value);p||(p=f[0]);let x=i.find(c=>P(c).value===p);return(0,r.jsxs)("div",{className:"flex flex-col mb-4 gap-1",children:[(0,r.jsx)(N,{children:l}),(0,r.jsx)(ke,{"data-testid":"marimo-plugin-data-frames-union-select",...s,children:f.map(c=>(0,r.jsx)("option",{value:c,children:c},c))}),x&&$(x,e,t,a)]})}}):n instanceof E?(0,r.jsx)(w,{control:e.control,name:t,render:({field:s})=>(0,r.jsx)("input",{...s,type:"hidden",value:String([...n.values][0]??"")})}):"unwrap"in n?$(ie(n),e,t,a):le(n)?$(n.in,e,t,a):(0,r.jsxs)("div",{children:["Unknown schema type"," ",n==null?t:JSON.stringify(n.type??n)]})}var Xe=n=>{let e=(0,z.c)(39),{schema:t,form:a,path:l,minLength:d,renderers:o}=n,h;e[0]===t.description?h=e[1]:(h=A.parse(t.description||""),e[0]=t.description,e[1]=h);let{label:m,description:s}=h,i=a.control,p;e[2]!==i||e[3]!==l?(p={control:i,name:l},e[2]=i,e[3]=l,e[4]=p):p=e[4];let{fields:f,append:x,remove:c}=Ie(p),v=d!=null&&f.length<d,u=d==null||f.length>d,g;e[5]===m?g=e[6]:(g=(0,r.jsx)(N,{children:m}),e[5]=m,e[6]=g);let j;e[7]===s?j=e[8]:(j=(0,r.jsx)(S,{children:s}),e[7]=s,e[8]=j);let b;if(e[9]!==u||e[10]!==f||e[11]!==a||e[12]!==l||e[13]!==c||e[14]!==o||e[15]!==t){let _;e[17]!==u||e[18]!==a||e[19]!==l||e[20]!==c||e[21]!==o||e[22]!==t?(_=(he,G)=>(0,r.jsxs)("div",{className:"flex flex-row pl-2 ml-2 border-l-2 border-disabled hover-actions-parent relative pr-5 pt-1 items-center w-fit",onKeyDown:Te.onEnter(sr),children:[$(t,a,`${l}[${G}]`,o),u&&(0,r.jsx)(Be,{className:"w-4 h-4 ml-2 my-1 text-muted-foreground hover:text-destructive cursor-pointer absolute right-0 top-5",onClick:()=>{c(G)}})]},he.id),e[17]=u,e[18]=a,e[19]=l,e[20]=c,e[21]=o,e[22]=t,e[23]=_):_=e[23],b=f.map(_),e[9]=u,e[10]=f,e[11]=a,e[12]=l,e[13]=c,e[14]=o,e[15]=t,e[16]=b}else b=e[16];let y;e[24]!==v||e[25]!==d?(y=v&&(0,r.jsx)("div",{className:"text-destructive text-xs font-semibold",children:(0,r.jsxs)("div",{children:["At least ",d," required."]})}),e[24]=v,e[25]=d,e[26]=y):y=e[26];let C;e[27]!==x||e[28]!==t?(C=()=>{x(D(t))},e[27]=x,e[28]=t,e[29]=C):C=e[29];let M;e[30]===Symbol.for("react.memo_cache_sentinel")?(M=(0,r.jsx)(De,{className:"w-3.5 h-3.5 mr-1"}),e[30]=M):M=e[30];let L;e[31]===C?L=e[32]:(L=(0,r.jsx)("div",{children:(0,r.jsxs)(ne,{size:"xs","data-testid":"marimo-plugin-data-frames-add-array-item",variant:"text",className:"hover:text-accent-foreground",onClick:C,children:[M,"Add"]})}),e[31]=C,e[32]=L);let T;return e[33]!==g||e[34]!==j||e[35]!==b||e[36]!==y||e[37]!==L?(T=(0,r.jsxs)("div",{className:"flex flex-col gap-2 min-w-[220px]",children:[g,j,b,y,L]}),e[33]=g,e[34]=j,e[35]=b,e[36]=y,e[37]=L,e[38]=T):T=e[38],T},me=n=>{let e=(0,z.c)(21),{schema:t,form:a,path:l}=n,d;e[0]===t.description?d=e[1]:(d=A.parse(t.description),e[0]=t.description,e[1]=d);let{label:o,description:h,placeholder:m,disabled:s,inputType:i}=d;if(i==="textarea"){let x;e[2]!==h||e[3]!==s||e[4]!==o||e[5]!==m?(x=v=>{let{field:u}=v;return(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:o}),(0,r.jsx)(S,{children:h}),(0,r.jsx)(O,{children:(0,r.jsx)(te,{...u,value:u.value,onChange:u.onChange,className:"my-0",placeholder:m,disabled:s})}),(0,r.jsx)(k,{})]})},e[2]=h,e[3]=s,e[4]=o,e[5]=m,e[6]=x):x=e[6];let c;return e[7]!==a.control||e[8]!==l||e[9]!==x?(c=(0,r.jsx)(w,{control:a.control,name:l,render:x}),e[7]=a.control,e[8]=l,e[9]=x,e[10]=c):c=e[10],c}let p;e[11]!==h||e[12]!==s||e[13]!==i||e[14]!==o||e[15]!==m?(p=x=>{let{field:c}=x;return(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:o}),(0,r.jsx)(S,{children:h}),(0,r.jsx)(O,{children:(0,r.jsx)(U,{...c,type:i,value:c.value,onValueChange:c.onChange,className:"my-0",placeholder:m,disabled:s})}),(0,r.jsx)(k,{})]})},e[11]=h,e[12]=s,e[13]=i,e[14]=o,e[15]=m,e[16]=p):p=e[16];let f;return e[17]!==a.control||e[18]!==l||e[19]!==p?(f=(0,r.jsx)(w,{control:a.control,name:l,render:p}),e[17]=a.control,e[18]=l,e[19]=p,e[20]=f):f=e[20],f},Ye=n=>{let e=(0,z.c)(10),{schema:t,form:a,path:l}=n,d;e[0]===t.description?d=e[1]:(d=A.parse(t.description),e[0]=t.description,e[1]=d);let{label:o,description:h,placeholder:m}=d,s;e[2]!==h||e[3]!==o||e[4]!==m?(s=p=>{let{field:f}=p;return(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:o}),(0,r.jsx)(S,{children:h}),(0,r.jsx)(O,{children:(0,r.jsx)(W,{...f,placeholder:m})}),(0,r.jsx)(k,{})]})},e[2]=h,e[3]=o,e[4]=m,e[5]=s):s=e[5];let i;return e[6]!==a.control||e[7]!==l||e[8]!==s?(i=(0,r.jsx)(w,{control:a.control,name:l,render:s}),e[6]=a.control,e[7]=l,e[8]=s,e[9]=i):i=e[9],i},er=n=>{let e=(0,z.c)(22),{schema:t,form:a,path:l,options:d,textTransform:o}=n,h;e[0]===t.description?h=e[1]:(h=A.parse(t.description),e[0]=t.description,e[1]=h);let{label:m,description:s,disabled:i,special:p}=h;if(p==="radio_group"){let c;e[2]!==s||e[3]!==m||e[4]!==d||e[5]!==l?(c=u=>{let{field:g}=u;return(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{children:m}),(0,r.jsx)(S,{children:s}),(0,r.jsx)(O,{children:(0,r.jsx)(Ee,{className:"flex flex-row gap-2 pt-1 items-center",value:g.value,onValueChange:g.onChange,children:d.map(j=>(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(ze,{value:j,id:`${l}-${j}`},j),(0,r.jsx)(N,{className:"whitespace-pre",htmlFor:`${l}-${j}`,children:se.startCase(j)})]},j))})}),(0,r.jsx)(k,{})]})},e[2]=s,e[3]=m,e[4]=d,e[5]=l,e[6]=c):c=e[6];let v;return e[7]!==i||e[8]!==a.control||e[9]!==l||e[10]!==c?(v=(0,r.jsx)(w,{control:a.control,name:l,disabled:i,render:c}),e[7]=i,e[8]=a.control,e[9]=l,e[10]=c,e[11]=v):v=e[11],v}let f;e[12]!==s||e[13]!==m||e[14]!==d||e[15]!==o?(f=c=>{let{field:v}=c;return(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{className:"whitespace-pre",children:m}),(0,r.jsx)(S,{children:s}),(0,r.jsx)(O,{children:(0,r.jsxs)(Ae,{"data-testid":"marimo-plugin-data-frames-select",value:v.value,onValueChange:v.onChange,children:[(0,r.jsx)($e,{className:"min-w-[180px]",children:(0,r.jsx)(Se,{placeholder:"--"})}),(0,r.jsx)(Oe,{children:(0,r.jsxs)(Ve,{children:[d.map(u=>(0,r.jsx)(Y,{value:u,children:(o==null?void 0:o(u))??u},u)),d.length===0&&(0,r.jsx)(Y,{disabled:!0,value:"--",children:"No options"})]})})]})}),(0,r.jsx)(k,{})]})},e[12]=s,e[13]=m,e[14]=d,e[15]=o,e[16]=f):f=e[16];let x;return e[17]!==i||e[18]!==a.control||e[19]!==l||e[20]!==f?(x=(0,r.jsx)(w,{control:a.control,name:l,disabled:i,render:f}),e[17]=i,e[18]=a.control,e[19]=l,e[20]=f,e[21]=x):x=e[21],x},rr=n=>{let e=(0,z.c)(15),{schema:t,form:a,path:l,options:d,itemLabel:o,showSwitchable:h}=n,m;e[0]===t.description?m=e[1]:(m=A.parse(t.description),e[0]=t.description,e[1]=m);let{label:s,description:i,placeholder:p}=m,f;e[2]!==o||e[3]!==p?(f=p??(o?`Select ${o==null?void 0:o.toLowerCase()}`:void 0),e[2]=o,e[3]=p,e[4]=f):f=e[4];let x=f,c;e[5]!==i||e[6]!==s||e[7]!==d||e[8]!==x||e[9]!==h?(c=u=>{let{field:g}=u,j=J(g.value);return(0,r.jsxs)(V,{children:[(0,r.jsx)(N,{className:"whitespace-pre",children:s}),(0,r.jsx)(S,{children:i}),(0,r.jsx)(O,{children:h?(0,r.jsx)(pe,{...g,value:j,options:d,placeholder:x}):(0,r.jsx)(ee,{className:"min-w-[180px]",placeholder:x,displayValue:tr,multiple:!0,chips:!0,keepPopoverOpenOnSelect:!0,value:j,onValueChange:g.onChange,children:d.map(ar)})}),(0,r.jsx)(k,{})]})},e[5]=i,e[6]=s,e[7]=d,e[8]=x,e[9]=h,e[10]=c):c=e[10];let v;return e[11]!==a.control||e[12]!==l||e[13]!==c?(v=(0,r.jsx)(w,{control:a.control,name:l,render:c}),e[11]=a.control,e[12]=l,e[13]=c,e[14]=v):v=e[14],v};function nr(...n){return n.filter(e=>e!=="").join(".")}function sr(n){return n.preventDefault()}function tr(n){return se.startCase(n)}function ar(n){return(0,r.jsx)(re,{value:n,children:n},n)}export{J as a,A as c,W as i,ae as l,$ as n,D as o,pe as r,P as s,Re as t,Ke as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as re}from"./chunk-LvLJmgfZ.js";import{d as je,l as oe,n as ae}from"./useEvent-D91BmmQi.js";import{t as be}from"./react-Bj1aDYRI.js";import{Cr as se,Dr as ve,Nr as ke,Nt as we,Pr as Ne,Tr as _e,Wi as ie,zn as ne}from"./cells-Jr-5Pc9f.js";import"./react-dom-CSu739Rf.js";import{t as le}from"./compiler-runtime-B3qBwwSJ.js";import{_ as ce}from"./useEventListener-C0195JsF.js";import{t as Se}from"./objects-BlG0ZrO0.js";import{n as E}from"./constants-CDyU_g2F.js";import{N as Ce}from"./config-B-Q7J_6d.js";import{t as ze}from"./ErrorBoundary-DzTD8LVq.js";import{t as Me}from"./cn-DYvqRARy.js";import{t as Ie}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{o as Re}from"./alert-dialog-Bb8Lz8ko.js";import"./popover-Bcz1Zikb.js";import{a as Pe,c as De,p as Oe,r as Te,t as We}from"./dropdown-menu-dHmZR8bI.js";import{t as Ae}from"./label-CqjrpwRC.js";import{t as Fe}from"./tooltip-4bZlU7jl.js";import{t as B}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as Y}from"./requests-9-v2bhoi.js";import{t as H}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ue}from"./chart-no-axes-column-iDRxid4h.js";import{r as $e}from"./x-C-Eq0ag8.js";import{t as Le}from"./chevron-right-BS_NcSch.js";import{o as me,s as Ee}from"./tree-actions-DDveUIHK.js";import{t as He}from"./circle-play-9HoTo51X.js";import{t as Q}from"./external-link-BOlXZUla.js";import{r as Ve,t as Be}from"./file-icons-BAqZR08W.js";import{t as Ye}from"./file-CJH9JNGH.js";import{n as qe,r as Je,t as Ge}from"./youtube-OwaksuQt.js";import{t as Qe}from"./link-CHdiBDr5.js";import{t as K}from"./spinner-D-V4psAa.js";import{t as Ke}from"./package-Bxz_8e44.js";import{a as Xe,i as Ze,l as et,n as tt,o as rt,r as ot,s as at,t as st}from"./file-name-input-0MiZVw5r.js";import{n as it,r as nt,t as lt}from"./app-config-button-D_mjovwU.js";import{t as ct}from"./refresh-ccw-sLaKP2vj.js";import{dt as mt,r as dt}from"./input-JxFwu-3G.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as de}from"./use-toast-BwJoaaDM.js";import{n as he}from"./paths-BKO-pHK6.js";import{c as pe,n as ht,o as pt,t as ft}from"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as ut}from"./dates-C2LWzsCZ.js";import{t as xt}from"./context-BFPaAUK_.js";import{n as gt}from"./ImperativeModal-fY-ZfT0b.js";import{a as yt}from"./errors-PgHhDa-M.js";import{n as jt}from"./react-icons.esm-D4GMDkIf.js";import{t as fe}from"./error-banner-BSxEOIn2.js";import{n as X,t as bt}from"./useAsyncData-Bg5iAViP.js";import{t as Z}from"./icons-CIPE8AIY.js";import{t as vt}from"./github-kTVN-x1m.js";import{n as kt}from"./marimo-icons-Bq_N9GGs.js";import{t as wt}from"./links-CiT7FeSM.js";import"./Inputs-BhvqLBkk.js";import{t as Nt}from"./useInterval-Be6s6idX.js";var _t=H("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),St=H("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),Ct=H("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),zt=H("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),Mt=H("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),P=re(be(),1),ee=le(),r=re(Ie(),1),It={intro:["Introduction",_t,"Get started with marimo basics"],dataflow:["Dataflow",Ne,"Learn how cells interact with each other"],ui:["UI Elements",Mt,"Create interactive UI components"],markdown:["Markdown",se,"Format text with parameterized markdown"],plots:["Plots",Ue,"Create interactive visualizations"],sql:["SQL",_e,"Query databases directly in marimo"],layout:["Layout",Je,"Customize the layout of your cells' output"],fileformat:["File format",Ye,"Understand marimo's pure-Python file format"],"external-dependencies":["External dependencies",Ke,"Declare dependencies with Python script metadata"],"for-jupyter-users":["For Jupyter users",zt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Z,"Using marimo to edit markdown files"]};const Rt=()=>{let t=(0,ee.c)(6),{openTutorial:e}=Y(),o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)(Ct,{className:"w-4 h-4 mr-2"}),t[0]=o):o=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Oe,{asChild:!0,children:(0,r.jsxs)(B,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[o,"Tutorials",(0,r.jsx)(jt,{className:"w-3 h-3 ml-1"})]})}),t[1]=s):s=t[1];let a;t[2]===e?a=t[3]:(a=Se.entries(It).map(i=>{let[m,h]=i,[p,u,l]=h;return(0,r.jsxs)(Pe,{onSelect:async()=>{let c=await e({tutorialId:m});c&&wt(c.path)},children:[(0,r.jsx)(u,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,r.jsx)("div",{className:"flex items-center",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("span",{children:p}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:l})]})})]},m)}),t[2]=e,t[3]=a);let n;return t[4]===a?n=t[5]:(n=(0,r.jsxs)(We,{children:[s,(0,r.jsx)(Te,{side:"bottom",align:"end",className:"print:hidden",children:a})]}),t[4]=a,t[5]=n),n};var Pt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ke,url:E.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:vt,url:E.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:qe,url:E.discordLink},{title:"molab",description:"Run marimo notebooks in the cloud",icon:kt,url:E.molab},{title:"YouTube",description:"Watch tutorials and demos",icon:Ge,url:E.youtube},{title:"Changelog",description:"See what's new in marimo",icon:se,url:E.releasesPage}];const Dt=()=>{let t=(0,ee.c)(2),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(q,{Icon:Qe,children:"Resources"}),t[0]=e):e=t[0];let o;return t[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[e,(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:Pt.map(Ot)})]}),t[1]=o):o=t[1],o},q=t=>{let e=(0,ee.c)(8),{Icon:o,control:s,children:a}=t,n;e[0]===o?n=e[1]:(n=(0,r.jsx)(o,{className:"h-5 w-5"}),e[0]=o,e[1]=n);let i;e[2]!==a||e[3]!==n?(i=(0,r.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[n,a]}),e[2]=a,e[3]=n,e[4]=i):i=e[4];let m;return e[5]!==s||e[6]!==i?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),e[5]=s,e[6]=i,e[7]=m):m=e[7],m};function Ot(t){return(0,r.jsxs)("a",{href:t.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,r.jsx)(t.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-medium",children:t.title}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t.description})]})]},t.title)}const te=P.createContext({runningNotebooks:new Map,setRunningNotebooks:ce.NOOP}),J=P.createContext({root:"",refreshWorkspace:ce.NOOP}),Tt=ie("marimo:home:include-markdown",!1,ne,{getOnInit:!0}),ue=ie("marimo:home:expanded-folders",{},ne,{getOnInit:!0});var W=le();function xe(t){return`${ft()}-${encodeURIComponent(t)}`}var Wt=()=>{let t=(0,W.c)(58),[e,o]=(0,P.useState)(0),{getRecentFiles:s,getRunningNotebooks:a}=Y(),n;t[0]===s?n=t[1]:(n=()=>s(),t[0]=s,t[1]=n);let i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],t[2]=i):i=t[2];let m=X(n,i),h,p;t[3]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{o(Yt)},p={delayMs:1e4,whenVisible:!0},t[3]=h,t[4]=p):(h=t[3],p=t[4]),Nt(h,p);let u;t[5]===a?u=t[6]:(u=async()=>{let R=await a();return me.keyBy(R.files,qt)},t[5]=a,t[6]=u);let l;t[7]===e?l=t[8]:(l=[e],t[7]=e,t[8]=l);let c=X(u,l),f,d,y,x,v,b,g,j,k,N,_,D,S;if(t[9]!==m||t[10]!==c){k=Symbol.for("react.early_return_sentinel");e:{let R=bt(m,c);if(R.error)throw R.error;let F=R.data;if(!F){let V;t[24]===Symbol.for("react.memo_cache_sentinel")?(V=(0,r.jsx)(K,{centered:!0,size:"xlarge"}),t[24]=V):V=t[24],k=V;break e}let[$,L]=F;x=$,y=P.Suspense,d=te,g={runningNotebooks:L,setRunningNotebooks:c.setData};let w,U;t[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(Rt,{}),U=(0,r.jsx)(lt,{showAppConfig:!1}),t[25]=w,t[26]=U):(w=t[25],U=t[26]);let G=`This will shutdown the notebook server and terminate all running notebooks (${L.size}). You'll lose all data that's in memory.`;t[27]===G?j=t[28]:(j=(0,r.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[w,U,(0,r.jsx)(it,{description:G})]}),t[27]=G,t[28]=j),D="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",t[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,r.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),v=(0,r.jsx)(Vt,{}),b=(0,r.jsx)(Dt,{}),t[29]=v,t[30]=b,t[31]=S):(v=t[29],b=t[30],S=t[31]),f=ge,t[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)(q,{Icon:He,children:"Running notebooks"}),t[32]=N):N=t[32],_=[...L.values()]}t[9]=m,t[10]=c,t[11]=f,t[12]=d,t[13]=y,t[14]=x,t[15]=v,t[16]=b,t[17]=g,t[18]=j,t[19]=k,t[20]=N,t[21]=_,t[22]=D,t[23]=S}else f=t[11],d=t[12],y=t[13],x=t[14],v=t[15],b=t[16],g=t[17],j=t[18],k=t[19],N=t[20],_=t[21],D=t[22],S=t[23];if(k!==Symbol.for("react.early_return_sentinel"))return k;let C;t[33]!==f||t[34]!==N||t[35]!==_?(C=(0,r.jsx)(f,{header:N,files:_}),t[33]=f,t[34]=N,t[35]=_,t[36]=C):C=t[36];let A;t[37]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(q,{Icon:ve,children:"Recent notebooks"}),t[37]=A):A=t[37];let z;t[38]===x.files?z=t[39]:(z=(0,r.jsx)(ge,{header:A,files:x.files}),t[38]=x.files,t[39]=z);let M;t[40]===m.refetch?M=t[41]:(M=(0,r.jsx)(ze,{children:(0,r.jsx)(At,{onRefreshRecents:m.refetch})}),t[40]=m.refetch,t[41]=M);let O;t[42]!==v||t[43]!==b||t[44]!==C||t[45]!==z||t[46]!==M||t[47]!==D||t[48]!==S?(O=(0,r.jsxs)("div",{className:D,children:[S,v,b,C,z,M]}),t[42]=v,t[43]=b,t[44]=C,t[45]=z,t[46]=M,t[47]=D,t[48]=S,t[49]=O):O=t[49];let I;t[50]!==d||t[51]!==g||t[52]!==j||t[53]!==O?(I=(0,r.jsxs)(d,{value:g,children:[j,O]}),t[50]=d,t[51]=g,t[52]=j,t[53]=O,t[54]=I):I=t[54];let T;return t[55]!==y||t[56]!==I?(T=(0,r.jsx)(y,{children:I}),t[55]=y,t[56]=I,t[57]=T):T=t[57],T},At=t=>{let e=(0,W.c)(54),{onRefreshRecents:o}=t,{getWorkspaceFiles:s}=Y(),[a,n]=oe(Tt),[i,m]=(0,P.useState)(""),h;e[0]!==s||e[1]!==a?(h=()=>s({includeMarkdown:a}),e[0]=s,e[1]=a,e[2]=h):h=e[2];let p;e[3]===a?p=e[4]:(p=[a],e[3]=a,e[4]=p);let{isPending:u,data:l,error:c,isFetching:f,refetch:d}=X(h,p),y;e[5]!==o||e[6]!==d?(y=()=>{d(),o()},e[5]=o,e[6]=d,e[7]=y):y=e[7];let x=ae(y);l==null||l.root;let v=(l==null?void 0:l.root)??"",b;e[8]!==x||e[9]!==v?(b={root:v,refreshWorkspace:x},e[8]=x,e[9]=v,e[10]=b):b=e[10];let g=b;if(u){let w;return e[11]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(K,{centered:!0,size:"xlarge",className:"mt-6"}),e[11]=w):w=e[11],w}if(c){let w;e[12]===c?w=e[13]:(w=yt(c),e[12]=c,e[13]=w);let U;return e[14]===w?U=e[15]:(U=(0,r.jsx)(fe,{kind:"danger",className:"rounded p-4",children:w}),e[14]=w,e[15]=U),U}let j;e[16]!==l.fileCount||e[17]!==l.hasMore?(j=l.hasMore&&(0,r.jsxs)(fe,{kind:"warn",className:"rounded p-4",children:["Showing first ",l.fileCount," files. Your workspace has more files."]}),e[16]=l.fileCount,e[17]=l.hasMore,e[18]=j):j=e[18];let k,N;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(mt,{size:13}),N=w=>m(w.target.value),e[19]=k,e[20]=N):(k=e[19],N=e[20]);let _;e[21]===i?_=e[22]:(_=(0,r.jsx)(dt,{id:"search",value:i,icon:k,onChange:N,placeholder:"Search",className:"mb-0 border-border"}),e[21]=i,e[22]=_);let D;e[23]===Symbol.for("react.memo_cache_sentinel")?(D=(0,r.jsx)(Ft,{}),e[23]=D):D=e[23];let S;e[24]===n?S=e[25]:(S=w=>n(!!w),e[24]=n,e[25]=S);let C;e[26]!==a||e[27]!==S?(C=(0,r.jsx)(we,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:S}),e[26]=a,e[27]=S,e[28]=C):C=e[28];let A;e[29]===Symbol.for("react.memo_cache_sentinel")?(A=(0,r.jsx)(Ae,{htmlFor:"include-markdown",children:"Include markdown"}),e[29]=A):A=e[29];let z;e[30]!==C||e[31]!==_?(z=(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[_,D,C,A]}),e[30]=C,e[31]=_,e[32]=z):z=e[32];let M;e[33]===d?M=e[34]:(M=()=>d(),e[33]=d,e[34]=M);let O;e[35]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r.jsx)(ct,{className:"w-4 h-4"}),e[35]=O):O=e[35];let I;e[36]===M?I=e[37]:(I=(0,r.jsx)(B,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:M,"aria-label":"Refresh workspace",children:O}),e[36]=M,e[37]=I);let T;e[38]===f?T=e[39]:(T=f&&(0,r.jsx)(K,{size:"small"}),e[38]=f,e[39]=T);let R;e[40]!==z||e[41]!==I||e[42]!==T?(R=(0,r.jsxs)(q,{Icon:St,control:z,children:["Workspace",I,T]}),e[40]=z,e[41]=I,e[42]=T,e[43]=R):R=e[43];let F;e[44]!==i||e[45]!==l.files?(F=(0,r.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,r.jsx)(Ut,{searchText:i,files:l.files})}),e[44]=i,e[45]=l.files,e[46]=F):F=e[46];let $;e[47]!==R||e[48]!==F||e[49]!==j?($=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[j,R,F]}),e[47]=R,e[48]=F,e[49]=j,e[50]=$):$=e[50];let L;return e[51]!==$||e[52]!==g?(L=(0,r.jsx)(J,{value:g,children:$}),e[51]=$,e[52]=g,e[53]=L):L=e[53],L},Ft=()=>{let t=(0,W.c)(5),e=je(ue),o;t[0]===e?o=t[1]:(o=()=>{e({})},t[0]=e,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Ee,{className:"w-4 h-4 mr-1"}),t[2]=s):s=t[2];let a;return t[3]===o?a=t[4]:(a=(0,r.jsxs)(B,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:o,children:[s,"Collapse all"]}),t[3]=o,t[4]=a),a},Ut=t=>{let e=(0,W.c)(20),{files:o,searchText:s}=t,[a,n]=oe(ue),i=Object.keys(a).length===0,m=(0,P.useRef)(void 0),{root:h,refreshWorkspace:p}=(0,P.use)(J),u;e[0]===h?u=e[1]:(u={root:h},e[0]=h,e[1]=u);let{renameFile:l}=rt(u),c,f;e[2]===i?(c=e[3],f=e[4]):(c=()=>{var g;i&&((g=m.current)==null||g.closeAll())},f=[i],e[2]=i,e[3]=c,e[4]=f),(0,P.useEffect)(c,f);let d;e[5]!==p||e[6]!==l?(d=async(g,j)=>{var N;let k=(N=m.current)==null?void 0:N.get(g);if(!k){de({title:"Failed",description:`Node with id ${g} not found in the tree`});return}await l(k.data,j)&&p()},e[5]=p,e[6]=l,e[7]=d):d=e[7];let y=ae(d);if(o.length===0){let g;return e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,r.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,r.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),e[8]=g):g=e[8],g}let x;e[9]!==a||e[10]!==n?(x=async g=>{let j=a[g]??!1;n({...a,[g]:!j})},e[9]=a,e[10]=n,e[11]=x):x=e[11];let v;e[12]===y?v=e[13]:(v=async g=>{let{id:j,name:k}=g;await y(j,k)},e[12]=y,e[13]=v);let b;return e[14]!==o||e[15]!==a||e[16]!==s||e[17]!==x||e[18]!==v?(b=(0,r.jsx)(et,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:Jt,data:o,openByDefault:!1,initialOpenState:a,onToggle:x,onRename:v,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Gt,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:$t}),e[14]=o,e[15]=a,e[16]=s,e[17]=x,e[18]=v,e[19]=b):b=e[19],b},$t=t=>{let e=(0,W.c)(18),{node:o,style:s}=t,a=Be[o.data.isDirectory?"directory":Ve(o.data.name)],n;e[0]===a?n=e[1]:(n=(0,r.jsx)(a,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),e[0]=a,e[1]=n);let i=n,{root:m}=(0,P.use)(J),{runningNotebooks:h}=(0,P.use)(te),p;e[2]!==i||e[3]!==o||e[4]!==m||e[5]!==h?(p=()=>{if(o.isEditing)return(0,r.jsxs)("div",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,(0,r.jsx)(st,{node:o})]});if(o.data.isDirectory)return(0,r.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,o.data.name]});let x=o.data.path.startsWith(m)&&he.isAbsolute(o.data.path)?he.rest(o.data.path,m):o.data.path,v=x.endsWith(".md")||x.endsWith(".qmd"),b=h.has(x);return(0,r.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:pe(`?file=${encodeURIComponent(x)}`).toString(),target:xe(x),children:[i,(0,r.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[o.data.name,v&&(0,r.jsx)(Z,{className:"ml-2 inline opacity-80"})]}),(0,r.jsx)(Lt,{node:o,isRunning:b}),(0,r.jsx)("div",{className:"w-8 h-8 flex items-center justify-center shrink-0",children:(0,r.jsx)(ye,{filePath:x})}),(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary shrink-0"})]})},e[2]=i,e[3]=o,e[4]=m,e[5]=h,e[6]=p):p=e[6];let u=p,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=Me("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),e[7]=l):l=e[7];let c,f;e[8]===o?(c=e[9],f=e[10]):(c=x=>{x.stopPropagation(),o.data.isDirectory&&o.toggle()},f=(0,r.jsx)(Et,{node:o}),e[8]=o,e[9]=c,e[10]=f);let d;e[11]===u?d=e[12]:(d=u(),e[11]=u,e[12]=d);let y;return e[13]!==s||e[14]!==c||e[15]!==f||e[16]!==d?(y=(0,r.jsxs)("div",{style:s,className:l,onClick:c,children:[f,d]}),e[13]=s,e[14]=c,e[15]=f,e[16]=d,e[17]=y):y=e[17],y},Lt=t=>{let e=(0,W.c)(19),{node:o,isRunning:s}=t,{root:a,refreshWorkspace:n}=(0,P.use)(J),i;e[0]!==o||e[1]!==n||e[2]!==a?(i={node:o,root:a,onAfterChange:n},e[0]=o,e[1]=n,e[2]=a,e[3]=i):i=e[3];let{handleRename:m,handleDuplicate:h,handleDelete:p}=at(i),u=s?"Stop the notebook's kernel before renaming or deleting.":void 0,l;e[4]!==m||e[5]!==s||e[6]!==u?(l=(0,r.jsx)(Xe,{onSelect:m,disabled:s,title:u}),e[4]=m,e[5]=s,e[6]=u,e[7]=l):l=e[7];let c;e[8]===h?c=e[9]:(c=(0,r.jsx)(ot,{onSelect:h}),e[8]=h,e[9]=c);let f;e[10]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(De,{}),e[10]=f):f=e[10];let d;e[11]!==p||e[12]!==s||e[13]!==u?(d=(0,r.jsx)(tt,{onSelect:p,disabled:s,title:u}),e[11]=p,e[12]=s,e[13]=u,e[14]=d):d=e[14];let y;return e[15]!==l||e[16]!==c||e[17]!==d?(y=(0,r.jsxs)(Ze,{testId:"workspace-more-button",buttonClassName:"w-8 h-8 p-0 shrink-0",contentClassName:"print:hidden w-fit min-w-[140px]",preventDefaultOnTrigger:!0,children:[l,c,f,d]}),e[15]=l,e[16]=c,e[17]=d,e[18]=y):y=e[18],y},Et=t=>{let e=(0,W.c)(3),{node:o}=t;if(!o.data.isDirectory){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=a):a=e[0],a}let s;return e[1]===o.isOpen?s=e[2]:(s=o.isOpen?(0,r.jsx)($e,{className:"w-5 h-5 shrink-0"}):(0,r.jsx)(Le,{className:"w-5 h-5 shrink-0"}),e[1]=o.isOpen,e[2]=s),s},ge=t=>{let e=(0,W.c)(7),{header:o,files:s}=t;if(s.length===0)return null;let a;e[0]===s?a=e[1]:(a=s.map(Qt),e[0]=s,e[1]=a);let n;e[2]===a?n=e[3]:(n=(0,r.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:a}),e[2]=a,e[3]=n);let i;return e[4]!==o||e[5]!==n?(i=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[o,n]}),e[4]=o,e[5]=n,e[6]=i):i=e[6],i},Ht=t=>{let e=(0,W.c)(41),{file:o}=t,{locale:s}=xt(),a;e[0]===o.path?a=e[1]:(a=ht(o.path),e[0]=o.path,e[1]=a);let n=a,i,m,h,p;if(e[2]!==o.initializationId||e[3]!==o.path||e[4]!==n){let N=pe(n?`?file=${encodeURIComponent(o.initializationId??o.path)}&session_id=${o.path}`:`?file=${encodeURIComponent(o.path)}`),_;e[9]===o.path?_=e[10]:(_=o.path.endsWith(".md"),e[9]=o.path,e[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",h=o.path,p=N.toString(),e[2]=o.initializationId,e[3]=o.path,e[4]=n,e[5]=i,e[6]=m,e[7]=h,e[8]=p}else i=e[5],m=e[6],h=e[7],p=e[8];let u=o.initializationId||o.path,l;e[11]===u?l=e[12]:(l=xe(u),e[11]=u,e[12]=l);let c;e[13]===i?c=e[14]:(c=i&&(0,r.jsx)("span",{className:"opacity-80",children:(0,r.jsx)(Z,{})}),e[13]=i,e[14]=c);let f;e[15]!==o.name||e[16]!==c?(f=(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[o.name,c]}),e[15]=o.name,e[16]=c,e[17]=f):f=e[17];let d;e[18]===o.path?d=e[19]:(d=(0,r.jsx)("p",{title:o.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:o.path}),e[18]=o.path,e[19]=d);let y;e[20]!==f||e[21]!==d?(y=(0,r.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,d]}),e[20]=f,e[21]=d,e[22]=y):y=e[22];let x;e[23]===o.path?x=e[24]:(x=(0,r.jsx)("div",{children:(0,r.jsx)(ye,{filePath:o.path})}),e[23]=o.path,e[24]=x);let v;e[25]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),e[25]=v):v=e[25];let b;e[26]===x?b=e[27]:(b=(0,r.jsxs)("div",{className:"flex gap-3 items-center",children:[x,v]}),e[26]=x,e[27]=b);let g;e[28]!==o.lastModified||e[29]!==s?(g=!!o.lastModified&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ut(o.lastModified*1e3,s)}),e[28]=o.lastModified,e[29]=s,e[30]=g):g=e[30];let j;e[31]!==b||e[32]!==g?(j=(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[b,g]}),e[31]=b,e[32]=g,e[33]=j):j=e[33];let k;return e[34]!==y||e[35]!==j||e[36]!==m||e[37]!==h||e[38]!==p||e[39]!==l?(k=(0,r.jsxs)("a",{className:m,href:p,target:l,children:[y,j]},h),e[34]=y,e[35]=j,e[36]=m,e[37]=h,e[38]=p,e[39]=l,e[40]=k):k=e[40],k},ye=t=>{let e=(0,W.c)(10),{filePath:o}=t,{openConfirm:s,closeModal:a}=gt(),{shutdownSession:n}=Y(),{runningNotebooks:i,setRunningNotebooks:m}=(0,P.use)(te);if(!i.has(o))return null;let h;e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==i||e[4]!==m||e[5]!==n?(h=l=>{l.stopPropagation(),l.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,r.jsx)(Re,{onClick:()=>{let c=i.get(o);Ce(c==null?void 0:c.sessionId),n({sessionId:c.sessionId}).then(f=>{m(me.keyBy(f.files,Kt))}),a(),de({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[0]=a,e[1]=o,e[2]=s,e[3]=i,e[4]=m,e[5]=n,e[6]=h):h=e[6];let p;e[7]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(nt,{size:14}),e[7]=p):p=e[7];let u;return e[8]===h?u=e[9]:(u=(0,r.jsx)(Fe,{content:"Shutdown",children:(0,r.jsx)(B,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:h,children:p})}),e[8]=h,e[9]=u),u},Vt=()=>{let t=(0,W.c)(3),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=pt(),t[0]=e):e=t[0];let o=e,s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),t[1]=s):s=t[1];let a;return t[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsxs)("a",{className:`relative rounded-lg p-6 group
|
|
1
|
+
import{s as re}from"./chunk-LvLJmgfZ.js";import{d as je,l as oe,n as ae}from"./useEvent-D91BmmQi.js";import{t as be}from"./react-Bj1aDYRI.js";import{Bn as se,Er as ve,Fr as ke,Gi as ie,Nt as we,Or as Ne,Pr as _e,wr as ne}from"./cells-C3V6s-g5.js";import"./react-dom-CSu739Rf.js";import{t as le}from"./compiler-runtime-B3qBwwSJ.js";import{_ as ce}from"./useEventListener-C0195JsF.js";import{t as Se}from"./objects-BlG0ZrO0.js";import{n as L}from"./constants-CDyU_g2F.js";import{N as Ce}from"./config-B-Q7J_6d.js";import{t as ze}from"./ErrorBoundary-DzTD8LVq.js";import{t as Me}from"./cn-DYvqRARy.js";import{t as Ie}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{o as Re}from"./alert-dialog-Bb8Lz8ko.js";import"./popover-Bcz1Zikb.js";import{a as Pe,c as De,p as Oe,r as Te,t as We}from"./dropdown-menu-dHmZR8bI.js";import{t as Fe}from"./label-CqjrpwRC.js";import{t as Ae}from"./tooltip-4bZlU7jl.js";import{t as B}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as Y}from"./requests-9-v2bhoi.js";import{t as H}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ue}from"./chart-no-axes-column-iDRxid4h.js";import{r as $e}from"./x-C-Eq0ag8.js";import{t as Ee}from"./chevron-right-BS_NcSch.js";import{o as me,s as Le}from"./tree-actions-rPl1v1gM.js";import{t as He}from"./circle-play-9HoTo51X.js";import{t as Q}from"./external-link-BOlXZUla.js";import{r as Ve,t as Be}from"./file-icons-DDUQU--N.js";import{t as Ye}from"./file-CJH9JNGH.js";import{n as qe,r as Ge,t as Je}from"./youtube-OwaksuQt.js";import{t as Qe}from"./link-CHdiBDr5.js";import{t as K}from"./spinner-D-V4psAa.js";import{t as Ke}from"./package-Bxz_8e44.js";import{a as Xe,i as Ze,l as et,n as tt,o as rt,r as ot,s as at,t as st}from"./file-name-input-CQjQP_zG.js";import{n as it,r as nt,t as lt}from"./app-config-button-CuE-bLFn.js";import{t as ct}from"./refresh-ccw-sLaKP2vj.js";import{dt as mt,r as dt}from"./input-JxFwu-3G.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as de}from"./use-toast-BwJoaaDM.js";import{n as he}from"./paths-BKO-pHK6.js";import{c as pe,n as ht,o as pt,t as ft}from"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as ut}from"./dates-C2LWzsCZ.js";import{t as xt}from"./context-BFPaAUK_.js";import{n as gt}from"./ImperativeModal-fY-ZfT0b.js";import{a as yt}from"./errors-PgHhDa-M.js";import{n as jt}from"./react-icons.esm-D4GMDkIf.js";import{t as fe}from"./error-banner-BSxEOIn2.js";import{n as X,t as bt}from"./useAsyncData-Bg5iAViP.js";import{t as Z}from"./icons-CIPE8AIY.js";import{t as vt}from"./github-kTVN-x1m.js";import{n as kt}from"./marimo-icons-Bq_N9GGs.js";import{t as wt}from"./links-CiT7FeSM.js";import"./Inputs-BhvqLBkk.js";import{t as Nt}from"./useInterval-Be6s6idX.js";var _t=H("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),St=H("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),Ct=H("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),zt=H("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),Mt=H("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),P=re(be(),1),ee=le(),r=re(Ie(),1),It={intro:["Introduction",_t,"Get started with marimo basics"],dataflow:["Dataflow",ke,"Learn how cells interact with each other"],ui:["UI Elements",Mt,"Create interactive UI components"],markdown:["Markdown",ne,"Format text with parameterized markdown"],plots:["Plots",Ue,"Create interactive visualizations"],sql:["SQL",ve,"Query databases directly in marimo"],layout:["Layout",Ge,"Customize the layout of your cells' output"],fileformat:["File format",Ye,"Understand marimo's pure-Python file format"],"external-dependencies":["External dependencies",Ke,"Declare dependencies with Python script metadata"],"for-jupyter-users":["For Jupyter users",zt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Z,"Using marimo to edit markdown files"]};const Rt=()=>{let t=(0,ee.c)(6),{openTutorial:e}=Y(),o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)(Ct,{className:"w-4 h-4 mr-2"}),t[0]=o):o=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Oe,{asChild:!0,children:(0,r.jsxs)(B,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[o,"Tutorials",(0,r.jsx)(jt,{className:"w-3 h-3 ml-1"})]})}),t[1]=s):s=t[1];let a;t[2]===e?a=t[3]:(a=Se.entries(It).map(i=>{let[m,h]=i,[p,u,l]=h;return(0,r.jsxs)(Pe,{onSelect:async()=>{let c=await e({tutorialId:m});c&&wt(c.path)},children:[(0,r.jsx)(u,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,r.jsx)("div",{className:"flex items-center",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("span",{children:p}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:l})]})})]},m)}),t[2]=e,t[3]=a);let n;return t[4]===a?n=t[5]:(n=(0,r.jsxs)(We,{children:[s,(0,r.jsx)(Te,{side:"bottom",align:"end",className:"print:hidden",children:a})]}),t[4]=a,t[5]=n),n};var Pt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:_e,url:L.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:vt,url:L.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:qe,url:L.discordLink},{title:"molab",description:"Run marimo notebooks in the cloud",icon:kt,url:L.molab},{title:"YouTube",description:"Watch tutorials and demos",icon:Je,url:L.youtube},{title:"Changelog",description:"See what's new in marimo",icon:ne,url:L.releasesPage}];const Dt=()=>{let t=(0,ee.c)(2),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,r.jsx)(q,{Icon:Qe,children:"Resources"}),t[0]=e):e=t[0];let o;return t[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[e,(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:Pt.map(Ot)})]}),t[1]=o):o=t[1],o},q=t=>{let e=(0,ee.c)(8),{Icon:o,control:s,children:a}=t,n;e[0]===o?n=e[1]:(n=(0,r.jsx)(o,{className:"h-5 w-5"}),e[0]=o,e[1]=n);let i;e[2]!==a||e[3]!==n?(i=(0,r.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[n,a]}),e[2]=a,e[3]=n,e[4]=i):i=e[4];let m;return e[5]!==s||e[6]!==i?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,s]}),e[5]=s,e[6]=i,e[7]=m):m=e[7],m};function Ot(t){return(0,r.jsxs)("a",{href:t.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,r.jsx)(t.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-medium",children:t.title}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t.description})]})]},t.title)}const te=P.createContext({runningNotebooks:new Map,setRunningNotebooks:ce.NOOP}),G=P.createContext({root:"",refreshWorkspace:ce.NOOP}),Tt=ie("marimo:home:include-markdown",!1,se,{getOnInit:!0}),ue=ie("marimo:home:expanded-folders",{},se,{getOnInit:!0});var W=le();function xe(t){return`${ft()}-${encodeURIComponent(t)}`}var Wt=()=>{let t=(0,W.c)(58),[e,o]=(0,P.useState)(0),{getRecentFiles:s,getRunningNotebooks:a}=Y(),n;t[0]===s?n=t[1]:(n=()=>s(),t[0]=s,t[1]=n);let i;t[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],t[2]=i):i=t[2];let m=X(n,i),h,p;t[3]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{o(Yt)},p={delayMs:1e4,whenVisible:!0},t[3]=h,t[4]=p):(h=t[3],p=t[4]),Nt(h,p);let u;t[5]===a?u=t[6]:(u=async()=>{let R=await a();return me.keyBy(R.files,qt)},t[5]=a,t[6]=u);let l;t[7]===e?l=t[8]:(l=[e],t[7]=e,t[8]=l);let c=X(u,l),f,d,y,x,v,b,g,j,k,N,_,D,S;if(t[9]!==m||t[10]!==c){k=Symbol.for("react.early_return_sentinel");e:{let R=bt(m,c);if(R.error)throw R.error;let A=R.data;if(!A){let V;t[24]===Symbol.for("react.memo_cache_sentinel")?(V=(0,r.jsx)(K,{centered:!0,size:"xlarge"}),t[24]=V):V=t[24],k=V;break e}let[$,E]=A;x=$,y=P.Suspense,d=te,g={runningNotebooks:E,setRunningNotebooks:c.setData};let w,U;t[25]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(Rt,{}),U=(0,r.jsx)(lt,{showAppConfig:!1}),t[25]=w,t[26]=U):(w=t[25],U=t[26]);let J=`This will shutdown the notebook server and terminate all running notebooks (${E.size}). You'll lose all data that's in memory.`;t[27]===J?j=t[28]:(j=(0,r.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[w,U,(0,r.jsx)(it,{description:J})]}),t[27]=J,t[28]=j),D="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",t[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,r.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),v=(0,r.jsx)(Vt,{}),b=(0,r.jsx)(Dt,{}),t[29]=v,t[30]=b,t[31]=S):(v=t[29],b=t[30],S=t[31]),f=ge,t[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)(q,{Icon:He,children:"Running notebooks"}),t[32]=N):N=t[32],_=[...E.values()]}t[9]=m,t[10]=c,t[11]=f,t[12]=d,t[13]=y,t[14]=x,t[15]=v,t[16]=b,t[17]=g,t[18]=j,t[19]=k,t[20]=N,t[21]=_,t[22]=D,t[23]=S}else f=t[11],d=t[12],y=t[13],x=t[14],v=t[15],b=t[16],g=t[17],j=t[18],k=t[19],N=t[20],_=t[21],D=t[22],S=t[23];if(k!==Symbol.for("react.early_return_sentinel"))return k;let C;t[33]!==f||t[34]!==N||t[35]!==_?(C=(0,r.jsx)(f,{header:N,files:_}),t[33]=f,t[34]=N,t[35]=_,t[36]=C):C=t[36];let F;t[37]===Symbol.for("react.memo_cache_sentinel")?(F=(0,r.jsx)(q,{Icon:Ne,children:"Recent notebooks"}),t[37]=F):F=t[37];let z;t[38]===x.files?z=t[39]:(z=(0,r.jsx)(ge,{header:F,files:x.files}),t[38]=x.files,t[39]=z);let M;t[40]===m.refetch?M=t[41]:(M=(0,r.jsx)(ze,{children:(0,r.jsx)(Ft,{onRefreshRecents:m.refetch})}),t[40]=m.refetch,t[41]=M);let O;t[42]!==v||t[43]!==b||t[44]!==C||t[45]!==z||t[46]!==M||t[47]!==D||t[48]!==S?(O=(0,r.jsxs)("div",{className:D,children:[S,v,b,C,z,M]}),t[42]=v,t[43]=b,t[44]=C,t[45]=z,t[46]=M,t[47]=D,t[48]=S,t[49]=O):O=t[49];let I;t[50]!==d||t[51]!==g||t[52]!==j||t[53]!==O?(I=(0,r.jsxs)(d,{value:g,children:[j,O]}),t[50]=d,t[51]=g,t[52]=j,t[53]=O,t[54]=I):I=t[54];let T;return t[55]!==y||t[56]!==I?(T=(0,r.jsx)(y,{children:I}),t[55]=y,t[56]=I,t[57]=T):T=t[57],T},Ft=t=>{let e=(0,W.c)(54),{onRefreshRecents:o}=t,{getWorkspaceFiles:s}=Y(),[a,n]=oe(Tt),[i,m]=(0,P.useState)(""),h;e[0]!==s||e[1]!==a?(h=()=>s({includeMarkdown:a}),e[0]=s,e[1]=a,e[2]=h):h=e[2];let p;e[3]===a?p=e[4]:(p=[a],e[3]=a,e[4]=p);let{isPending:u,data:l,error:c,isFetching:f,refetch:d}=X(h,p),y;e[5]!==o||e[6]!==d?(y=()=>{d(),o()},e[5]=o,e[6]=d,e[7]=y):y=e[7];let x=ae(y);l==null||l.root;let v=(l==null?void 0:l.root)??"",b;e[8]!==x||e[9]!==v?(b={root:v,refreshWorkspace:x},e[8]=x,e[9]=v,e[10]=b):b=e[10];let g=b;if(u){let w;return e[11]===Symbol.for("react.memo_cache_sentinel")?(w=(0,r.jsx)(K,{centered:!0,size:"xlarge",className:"mt-6"}),e[11]=w):w=e[11],w}if(c){let w;e[12]===c?w=e[13]:(w=yt(c),e[12]=c,e[13]=w);let U;return e[14]===w?U=e[15]:(U=(0,r.jsx)(fe,{kind:"danger",className:"rounded p-4",children:w}),e[14]=w,e[15]=U),U}let j;e[16]!==l.fileCount||e[17]!==l.hasMore?(j=l.hasMore&&(0,r.jsxs)(fe,{kind:"warn",className:"rounded p-4",children:["Showing first ",l.fileCount," files. Your workspace has more files."]}),e[16]=l.fileCount,e[17]=l.hasMore,e[18]=j):j=e[18];let k,N;e[19]===Symbol.for("react.memo_cache_sentinel")?(k=(0,r.jsx)(mt,{size:13}),N=w=>m(w.target.value),e[19]=k,e[20]=N):(k=e[19],N=e[20]);let _;e[21]===i?_=e[22]:(_=(0,r.jsx)(dt,{id:"search",value:i,icon:k,onChange:N,placeholder:"Search",className:"mb-0 border-border"}),e[21]=i,e[22]=_);let D;e[23]===Symbol.for("react.memo_cache_sentinel")?(D=(0,r.jsx)(At,{}),e[23]=D):D=e[23];let S;e[24]===n?S=e[25]:(S=w=>n(!!w),e[24]=n,e[25]=S);let C;e[26]!==a||e[27]!==S?(C=(0,r.jsx)(we,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:S}),e[26]=a,e[27]=S,e[28]=C):C=e[28];let F;e[29]===Symbol.for("react.memo_cache_sentinel")?(F=(0,r.jsx)(Fe,{htmlFor:"include-markdown",children:"Include markdown"}),e[29]=F):F=e[29];let z;e[30]!==C||e[31]!==_?(z=(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[_,D,C,F]}),e[30]=C,e[31]=_,e[32]=z):z=e[32];let M;e[33]===d?M=e[34]:(M=()=>d(),e[33]=d,e[34]=M);let O;e[35]===Symbol.for("react.memo_cache_sentinel")?(O=(0,r.jsx)(ct,{className:"w-4 h-4"}),e[35]=O):O=e[35];let I;e[36]===M?I=e[37]:(I=(0,r.jsx)(B,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:M,"aria-label":"Refresh workspace",children:O}),e[36]=M,e[37]=I);let T;e[38]===f?T=e[39]:(T=f&&(0,r.jsx)(K,{size:"small"}),e[38]=f,e[39]=T);let R;e[40]!==z||e[41]!==I||e[42]!==T?(R=(0,r.jsxs)(q,{Icon:St,control:z,children:["Workspace",I,T]}),e[40]=z,e[41]=I,e[42]=T,e[43]=R):R=e[43];let A;e[44]!==i||e[45]!==l.files?(A=(0,r.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,r.jsx)(Ut,{searchText:i,files:l.files})}),e[44]=i,e[45]=l.files,e[46]=A):A=e[46];let $;e[47]!==R||e[48]!==A||e[49]!==j?($=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[j,R,A]}),e[47]=R,e[48]=A,e[49]=j,e[50]=$):$=e[50];let E;return e[51]!==$||e[52]!==g?(E=(0,r.jsx)(G,{value:g,children:$}),e[51]=$,e[52]=g,e[53]=E):E=e[53],E},At=()=>{let t=(0,W.c)(5),e=je(ue),o;t[0]===e?o=t[1]:(o=()=>{e({})},t[0]=e,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(Le,{className:"w-4 h-4 mr-1"}),t[2]=s):s=t[2];let a;return t[3]===o?a=t[4]:(a=(0,r.jsxs)(B,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:o,children:[s,"Collapse all"]}),t[3]=o,t[4]=a),a},Ut=t=>{let e=(0,W.c)(20),{files:o,searchText:s}=t,[a,n]=oe(ue),i=Object.keys(a).length===0,m=(0,P.useRef)(void 0),{root:h,refreshWorkspace:p}=(0,P.use)(G),u;e[0]===h?u=e[1]:(u={root:h},e[0]=h,e[1]=u);let{renameFile:l}=rt(u),c,f;e[2]===i?(c=e[3],f=e[4]):(c=()=>{var g;i&&((g=m.current)==null||g.closeAll())},f=[i],e[2]=i,e[3]=c,e[4]=f),(0,P.useEffect)(c,f);let d;e[5]!==p||e[6]!==l?(d=async(g,j)=>{var N;let k=(N=m.current)==null?void 0:N.get(g);if(!k){de({title:"Failed",description:`Node with id ${g} not found in the tree`});return}await l(k.data,j)&&p()},e[5]=p,e[6]=l,e[7]=d):d=e[7];let y=ae(d);if(o.length===0){let g;return e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,r.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,r.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),e[8]=g):g=e[8],g}let x;e[9]!==a||e[10]!==n?(x=async g=>{let j=a[g]??!1;n({...a,[g]:!j})},e[9]=a,e[10]=n,e[11]=x):x=e[11];let v;e[12]===y?v=e[13]:(v=async g=>{let{id:j,name:k}=g;await y(j,k)},e[12]=y,e[13]=v);let b;return e[14]!==o||e[15]!==a||e[16]!==s||e[17]!==x||e[18]!==v?(b=(0,r.jsx)(et,{ref:m,width:"100%",height:500,searchTerm:s,className:"h-full",idAccessor:Gt,data:o,openByDefault:!1,initialOpenState:a,onToggle:x,onRename:v,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Jt,disableDrop:!0,disableDrag:!0,disableMultiSelection:!0,children:$t}),e[14]=o,e[15]=a,e[16]=s,e[17]=x,e[18]=v,e[19]=b):b=e[19],b},$t=t=>{let e=(0,W.c)(18),{node:o,style:s}=t,a=Be[o.data.isDirectory?"directory":Ve(o.data.name)],n;e[0]===a?n=e[1]:(n=(0,r.jsx)(a,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),e[0]=a,e[1]=n);let i=n,{root:m}=(0,P.use)(G),{runningNotebooks:h}=(0,P.use)(te),p;e[2]!==i||e[3]!==o||e[4]!==m||e[5]!==h?(p=()=>{if(o.isEditing)return(0,r.jsxs)("div",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,(0,r.jsx)(st,{node:o})]});if(o.data.isDirectory)return(0,r.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,o.data.name]});let x=o.data.path.startsWith(m)&&he.isAbsolute(o.data.path)?he.rest(o.data.path,m):o.data.path,v=x.endsWith(".md")||x.endsWith(".qmd"),b=h.has(x);return(0,r.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:pe(`?file=${encodeURIComponent(x)}`).toString(),target:xe(x),children:[i,(0,r.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[o.data.name,v&&(0,r.jsx)(Z,{className:"ml-2 inline opacity-80"})]}),(0,r.jsx)(Et,{node:o,isRunning:b}),(0,r.jsx)("div",{className:"w-8 h-8 flex items-center justify-center shrink-0",children:(0,r.jsx)(ye,{filePath:x})}),(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary shrink-0"})]})},e[2]=i,e[3]=o,e[4]=m,e[5]=h,e[6]=p):p=e[6];let u=p,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(l=Me("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),e[7]=l):l=e[7];let c,f;e[8]===o?(c=e[9],f=e[10]):(c=x=>{x.stopPropagation(),o.data.isDirectory&&o.toggle()},f=(0,r.jsx)(Lt,{node:o}),e[8]=o,e[9]=c,e[10]=f);let d;e[11]===u?d=e[12]:(d=u(),e[11]=u,e[12]=d);let y;return e[13]!==s||e[14]!==c||e[15]!==f||e[16]!==d?(y=(0,r.jsxs)("div",{style:s,className:l,onClick:c,children:[f,d]}),e[13]=s,e[14]=c,e[15]=f,e[16]=d,e[17]=y):y=e[17],y},Et=t=>{let e=(0,W.c)(19),{node:o,isRunning:s}=t,{root:a,refreshWorkspace:n}=(0,P.use)(G),i;e[0]!==o||e[1]!==n||e[2]!==a?(i={node:o,root:a,onAfterChange:n},e[0]=o,e[1]=n,e[2]=a,e[3]=i):i=e[3];let{handleRename:m,handleDuplicate:h,handleDelete:p}=at(i),u=s?"Stop the notebook's kernel before renaming or deleting.":void 0,l;e[4]!==m||e[5]!==s||e[6]!==u?(l=(0,r.jsx)(Xe,{onSelect:m,disabled:s,title:u}),e[4]=m,e[5]=s,e[6]=u,e[7]=l):l=e[7];let c;e[8]===h?c=e[9]:(c=(0,r.jsx)(ot,{onSelect:h}),e[8]=h,e[9]=c);let f;e[10]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(De,{}),e[10]=f):f=e[10];let d;e[11]!==p||e[12]!==s||e[13]!==u?(d=(0,r.jsx)(tt,{onSelect:p,disabled:s,title:u}),e[11]=p,e[12]=s,e[13]=u,e[14]=d):d=e[14];let y;return e[15]!==l||e[16]!==c||e[17]!==d?(y=(0,r.jsxs)(Ze,{testId:"workspace-more-button",buttonClassName:"w-8 h-8 p-0 shrink-0",contentClassName:"print:hidden w-fit min-w-[140px]",preventDefaultOnTrigger:!0,children:[l,c,f,d]}),e[15]=l,e[16]=c,e[17]=d,e[18]=y):y=e[18],y},Lt=t=>{let e=(0,W.c)(3),{node:o}=t;if(!o.data.isDirectory){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsx)("span",{className:"w-5 h-5 shrink-0"}),e[0]=a):a=e[0],a}let s;return e[1]===o.isOpen?s=e[2]:(s=o.isOpen?(0,r.jsx)($e,{className:"w-5 h-5 shrink-0"}):(0,r.jsx)(Ee,{className:"w-5 h-5 shrink-0"}),e[1]=o.isOpen,e[2]=s),s},ge=t=>{let e=(0,W.c)(7),{header:o,files:s}=t;if(s.length===0)return null;let a;e[0]===s?a=e[1]:(a=s.map(Qt),e[0]=s,e[1]=a);let n;e[2]===a?n=e[3]:(n=(0,r.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:a}),e[2]=a,e[3]=n);let i;return e[4]!==o||e[5]!==n?(i=(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[o,n]}),e[4]=o,e[5]=n,e[6]=i):i=e[6],i},Ht=t=>{let e=(0,W.c)(41),{file:o}=t,{locale:s}=xt(),a;e[0]===o.path?a=e[1]:(a=ht(o.path),e[0]=o.path,e[1]=a);let n=a,i,m,h,p;if(e[2]!==o.initializationId||e[3]!==o.path||e[4]!==n){let N=pe(n?`?file=${encodeURIComponent(o.initializationId??o.path)}&session_id=${o.path}`:`?file=${encodeURIComponent(o.path)}`),_;e[9]===o.path?_=e[10]:(_=o.path.endsWith(".md"),e[9]=o.path,e[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",h=o.path,p=N.toString(),e[2]=o.initializationId,e[3]=o.path,e[4]=n,e[5]=i,e[6]=m,e[7]=h,e[8]=p}else i=e[5],m=e[6],h=e[7],p=e[8];let u=o.initializationId||o.path,l;e[11]===u?l=e[12]:(l=xe(u),e[11]=u,e[12]=l);let c;e[13]===i?c=e[14]:(c=i&&(0,r.jsx)("span",{className:"opacity-80",children:(0,r.jsx)(Z,{})}),e[13]=i,e[14]=c);let f;e[15]!==o.name||e[16]!==c?(f=(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[o.name,c]}),e[15]=o.name,e[16]=c,e[17]=f):f=e[17];let d;e[18]===o.path?d=e[19]:(d=(0,r.jsx)("p",{title:o.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:o.path}),e[18]=o.path,e[19]=d);let y;e[20]!==f||e[21]!==d?(y=(0,r.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,d]}),e[20]=f,e[21]=d,e[22]=y):y=e[22];let x;e[23]===o.path?x=e[24]:(x=(0,r.jsx)("div",{children:(0,r.jsx)(ye,{filePath:o.path})}),e[23]=o.path,e[24]=x);let v;e[25]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),e[25]=v):v=e[25];let b;e[26]===x?b=e[27]:(b=(0,r.jsxs)("div",{className:"flex gap-3 items-center",children:[x,v]}),e[26]=x,e[27]=b);let g;e[28]!==o.lastModified||e[29]!==s?(g=!!o.lastModified&&(0,r.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:ut(o.lastModified*1e3,s)}),e[28]=o.lastModified,e[29]=s,e[30]=g):g=e[30];let j;e[31]!==b||e[32]!==g?(j=(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[b,g]}),e[31]=b,e[32]=g,e[33]=j):j=e[33];let k;return e[34]!==y||e[35]!==j||e[36]!==m||e[37]!==h||e[38]!==p||e[39]!==l?(k=(0,r.jsxs)("a",{className:m,href:p,target:l,children:[y,j]},h),e[34]=y,e[35]=j,e[36]=m,e[37]=h,e[38]=p,e[39]=l,e[40]=k):k=e[40],k},ye=t=>{let e=(0,W.c)(10),{filePath:o}=t,{openConfirm:s,closeModal:a}=gt(),{shutdownSession:n}=Y(),{runningNotebooks:i,setRunningNotebooks:m}=(0,P.use)(te);if(!i.has(o))return null;let h;e[0]!==a||e[1]!==o||e[2]!==s||e[3]!==i||e[4]!==m||e[5]!==n?(h=l=>{l.stopPropagation(),l.preventDefault(),s({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,r.jsx)(Re,{onClick:()=>{let c=i.get(o);Ce(c==null?void 0:c.sessionId),n({sessionId:c.sessionId}).then(f=>{m(me.keyBy(f.files,Kt))}),a(),de({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[0]=a,e[1]=o,e[2]=s,e[3]=i,e[4]=m,e[5]=n,e[6]=h):h=e[6];let p;e[7]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(nt,{size:14}),e[7]=p):p=e[7];let u;return e[8]===h?u=e[9]:(u=(0,r.jsx)(Ae,{content:"Shutdown",children:(0,r.jsx)(B,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:h,children:p})}),e[8]=h,e[9]=u),u},Vt=()=>{let t=(0,W.c)(3),e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=pt(),t[0]=e):e=t[0];let o=e,s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),t[1]=s):s=t[1];let a;return t[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,r.jsxs)("a",{className:`relative rounded-lg p-6 group
|
|
2
2
|
text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
|
|
3
3
|
transition-all duration-300 cursor-pointer
|
|
4
|
-
`,href:o,target:"_blank",rel:"noreferrer",children:[s,(0,r.jsx)("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:(0,r.jsx)(Q,{size:24})})]}),t[2]=a):a=t[2],a},Bt=Wt;function Yt(t){return t+1}function qt(t){return t.path}function
|
|
4
|
+
`,href:o,target:"_blank",rel:"noreferrer",children:[s,(0,r.jsx)("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:(0,r.jsx)(Q,{size:24})})]}),t[2]=a):a=t[2],a},Bt=Wt;function Yt(t){return t+1}function qt(t){return t.path}function Gt(t){return t.path}function Jt(){return null}function Qt(t){return(0,r.jsx)(Ht,{file:t},t.path)}function Kt(t){return t.path}export{Bt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as q}from"./useEvent-D91BmmQi.js";import{Hn as W,Xi as C,y as G}from"./cells-Jr-5Pc9f.js";import{g as v}from"./useEventListener-C0195JsF.js";import{t as $}from"./requests-9-v2bhoi.js";function I({moduleName:e,variableName:t,onAddImport:r,appStore:n=q}){if(t in n.get(W))return!1;let{cellData:i,cellIds:o}=n.get(G),a=RegExp(`import[ ]+${e}[ ]+as[ ]+${t}`,"g");for(let l of o.inOrderIds)if(a.test(i[l].code))return!1;return r(`import ${e} as ${t}`),!0}function J({autoInstantiate:e,createNewCell:t,fromCellId:r,before:n}){let i=$(),o=null;return I({moduleName:"marimo",variableName:"mo",onAddImport:a=>{o=C.create(),t({cellId:r??"__end__",before:n??!1,code:a,lastCodeRun:e?a:void 0,newCellId:o,skipIfCodeExists:!0,autoFocus:!1}),e&&i.sendRun({cellIds:[o],codes:[a]})}})?o:null}function X({autoInstantiate:e,createNewCell:t,fromCellId:r}){let n=$(),i=null;return I({moduleName:"altair",variableName:"alt",onAddImport:o=>{i=C.create(),t({cellId:r??"__end__",before:!1,code:o,lastCodeRun:e?o:void 0,newCellId:i,skipIfCodeExists:!0,autoFocus:!1}),e&&n.sendRun({cellIds:[i],codes:[o]})}})?i:null}function K(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let r=document.implementation.createHTMLDocument(),n=r.createElement("base"),i=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(i),t&&(n.href=t),i.href=e,i.href}const Y=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function d(e){let t=[];for(let r=0,n=e.length;r<n;r++)t.push(e[r]);return t}var m=null;function R(e={}){return m||(e.includeStyleProperties?(m=e.includeStyleProperties,m):(m=d(window.getComputedStyle(document.documentElement)),m))}function p(e,t){let r=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return r?parseFloat(r.replace("px","")):0}function Z(e){let t=p(e,"border-left-width"),r=p(e,"border-right-width");return e.clientWidth+t+r}function ee(e){let t=p(e,"border-top-width"),r=p(e,"border-bottom-width");return e.clientHeight+t+r}function k(e,t={}){return{width:t.width||Z(e),height:t.height||ee(e)}}function te(){let e,t;try{t=process}catch{}let r=t&&t.env?t.env.devicePixelRatio:null;return r&&(e=parseInt(r,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var u=16384;function re(e){(e.width>u||e.height>u)&&(e.width>u&&e.height>u?e.width>e.height?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u):e.width>u?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u))}function w(e){return new Promise((t,r)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>t(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=e})}async function ne(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ie(e,t,r){let n="http://www.w3.org/2000/svg",i=document.createElementNS(n,"svg"),o=document.createElementNS(n,"foreignObject");return i.setAttribute("width",`${t}`),i.setAttribute("height",`${r}`),i.setAttribute("viewBox",`0 0 ${t} ${r}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),i.appendChild(o),o.appendChild(e),ne(i)}const c=(e,t)=>{if(e instanceof t)return!0;let r=Object.getPrototypeOf(e);return r===null?!1:r.constructor.name===t.name||c(r,t)};function oe(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function ae(e,t){return R(t).map(r=>`${r}: ${e.getPropertyValue(r)}${e.getPropertyPriority(r)?" !important":""};`).join(" ")}function le(e,t,r,n){let i=`.${e}:${t}`,o=r.cssText?oe(r):ae(r,n);return document.createTextNode(`${i}{${o}}`)}function P(e,t,r,n){let i=window.getComputedStyle(e,r),o=i.getPropertyValue("content");if(o===""||o==="none")return;let a=Y();try{t.className=`${t.className} ${a}`}catch{return}let l=document.createElement("style");l.appendChild(le(a,r,i,n)),t.appendChild(l)}function se(e,t,r){P(e,t,":before",r),P(e,t,":after",r)}var N="application/font-woff",T="image/jpeg",ce={woff:N,woff2:N,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:T,jpeg:T,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function ue(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function A(e){return ce[ue(e).toLowerCase()]||""}function de(e){return e.split(/,/)[1]}function x(e){return e.search(/^(data:)/)!==-1}function L(e,t){return`data:${t};base64,${e}`}async function F(e,t,r){let n=await fetch(e,t);if(n.status===404)throw Error(`Resource "${n.url}" not found`);let i=await n.blob();return new Promise((o,a)=>{let l=new FileReader;l.onerror=a,l.onloadend=()=>{try{o(r({res:n,result:l.result}))}catch(s){a(s)}},l.readAsDataURL(i)})}var E={};function fe(e,t,r){let n=e.replace(/\?.*/,"");return r&&(n=e),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),t?`[${t}]${n}`:n}async function S(e,t,r){let n=fe(e,t,r.includeQueryParams);if(E[n]!=null)return E[n];r.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let i;try{i=L(await F(e,r.fetchRequestInit,({res:o,result:a})=>(t||(t=o.headers.get("Content-Type")||""),de(a))),t)}catch(o){i=r.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;o&&(a=typeof o=="string"?o:o.message),a&&console.warn(a)}return E[n]=i,i}async function he(e){let t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):w(t)}async function ge(e,t){if(e.currentSrc){let n=document.createElement("canvas"),i=n.getContext("2d");return n.width=e.clientWidth,n.height=e.clientHeight,i==null||i.drawImage(e,0,0,n.width,n.height),w(n.toDataURL())}let r=e.poster;return w(await S(r,A(r),t))}async function me(e,t){var r;try{if((r=e==null?void 0:e.contentDocument)!=null&&r.body)return await y(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function pe(e,t){return c(e,HTMLCanvasElement)?he(e):c(e,HTMLVideoElement)?ge(e,t):c(e,HTMLIFrameElement)?me(e,t):e.cloneNode(H(e))}var we=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",H=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function ye(e,t,r){var i;if(H(t))return t;let n=[];if(we(e)&&e.assignedNodes)n=d(e.assignedNodes());else if(c(e,HTMLIFrameElement))try{(i=e.contentDocument)!=null&&i.body&&(n=d(e.contentDocument.body.childNodes))}catch{}else n=d((e.shadowRoot??e).childNodes);return n.length===0||c(e,HTMLVideoElement)||await n.reduce((o,a)=>o.then(()=>y(a,r)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function be(e,t,r){let n=t.style;if(!n)return;let i=window.getComputedStyle(e);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):R(r).forEach(o=>{let a=i.getPropertyValue(o);o==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),c(e,HTMLIFrameElement)&&o==="display"&&a==="inline"&&(a="block"),o==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),n.setProperty(o,a,i.getPropertyPriority(o))})}function Ae(e,t){c(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),c(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function xe(e,t){if(c(e,HTMLSelectElement)){let r=t,n=Array.from(r.children).find(i=>e.value===i.getAttribute("value"));n&&n.setAttribute("selected","")}}function Ee(e,t,r){return c(t,Element)&&(be(e,t,r),se(e,t,r),Ae(e,t),xe(e,t)),t}async function Se(e,t){let r=e.querySelectorAll?e.querySelectorAll("use"):[];if(r.length===0)return e;let n={};for(let o=0;o<r.length;o++){let a=r[o].getAttribute("xlink:href");if(a){let l=e.querySelector(a),s=document.querySelector(a);!l&&s&&!n[a]&&(n[a]=await y(s,t,!0))}}let i=Object.values(n);if(i.length){let o="http://www.w3.org/1999/xhtml",a=document.createElementNS(o,"svg");a.setAttribute("xmlns",o),a.style.position="absolute",a.style.width="0",a.style.height="0",a.style.overflow="hidden",a.style.display="none";let l=document.createElementNS(o,"defs");a.appendChild(l);for(let s=0;s<i.length;s++)l.appendChild(i[s]);e.appendChild(a)}return e}async function y(e,t,r){return!r&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(n=>pe(n,t)).then(n=>ye(e,n,t)).then(n=>Ee(e,n,t)).then(n=>Se(n,t))}var V=/url\((['"]?)([^'"]+?)\1\)/g,Ce=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,ve=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function $e(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Ie(e){let t=[];return e.replace(V,(r,n,i)=>(t.push(i),r)),t.filter(r=>!x(r))}async function Re(e,t,r,n,i){try{let o=r?K(t,r):t,a=A(t),l;return l=i?L(await i(o),a):await S(o,a,n),e.replace($e(t),`$1${l}$3`)}catch{}return e}function ke(e,{preferredFontFormat:t}){return t?e.replace(ve,r=>{for(;;){let[n,,i]=Ce.exec(r)||[];if(!i)return"";if(i===t)return`src: ${n};`}}):e}function D(e){return e.search(V)!==-1}async function M(e,t,r){if(!D(e))return e;let n=ke(e,r);return Ie(n).reduce((i,o)=>i.then(a=>Re(a,o,t,r)),Promise.resolve(n))}async function h(e,t,r){var i;let n=(i=t.style)==null?void 0:i.getPropertyValue(e);if(n){let o=await M(n,null,r);return t.style.setProperty(e,o,t.style.getPropertyPriority(e)),!0}return!1}async function Pe(e,t){await h("background",e,t)||await h("background-image",e,t),await h("mask",e,t)||await h("-webkit-mask",e,t)||await h("mask-image",e,t)||await h("-webkit-mask-image",e,t)}async function Ne(e,t){let r=c(e,HTMLImageElement);if(!(r&&!x(e.src))&&!(c(e,SVGImageElement)&&!x(e.href.baseVal)))return;let n=r?e.src:e.href.baseVal,i=await S(n,A(n),t);await new Promise((o,a)=>{e.onload=o,e.onerror=t.onImageErrorHandler?(...s)=>{try{o(t.onImageErrorHandler(...s))}catch(f){a(f)}}:a;let l=e;l.decode&&(l.decode=o),l.loading==="lazy"&&(l.loading="eager"),r?(e.srcset="",e.src=i):e.href.baseVal=i})}async function Te(e,t){let r=d(e.childNodes).map(n=>j(n,t));await Promise.all(r).then(()=>e)}async function j(e,t){c(e,Element)&&(await Pe(e,t),await Ne(e,t),await Te(e,t))}function Le(e,t){let{style:r}=e;t.backgroundColor&&(r.backgroundColor=t.backgroundColor),t.width&&(r.width=`${t.width}px`),t.height&&(r.height=`${t.height}px`);let n=t.style;return n!=null&&Object.keys(n).forEach(i=>{r[i]=n[i]}),e}var O={};async function U(e){let t=O[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},O[e]=t,t)}async function z(e,t){let r=e.cssText,n=/url\(["']?([^"')]+)["']?\)/g,i=(r.match(/url\([^)]+\)/g)||[]).map(async o=>{let a=o.replace(n,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),F(a,t.fetchRequestInit,({result:l})=>(r=r.replace(o,`url(${l})`),[o,l]))});return Promise.all(i).then(()=>r)}function _(e){if(e==null)return[];let t=[],r=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),n=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let a=n.exec(r);if(a===null)break;t.push(a[0])}r=r.replace(n,"");let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let a=i.exec(r);if(a===null){if(a=o.exec(r),a===null)break;i.lastIndex=o.lastIndex}else o.lastIndex=i.lastIndex;t.push(a[0])}return t}async function Fe(e,t){let r=[],n=[];return e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach((o,a)=>{if(o.type===CSSRule.IMPORT_RULE){let l=a+1,s=o.href,f=U(s).then(g=>z(g,t)).then(g=>_(g).forEach(b=>{try{i.insertRule(b,b.startsWith("@import")?l+=1:i.cssRules.length)}catch(B){console.error("Error inserting rule from remote css",{rule:b,error:B})}})).catch(g=>{console.error("Error loading remote css",g.toString())});n.push(f)}})}catch(o){let a=e.find(l=>l.href==null)||document.styleSheets[0];i.href!=null&&n.push(U(i.href).then(l=>z(l,t)).then(l=>_(l).forEach(s=>{a.insertRule(s,a.cssRules.length)})).catch(l=>{console.error("Error loading remote stylesheet",l)})),console.error("Error inlining remote css file",o)}}),Promise.all(n).then(()=>(e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach(o=>{r.push(o)})}catch(o){console.error(`Error while reading CSS rules from ${i.href}`,o)}}),r))}function He(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>D(t.style.getPropertyValue("src")))}async function Ve(e,t){if(e.ownerDocument==null)throw Error("Provided element is not within a Document");return He(await Fe(d(e.ownerDocument.styleSheets),t))}function Q(e){return(e||"").trim().replace(/["']/g,"")}function De(e){let t=new Set;function r(n){let i=n.style.fontFamily||getComputedStyle(n).fontFamily;i&&i.split(",").forEach(o=>{t.add(Q(o))}),Array.from(n.children).forEach(o=>{o instanceof HTMLElement&&r(o)})}return r(e),t}async function Me(e,t){let r=await Ve(e,t),n=De(e);return(await Promise.all(r.filter(i=>n.has(Q(i.style.fontFamily))).map(i=>{let o=i.parentStyleSheet?i.parentStyleSheet.href:null;return M(i.cssText,o,t)}))).join(`
|
|
2
|
-
`)}async function je(e,t){let r=t.fontEmbedCSS==null?t.skipFonts?null:await Me(e,t):t.fontEmbedCSS,n=t.extraStyleContent==null?r:(r||"").concat(t.extraStyleContent);if(n){let i=document.createElement("style"),o=document.createTextNode(n);i.appendChild(o),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function
|
|
1
|
+
import{i as q}from"./useEvent-D91BmmQi.js";import{Un as W,Zi as C,y as G}from"./cells-C3V6s-g5.js";import{g as v}from"./useEventListener-C0195JsF.js";import{t as $}from"./requests-9-v2bhoi.js";function I({moduleName:e,variableName:t,onAddImport:r,appStore:n=q}){if(t in n.get(W))return!1;let{cellData:i,cellIds:o}=n.get(G),a=RegExp(`import[ ]+${e}[ ]+as[ ]+${t}`,"g");for(let l of o.inOrderIds)if(a.test(i[l].code))return!1;return r(`import ${e} as ${t}`),!0}function J({autoInstantiate:e,createNewCell:t,fromCellId:r,before:n}){let i=$(),o=null;return I({moduleName:"marimo",variableName:"mo",onAddImport:a=>{o=C.create(),t({cellId:r??"__end__",before:n??!1,code:a,lastCodeRun:e?a:void 0,newCellId:o,skipIfCodeExists:!0,autoFocus:!1}),e&&i.sendRun({cellIds:[o],codes:[a]})}})?o:null}function K({autoInstantiate:e,createNewCell:t,fromCellId:r}){let n=$(),i=null;return I({moduleName:"altair",variableName:"alt",onAddImport:o=>{i=C.create(),t({cellId:r??"__end__",before:!1,code:o,lastCodeRun:e?o:void 0,newCellId:i,skipIfCodeExists:!0,autoFocus:!1}),e&&n.sendRun({cellIds:[i],codes:[o]})}})?i:null}function X(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let r=document.implementation.createHTMLDocument(),n=r.createElement("base"),i=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(i),t&&(n.href=t),i.href=e,i.href}const Y=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function d(e){let t=[];for(let r=0,n=e.length;r<n;r++)t.push(e[r]);return t}var m=null;function R(e={}){return m||(e.includeStyleProperties?(m=e.includeStyleProperties,m):(m=d(window.getComputedStyle(document.documentElement)),m))}function p(e,t){let r=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return r?parseFloat(r.replace("px","")):0}function Z(e){let t=p(e,"border-left-width"),r=p(e,"border-right-width");return e.clientWidth+t+r}function ee(e){let t=p(e,"border-top-width"),r=p(e,"border-bottom-width");return e.clientHeight+t+r}function k(e,t={}){return{width:t.width||Z(e),height:t.height||ee(e)}}function te(){let e,t;try{t=process}catch{}let r=t&&t.env?t.env.devicePixelRatio:null;return r&&(e=parseInt(r,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var u=16384;function re(e){(e.width>u||e.height>u)&&(e.width>u&&e.height>u?e.width>e.height?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u):e.width>u?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u))}function w(e){return new Promise((t,r)=>{let n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>t(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=e})}async function ne(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(t=>`data:image/svg+xml;charset=utf-8,${t}`)}async function ie(e,t,r){let n="http://www.w3.org/2000/svg",i=document.createElementNS(n,"svg"),o=document.createElementNS(n,"foreignObject");return i.setAttribute("width",`${t}`),i.setAttribute("height",`${r}`),i.setAttribute("viewBox",`0 0 ${t} ${r}`),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("x","0"),o.setAttribute("y","0"),o.setAttribute("externalResourcesRequired","true"),i.appendChild(o),o.appendChild(e),ne(i)}const c=(e,t)=>{if(e instanceof t)return!0;let r=Object.getPrototypeOf(e);return r===null?!1:r.constructor.name===t.name||c(r,t)};function oe(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}function ae(e,t){return R(t).map(r=>`${r}: ${e.getPropertyValue(r)}${e.getPropertyPriority(r)?" !important":""};`).join(" ")}function le(e,t,r,n){let i=`.${e}:${t}`,o=r.cssText?oe(r):ae(r,n);return document.createTextNode(`${i}{${o}}`)}function P(e,t,r,n){let i=window.getComputedStyle(e,r),o=i.getPropertyValue("content");if(o===""||o==="none")return;let a=Y();try{t.className=`${t.className} ${a}`}catch{return}let l=document.createElement("style");l.appendChild(le(a,r,i,n)),t.appendChild(l)}function se(e,t,r){P(e,t,":before",r),P(e,t,":after",r)}var N="application/font-woff",T="image/jpeg",ce={woff:N,woff2:N,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:T,jpeg:T,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function ue(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""}function A(e){return ce[ue(e).toLowerCase()]||""}function de(e){return e.split(/,/)[1]}function x(e){return e.search(/^(data:)/)!==-1}function L(e,t){return`data:${t};base64,${e}`}async function F(e,t,r){let n=await fetch(e,t);if(n.status===404)throw Error(`Resource "${n.url}" not found`);let i=await n.blob();return new Promise((o,a)=>{let l=new FileReader;l.onerror=a,l.onloadend=()=>{try{o(r({res:n,result:l.result}))}catch(s){a(s)}},l.readAsDataURL(i)})}var E={};function fe(e,t,r){let n=e.replace(/\?.*/,"");return r&&(n=e),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),t?`[${t}]${n}`:n}async function S(e,t,r){let n=fe(e,t,r.includeQueryParams);if(E[n]!=null)return E[n];r.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let i;try{i=L(await F(e,r.fetchRequestInit,({res:o,result:a})=>(t||(t=o.headers.get("Content-Type")||""),de(a))),t)}catch(o){i=r.imagePlaceholder||"";let a=`Failed to fetch resource: ${e}`;o&&(a=typeof o=="string"?o:o.message),a&&console.warn(a)}return E[n]=i,i}async function he(e){let t=e.toDataURL();return t==="data:,"?e.cloneNode(!1):w(t)}async function ge(e,t){if(e.currentSrc){let n=document.createElement("canvas"),i=n.getContext("2d");return n.width=e.clientWidth,n.height=e.clientHeight,i==null||i.drawImage(e,0,0,n.width,n.height),w(n.toDataURL())}let r=e.poster;return w(await S(r,A(r),t))}async function me(e,t){var r;try{if((r=e==null?void 0:e.contentDocument)!=null&&r.body)return await y(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function pe(e,t){return c(e,HTMLCanvasElement)?he(e):c(e,HTMLVideoElement)?ge(e,t):c(e,HTMLIFrameElement)?me(e,t):e.cloneNode(H(e))}var we=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",H=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function ye(e,t,r){var i;if(H(t))return t;let n=[];if(we(e)&&e.assignedNodes)n=d(e.assignedNodes());else if(c(e,HTMLIFrameElement))try{(i=e.contentDocument)!=null&&i.body&&(n=d(e.contentDocument.body.childNodes))}catch{}else n=d((e.shadowRoot??e).childNodes);return n.length===0||c(e,HTMLVideoElement)||await n.reduce((o,a)=>o.then(()=>y(a,r)).then(l=>{l&&t.appendChild(l)}),Promise.resolve()),t}function be(e,t,r){let n=t.style;if(!n)return;let i=window.getComputedStyle(e);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):R(r).forEach(o=>{let a=i.getPropertyValue(o);o==="font-size"&&a.endsWith("px")&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),c(e,HTMLIFrameElement)&&o==="display"&&a==="inline"&&(a="block"),o==="d"&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),n.setProperty(o,a,i.getPropertyPriority(o))})}function Ae(e,t){c(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),c(e,HTMLInputElement)&&t.setAttribute("value",e.value)}function xe(e,t){if(c(e,HTMLSelectElement)){let r=t,n=Array.from(r.children).find(i=>e.value===i.getAttribute("value"));n&&n.setAttribute("selected","")}}function Ee(e,t,r){return c(t,Element)&&(be(e,t,r),se(e,t,r),Ae(e,t),xe(e,t)),t}async function Se(e,t){let r=e.querySelectorAll?e.querySelectorAll("use"):[];if(r.length===0)return e;let n={};for(let o=0;o<r.length;o++){let a=r[o].getAttribute("xlink:href");if(a){let l=e.querySelector(a),s=document.querySelector(a);!l&&s&&!n[a]&&(n[a]=await y(s,t,!0))}}let i=Object.values(n);if(i.length){let o="http://www.w3.org/1999/xhtml",a=document.createElementNS(o,"svg");a.setAttribute("xmlns",o),a.style.position="absolute",a.style.width="0",a.style.height="0",a.style.overflow="hidden",a.style.display="none";let l=document.createElementNS(o,"defs");a.appendChild(l);for(let s=0;s<i.length;s++)l.appendChild(i[s]);e.appendChild(a)}return e}async function y(e,t,r){return!r&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(n=>pe(n,t)).then(n=>ye(e,n,t)).then(n=>Ee(e,n,t)).then(n=>Se(n,t))}var V=/url\((['"]?)([^'"]+?)\1\)/g,Ce=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,ve=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function $e(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}function Ie(e){let t=[];return e.replace(V,(r,n,i)=>(t.push(i),r)),t.filter(r=>!x(r))}async function Re(e,t,r,n,i){try{let o=r?X(t,r):t,a=A(t),l;return l=i?L(await i(o),a):await S(o,a,n),e.replace($e(t),`$1${l}$3`)}catch{}return e}function ke(e,{preferredFontFormat:t}){return t?e.replace(ve,r=>{for(;;){let[n,,i]=Ce.exec(r)||[];if(!i)return"";if(i===t)return`src: ${n};`}}):e}function D(e){return e.search(V)!==-1}async function M(e,t,r){if(!D(e))return e;let n=ke(e,r);return Ie(n).reduce((i,o)=>i.then(a=>Re(a,o,t,r)),Promise.resolve(n))}async function h(e,t,r){var i;let n=(i=t.style)==null?void 0:i.getPropertyValue(e);if(n){let o=await M(n,null,r);return t.style.setProperty(e,o,t.style.getPropertyPriority(e)),!0}return!1}async function Pe(e,t){await h("background",e,t)||await h("background-image",e,t),await h("mask",e,t)||await h("-webkit-mask",e,t)||await h("mask-image",e,t)||await h("-webkit-mask-image",e,t)}async function Ne(e,t){let r=c(e,HTMLImageElement);if(!(r&&!x(e.src))&&!(c(e,SVGImageElement)&&!x(e.href.baseVal)))return;let n=r?e.src:e.href.baseVal,i=await S(n,A(n),t);await new Promise((o,a)=>{e.onload=o,e.onerror=t.onImageErrorHandler?(...s)=>{try{o(t.onImageErrorHandler(...s))}catch(f){a(f)}}:a;let l=e;l.decode&&(l.decode=o),l.loading==="lazy"&&(l.loading="eager"),r?(e.srcset="",e.src=i):e.href.baseVal=i})}async function Te(e,t){let r=d(e.childNodes).map(n=>j(n,t));await Promise.all(r).then(()=>e)}async function j(e,t){c(e,Element)&&(await Pe(e,t),await Ne(e,t),await Te(e,t))}function Le(e,t){let{style:r}=e;t.backgroundColor&&(r.backgroundColor=t.backgroundColor),t.width&&(r.width=`${t.width}px`),t.height&&(r.height=`${t.height}px`);let n=t.style;return n!=null&&Object.keys(n).forEach(i=>{r[i]=n[i]}),e}var U={};async function O(e){let t=U[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},U[e]=t,t)}async function z(e,t){let r=e.cssText,n=/url\(["']?([^"')]+)["']?\)/g,i=(r.match(/url\([^)]+\)/g)||[]).map(async o=>{let a=o.replace(n,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),F(a,t.fetchRequestInit,({result:l})=>(r=r.replace(o,`url(${l})`),[o,l]))});return Promise.all(i).then(()=>r)}function _(e){if(e==null)return[];let t=[],r=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),n=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let a=n.exec(r);if(a===null)break;t.push(a[0])}r=r.replace(n,"");let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,o=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let a=i.exec(r);if(a===null){if(a=o.exec(r),a===null)break;i.lastIndex=o.lastIndex}else o.lastIndex=i.lastIndex;t.push(a[0])}return t}async function Fe(e,t){let r=[],n=[];return e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach((o,a)=>{if(o.type===CSSRule.IMPORT_RULE){let l=a+1,s=o.href,f=O(s).then(g=>z(g,t)).then(g=>_(g).forEach(b=>{try{i.insertRule(b,b.startsWith("@import")?l+=1:i.cssRules.length)}catch(B){console.error("Error inserting rule from remote css",{rule:b,error:B})}})).catch(g=>{console.error("Error loading remote css",g.toString())});n.push(f)}})}catch(o){let a=e.find(l=>l.href==null)||document.styleSheets[0];i.href!=null&&n.push(O(i.href).then(l=>z(l,t)).then(l=>_(l).forEach(s=>{a.insertRule(s,a.cssRules.length)})).catch(l=>{console.error("Error loading remote stylesheet",l)})),console.error("Error inlining remote css file",o)}}),Promise.all(n).then(()=>(e.forEach(i=>{if("cssRules"in i)try{d(i.cssRules||[]).forEach(o=>{r.push(o)})}catch(o){console.error(`Error while reading CSS rules from ${i.href}`,o)}}),r))}function He(e){return e.filter(t=>t.type===CSSRule.FONT_FACE_RULE).filter(t=>D(t.style.getPropertyValue("src")))}async function Ve(e,t){if(e.ownerDocument==null)throw Error("Provided element is not within a Document");return He(await Fe(d(e.ownerDocument.styleSheets),t))}function Q(e){return(e||"").trim().replace(/["']/g,"")}function De(e){let t=new Set;function r(n){let i=n.style.fontFamily||getComputedStyle(n).fontFamily;i&&i.split(",").forEach(o=>{t.add(Q(o))}),Array.from(n.children).forEach(o=>{o instanceof HTMLElement&&r(o)})}return r(e),t}async function Me(e,t){let r=await Ve(e,t),n=De(e);return(await Promise.all(r.filter(i=>n.has(Q(i.style.fontFamily))).map(i=>{let o=i.parentStyleSheet?i.parentStyleSheet.href:null;return M(i.cssText,o,t)}))).join(`
|
|
2
|
+
`)}async function je(e,t){let r=t.fontEmbedCSS==null?t.skipFonts?null:await Me(e,t):t.fontEmbedCSS,n=t.extraStyleContent==null?r:(r||"").concat(t.extraStyleContent);if(n){let i=document.createElement("style"),o=document.createTextNode(n);i.appendChild(o),e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}}async function Ue(e,t={}){let{width:r,height:n}=k(e,t),i=await y(e,t,!0);return await je(i,t),await j(i,t),Le(i,t),await ie(i,r,n)}async function Oe(e,t={}){let{width:r,height:n}=k(e,t),i=await w(await Ue(e,t)),o=document.createElement("canvas"),a=o.getContext("2d"),l=t.pixelRatio||te(),s=t.canvasWidth||r,f=t.canvasHeight||n;return o.width=s*l,o.height=f*l,t.skipAutoScale||re(o),o.style.width=`${s}`,o.style.height=`${f}`,t.backgroundColor&&(a.fillStyle=t.backgroundColor,a.fillRect(0,0,o.width,o.height)),a.drawImage(i,0,0,o.width,o.height),o}async function ze(e,t={}){return(await Oe(e,t)).toDataURL()}const _e={filter:e=>{try{if("classList"in e){let t=e.classList;if(t.contains("mpl-toolbar")||t.contains("print:hidden"))return!1}return!0}catch(t){return v.error("Error filtering node:",t),!0}},imagePlaceholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQI12NgAAIABQABNjN9GQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAA0lEQVQI12P4z8BQDwAEgAF/QualIQAAAABJRU5ErkJggg==",onImageErrorHandler:e=>{v.error("Error loading image:",e)},includeStyleProperties:"width.height.min-width.min-height.max-width.max-height.box-sizing.aspect-ratio.display.position.top.left.bottom.right.z-index.float.clear.flex.flex-direction.flex-wrap.flex-grow.flex-shrink.flex-basis.align-items.align-self.justify-content.gap.order.grid-template-columns.grid-template-rows.grid-column.grid-row.row-gap.column-gap.margin.margin-top.margin-right.margin-bottom.margin-left.padding.padding-top.padding-right.padding-bottom.padding-left.font.font-family.font-size.font-weight.font-style.line-height.letter-spacing.word-spacing.text-align.text-decoration.text-transform.text-indent.text-shadow.white-space.text-wrap.word-break.text-overflow.vertical-align.color.background.background-color.background-image.background-size.background-position.background-repeat.background-clip.border.border-width.border-style.border-color.border-top.border-right.border-bottom.border-left.border-radius.outline.box-shadow.text-shadow.opacity.filter.backdrop-filter.mix-blend-mode.transform.clip-path.overflow.overflow-x.overflow-y.visibility.fill.stroke.stroke-width.object-fit.object-position.list-style.list-style-type.border-collapse.border-spacing.content.cursor".split(".")};async function Qe(e,t){return ze(e,{..._e,...t})}export{K as n,J as r,Qe as t};
|