@marimo-team/frontend 0.19.7-dev35 → 0.19.7-dev36
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/{JsonOutput-BGSqWZkD.js → JsonOutput-DtidtKaJ.js} +2 -2
- package/dist/assets/{MarimoErrorOutput-DFV7O8tN.js → MarimoErrorOutput-Cci2wITc.js} +1 -1
- package/dist/assets/{add-cell-with-ai-gDjJxct8.js → add-cell-with-ai-DT1ae2MK.js} +1 -1
- package/dist/assets/{add-database-form-CqEjMrq2.js → add-database-form-_pTLtiHN.js} +1 -1
- package/dist/assets/{agent-panel-D_hcgMlT.js → agent-panel-oLGqa4bG.js} +1 -1
- package/dist/assets/{ai-model-dropdown-C_l_zAXd.js → ai-model-dropdown-BL-PaF8o.js} +1 -1
- package/dist/assets/{app-config-button-CM05VD_Y.js → app-config-button-BiwYEPE8.js} +1 -1
- package/dist/assets/{cell-editor-ihhw9Ql3.js → cell-editor-B3U1SnYJ.js} +1 -1
- package/dist/assets/{chat-display-yGAtJXm0.js → chat-display-B34MaCGM.js} +1 -1
- package/dist/assets/{chat-panel-D3T1CjpZ.js → chat-panel-fuQFRvFm.js} +1 -1
- package/dist/assets/{column-preview-DbqM1diq.js → column-preview-B-dViv1i.js} +1 -1
- package/dist/assets/{command-palette-C2L80RlN.js → command-palette-KuNgJNix.js} +1 -1
- package/dist/assets/{common-D32S2RVD.js → common-DxKcMlJZ.js} +1 -1
- package/dist/assets/{dependency-graph-panel-C7ZXgECY.js → dependency-graph-panel-BZEIOxVz.js} +1 -1
- package/dist/assets/download-Bwa9P-Pz.js +6 -0
- package/dist/assets/{dropdown-menu-df9T83C0.js → dropdown-menu-B-6unW-7.js} +1 -1
- package/dist/assets/{edit-page-DFpXAt-U.js → edit-page-DoQyHH-0.js} +4 -4
- package/dist/assets/{error-panel-DKIWwbhe.js → error-panel-DulelhA-.js} +1 -1
- package/dist/assets/{file-explorer-panel-D4VHkjMW.js → file-explorer-panel-Dn9tKw3E.js} +1 -1
- package/dist/assets/{form-XjMNGyzu.js → form-B1n-e_X0.js} +1 -1
- package/dist/assets/{glide-data-editor-BBSxoBI-.js → glide-data-editor-HGkaxqOo.js} +1 -1
- package/dist/assets/home-page--XVUAUCM.js +4 -0
- package/dist/assets/hooks-B1nUQK2T.js +1 -0
- package/dist/assets/{html-to-image-DKvXQkl5.js → html-to-image-Cu1p0tCK.js} +2 -2
- package/dist/assets/{index-BRCNo5ma.js → index-BHikcWoK.js} +5 -5
- package/dist/assets/{index-DmMvDRRC.css → index-Bj5F80Z9.css} +1 -1
- package/dist/assets/{layout-DiDoTAUA.js → layout-KY92f2Sm.js} +3 -3
- package/dist/assets/{markdown-renderer-xQJ1KM4c.js → markdown-renderer-Dpn5NCvn.js} +1 -1
- package/dist/assets/{packages-panel-D53RuG3X.js → packages-panel-CBc59eNR.js} +1 -1
- package/dist/assets/{panels-BhznEx5N.js → panels-B0B71dYl.js} +1 -1
- package/dist/assets/{popover-D16ZremR.js → popover-Gz-GJzym.js} +1 -1
- package/dist/assets/{readonly-python-code-kImQwJ5f.js → readonly-python-code-CCwpyiLX.js} +1 -1
- package/dist/assets/{renderShortcut-DHc-p-_c.js → renderShortcut-DEwfrKeS.js} +1 -1
- package/dist/assets/run-page-Dug0EU2T.js +1 -0
- package/dist/assets/{scratchpad-panel-C8wx6cRl.js → scratchpad-panel-SMFZ5eRQ.js} +1 -1
- package/dist/assets/{secrets-panel-Br6CcsOE.js → secrets-panel-BaEqnh6m.js} +1 -1
- package/dist/assets/{session-panel-JOOuJNOH.js → session-panel-CR_CZBSy.js} +1 -1
- package/dist/assets/table-C8uQmBAN.js +1 -0
- package/dist/assets/{terminal-DNwT6UrR.js → terminal-C7HXI-7B.js} +1 -1
- package/dist/assets/{tree-BdwmBGSx.js → tree-B1vM35Zj.js} +1 -1
- package/dist/assets/{useAddCell-BMDEXuVk.js → useAddCell-DRmuczCx.js} +1 -1
- package/dist/assets/{useCellActionButton-BDMlZzyv.js → useCellActionButton-DwRoApVS.js} +1 -1
- package/dist/assets/{useDeleteCell-BrMXAFkS.js → useDeleteCell-CR3IczUk.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-B63bb4YX.js → useDependencyPanelTab-CLgnO1zH.js} +1 -1
- package/dist/assets/useNotebookActions-DhF-uJ0P.js +1 -0
- package/dist/assets/{useSplitCell-Cb0lf5MV.js → useSplitCell-IQsKBoRj.js} +1 -1
- package/dist/assets/{utilities.esm-BVFPJPyV.js → utilities.esm-DyYLtC1k.js} +2 -2
- package/dist/index.html +20 -20
- package/package.json +1 -1
- package/src/components/data-table/TableActions.tsx +5 -3
- package/src/components/data-table/download-actions.tsx +7 -2
- package/src/components/data-table/pagination.tsx +4 -4
- package/src/components/debug/indicator.tsx +1 -1
- package/src/components/editor/actions/useNotebookActions.tsx +4 -2
- package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +1 -1
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +4 -4
- package/src/components/editor/chrome/wrapper/footer.tsx +1 -1
- package/src/components/editor/chrome/wrapper/sidebar.tsx +1 -1
- package/src/components/editor/controls/Controls.tsx +2 -2
- package/src/components/editor/controls/notebook-menu-dropdown.tsx +1 -1
- package/src/components/editor/file-tree/file-explorer.tsx +1 -1
- package/src/components/editor/header/status.tsx +1 -1
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +13 -4
- package/src/components/home/components.tsx +1 -1
- package/src/components/static-html/static-banner.tsx +1 -1
- package/src/components/ui/dropdown-menu.tsx +1 -1
- package/src/components/ui/table.tsx +1 -1
- package/src/core/export/__tests__/hooks.test.ts +60 -58
- package/src/core/export/hooks.ts +71 -31
- package/src/css/app/print.css +0 -14
- package/src/utils/__tests__/async-capture-tracker.test.ts +353 -0
- package/src/utils/__tests__/download.test.tsx +5 -114
- package/src/utils/async-capture-tracker.ts +168 -0
- package/src/utils/download.ts +17 -57
- package/src/utils/html-to-image.ts +9 -12
- package/dist/assets/download-CzPV-R6Z.js +0 -6
- package/dist/assets/home-page-DBWXVxWa.js +0 -4
- package/dist/assets/hooks-CpjzmBkw.js +0 -1
- package/dist/assets/run-page-BCOAGhl5.js +0 -1
- package/dist/assets/table-BSASHvkq.js +0 -1
- package/dist/assets/useNotebookActions-Cj4FtiIb.js +0 -1
package/src/utils/download.ts
CHANGED
|
@@ -46,50 +46,21 @@ function findElementForCell(cellId: CellId): HTMLElement | undefined {
|
|
|
46
46
|
return element;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
/**
|
|
50
|
-
* Reference counter for body.printing class to handle concurrent screenshot captures.
|
|
51
|
-
* Only adds the class when count goes 0→1, only removes when count goes 1→0.
|
|
52
|
-
*/
|
|
53
|
-
let bodyPrintingRefCount = 0;
|
|
54
|
-
|
|
55
|
-
function acquireBodyPrinting() {
|
|
56
|
-
bodyPrintingRefCount++;
|
|
57
|
-
if (bodyPrintingRefCount === 1) {
|
|
58
|
-
document.body.classList.add("printing");
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function releaseBodyPrinting() {
|
|
63
|
-
bodyPrintingRefCount--;
|
|
64
|
-
if (bodyPrintingRefCount === 0) {
|
|
65
|
-
document.body.classList.remove("printing");
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
49
|
/**
|
|
70
50
|
* Prepare a cell element for screenshot capture.
|
|
71
51
|
*
|
|
72
52
|
* @param element - The cell output element to prepare
|
|
73
|
-
* @param snappy - When true, avoids layout shifts and speeds up the capture.
|
|
74
53
|
* @returns A cleanup function to restore the element's original state
|
|
75
54
|
*/
|
|
76
|
-
function prepareCellElementForScreenshot(
|
|
77
|
-
element: HTMLElement,
|
|
78
|
-
snappy: boolean,
|
|
79
|
-
) {
|
|
80
|
-
element.classList.add("printing-output");
|
|
81
|
-
if (!snappy) {
|
|
82
|
-
acquireBodyPrinting();
|
|
83
|
-
}
|
|
55
|
+
function prepareCellElementForScreenshot(element: HTMLElement) {
|
|
84
56
|
const originalOverflow = element.style.overflow;
|
|
85
|
-
element.style.
|
|
57
|
+
const maxHeight = element.style.maxHeight;
|
|
58
|
+
element.style.overflow = "visible";
|
|
59
|
+
element.style.maxHeight = "none";
|
|
86
60
|
|
|
87
61
|
return () => {
|
|
88
|
-
element.classList.remove("printing-output");
|
|
89
|
-
if (!snappy) {
|
|
90
|
-
releaseBodyPrinting();
|
|
91
|
-
}
|
|
92
62
|
element.style.overflow = originalOverflow;
|
|
63
|
+
element.style.maxHeight = maxHeight;
|
|
93
64
|
};
|
|
94
65
|
}
|
|
95
66
|
|
|
@@ -99,12 +70,10 @@ const THRESHOLD_TIME_MS = 500;
|
|
|
99
70
|
* Capture a cell output as a PNG data URL.
|
|
100
71
|
*
|
|
101
72
|
* @param cellId - The ID of the cell to capture
|
|
102
|
-
* @param snappy - When true, uses a faster method to capture the image. Avoids layout shifts.
|
|
103
73
|
* @returns The PNG as a data URL, or undefined if the cell element wasn't found
|
|
104
74
|
*/
|
|
105
75
|
export async function getImageDataUrlForCell(
|
|
106
76
|
cellId: CellId,
|
|
107
|
-
snappy = false,
|
|
108
77
|
): Promise<string | undefined> {
|
|
109
78
|
const element = findElementForCell(cellId);
|
|
110
79
|
if (!element) {
|
|
@@ -116,11 +85,11 @@ export async function getImageDataUrlForCell(
|
|
|
116
85
|
return iframeDataUrl;
|
|
117
86
|
}
|
|
118
87
|
|
|
119
|
-
const cleanup = prepareCellElementForScreenshot(element
|
|
88
|
+
const cleanup = prepareCellElementForScreenshot(element);
|
|
120
89
|
|
|
121
90
|
try {
|
|
122
91
|
const startTime = Date.now();
|
|
123
|
-
const dataUrl = await toPng(element
|
|
92
|
+
const dataUrl = await toPng(element);
|
|
124
93
|
const timeTaken = Date.now() - startTime;
|
|
125
94
|
if (timeTaken > THRESHOLD_TIME_MS) {
|
|
126
95
|
Logger.debug(
|
|
@@ -142,25 +111,20 @@ export async function downloadCellOutputAsImage(
|
|
|
142
111
|
cellId: CellId,
|
|
143
112
|
filename: string,
|
|
144
113
|
) {
|
|
145
|
-
const
|
|
146
|
-
if (!
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Cell outputs that are iframes
|
|
151
|
-
const iframeDataUrl = await captureIframeAsImage(element);
|
|
152
|
-
if (iframeDataUrl) {
|
|
153
|
-
downloadByURL(iframeDataUrl, Filenames.toPNG(filename));
|
|
114
|
+
const dataUrl = await getImageDataUrlForCell(cellId);
|
|
115
|
+
if (!dataUrl) {
|
|
154
116
|
return;
|
|
155
117
|
}
|
|
156
|
-
|
|
157
|
-
await downloadHTMLAsImage({
|
|
158
|
-
element,
|
|
159
|
-
filename,
|
|
160
|
-
prepare: () => prepareCellElementForScreenshot(element, false),
|
|
161
|
-
});
|
|
118
|
+
return downloadByURL(dataUrl, Filenames.toPNG(filename));
|
|
162
119
|
}
|
|
163
120
|
|
|
121
|
+
export const ADD_PRINTING_CLASS = (): (() => void) => {
|
|
122
|
+
document.body.classList.add("printing");
|
|
123
|
+
return () => {
|
|
124
|
+
document.body.classList.remove("printing");
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
|
|
164
128
|
export async function downloadHTMLAsImage(opts: {
|
|
165
129
|
element: HTMLElement;
|
|
166
130
|
filename: string;
|
|
@@ -175,10 +139,6 @@ export async function downloadHTMLAsImage(opts: {
|
|
|
175
139
|
let cleanup: (() => void) | undefined;
|
|
176
140
|
if (prepare) {
|
|
177
141
|
cleanup = prepare(element);
|
|
178
|
-
} else {
|
|
179
|
-
// When no prepare function is provided (e.g., downloading full notebook),
|
|
180
|
-
// add body.printing ourselves
|
|
181
|
-
document.body.classList.add("printing");
|
|
182
142
|
}
|
|
183
143
|
|
|
184
144
|
try {
|
|
@@ -113,10 +113,9 @@ export const necessaryStyleProperties = [
|
|
|
113
113
|
"clip-path",
|
|
114
114
|
|
|
115
115
|
// Overflow & Visibility
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
// "overflow-y",
|
|
116
|
+
"overflow",
|
|
117
|
+
"overflow-x",
|
|
118
|
+
"overflow-y",
|
|
120
119
|
"visibility",
|
|
121
120
|
|
|
122
121
|
// SVG
|
|
@@ -149,12 +148,11 @@ export const defaultHtmlToImageOptions: HtmlToImageOptions = {
|
|
|
149
148
|
filter: (node) => {
|
|
150
149
|
try {
|
|
151
150
|
if ("classList" in node) {
|
|
152
|
-
|
|
153
|
-
if (
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
if (node.classList.contains("no-print")) {
|
|
151
|
+
const classes = node.classList;
|
|
152
|
+
if (
|
|
153
|
+
classes.contains("mpl-toolbar") ||
|
|
154
|
+
classes.contains("print:hidden")
|
|
155
|
+
) {
|
|
158
156
|
return false;
|
|
159
157
|
}
|
|
160
158
|
}
|
|
@@ -167,6 +165,7 @@ export const defaultHtmlToImageOptions: HtmlToImageOptions = {
|
|
|
167
165
|
onImageErrorHandler: (event) => {
|
|
168
166
|
Logger.error("Error loading image:", event);
|
|
169
167
|
},
|
|
168
|
+
includeStyleProperties: necessaryStyleProperties,
|
|
170
169
|
};
|
|
171
170
|
|
|
172
171
|
/**
|
|
@@ -176,11 +175,9 @@ export const defaultHtmlToImageOptions: HtmlToImageOptions = {
|
|
|
176
175
|
export async function toPng(
|
|
177
176
|
element: HTMLElement,
|
|
178
177
|
options?: HtmlToImageOptions,
|
|
179
|
-
snappy?: boolean,
|
|
180
178
|
): Promise<string> {
|
|
181
179
|
return htmlToImageToPng(element, {
|
|
182
180
|
...defaultHtmlToImageOptions,
|
|
183
|
-
includeStyleProperties: snappy ? necessaryStyleProperties : undefined,
|
|
184
181
|
...options,
|
|
185
182
|
});
|
|
186
183
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
var ce=Object.defineProperty;var de=(r,e,t)=>e in r?ce(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var O=(r,e,t)=>de(r,typeof e!="symbol"?e+"":e,t);import{s as V,t as G}from"./chunk-LvLJmgfZ.js";import{t as q}from"./react-BGmjiNul.js";import{ii as fe,zt as me}from"./cells-BW_4R0Qw.js";import{t as B}from"./compiler-runtime-DeeZ7FnK.js";import{d as W}from"./hotkeys-BHHWjLlp.js";import{t as pe}from"./jsx-runtime-ZmTK25f3.js";import{t as z}from"./cn-BKtXLv3a.js";import{t as ve}from"./requests-BsVD4CdD.js";import{t as he}from"./createLucideIcon-CnW3RofX.js";import{t as _}from"./use-toast-rmUWldD_.js";import{d as ge}from"./popover-D16ZremR.js";import{r as ye}from"./errors-2SszdW9t.js";import{t as H}from"./dist-CdxIjAOP.js";import{t as k}from"./html-to-image-DKvXQkl5.js";var we=he("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),X=r=>{let e,t=new Set,a=(l,s)=>{let c=typeof l=="function"?l(e):l;if(!Object.is(c,e)){let d=e;e=s??(typeof c!="object"||!c)?c:Object.assign({},e,c),t.forEach(u=>u(e,d))}},n=()=>e,i={setState:a,getState:n,getInitialState:()=>o,subscribe:l=>(t.add(l),()=>t.delete(l)),destroy:()=>{t.clear()}},o=e=r(a,n,i);return i},xe=r=>r?X(r):X,be=G((r=>{var e=q(),t=ge();function a(d,u){return d===u&&(d!==0||1/d==1/u)||d!==d&&u!==u}var n=typeof Object.is=="function"?Object.is:a,i=t.useSyncExternalStore,o=e.useRef,l=e.useEffect,s=e.useMemo,c=e.useDebugValue;r.useSyncExternalStoreWithSelector=function(d,u,f,g,m){var p=o(null);if(p.current===null){var x={hasValue:!1,value:null};p.current=x}else x=p.current;p=s(function(){function U(y){if(!F){if(F=!0,$=y,y=g(y),m!==void 0&&x.hasValue){var N=x.value;if(m(N,y))return L=N}return L=y}if(N=L,n($,y))return N;var C=g(y);return m!==void 0&&m(N,C)?($=y,N):($=y,L=C)}var F=!1,$,L,I=f===void 0?null:f;return[function(){return U(u())},I===null?void 0:function(){return U(I())}]},[u,f,g,m]);var b=i(d,p[0],p[1]);return l(function(){x.hasValue=!0,x.value=b},[b]),c(b),b}})),Ne=G(((r,e)=>{e.exports=be()}));const h={toMarkdown:r=>h.replace(r,"md"),toHTML:r=>h.replace(r,"html"),toPNG:r=>h.replace(r,"png"),toPDF:r=>h.replace(r,"pdf"),toPY:r=>h.replace(r,"py"),withoutExtension:r=>{let e=r.split(".");return e.length===1?r:e.slice(0,-1).join(".")},replace:(r,e)=>r.endsWith(`.${e}`)?r:`${h.withoutExtension(r)}.${e}`};var P=320,S=180;function Y(r){if(!r||r==="about:blank")return null;try{let e=new URL(r,window.location.href);return e.origin===window.location.origin?null:e.href}catch{return r}}function Pe(r,e,t){let a=[],n="";for(let i of e){let o=n+i;r.measureText(o).width<=t?n=o:(n&&a.push(n),n=i)}return n&&a.push(n),a}function j(r){let e=window.devicePixelRatio||1,t=document.createElement("canvas");t.width=P*e,t.height=S*e;let a=t.getContext("2d");if(!a)return t.toDataURL("image/png");a.scale(e,e),a.fillStyle="#f3f4f6",a.fillRect(0,0,P,S),a.strokeStyle="#d1d5db",a.strokeRect(.5,.5,P-1,S-1),a.fillStyle="#6b7280",a.font="8px sans-serif",a.textAlign="center",a.textBaseline="middle";let n=P-32,i=r?Pe(a,r,n):[],o=(S-(1+i.length)*14)/2+14/2;a.fillText("External iframe",P/2,o),o+=14;for(let l of i)a.fillText(l,P/2,o),o+=14;return t.toDataURL("image/png")}async function J(r){var n;let e=r.querySelector("iframe");if(!e)return null;let t=Y(e.getAttribute("src"));if(t)return j(t);let a;try{let i=e.contentDocument||((n=e.contentWindow)==null?void 0:n.document);if(!(i!=null&&i.body))return null;a=i}catch{return j(null)}for(let i of a.querySelectorAll("iframe")){let o=Y(i.getAttribute("src"));if(o)return j(o)}try{return await k(a.body)}catch{return j(null)}}var K=class ue{constructor(e){O(this,"progress",0);O(this,"listeners",new Set);this.total=e}static indeterminate(){return new ue("indeterminate")}addTotal(e){this.total==="indeterminate"?this.total=e:this.total+=e,this.notifyListeners()}increment(e){this.progress+=e,this.notifyListeners()}getProgress(){return this.total==="indeterminate"?"indeterminate":this.progress/this.total*100}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notifyListeners(){let e=this.getProgress();for(let t of this.listeners)t(e)}},v=V(q(),1),w=V(pe(),1);function $e(r,e=[]){let t=[];function a(i,o){let l=v.createContext(o);l.displayName=i+"Context";let s=t.length;t=[...t,o];let c=u=>{var b;let{scope:f,children:g,...m}=u,p=((b=f==null?void 0:f[r])==null?void 0:b[s])||l,x=v.useMemo(()=>m,Object.values(m));return(0,w.jsx)(p.Provider,{value:x,children:g})};c.displayName=i+"Provider";function d(u,f){var p;let g=((p=f==null?void 0:f[r])==null?void 0:p[s])||l,m=v.useContext(g);if(m)return m;if(o!==void 0)return o;throw Error(`\`${u}\` must be used within \`${i}\``)}return[c,d]}let n=()=>{let i=t.map(o=>v.createContext(o));return function(o){let l=(o==null?void 0:o[r])||i;return v.useMemo(()=>({[`__scope${r}`]:{...o,[r]:l}}),[o,l])}};return n.scopeName=r,[a,Le(n,...e)]}function Le(...r){let e=r[0];if(r.length===1)return e;let t=()=>{let a=r.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(n){let i=a.reduce((o,{useScope:l,scopeName:s})=>{let c=l(n)[`__scope${s}`];return{...o,...c}},{});return v.useMemo(()=>({[`__scope${e.scopeName}`]:i}),[i])}};return t.scopeName=e.scopeName,t}var M="Progress",T=100,[Se,at]=$e(M),[je,Ee]=Se(M),Q=v.forwardRef((r,e)=>{let{__scopeProgress:t,value:a=null,max:n,getValueLabel:i=Re,...o}=r;(n||n===0)&&!re(n)&&console.error(De(`${n}`,"Progress"));let l=re(n)?n:T;a!==null&&!ne(a,l)&&console.error(Oe(`${a}`,"Progress"));let s=ne(a,l)?a:null,c=E(s)?i(s,l):void 0;return(0,w.jsx)(je,{scope:t,value:s,max:l,children:(0,w.jsx)(H.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":E(s)?s:void 0,"aria-valuetext":c,role:"progressbar","data-state":te(s,l),"data-value":s??void 0,"data-max":l,...o,ref:e})})});Q.displayName=M;var Z="ProgressIndicator",ee=v.forwardRef((r,e)=>{let{__scopeProgress:t,...a}=r,n=Ee(Z,t);return(0,w.jsx)(H.div,{"data-state":te(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...a,ref:e})});ee.displayName=Z;function Re(r,e){return`${Math.round(r/e*100)}%`}function te(r,e){return r==null?"indeterminate":r===e?"complete":"loading"}function E(r){return typeof r=="number"}function re(r){return E(r)&&!isNaN(r)&&r>0}function ne(r,e){return E(r)&&!isNaN(r)&&r<=e&&r>=0}function De(r,e){return`Invalid prop \`max\` of value \`${r}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${T}\`.`}function Oe(r,e){return`Invalid prop \`value\` of value \`${r}\` supplied to \`${e}\`. The \`value\` prop must be:
|
|
2
|
-
- a positive number
|
|
3
|
-
- less than the value passed to \`max\` (or ${T} if no \`max\` prop is set)
|
|
4
|
-
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
-
|
|
6
|
-
Defaulting to \`null\`.`}var ae=Q,_e=ee,ke=B(),A=v.forwardRef((r,e)=>{let t=(0,ke.c)(20),a,n,i,o;t[0]===r?(a=t[1],n=t[2],i=t[3],o=t[4]):({className:a,value:o,indeterminate:n,...i}=r,t[0]=r,t[1]=a,t[2]=n,t[3]=i,t[4]=o);let l;t[5]===a?l=t[6]:(l=z("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",a),t[5]=a,t[6]=l);let s=n?"w-1/3 animate-progress-indeterminate":"w-full transition-transform duration-300 ease-out",c;t[7]===s?c=t[8]:(c=z("h-full flex-1 bg-primary",s),t[7]=s,t[8]=c);let d;t[9]!==n||t[10]!==o?(d=n?void 0:{transform:`translateX(-${100-(o||0)}%)`},t[9]=n,t[10]=o,t[11]=d):d=t[11];let u;t[12]!==c||t[13]!==d?(u=(0,w.jsx)(_e,{className:c,style:d}),t[12]=c,t[13]=d,t[14]=u):u=t[14];let f;return t[15]!==i||t[16]!==e||t[17]!==l||t[18]!==u?(f=(0,w.jsx)(ae,{ref:e,className:l,...i,children:u}),t[15]=i,t[16]=e,t[17]=l,t[18]=u,t[19]=f):f=t[19],f});A.displayName=ae.displayName;var Me=B();const Te=r=>{let e=(0,Me.c)(13),{progress:t,showPercentage:a}=r,n=a===void 0?!1:a,i,o;e[0]===t?(i=e[1],o=e[2]):(i=g=>t.subscribe(g),o=()=>t.getProgress(),e[0]=t,e[1]=i,e[2]=o);let l=(0,v.useSyncExternalStore)(i,o),s=l==="indeterminate"||l===100,c=s?void 0:l,d;e[3]!==s||e[4]!==c?(d=(0,w.jsx)(A,{value:c,indeterminate:s}),e[3]=s,e[4]=c,e[5]=d):d=e[5];let u;e[6]!==s||e[7]!==n||e[8]!==l?(u=!s&&n&&(0,w.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground text-right",children:[Math.round(l),"%"]}),e[6]=s,e[7]=n,e[8]=l,e[9]=u):u=e[9];let f;return e[10]!==d||e[11]!==u?(f=(0,w.jsxs)("div",{className:"mt-2 w-full min-w-[200px]",children:[d,u]}),e[10]=d,e[11]=u,e[12]=f):f=e[12],f};async function Ae(r,e){let t=K.indeterminate(),a=_({title:r,description:v.createElement(Te,{progress:t}),duration:1/0});try{let n=await e(t);return a.dismiss(),n}catch(n){throw a.dismiss(),n}}function oe(r){let e=document.getElementById(fe.create(r));if(!e){W.error(`Output element not found for cell ${r}`);return}return e}var R=0;function Ue(){R++,R===1&&document.body.classList.add("printing")}function Fe(){R--,R===0&&document.body.classList.remove("printing")}function ie(r,e){r.classList.add("printing-output"),e||Ue();let t=r.style.overflow;return r.style.overflow="auto",()=>{r.classList.remove("printing-output"),e||Fe(),r.style.overflow=t}}var Ie=500;async function Ce(r,e=!1){let t=oe(r);if(!t)return;let a=await J(t);if(a)return a;let n=ie(t,e);try{let i=Date.now(),o=await k(t,void 0,e),l=Date.now()-i;return l>Ie&&W.debug("toPng operation for element",t,`took ${l} ms (exceeds threshold)`),o}finally{n()}}async function Ve(r,e){let t=oe(r);if(!t)return;let a=await J(t);if(a){D(a,h.toPNG(e));return}await le({element:t,filename:e,prepare:()=>ie(t,!1)})}async function le(r){let{element:e,filename:t,prepare:a}=r,n=document.getElementById("App"),i=(n==null?void 0:n.scrollTop)??0,o;a?o=a(e):document.body.classList.add("printing");try{D(await k(e),h.toPNG(t))}catch{_({title:"Error",description:"Failed to download as PNG.",variant:"danger"})}finally{o==null||o(),document.body.classList.contains("printing")&&document.body.classList.remove("printing"),requestAnimationFrame(()=>{n==null||n.scrollTo(0,i)})}}function D(r,e){let t=document.createElement("a");t.href=r,t.download=e,t.click(),t.remove()}function se(r,e){let t=URL.createObjectURL(r);D(t,e),URL.revokeObjectURL(t)}async function Ge(r){let e=ve(),{filename:t,webpdf:a}=r;try{let n=await e.exportAsPDF({webpdf:a}),i=me.basename(t);se(n,h.toPDF(i))}catch(n){throw _({title:"Failed to download",description:ye(n),variant:"danger"}),n}}export{le as a,A as c,Ne as d,xe as f,Ve as i,K as l,se as n,Ce as o,we as p,D as r,Ae as s,Ge as t,h as u};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{s as X}from"./chunk-LvLJmgfZ.js";import{d as xe,l as ee}from"./useEvent-DO6uJBas.js";import{t as ge}from"./react-BGmjiNul.js";import{$n as ye,Gn as je,St as be,Un as te,Zr as re,_n as ae,er as ve,pi as ke,qn as we,zt as se}from"./cells-BW_4R0Qw.js";import"./react-dom-C9fstfnp.js";import{t as oe}from"./compiler-runtime-DeeZ7FnK.js";import{a as Ne,f as _e}from"./hotkeys-BHHWjLlp.js";import{n as R}from"./constants-B6Cb__3x.js";import{c as Se,f as ze,m as ie,s as Ce}from"./config-CIrPQIbt.js";import{t as Me}from"./ErrorBoundary-ChCiwl15.js";import{t as Ie}from"./jsx-runtime-ZmTK25f3.js";import{t as H}from"./button-YC1gW_kJ.js";import{t as De}from"./cn-BKtXLv3a.js";import"./dist-DBwNzi3C.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-_Aax6sXd.js";import{r as V}from"./requests-BsVD4CdD.js";import{t as W}from"./createLucideIcon-CnW3RofX.js";import{t as Pe}from"./chart-no-axes-column-W42b2ZIs.js";import{_ as Oe}from"./select-V5IdpNiR.js";import{t as Te}from"./chevron-right-DwagBitu.js";import{f as E,p as Ae,r as Re,t as le}from"./maps-t9yNKYA8.js";import{t as We}from"./circle-play-BuOtSgid.js";import{a as Fe,p as $e,r as Le,t as Ue}from"./dropdown-menu-df9T83C0.js";import{r as He,t as Ve}from"./types-fTSozrNJ.js";import{t as qe}from"./file-Cs1JbsV6.js";import{i as Ye,n as Be,r as Ee,t as Ge}from"./youtube-8p26v8EM.js";import{t as Je}from"./link-BsTPF7B0.js";import{t as G}from"./spinner-DaIKav-i.js";import{n as Qe,r as Ze,t as Ke}from"./app-config-button-CM05VD_Y.js";import{t as Xe}from"./refresh-ccw-DLEiQDS3.js";import{lt as et,r as tt}from"./input-pAun1m1X.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import{t as rt}from"./use-toast-rmUWldD_.js";import"./Combination-CMPwuAmi.js";import{t as at}from"./tooltip-CEc2ajau.js";import{i as st}from"./dates-Dhn1r-h6.js";import{o as ot}from"./alert-dialog-DwQffb13.js";import{t as it}from"./context-JwD-oSsl.js";import"./popover-D16ZremR.js";import{n as lt}from"./ImperativeModal-CUbWEBci.js";import{r as nt}from"./errors-2SszdW9t.js";import{t as ct}from"./tree-BdwmBGSx.js";import{t as ne}from"./error-banner-DUzsIXtq.js";import{n as J,t as mt}from"./useAsyncData-C4XRy1BE.js";import{t as dt}from"./label-Be1daUcS.js";import{t as Q}from"./icons-BhEXrzsb.js";import{t as ht}from"./links-C-GGaW8R.js";import"./Inputs-D2Xn4HON.js";import{t as pt}from"./useInterval-Cu9ChZf-.js";var ft=W("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ut=W("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),xt=W("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),gt=W("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),yt=W("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),T=X(ge(),1),Z=oe(),a=X(Ie(),1),jt={intro:["Introduction",ft,"Get started with marimo basics"],dataflow:["Dataflow",ve,"Learn how cells interact with each other"],ui:["UI Elements",yt,"Create interactive UI components"],markdown:["Markdown",te,"Format text with parameterized markdown"],plots:["Plots",Pe,"Create interactive visualizations"],sql:["SQL",je,"Query databases directly in marimo"],layout:["Layout",Ee,"Customize the layout of your cells' output"],fileformat:["File format",qe,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",gt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",Q,"Using marimo to edit markdown files"]};const bt=()=>{let e=(0,Z.c)(6),{openTutorial:t}=V(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(xt,{className:"w-4 h-4 mr-2"}),e[0]=r):r=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)($e,{asChild:!0,children:(0,a.jsxs)(H,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[r,"Tutorials",(0,a.jsx)(Re,{className:"w-3 h-3 ml-1"})]})}),e[1]=o):o=e[1];let s;e[2]===t?s=e[3]:(s=Ne.entries(jt).map(i=>{let[m,d]=i,[c,h,p]=d;return(0,a.jsxs)(Fe,{onSelect:async()=>{let n=await t({tutorialId:m});n&&ht(n.path)},children:[(0,a.jsx)(h,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:c}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground pr-1",children:p})]})})]},m)}),e[2]=t,e[3]=s);let l;return e[4]===s?l=e[5]:(l=(0,a.jsxs)(Ue,{children:[o,(0,a.jsx)(Le,{side:"bottom",align:"end",className:"no-print",children:s})]}),e[4]=s,e[5]=l),l};var vt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:ye,url:R.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ye,url:R.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Be,url:R.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:Ge,url:R.youtube},{title:"Changelog",description:"See what's new in marimo",icon:te,url:R.releasesPage}];const kt=()=>{let e=(0,Z.c)(2),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,a.jsx)(q,{Icon:Je,children:"Resources"}),e[0]=t):t=e[0];let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[t,(0,a.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:vt.map(wt)})]}),e[1]=r):r=e[1],r},q=e=>{let t=(0,Z.c)(8),{Icon:r,control:o,children:s}=e,l;t[0]===r?l=t[1]:(l=(0,a.jsx)(r,{className:"h-5 w-5"}),t[0]=r,t[1]=l);let i;t[2]!==s||t[3]!==l?(i=(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[l,s]}),t[2]=s,t[3]=l,t[4]=i):i=t[4];let m;return t[5]!==o||t[6]!==i?(m=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[i,o]}),t[5]=o,t[6]=i,t[7]=m):m=t[7],m};function wt(e){return(0,a.jsxs)("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[(0,a.jsx)(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const ce=T.createContext({runningNotebooks:new Map,setRunningNotebooks:_e.NOOP}),me=T.createContext(""),Nt=re("marimo:home:include-markdown",!1,ae,{getOnInit:!0}),de=re("marimo:home:expanded-folders",{},ae,{getOnInit:!0});var P=oe();function he(e){return`${Ce()}-${encodeURIComponent(e)}`}var _t=()=>{let e=(0,P.c)(56),[t,r]=(0,T.useState)(0),{getRecentFiles:o,getRunningNotebooks:s}=V(),l;e[0]===o?l=e[1]:(l=()=>o(),e[0]=o,e[1]=l);let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[],e[2]=i):i=e[2];let m=J(l,i),d,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{r(Tt)},c={delayMs:1e4,whenVisible:!0},e[3]=d,e[4]=c):(d=e[3],c=e[4]),pt(d,c);let h;e[5]===s?h=e[6]:(h=async()=>{let A=await s();return le.keyBy(A.files,At)},e[5]=s,e[6]=h);let p;e[7]===t?p=e[8]:(p=[t],e[7]=t,e[8]=p);let n=J(h,p),f,x,u,g,k,y,b,v,w,N,_,z,S;if(e[9]!==m||e[10]!==n){w=Symbol.for("react.early_return_sentinel");e:{let A=mt(m,n);if(A.error)throw A.error;let K=A.data;if(!K){let U;e[24]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)(G,{centered:!0,size:"xlarge"}),e[24]=U):U=e[24],w=U;break e}let[ue,Y]=K;g=ue,u=T.Suspense,x=ce,b={runningNotebooks:Y,setRunningNotebooks:n.setData};let $,L;e[25]===Symbol.for("react.memo_cache_sentinel")?($=(0,a.jsx)(bt,{}),L=(0,a.jsx)(Ke,{showAppConfig:!1}),e[25]=$,e[26]=L):($=e[25],L=e[26]);let B=`This will shutdown the notebook server and terminate all running notebooks (${Y.size}). You'll lose all data that's in memory.`;e[27]===B?v=e[28]:(v=(0,a.jsxs)("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[$,L,(0,a.jsx)(Qe,{description:B})]}),e[27]=B,e[28]=v),z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),k=(0,a.jsx)(Pt,{}),y=(0,a.jsx)(kt,{}),e[29]=k,e[30]=y,e[31]=S):(k=e[29],y=e[30],S=e[31]),f=pe,e[32]===Symbol.for("react.memo_cache_sentinel")?(N=(0,a.jsx)(q,{Icon:We,children:"Running notebooks"}),e[32]=N):N=e[32],_=[...Y.values()]}e[9]=m,e[10]=n,e[11]=f,e[12]=x,e[13]=u,e[14]=g,e[15]=k,e[16]=y,e[17]=b,e[18]=v,e[19]=w,e[20]=N,e[21]=_,e[22]=z,e[23]=S}else f=e[11],x=e[12],u=e[13],g=e[14],k=e[15],y=e[16],b=e[17],v=e[18],w=e[19],N=e[20],_=e[21],z=e[22],S=e[23];if(w!==Symbol.for("react.early_return_sentinel"))return w;let C;e[33]!==f||e[34]!==N||e[35]!==_?(C=(0,a.jsx)(f,{header:N,files:_}),e[33]=f,e[34]=N,e[35]=_,e[36]=C):C=e[36];let I;e[37]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(q,{Icon:we,children:"Recent notebooks"}),e[37]=I):I=e[37];let M;e[38]===g.files?M=e[39]:(M=(0,a.jsx)(pe,{header:I,files:g.files}),e[38]=g.files,e[39]=M);let O;e[40]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(Me,{children:(0,a.jsx)(St,{})}),e[40]=O):O=e[40];let j;e[41]!==k||e[42]!==y||e[43]!==C||e[44]!==M||e[45]!==z||e[46]!==S?(j=(0,a.jsxs)("div",{className:z,children:[S,k,y,C,M,O]}),e[41]=k,e[42]=y,e[43]=C,e[44]=M,e[45]=z,e[46]=S,e[47]=j):j=e[47];let D;e[48]!==x||e[49]!==b||e[50]!==v||e[51]!==j?(D=(0,a.jsxs)(x,{value:b,children:[v,j]}),e[48]=x,e[49]=b,e[50]=v,e[51]=j,e[52]=D):D=e[52];let F;return e[53]!==u||e[54]!==D?(F=(0,a.jsx)(u,{children:D}),e[53]=u,e[54]=D,e[55]=F):F=e[55],F},St=()=>{let e=(0,P.c)(48),{getWorkspaceFiles:t}=V(),[r,o]=ee(Nt),[s,l]=(0,T.useState)(""),i;e[0]!==t||e[1]!==r?(i=()=>t({includeMarkdown:r}),e[0]=t,e[1]=r,e[2]=i):i=e[2];let m;e[3]===r?m=e[4]:(m=[r],e[3]=r,e[4]=m);let{isPending:d,data:c,error:h,isFetching:p,refetch:n}=J(i,m);if(d){let j;return e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,a.jsx)(G,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=j):j=e[5],j}if(h){let j;e[6]===h?j=e[7]:(j=nt(h),e[6]=h,e[7]=j);let D;return e[8]===j?D=e[9]:(D=(0,a.jsx)(ne,{kind:"danger",className:"rounded p-4",children:j}),e[8]=j,e[9]=D),D}let f;e[10]!==c.fileCount||e[11]!==c.hasMore?(f=c.hasMore&&(0,a.jsxs)(ne,{kind:"warn",className:"rounded p-4",children:["Showing first ",c.fileCount," files. Your workspace has more files."]}),e[10]=c.fileCount,e[11]=c.hasMore,e[12]=f):f=e[12];let x,u;e[13]===Symbol.for("react.memo_cache_sentinel")?(x=(0,a.jsx)(et,{size:13}),u=j=>l(j.target.value),e[13]=x,e[14]=u):(x=e[13],u=e[14]);let g;e[15]===s?g=e[16]:(g=(0,a.jsx)(tt,{id:"search",value:s,icon:x,onChange:u,placeholder:"Search",className:"mb-0 border-border"}),e[15]=s,e[16]=g);let k;e[17]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(zt,{}),e[17]=k):k=e[17];let y;e[18]===o?y=e[19]:(y=j=>o(!!j),e[18]=o,e[19]=y);let b;e[20]!==r||e[21]!==y?(b=(0,a.jsx)(be,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:r,onCheckedChange:y}),e[20]=r,e[21]=y,e[22]=b):b=e[22];let v;e[23]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(dt,{htmlFor:"include-markdown",children:"Include markdown"}),e[23]=v):v=e[23];let w;e[24]!==g||e[25]!==b?(w=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[g,k,b,v]}),e[24]=g,e[25]=b,e[26]=w):w=e[26];let N;e[27]===n?N=e[28]:(N=()=>n(),e[27]=n,e[28]=N);let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=(0,a.jsx)(Xe,{className:"w-4 h-4"}),e[29]=_):_=e[29];let z;e[30]===N?z=e[31]:(z=(0,a.jsx)(H,{variant:"text",size:"icon",className:"w-4 h-4 ml-1 p-0 opacity-70 hover:opacity-100",onClick:N,"aria-label":"Refresh workspace",children:_}),e[30]=N,e[31]=z);let S;e[32]===p?S=e[33]:(S=p&&(0,a.jsx)(G,{size:"small"}),e[32]=p,e[33]=S);let C;e[34]!==w||e[35]!==z||e[36]!==S?(C=(0,a.jsxs)(q,{Icon:ut,control:w,children:["Workspace",z,S]}),e[34]=w,e[35]=z,e[36]=S,e[37]=C):C=e[37];let I;e[38]!==s||e[39]!==c.files?(I=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:(0,a.jsx)(Ct,{searchText:s,files:c.files})}),e[38]=s,e[39]=c.files,e[40]=I):I=e[40];let M;e[41]!==C||e[42]!==I||e[43]!==f?(M=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[f,C,I]}),e[41]=C,e[42]=I,e[43]=f,e[44]=M):M=e[44];let O;return e[45]!==M||e[46]!==c.root?(O=(0,a.jsx)(me,{value:c.root,children:M}),e[45]=M,e[46]=c.root,e[47]=O):O=e[47],O},zt=()=>{let e=(0,P.c)(5),t=xe(de),r;e[0]===t?r=e[1]:(r=()=>{t({})},e[0]=t,e[1]=r);let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)(Ae,{className:"w-4 h-4 mr-1"}),e[2]=o):o=e[2];let s;return e[3]===r?s=e[4]:(s=(0,a.jsxs)(H,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:r,children:[o,"Collapse all"]}),e[3]=r,e[4]=s),s},Ct=e=>{let t=(0,P.c)(12),{files:r,searchText:o}=e,[s,l]=ee(de),i=Object.keys(s).length===0,m=(0,T.useRef)(void 0),d,c;if(t[0]===i?(d=t[1],c=t[2]):(d=()=>{var n;i&&((n=m.current)==null||n.closeAll())},c=[i],t[0]=i,t[1]=d,t[2]=c),(0,T.useEffect)(d,c),r.length===0){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:(0,a.jsx)("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=n):n=t[3],n}let h;t[4]!==s||t[5]!==l?(h=async n=>{let f=s[n]??!1;l({...s,[n]:!f})},t[4]=s,t[5]=l,t[6]=h):h=t[6];let p;return t[7]!==r||t[8]!==s||t[9]!==o||t[10]!==h?(p=(0,a.jsx)(ct,{ref:m,width:"100%",height:500,searchTerm:o,className:"h-full",idAccessor:Rt,data:r,openByDefault:!1,initialOpenState:s,onToggle:h,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Wt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:Mt}),t[7]=r,t[8]=s,t[9]=o,t[10]=h,t[11]=p):p=t[11],p},Mt=e=>{let t=(0,P.c)(19),{node:r,style:o}=e,s=Ve[r.data.isDirectory?"directory":He(r.data.name)],l;t[0]===s?l=t[1]:(l=(0,a.jsx)(s,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=s,t[1]=l);let i=l,m=(0,T.use)(me),d;t[2]!==i||t[3]!==r.data.isDirectory||t[4]!==r.data.name||t[5]!==r.data.path||t[6]!==m?(d=()=>{if(r.data.isDirectory)return(0,a.jsxs)("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[i,r.data.name]});let u=r.data.path.startsWith(m)&&se.isAbsolute(r.data.path)?se.rest(r.data.path,m):r.data.path,g=u.endsWith(".md")||u.endsWith(".qmd");return(0,a.jsxs)("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:ie(`?file=${u}`).toString(),target:he(u),children:[i,(0,a.jsxs)("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[r.data.name,g&&(0,a.jsx)(Q,{className:"ml-2 inline opacity-80"})]}),(0,a.jsx)(fe,{filePath:u}),(0,a.jsx)(E,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=i,t[3]=r.data.isDirectory,t[4]=r.data.name,t[5]=r.data.path,t[6]=m,t[7]=d):d=t[7];let c=d,h;t[8]===Symbol.for("react.memo_cache_sentinel")?(h=De("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=h):h=t[8];let p,n;t[9]===r?(p=t[10],n=t[11]):(p=u=>{u.stopPropagation(),r.data.isDirectory&&r.toggle()},n=(0,a.jsx)(It,{node:r}),t[9]=r,t[10]=p,t[11]=n);let f;t[12]===c?f=t[13]:(f=c(),t[12]=c,t[13]=f);let x;return t[14]!==o||t[15]!==p||t[16]!==n||t[17]!==f?(x=(0,a.jsxs)("div",{style:o,className:h,onClick:p,children:[n,f]}),t[14]=o,t[15]=p,t[16]=n,t[17]=f,t[18]=x):x=t[18],x},It=e=>{let t=(0,P.c)(3),{node:r}=e;if(!r.data.isDirectory){let s;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)("span",{className:"w-5 h-5 shrink-0"}),t[0]=s):s=t[0],s}let o;return t[1]===r.isOpen?o=t[2]:(o=r.isOpen?(0,a.jsx)(Oe,{className:"w-5 h-5 shrink-0"}):(0,a.jsx)(Te,{className:"w-5 h-5 shrink-0"}),t[1]=r.isOpen,t[2]=o),o},pe=e=>{let t=(0,P.c)(7),{header:r,files:o}=e;if(o.length===0)return null;let s;t[0]===o?s=t[1]:(s=o.map(Ft),t[0]=o,t[1]=s);let l;t[2]===s?l=t[3]:(l=(0,a.jsx)("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s}),t[2]=s,t[3]=l);let i;return t[4]!==r||t[5]!==l?(i=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[r,l]}),t[4]=r,t[5]=l,t[6]=i):i=t[6],i},Dt=e=>{let t=(0,P.c)(41),{file:r}=e,{locale:o}=it(),s;t[0]===r.path?s=t[1]:(s=Se(r.path),t[0]=r.path,t[1]=s);let l=s,i,m,d,c;if(t[2]!==r.initializationId||t[3]!==r.path||t[4]!==l){let N=ie(l?`?file=${r.initializationId}&session_id=${r.path}`:`?file=${r.path}`),_;t[9]===r.path?_=t[10]:(_=r.path.endsWith(".md"),t[9]=r.path,t[10]=_),i=_,m="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",d=r.path,c=N.toString(),t[2]=r.initializationId,t[3]=r.path,t[4]=l,t[5]=i,t[6]=m,t[7]=d,t[8]=c}else i=t[5],m=t[6],d=t[7],c=t[8];let h=r.initializationId||r.path,p;t[11]===h?p=t[12]:(p=he(h),t[11]=h,t[12]=p);let n;t[13]===i?n=t[14]:(n=i&&(0,a.jsx)("span",{className:"opacity-80",children:(0,a.jsx)(Q,{})}),t[13]=i,t[14]=n);let f;t[15]!==r.name||t[16]!==n?(f=(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[r.name,n]}),t[15]=r.name,t[16]=n,t[17]=f):f=t[17];let x;t[18]===r.path?x=t[19]:(x=(0,a.jsx)("p",{title:r.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:r.path}),t[18]=r.path,t[19]=x);let u;t[20]!==f||t[21]!==x?(u=(0,a.jsxs)("div",{className:"flex flex-col justify-between flex-1",children:[f,x]}),t[20]=f,t[21]=x,t[22]=u):u=t[22];let g;t[23]===r.path?g=t[24]:(g=(0,a.jsx)("div",{children:(0,a.jsx)(fe,{filePath:r.path})}),t[23]=r.path,t[24]=g);let k;t[25]===Symbol.for("react.memo_cache_sentinel")?(k=(0,a.jsx)(E,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=k):k=t[25];let y;t[26]===g?y=t[27]:(y=(0,a.jsxs)("div",{className:"flex gap-3 items-center",children:[g,k]}),t[26]=g,t[27]=y);let b;t[28]!==r.lastModified||t[29]!==o?(b=!!r.lastModified&&(0,a.jsx)("div",{className:"text-xs text-muted-foreground opacity-80",children:st(r.lastModified*1e3,o)}),t[28]=r.lastModified,t[29]=o,t[30]=b):b=t[30];let v;t[31]!==y||t[32]!==b?(v=(0,a.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[y,b]}),t[31]=y,t[32]=b,t[33]=v):v=t[33];let w;return t[34]!==u||t[35]!==v||t[36]!==m||t[37]!==d||t[38]!==c||t[39]!==p?(w=(0,a.jsxs)("a",{className:m,href:c,target:p,children:[u,v]},d),t[34]=u,t[35]=v,t[36]=m,t[37]=d,t[38]=c,t[39]=p,t[40]=w):w=t[40],w},fe=e=>{let t=(0,P.c)(10),{filePath:r}=e,{openConfirm:o,closeModal:s}=lt(),{shutdownSession:l}=V(),{runningNotebooks:i,setRunningNotebooks:m}=(0,T.use)(ce);if(!i.has(r))return null;let d;t[0]!==s||t[1]!==r||t[2]!==o||t[3]!==i||t[4]!==m||t[5]!==l?(d=p=>{p.stopPropagation(),p.preventDefault(),o({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:(0,a.jsx)(ot,{onClick:()=>{let n=i.get(r);ke(n==null?void 0:n.sessionId),l({sessionId:n.sessionId}).then(f=>{m(le.keyBy(f.files,$t))}),s(),rt({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=s,t[1]=r,t[2]=o,t[3]=i,t[4]=m,t[5]=l,t[6]=d):d=t[6];let c;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Ze,{size:14}),t[7]=c):c=t[7];let h;return t[8]===d?h=t[9]:(h=(0,a.jsx)(at,{content:"Shutdown",children:(0,a.jsx)(H,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:d,children:c})}),t[8]=d,t[9]=h),h},Pt=()=>{let e=(0,P.c)(3),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=ze(),e[0]=t):t=e[0];let r=t,o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=o):o=e[1];let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsxs)("a",{className:`relative rounded-lg p-6 group
|
|
2
|
-
text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
|
|
3
|
-
transition-all duration-300 cursor-pointer
|
|
4
|
-
`,href:r,target:"_blank",rel:"noreferrer",children:[o,(0,a.jsx)("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:(0,a.jsx)(E,{size:24})})]}),e[2]=s):s=e[2],s},Ot=_t;function Tt(e){return e+1}function At(e){return e.path}function Rt(e){return e.path}function Wt(){return null}function Ft(e){return(0,a.jsx)(Dt,{file:e},e.path)}function $t(e){return e.path}export{Ot as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as S,p as j,u as E}from"./useEvent-DO6uJBas.js";import{o as T}from"./cells-BW_4R0Qw.js";import{t as I}from"./compiler-runtime-DeeZ7FnK.js";import{a as A,d as x}from"./hotkeys-BHHWjLlp.js";import{i as N}from"./utils-DXvhzCGS.js";import{A as _,w as F}from"./config-CIrPQIbt.js";import{r as P}from"./requests-BsVD4CdD.js";import{f as V}from"./layout-DiDoTAUA.js";import{l as D,o as $}from"./download-CzPV-R6Z.js";import{t as z}from"./use-toast-rmUWldD_.js";import{t as C}from"./useInterval-Cu9ChZf-.js";var B=I(),k=5e3;function H(){let t=(0,B.c)(14),i=E(N),{state:u}=E(F),o=i.auto_download.includes("markdown"),b=i.auto_download.includes("html"),m=i.auto_download.includes("ipynb"),r=u===_.OPEN,d=!o||!r,s=!b||!r,l=!m||!r,{autoExportAsHTML:p,autoExportAsIPYNB:a,autoExportAsMarkdown:e,updateCellOutputs:n}=P(),c=M(),f;t[0]===e?f=t[1]:(f=async()=>{await e({download:!1})},t[0]=e,t[1]=f);let w;t[2]===d?w=t[3]:(w={delayMs:k,whenVisible:!0,disabled:d},t[2]=d,t[3]=w),C(f,w);let h;t[4]===p?h=t[5]:(h=async()=>{await p({download:!1,includeCode:!0,files:V.INSTANCE.filenames()})},t[4]=p,t[5]=h);let y;t[6]===s?y=t[7]:(y={delayMs:k,whenVisible:!0,disabled:s},t[6]=s,t[7]=y),C(h,y);let v;t[8]!==a||t[9]!==c||t[10]!==n?(v=async()=>{await O({takeScreenshots:()=>c({progress:D.indeterminate(),snappy:!0}),updateCellOutputs:n}),await a({download:!1})},t[8]=a,t[9]=c,t[10]=n,t[11]=v):v=t[11];let g;t[12]===l?g=t[13]:(g={delayMs:k,whenVisible:!0,disabled:l,skipIfRunning:!0},t[12]=l,t[13]=g),C(v,g)}var L=j({}),R=new Set(["text/html","application/vnd.vegalite.v5+json","application/vnd.vega.v5+json","application/vnd.vegalite.v6+json","application/vnd.vega.v6+json"]);function M(){let[t,i]=S(L),u=E(T);return async({progress:o,snappy:b})=>{var l,p;let m={},r=[];for(let[a,e]of A.entries(u)){let n=(l=e.output)==null?void 0:l.data,c=t[a]!==n;m[a]=n,(p=e.output)!=null&&p.mimetype&&R.has(e.output.mimetype)&&n&&c&&r.push([a,e])}if(i(m),r.length===0)return{};let d=r.length;o.addTotal(d);let s={};for(let[a]of r)try{let e=await $(a,b);if(!e){x.error(`Failed to capture screenshot for cell ${a}`);continue}s[a]=["image/png",e]}catch(e){x.error(`Error screenshotting cell ${a}:`,e)}finally{o.increment(1)}return s}}async function O(t){let{takeScreenshots:i,updateCellOutputs:u}=t;try{let o=await i();A.size(o)>0&&await u({cellIdsToOutput:o})}catch(o){x.error("Error updating cell outputs with screenshots:",o),z({title:"Failed to capture cell outputs",description:"Some outputs may not appear in the PDF. Continuing with export.",variant:"danger"})}}export{H as n,M as r,O as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as J}from"./chunk-LvLJmgfZ.js";import{u as K}from"./useEvent-DO6uJBas.js";import{t as Z}from"./react-BGmjiNul.js";import{b as $,qr as ee,w as te}from"./cells-BW_4R0Qw.js";import"./react-dom-C9fstfnp.js";import{t as V}from"./compiler-runtime-DeeZ7FnK.js";import"./tooltip-BGrCWNss.js";import{w as re}from"./utilities.esm-BVFPJPyV.js";import{n as Y}from"./constants-B6Cb__3x.js";import{b as oe,j as se,s as ae}from"./config-CIrPQIbt.js";import{t as ie}from"./jsx-runtime-ZmTK25f3.js";import{t as F}from"./button-YC1gW_kJ.js";import"./dist-DBwNzi3C.js";import{E as me,Y as H}from"./JsonOutput-BGSqWZkD.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-_Aax6sXd.js";import{r as le}from"./requests-BsVD4CdD.js";import"./layout-DiDoTAUA.js";import{n as ne}from"./download-CzPV-R6Z.js";import"./markdown-renderer-xQJ1KM4c.js";import{t as ce}from"./copy-CQ15EONK.js";import{t as de}from"./download-B9SUL40m.js";import{i as pe,l as he,n as xe,r as M,t as fe,u as be}from"./panels-BhznEx5N.js";import{t as je}from"./spinner-DaIKav-i.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import{t as ye}from"./use-toast-rmUWldD_.js";import"./Combination-CMPwuAmi.js";import"./dates-Dhn1r-h6.js";import{a as ue,c as ge,l as ke,n as _e,r as Ne,t as we}from"./dialog-CxGKN4C_.js";import"./popover-D16ZremR.js";import{t as ve}from"./share-CbPtIlnM.js";import"./vega-loader.browser-CRZ52CKf.js";import"./defaultLocale-D_rSvXvJ.js";import"./defaultLocale-C92Rrpmf.js";import{t as Se}from"./copy-Bv2DBpIS.js";import"./purify.es-DNVQZNFu.js";import{a as Ce}from"./cell-link-_-mIiddP.js";import"./chunk-5FQGJX7Z-CVUXBqX6.js";import"./katex-Dc8yG8NU.js";import"./html-to-image-DKvXQkl5.js";import"./esm-DpMp6qko.js";import{n as Ie,t as Ae}from"./react-resizable-panels.browser.esm-Ctj_10o2.js";import"./name-cell-input-D6uaGwg7.js";import{t as Ee}from"./icon-32x32-ClOCJ7rj.js";import"./ws-BApgRfsy.js";import"./dist-C9XNJlLJ.js";import"./dist-fsvXrTzp.js";import"./dist-6cIjG-FS.js";import"./dist-CldbmzwA.js";import"./dist-OM63llNV.js";import"./dist-BmvOPdv_.js";import"./dist-DDGPBuw4.js";import"./dist-C4h-1T2Q.js";import"./dist-D_XLVesh.js";import"./esm-l4kcybiY.js";var Te=V(),ze=J(Z(),1),t=J(ie(),1);const Re=s=>{let e=(0,Te.c)(21),{appConfig:o}=s,{setCells:r}=te(),{sendComponentValues:x}=le(),n;e[0]===x?n=e[1]:(n=()=>(M.INSTANCE.start(x),Pe),e[0]=x,e[1]=n);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=[],e[2]=a):a=e[2],(0,ze.useEffect)(n,a);let i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=ae(),e[3]=i):i=e[3];let f;e[4]===r?f=e[5]:(f={autoInstantiate:!0,setCells:r,sessionId:i},e[4]=r,e[5]=f);let{connection:m}=xe(f),y=K($),b;e[6]===m.state?b=e[7]:(b=oe(m.state),e[6]=m.state,e[7]=b);let p=b,c;e[8]!==o||e[9]!==p?(c=()=>p?(0,t.jsxs)(me,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(je,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(pe,{appConfig:o,mode:"read"}),e[8]=o,e[9]=p,e[10]=c):c=e[10];let h=c,u=o.width,l;e[11]===m?l=e[12]:(l=(0,t.jsx)(be,{connection:m,className:"sm:pt-8"}),e[11]=m,e[12]=l);let d;e[13]===h?d=e[14]:(d=h(),e[13]=h,e[14]=d);let j;return e[15]!==o.width||e[16]!==m||e[17]!==y||e[18]!==l||e[19]!==d?(j=(0,t.jsxs)(he,{connection:m,isRunning:y,width:u,children:[l,d]}),e[15]=o.width,e[16]=m,e[17]=y,e[18]=l,e[19]=d,e[20]=j):j=e[20],j};function Pe(){M.INSTANCE.stop()}var Q=V();const We=()=>{let s=(0,Q.c)(3),e=K(ee);if(!H()||!e)return null;let o;s[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:Y.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),s[0]=o):o=s[0];let r;return s[1]===e?r=s[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 no-print text-sm","data-testid":"static-notebook-banner",children:[o,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Oe,{code:e})})]}),s[1]=e,s[2]=r),r};var Oe=s=>{let e=(0,Q.c)(78),{code:o}=s,r=Ce()||"notebook.py",x=r.lastIndexOf("/");x!==-1&&(r=r.slice(x+1));let n=window.location.href,a,i,f,m,y,b,p,c,h,u,l,d,j,k,_,N,g,w,v;if(e[0]!==o||e[1]!==r){let G=ve({code:o});m=we,e[21]===Symbol.for("react.memo_cache_sentinel")?(l=(0,t.jsx)(ke,{asChild:!0,children:(0,t.jsx)(F,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[21]=l):l=e[21],f=_e,i=ue,e[22]===r?u=e[23]:(u=(0,t.jsx)(ge,{children:r}),e[22]=r,e[23]=u),a=Ne,b="pt-3 text-left space-y-3",e[24]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:Y.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[24]=p):p=e[24];let U;e[25]===Symbol.for("react.memo_cache_sentinel")?(U=(0,t.jsx)("br",{}),e[25]=U):U=e[25],e[26]===r?c=e[27]:(c=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",U,"marimo edit ",r]})}),e[26]=r,e[27]=c),e[28]===Symbol.for("react.memo_cache_sentinel")?(h=!n.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[28]=h):h=e[28],v="pt-3 border-t border-(--sky-7)",N="text-sm text-(--sky-12) mb-2",e[29]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)("strong",{children:"Try in browser with WebAssembly:"}),e[29]=g):g=e[29],w=" ",y=G,d="_blank",j="text-(--sky-11) hover:underline break-all",k="noreferrer",_=G.slice(0,50),e[0]=o,e[1]=r,e[2]=a,e[3]=i,e[4]=f,e[5]=m,e[6]=y,e[7]=b,e[8]=p,e[9]=c,e[10]=h,e[11]=u,e[12]=l,e[13]=d,e[14]=j,e[15]=k,e[16]=_,e[17]=N,e[18]=g,e[19]=w,e[20]=v}else a=e[2],i=e[3],f=e[4],m=e[5],y=e[6],b=e[7],p=e[8],c=e[9],h=e[10],u=e[11],l=e[12],d=e[13],j=e[14],k=e[15],_=e[16],N=e[17],g=e[18],w=e[19],v=e[20];let S;e[30]!==y||e[31]!==d||e[32]!==j||e[33]!==k||e[34]!==_?(S=(0,t.jsxs)("a",{href:y,target:d,className:j,rel:k,children:[_,"..."]}),e[30]=y,e[31]=d,e[32]=j,e[33]=k,e[34]=_,e[35]=S):S=e[35];let C;e[36]!==S||e[37]!==N||e[38]!==g||e[39]!==w?(C=(0,t.jsxs)("p",{className:N,children:[g,w,S]}),e[36]=S,e[37]=N,e[38]=g,e[39]=w,e[40]=C):C=e[40];let q;e[41]===Symbol.for("react.memo_cache_sentinel")?(q=(0,t.jsx)("p",{className:"text-sm text-(--sky-12)",children:"Note: WebAssembly may not work for all notebooks. Additionally, some dependencies may not be available in the browser."}),e[41]=q):q=e[41];let I;e[42]!==C||e[43]!==v?(I=(0,t.jsxs)("div",{className:v,children:[C,q]}),e[42]=C,e[43]=v,e[44]=I):I=e[44];let A;e[45]!==a||e[46]!==b||e[47]!==p||e[48]!==c||e[49]!==h||e[50]!==I?(A=(0,t.jsxs)(a,{className:b,children:[p,c,h,I]}),e[45]=a,e[46]=b,e[47]=p,e[48]=c,e[49]=h,e[50]=I,e[51]=A):A=e[51];let E;e[52]!==i||e[53]!==u||e[54]!==A?(E=(0,t.jsxs)(i,{children:[u,A]}),e[52]=i,e[53]=u,e[54]=A,e[55]=E):E=e[55];let T;e[56]===o?T=e[57]:(T=async()=>{await Se(o),ye({title:"Copied to clipboard"})},e[56]=o,e[57]=T);let B;e[58]===Symbol.for("react.memo_cache_sentinel")?(B=(0,t.jsx)(ce,{className:"w-3 h-3 mr-2"}),e[58]=B):B=e[58];let z;e[59]===T?z=e[60]:(z=(0,t.jsxs)(F,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:T,children:[B,"Copy code"]}),e[59]=T,e[60]=z);let R;e[61]!==o||e[62]!==r?(R=()=>{ne(new Blob([o],{type:"text/plain"}),r)},e[61]=o,e[62]=r,e[63]=R):R=e[63];let D;e[64]===Symbol.for("react.memo_cache_sentinel")?(D=(0,t.jsx)(de,{className:"w-3 h-3 mr-2"}),e[64]=D):D=e[64];let P;e[65]===R?P=e[66]:(P=(0,t.jsxs)(F,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:R,children:[D,"Download"]}),e[65]=R,e[66]=P);let W;e[67]!==z||e[68]!==P?(W=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[z,P]}),e[67]=z,e[68]=P,e[69]=W):W=e[69];let O;e[70]!==f||e[71]!==E||e[72]!==W?(O=(0,t.jsxs)(f,{children:[E,W]}),e[70]=f,e[71]=E,e[72]=W,e[73]=O):O=e[73];let L;return e[74]!==m||e[75]!==l||e[76]!==O?(L=(0,t.jsxs)(m,{children:[l,O]}),e[74]=m,e[75]=l,e[76]=O,e[77]=L):L=e[77],L},X=V(),qe=se()||H(),Be=s=>{let e=(0,X.c)(9),o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(We,{}),e[0]=o):o=e[0];let r;e[1]===s.appConfig?r=e[2]:(r=(0,t.jsx)(Re,{appConfig:s.appConfig}),e[1]=s.appConfig,e[2]=r);let x;e[3]===Symbol.for("react.memo_cache_sentinel")?(x=qe&&(0,t.jsx)(De,{}),e[3]=x):x=e[3];let n;e[4]===r?n=e[5]:(n=(0,t.jsxs)(Ae,{children:[o,r,x]}),e[4]=r,e[5]=n);let a;e[6]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(re,{}),e[6]=a):a=e[6];let i;return e[7]===n?i=e[8]:(i=(0,t.jsx)(fe,{children:(0,t.jsxs)(Ie,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[n,a]})}),e[7]=n,e[8]=i),i},De=()=>{let s=(0,X.c)(1),e;return s[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50","data-testid":"watermark",children:(0,t.jsxs)("a",{href:Y.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)("img",{src:Ee,alt:"marimo",className:"h-4 w-auto"})]})}),s[0]=e):e=s[0],e},Le=Be;export{Le as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as n}from"./chunk-LvLJmgfZ.js";import{t as g}from"./react-BGmjiNul.js";import{t as h}from"./compiler-runtime-DeeZ7FnK.js";import{t as w}from"./jsx-runtime-ZmTK25f3.js";import{t as c}from"./cn-BKtXLv3a.js";var d=h(),f=n(g(),1),m=n(w(),1),i=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("w-full caption-bottom text-sm",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("div",{className:"w-full overflow-auto scrollbar-thin flex-1",children:(0,m.jsx)("table",{ref:o,className:l,...r})}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});i.displayName="Table";var b=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("[&_tr]:border-b bg-background",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("thead",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});b.displayName="TableHeader";var N=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("[&_tr:last-child]:border-0",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("tbody",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});N.displayName="TableBody";var y=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("bg-primary font-medium text-primary-foreground",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("tfoot",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});y.displayName="TableFooter";var p=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("border-b transition-colors bg-background hover:bg-(--slate-2) data-[state=selected]:bg-(--slate-3)",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("tr",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});p.displayName="TableRow";var u=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("th",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});u.displayName="TableHead";var x=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("p-1.5 align-middle [&:has([role=checkbox])]:pr-0",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("td",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});x.displayName="TableCell";var v=f.forwardRef((t,o)=>{let a=(0,d.c)(9),e,r;a[0]===t?(e=a[1],r=a[2]):({className:e,...r}=t,a[0]=t,a[1]=e,a[2]=r);let l;a[3]===e?l=a[4]:(l=c("mt-4 text-sm text-muted-foreground",e),a[3]=e,a[4]=l);let s;return a[5]!==r||a[6]!==o||a[7]!==l?(s=(0,m.jsx)("caption",{ref:o,className:l,...r}),a[5]=r,a[6]=o,a[7]=l,a[8]=s):s=a[8],s});v.displayName="TableCaption";export{b as a,u as i,N as n,p as o,x as r,i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as de}from"./chunk-LvLJmgfZ.js";import{d as D,l as Oe,p as Be,u as ee}from"./useEvent-DO6uJBas.js";import{t as $e}from"./react-BGmjiNul.js";import{$n as Ue,Gn as Ye,Jn as Fe,Rt as Ge,Un as Je,ai as te,dn as Ke,g as Xe,hn as ce,jt as Ze,ln as Qe,m as he,t as et,un as tt,w as pe,yr as at,zt as me}from"./cells-BW_4R0Qw.js";import{t as W}from"./compiler-runtime-DeeZ7FnK.js";import{n as ot}from"./assertNever-CBU83Y6o.js";import{s as ue}from"./useLifecycle-D35CBukS.js";import{n as nt}from"./add-database-form-CqEjMrq2.js";import{n as it,x as lt}from"./ai-model-dropdown-C_l_zAXd.js";import{a as fe,d as P}from"./hotkeys-BHHWjLlp.js";import{y as st}from"./utils-DXvhzCGS.js";import{n as _,t as ye}from"./constants-B6Cb__3x.js";import{A as rt,f as dt,j as ke,w as ct}from"./config-CIrPQIbt.js";import{t as ht}from"./jsx-runtime-ZmTK25f3.js";import{r as pt,t as ae}from"./button-YC1gW_kJ.js";import{r as I}from"./requests-BsVD4CdD.js";import{t as h}from"./createLucideIcon-CnW3RofX.js";import{a as be,f as mt,i as xe,m as ut,p as we,u as ge}from"./layout-DiDoTAUA.js";import{t as je}from"./check-DdfN0k2d.js";import{a as ft,c as yt,i as kt,n as bt,r as xt,s as wt,t as gt}from"./select-V5IdpNiR.js";import{a as jt,n as ve,s as vt,t as Ct,u as Ce}from"./download-CzPV-R6Z.js";import{f as zt}from"./maps-t9yNKYA8.js";import{r as Mt}from"./useCellActionButton-BDMlZzyv.js";import{t as Wt}from"./copy-CQ15EONK.js";import{t as _t}from"./download-B9SUL40m.js";import{t as At}from"./eye-off-BhExYOph.js";import{t as St}from"./file-plus-corner-Da9I6dgU.js";import{t as Nt}from"./file-Cs1JbsV6.js";import{i as Dt,n as Pt,r as It,t as Et}from"./youtube-8p26v8EM.js";import{n as Tt,t as Ht}from"./house-DhFkiXz7.js";import{n as Lt}from"./play-BPIh-ZEU.js";import{t as qt}from"./link-BsTPF7B0.js";import{r as Rt}from"./input-pAun1m1X.js";import{t as Vt}from"./settings-DOXWMfVd.js";import{y as Ot}from"./textarea-DSR2T2ft.js";import{t as Bt}from"./square-C8Tw_XXG.js";import{t as C}from"./use-toast-rmUWldD_.js";import{t as $t}from"./tooltip-CEc2ajau.js";import{a as ze,i as Ut,r as Yt}from"./mode-BCr7l3Th.js";import{o as Ft}from"./alert-dialog-DwQffb13.js";import{a as Gt,c as Jt,i as Kt,n as Xt,r as Zt}from"./dialog-CxGKN4C_.js";import{n as oe}from"./ImperativeModal-CUbWEBci.js";import{r as Qt,t as ea}from"./share-CbPtIlnM.js";import{t as $}from"./copy-Bv2DBpIS.js";import{r as ta}from"./useRunCells-C50mliNM.js";import{a as aa}from"./cell-link-_-mIiddP.js";import{a as Me}from"./renderShortcut-DHc-p-_c.js";import{t as oa}from"./icons-BhEXrzsb.js";import{t as na}from"./links-C-GGaW8R.js";import{r as ia,t as la}from"./hooks-CpjzmBkw.js";import{t as We}from"./types-z6Sk3JCV.js";var sa=h("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),ra=h("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),_e=h("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),Ae=h("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),Se=h("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),da=h("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),ca=h("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),ha=h("keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]),Ne=h("layout-template",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]),pa=h("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),ma=h("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),De=h("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),ua=h("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),fa=h("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),Pe=h("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),Ie=W(),ne=de($e(),1),a=de(ht(),1),U="https://static.marimo.app";const ya=e=>{let t=(0,Ie.c)(25),{onClose:n}=e,[o,l]=(0,ne.useState)(""),{exportAsHTML:r}=I(),s=`${o}-${Math.random().toString(36).slice(2,6)}`,i=`${U}/static/${s}`,d;t[0]!==r||t[1]!==n||t[2]!==s?(d=async v=>{v.preventDefault(),n();let A=await r({download:!1,includeCode:!0,files:mt.INSTANCE.filenames()}),z=C({title:"Uploading static notebook...",description:"Please wait."});await fetch(`${U}/api/static`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({html:A,path:s})}).catch(()=>{z.dismiss(),C({title:"Error uploading static page",description:(0,a.jsxs)("div",{children:["Please try again later. If the problem persists, please file a bug report on"," ",(0,a.jsx)("a",{href:_.issuesPage,target:"_blank",className:"underline",children:"GitHub"}),"."]})})}),z.dismiss(),C({title:"Static page uploaded!",description:(0,a.jsxs)("div",{children:["The URL has been copied to your clipboard.",(0,a.jsx)("br",{}),"You can share it with anyone."]})})},t[0]=r,t[1]=n,t[2]=s,t[3]=d):d=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Jt,{children:"Share static notebook"}),t[4]=p):p=t[4];let w;t[5]===Symbol.for("react.memo_cache_sentinel")?(w=(0,a.jsxs)(Gt,{children:[p,(0,a.jsxs)(Zt,{children:["You can publish a static, non-interactive version of this notebook to the public web. We will create a link for you that lives on"," ",(0,a.jsx)("a",{href:U,target:"_blank",children:U}),"."]})]}),t[5]=w):w=t[5];let g;t[6]===Symbol.for("react.memo_cache_sentinel")?(g=v=>{l(v.target.value.toLowerCase().replaceAll(/\s/g,"-").replaceAll(/[^\da-z-]/g,""))},t[6]=g):g=t[6];let m;t[7]===o?m=t[8]:(m=(0,a.jsx)(Rt,{"data-testid":"slug-input",id:"slug",autoFocus:!0,value:o,placeholder:"Notebook slug",onChange:g,required:!0,autoComplete:"off"}),t[7]=o,t[8]=m);let u;t[9]===i?u=t[10]:(u=(0,a.jsxs)("div",{className:"font-semibold text-sm text-muted-foreground gap-2 flex flex-col",children:["Anyone will be able to access your notebook at this URL:",(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(ka,{text:i}),(0,a.jsx)("span",{className:"text-primary",children:i})]})]}),t[9]=i,t[10]=u);let f;t[11]!==m||t[12]!==u?(f=(0,a.jsxs)("div",{className:"flex flex-col gap-6 py-4",children:[m,u]}),t[11]=m,t[12]=u,t[13]=f):f=t[13];let y;t[14]===n?y=t[15]:(y=(0,a.jsx)(ae,{"data-testid":"cancel-share-static-notebook-button",variant:"secondary",onClick:n,children:"Cancel"}),t[14]=n,t[15]=y);let k;t[16]===i?k=t[17]:(k=(0,a.jsx)(ae,{"data-testid":"share-static-notebook-button","aria-label":"Save",variant:"default",type:"submit",onClick:async()=>{await $(i)},children:"Create"}),t[16]=i,t[17]=k);let b;t[18]!==y||t[19]!==k?(b=(0,a.jsxs)(Kt,{children:[y,k]}),t[18]=y,t[19]=k,t[20]=b):b=t[20];let j;return t[21]!==d||t[22]!==b||t[23]!==f?(j=(0,a.jsx)(Xt,{className:"w-fit",children:(0,a.jsxs)("form",{onSubmit:d,children:[w,f,b]})}),t[21]=d,t[22]=b,t[23]=f,t[24]=j):j=t[24],j};var ka=e=>{let t=(0,Ie.c)(8),[n,o]=ne.useState(!1),l;t[0]===e.text?l=t[1]:(l=pt.stopPropagation(async p=>{p.preventDefault(),await $(e.text),o(!0),setTimeout(()=>o(!1),2e3)}),t[0]=e.text,t[1]=l);let r=l,s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Wt,{size:14,strokeWidth:1.5}),t[2]=s):s=t[2];let i;t[3]===r?i=t[4]:(i=(0,a.jsx)(ae,{"data-testid":"copy-static-notebook-url-button",onClick:r,size:"xs",variant:"secondary",children:s}),t[3]=r,t[4]=i);let d;return t[5]!==n||t[6]!==i?(d=(0,a.jsx)($t,{content:"Copied!",open:n,children:i}),t[5]=n,t[6]=i,t[7]=d):d=t[7],d},ba=W();function xa(){let e=document.getElementsByClassName(ye.outputArea);for(let t of e){let n=t.getBoundingClientRect();if(n.bottom>0&&n.top<window.innerHeight){let o=te.findElement(t);if(!o){P.warn("Could not find HTMLCellId for visible output area",t);continue}return{cellId:te.parse(o.id)}}}return P.warn("No visible output area found for scroll anchor"),null}function wa(e){if(!e){P.warn("No scroll anchor provided to restore scroll position");return}let t=document.getElementById(te.create(e.cellId));if(!t){P.warn("Could not find cell element to restore scroll position",e.cellId);return}if(!t.querySelector(`.${ye.outputArea}`)){P.warn("Could not find output area to restore scroll position",e.cellId);return}t.scrollIntoView({block:"start",behavior:"auto"})}function Ee(){let e=(0,ba.c)(2),t=D(ze),n;return e[0]===t?n=e[1]:(n=()=>{let o=xa();t(l=>({mode:Ut(l.mode),cellAnchor:(o==null?void 0:o.cellId)??null})),requestAnimationFrame(()=>{requestAnimationFrame(()=>{wa(o)})})},e[0]=t,e[1]=n),n}const Te=Be(!1);var ga=W();const ja=()=>{let e=(0,ga.c)(7),{selectedLayout:t}=be(),{setLayoutView:n}=xe();if(ke()&&!ce("wasm_layouts"))return null;let o;e[0]===n?o=e[1]:(o=i=>n(i),e[0]=n,e[1]=o);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(wt,{className:"min-w-[110px] border-border bg-background","data-testid":"layout-select",children:(0,a.jsx)(yt,{placeholder:"Select a view"})}),e[2]=l):l=e[2];let r;e[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,a.jsx)(bt,{children:(0,a.jsxs)(xt,{children:[(0,a.jsx)(ft,{children:"View as"}),We.map(Ca)]})}),e[3]=r):r=e[3];let s;return e[4]!==t||e[5]!==o?(s=(0,a.jsxs)(gt,{"data-testid":"layout-select",value:t,onValueChange:o,children:[l,r]}),e[4]=t,e[5]=o,e[6]=s):s=e[6],s};function va(e){return(0,a.jsx)(He(e),{className:"h-4 w-4"})}function He(e){switch(e){case"vertical":return pa;case"grid":return It;case"slides":return De;default:return ot(e),Bt}}function Le(e){return ue(e)}function Ca(e){return(0,a.jsx)(kt,{value:e,children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5 leading-5",children:[va(e),(0,a.jsx)("span",{children:Le(e)})]})},e)}var za=W();function Ma(e){let t=(0,za.c)(5),{openPrompt:n,closeModal:o}=oe(),{sendCopy:l}=I(),r;return t[0]!==o||t[1]!==n||t[2]!==l||t[3]!==e?(r=()=>{if(!e)return null;let s=Ge.guessDeliminator(e);n({title:"Copy notebook",description:"Enter a new filename for the notebook copy.",defaultValue:`_${me.basename(e)}`,confirmText:"Copy notebook",spellCheck:!1,onConfirm:i=>{let d=s.join(me.dirname(e),i);l({source:e,destination:d}).then(()=>{o(),C({title:"Notebook copied",description:"A copy of the notebook has been created."}),na(d)})}})},t[0]=o,t[1]=n,t[2]=l,t[3]=e,t[4]=r):r=t[4],r}const Wa=()=>{let{updateCellConfig:e}=pe(),{saveCellConfig:t}=I();return(0,ne.useCallback)(async()=>{let n=new Ze,o=he(),l=o.cellIds.inOrderIds,r={};for(let i of l){if(o.cellData[i]===void 0)continue;let{code:d,config:p}=o.cellData[i];p.hide_code||n.isSupported(d)&&(r[i]={hide_code:!0})}let s=fe.entries(r);if(s.length!==0){await t({configs:r});for(let[i,d]of s)e({cellId:i,config:d})}},[e])};var _a=W();function qe(){let e=(0,_a.c)(4),{openConfirm:t}=oe(),n=D(ct),{sendRestart:o}=I(),l;return e[0]!==t||e[1]!==o||e[2]!==n?(l=()=>{t({title:"Restart Kernel",description:"This will restart the Python kernel. You'll lose all data that's in memory. You will also lose any unsaved changes, so make sure to save your work before restarting.",variant:"destructive",confirmAction:(0,a.jsx)(Ft,{onClick:async()=>{n({state:rt.CLOSING}),await o(),Qt()},"aria-label":"Confirm Restart",children:"Restart"})})},e[0]=t,e[1]=o,e[2]=n,e[3]=l):l=e[3],l}var Aa=W(),E=e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()};function Sa(){var se,re;let e=(0,Aa.c)(40),t=aa(),{openModal:n,closeModal:o}=oe(),{toggleApplication:l}=Qe(),{selectedPanel:r}=tt(),[s]=Oe(ze),i=ee(Yt),d=Wa(),[p]=st(),{updateCellConfig:w,undoDeleteCell:g,clearAllCellOutputs:m,addSetupCellIfDoesntExist:u,collapseAllCells:f,expandAllCells:y}=pe(),k=qe(),b=ta(),j=Ma(t),v=D(Te),A=D(it),z=D(lt),{exportAsMarkdown:Y,readCode:S,saveCellConfig:F,updateCellOutputs:G}=I(),J=ee(Xe),K=ee(et),{selectedLayout:X}=be(),{setLayoutView:Z}=xe(),T=Ee(),Q=ia(),H=((se=p.sharing)==null?void 0:se.html)??!0,L=((re=p.sharing)==null?void 0:re.wasm)??!0,q;e[0]===Symbol.for("react.memo_cache_sentinel")?(q=ce("server_side_pdf_export"),e[0]=q):q=e[0];let le=q,R=le||s.mode==="present",Re=Fa,V;e[1]===Symbol.for("react.memo_cache_sentinel")?(V=(0,a.jsx)(_t,{size:14,strokeWidth:1.5}),e[1]=V):V=e[1];let O;e[2]===Symbol.for("react.memo_cache_sentinel")?(O=(0,a.jsx)(we,{size:14,strokeWidth:1.5}),e[2]=O):O=e[2];let M;e[3]===t?M=e[4]:(M=async()=>{if(!t){ie();return}await ge({filename:t,includeCode:!0})},e[3]=t,e[4]=M);let B;return e[5]!==u||e[6]!==K||e[7]!==m||e[8]!==o||e[9]!==f||e[10]!==j||e[11]!==y||e[12]!==Y||e[13]!==t||e[14]!==J||e[15]!==d||e[16]!==i||e[17]!==n||e[18]!==R||e[19]!==S||e[20]!==k||e[21]!==b||e[22]!==F||e[23]!==X||e[24]!==r||e[25]!==v||e[26]!==z||e[27]!==Z||e[28]!==A||e[29]!==H||e[30]!==L||e[31]!==M||e[32]!==Q||e[33]!==l||e[34]!==T||e[35]!==g||e[36]!==w||e[37]!==G||e[38]!==s.mode?(B=[{icon:V,label:"Download",handle:E,dropdown:[{icon:O,label:"Download as HTML",handle:M},{icon:(0,a.jsx)(we,{size:14,strokeWidth:1.5}),label:"Download as HTML (exclude code)",handle:async()=>{if(!t){ie();return}await ge({filename:t,includeCode:!1})}},{icon:(0,a.jsx)(oa,{strokeWidth:1.5,style:{width:14,height:14}}),label:"Download as Markdown",handle:async()=>{let c=await Y({download:!1});ve(new Blob([c],{type:"text/plain"}),Ce.toMarkdown(document.title))}},{icon:(0,a.jsx)(ut,{size:14,strokeWidth:1.5}),label:"Download Python code",handle:async()=>{let c=await S();ve(new Blob([c.contents],{type:"text/plain"}),Ce.toPY(document.title))}},{divider:!0,icon:(0,a.jsx)(Lt,{size:14,strokeWidth:1.5}),label:"Download as PNG",disabled:s.mode!=="present",tooltip:s.mode==="present"?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Me("global.hideCode",!1)]}),handle:Ya},{icon:(0,a.jsx)(Nt,{size:14,strokeWidth:1.5}),label:"Download as PDF",disabled:!R,tooltip:R?void 0:(0,a.jsxs)("span",{children:["Only available in app view. ",(0,a.jsx)("br",{}),"Toggle with: ",Me("global.hideCode",!1)]}),handle:async()=>{if(le){if(!t){ie();return}await vt("Downloading PDF...",async N=>{await la({takeScreenshots:()=>Q({progress:N,snappy:!1}),updateCellOutputs:G}),await Ct({filename:t,webpdf:!1})});return}let c=new Event("export-beforeprint"),x=new Event("export-afterprint");(function(){window.dispatchEvent(c),setTimeout(Ua,0),setTimeout(()=>window.dispatchEvent(x),0)})()}}]},{icon:(0,a.jsx)(ua,{size:14,strokeWidth:1.5}),label:"Share",handle:E,hidden:!H&&!L,dropdown:[{icon:(0,a.jsx)(Tt,{size:14,strokeWidth:1.5}),label:"Publish HTML to web",hidden:!H,handle:async()=>{n((0,a.jsx)(ya,{onClose:o}))}},{icon:(0,a.jsx)(qt,{size:14,strokeWidth:1.5}),label:"Create WebAssembly link",hidden:!L,handle:async()=>{await $(ea({code:(await S()).contents})),C({title:"Copied",description:"Link copied to clipboard."})}}]},{icon:(0,a.jsx)(ma,{size:14,strokeWidth:1.5}),label:"Helper panel",redundant:!0,handle:E,dropdown:Ke.flatMap(c=>{let{type:x,Icon:N,hidden:Ve}=c;return Ve?[]:{label:ue(x),rightElement:Re(r===x),icon:(0,a.jsx)(N,{size:14,strokeWidth:1.5}),handle:()=>l(x)}})},{icon:(0,a.jsx)(De,{size:14,strokeWidth:1.5}),label:"Present as",handle:E,dropdown:[{icon:s.mode==="present"?(0,a.jsx)(Ot,{size:14,strokeWidth:1.5}):(0,a.jsx)(Ne,{size:14,strokeWidth:1.5}),label:"Toggle app view",hotkey:"global.hideCode",handle:()=>{T()}},...We.map((c,x)=>{let N=He(c);return{divider:x===0,label:Le(c),icon:(0,a.jsx)(N,{size:14,strokeWidth:1.5}),rightElement:(0,a.jsx)("div",{className:"w-8 flex justify-end",children:X===c&&(0,a.jsx)(je,{size:14})}),handle:()=>{Z(c),s.mode==="edit"&&T()}}})]},{icon:(0,a.jsx)(ca,{size:14,strokeWidth:1.5}),label:"Duplicate notebook",hidden:!t||ke(),handle:j},{icon:(0,a.jsx)(_e,{size:14,strokeWidth:1.5}),label:"Copy code to clipboard",hidden:!t,handle:async()=>{await $((await S()).contents),C({title:"Copied",description:"Code copied to clipboard."})}},{icon:(0,a.jsx)(Mt,{size:14,strokeWidth:1.5}),label:"Enable all cells",hidden:!J||i,handle:async()=>{let c=at(he());await F({configs:fe.fromEntries(c.map($a))});for(let x of c)w({cellId:x,config:{disabled:!1}})}},{divider:!0,icon:(0,a.jsx)(Se,{size:14,strokeWidth:1.5}),label:"Add setup cell",handle:()=>{u({})}},{icon:(0,a.jsx)(Ye,{size:14,strokeWidth:1.5}),label:"Add database connection",handle:()=>{n((0,a.jsx)(nt,{onClose:o}))}},{icon:(0,a.jsx)(Pe,{size:14,strokeWidth:1.5}),label:"Undo cell deletion",hidden:!K||i,handle:()=>{g()}},{icon:(0,a.jsx)(fa,{size:14,strokeWidth:1.5}),label:"Restart kernel",variant:"danger",handle:k},{icon:(0,a.jsx)(da,{size:14,strokeWidth:1.5}),label:"Re-run all cells",redundant:!0,hotkey:"global.runAll",handle:async()=>{b()}},{icon:(0,a.jsx)(Fe,{size:14,strokeWidth:1.5}),label:"Clear all outputs",redundant:!0,handle:()=>{m()}},{icon:(0,a.jsx)(At,{size:14,strokeWidth:1.5}),label:"Hide all markdown code",handle:d,redundant:!0},{icon:(0,a.jsx)(ra,{size:14,strokeWidth:1.5}),label:"Collapse all sections",hotkey:"global.collapseAllSections",handle:f,redundant:!0},{icon:(0,a.jsx)(sa,{size:14,strokeWidth:1.5}),label:"Expand all sections",hotkey:"global.expandAllSections",handle:y,redundant:!0},{divider:!0,icon:(0,a.jsx)(Ae,{size:14,strokeWidth:1.5}),label:"Command palette",hotkey:"global.commandPalette",handle:()=>v(Ba)},{icon:(0,a.jsx)(ha,{size:14,strokeWidth:1.5}),label:"Keyboard shortcuts",hotkey:"global.showHelp",handle:()=>z(Oa)},{icon:(0,a.jsx)(Vt,{size:14,strokeWidth:1.5}),label:"User settings",handle:()=>A(Va),redundant:!0},{icon:(0,a.jsx)(zt,{size:14,strokeWidth:1.5}),label:"Resources",handle:E,dropdown:[{icon:(0,a.jsx)(Ue,{size:14,strokeWidth:1.5}),label:"Documentation",handle:Ra},{icon:(0,a.jsx)(Dt,{size:14,strokeWidth:1.5}),label:"GitHub",handle:qa},{icon:(0,a.jsx)(Pt,{size:14,strokeWidth:1.5}),label:"Discord Community",handle:La},{icon:(0,a.jsx)(Et,{size:14,strokeWidth:1.5}),label:"YouTube",handle:Ha},{icon:(0,a.jsx)(Je,{size:14,strokeWidth:1.5}),label:"Changelog",handle:Ta}]},{divider:!0,icon:(0,a.jsx)(Ht,{size:14,strokeWidth:1.5}),label:"Return home",hidden:!location.search.includes("file"),handle:Ea},{icon:(0,a.jsx)(St,{size:14,strokeWidth:1.5}),label:"New notebook",hidden:!location.search.includes("file"),handle:Ia}].filter(Pa).map(Na),e[5]=u,e[6]=K,e[7]=m,e[8]=o,e[9]=f,e[10]=j,e[11]=y,e[12]=Y,e[13]=t,e[14]=J,e[15]=d,e[16]=i,e[17]=n,e[18]=R,e[19]=S,e[20]=k,e[21]=b,e[22]=F,e[23]=X,e[24]=r,e[25]=v,e[26]=z,e[27]=Z,e[28]=A,e[29]=H,e[30]=L,e[31]=M,e[32]=Q,e[33]=l,e[34]=T,e[35]=g,e[36]=w,e[37]=G,e[38]=s.mode,e[39]=B):B=e[39],B}function Na(e){return e.dropdown?{...e,dropdown:e.dropdown.filter(Da)}:e}function Da(e){return!e.hidden}function Pa(e){return!e.hidden}function Ia(){let e=dt();window.open(e,"_blank")}function Ea(){let e=document.baseURI.split("?")[0];window.open(e,"_self")}function Ta(){window.open(_.releasesPage,"_blank")}function Ha(){window.open(_.youtube,"_blank")}function La(){window.open(_.discordLink,"_blank")}function qa(){window.open(_.githubPage,"_blank")}function Ra(){window.open(_.docsPage,"_blank")}function Va(e){return!e}function Oa(e){return!e}function Ba(e){return!e}function $a(e){return[e,{disabled:!1}]}function Ua(){return window.print()}async function Ya(){let e=document.getElementById("App");e&&await jt({element:e,filename:document.title})}function Fa(e){return(0,a.jsx)("div",{className:"w-8 flex justify-end",children:e&&(0,a.jsx)(je,{size:14})})}function ie(){C({title:"Error",description:"Notebooks must be named to be exported.",variant:"danger"})}export{Ee as a,Se as c,Te as i,Ae as l,qe as n,Pe as o,ja as r,Ne as s,Sa as t,_e as u};
|