@marimo-team/frontend 0.23.16-dev26 → 0.23.16-dev29
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-DwV4gbV3.js → CellStatus-CmojVYzm.js} +1 -1
- package/dist/assets/{JsonOutput-BG5T3DG2.js → JsonOutput-BwwRpByA.js} +12 -12
- package/dist/assets/{MarimoErrorOutput-C2HrF0bD.js → MarimoErrorOutput-BWte8vjk.js} +5 -5
- package/dist/assets/{RenderHTML-DoCFSir5.js → RenderHTML-DRltV71H.js} +1 -1
- package/dist/assets/{RunButton-COtmJuup.js → RunButton-DIegd2mN.js} +1 -1
- package/dist/assets/{add-cell-with-ai-BBAhBpT1.js → add-cell-with-ai-BBFD-M9V.js} +12 -12
- package/dist/assets/{add-connection-dialog-DFD5BLGa.js → add-connection-dialog-CECJ8507.js} +1 -1
- package/dist/assets/{agent-panel-TJGdsxOX.js → agent-panel-YaS0WXP1.js} +5 -5
- package/dist/assets/{ai-model-dropdown-BMS30HMu.js → ai-model-dropdown-BpVBUZnz.js} +4 -4
- package/dist/assets/{app-config-button-Cankwixh.js → app-config-button-BW-w01aF.js} +1 -1
- package/dist/assets/{cell-editor-sBYL591r.js → cell-editor-EV-1IccQ.js} +10 -10
- package/dist/assets/{cell-link-D1nZ5myN.js → cell-link-C5gpAn3R.js} +1 -1
- package/dist/assets/{cells-D9tCNe6o.js → cells-6yd8nOAu.js} +45 -45
- package/dist/assets/{chat-display-ZB0n2r4U.js → chat-display-8BbC5B-D.js} +1 -1
- package/dist/assets/{chat-panel-BKqRvvhb.js → chat-panel-00V3uFDx.js} +1 -1
- package/dist/assets/{chat-ui-B3Pz1Tc4.js → chat-ui-DWhJ2Ozy.js} +1 -1
- package/dist/assets/{column-preview-CSVQtCQS.js → column-preview-DeXESYpM.js} +1 -1
- package/dist/assets/{command-palette-DiUt8L1K.js → command-palette-DZ2rNzzf.js} +1 -1
- package/dist/assets/{common-XBd1qRDk.js → common-XVELED_O.js} +1 -1
- package/dist/assets/{components-D-aPO6md.js → components-BLHpmhXx.js} +1 -1
- package/dist/assets/{datasource-Pl4KKOUa.js → datasource-CTqa8bf-.js} +2 -2
- package/dist/assets/{dependency-graph-panel-rRXAafZ4.js → dependency-graph-panel-C4Nzcddp.js} +3 -3
- package/dist/assets/documentation-panel-Bym4G7IS.js +1 -0
- package/dist/assets/{download-Benw6kUY.js → download-HKgqJX4l.js} +3 -3
- package/dist/assets/{edit-page-CxNNXB4Y.js → edit-page-BPBDN3FB.js} +6 -6
- package/dist/assets/{error-entries-CmfGHGq1.js → error-entries-CxyvaxEM.js} +2 -2
- package/dist/assets/{error-panel-BKb_UksO.js → error-panel-CfSy7uUr.js} +1 -1
- package/dist/assets/{file-explorer-panel-C9I7XP84.js → file-explorer-panel-Dd5Xn2TK.js} +4 -4
- package/dist/assets/{file-icons-Czm7CWoc.js → file-icons-CSjJ3JC6.js} +1 -1
- package/dist/assets/{file-name-input-CjWG0FWT.js → file-name-input-CrKtrXMl.js} +1 -1
- package/dist/assets/{floating-outline-BWk7h_Uf.js → floating-outline-ByQ8vvif.js} +1 -1
- package/dist/assets/{focus-DTmSq3hN.js → focus-CVONl-Dy.js} +1 -1
- package/dist/assets/{form-DrCvDcRK.js → form-Ca3yd_Od.js} +1 -1
- package/dist/assets/{home-page-DwtZlFRD.js → home-page-FpAawj9s.js} +2 -2
- package/dist/assets/{html-to-image-1vflBYah.js → html-to-image-C-4ysbGe.js} +1 -1
- package/dist/assets/{index-DK7_phcn.js → index-BJDqUUF2.js} +6 -6
- package/dist/assets/{layout-Cdpz2zk4.js → layout-Dtql_o_T.js} +5 -5
- package/dist/assets/{logs-panel-BojuPimp.js → logs-panel-5u1wUBn1.js} +1 -1
- package/dist/assets/{markdown-renderer-C9vdWclk.js → markdown-renderer-dABDqZDw.js} +1 -1
- package/dist/assets/{name-cell-input-BSFsnuTp.js → name-cell-input-Y4knmEIU.js} +1 -1
- package/dist/assets/{outline-panel-B1f5a2yI.js → outline-panel-CQ_KWLip.js} +1 -1
- package/dist/assets/{packages-panel-kj52vQTZ.js → packages-panel-Ijt7d51P.js} +1 -1
- package/dist/assets/{panels-Bs7O_Hac.js → panels-Nt5IZl-9.js} +2 -2
- package/dist/assets/{process-output-Csd6PmBH.js → process-output-Dd11YI04.js} +1 -1
- package/dist/assets/{radio-group-CdR34W0K.js → radio-group-22eWJ9fv.js} +1 -1
- package/dist/assets/{readonly-code-display-XBAHhCYR.js → readonly-code-display-BjK-TEri.js} +1 -1
- package/dist/assets/{readonly-python-code-3UXLXM0g.js → readonly-python-code-n_TrLmsR.js} +1 -1
- package/dist/assets/{reveal-component-DTcc6OYd.js → reveal-component-CCLTV1q6.js} +42 -42
- package/dist/assets/{run-page-BgzVSOZh.js → run-page-CtYo0xcq.js} +1 -1
- package/dist/assets/scratchpad-panel-C2wAEv5n.js +1 -0
- package/dist/assets/{session-panel-Cs9YKkJc.js → session-panel-BZGNcZmp.js} +1 -1
- package/dist/assets/{skeleton-BOtI6k5P.js → skeleton-BzlKcq21.js} +1 -1
- package/dist/assets/slides-DkEgzTJB.css +1 -0
- package/dist/assets/{snippets-panel-ACMhA8oL.js → snippets-panel-DNaNtkR0.js} +1 -1
- package/dist/assets/{state-Dj8qTUAp.js → state-B7LxUcAy.js} +3 -3
- package/dist/assets/{state-N0U-K9F6.js → state-jCdh8Dcx.js} +1 -1
- package/dist/assets/{textarea-BQE_pb7P.js → textarea-DuEtSOCl.js} +1 -1
- package/dist/assets/{tracing-panel-CmMG0R-H.js → tracing-panel-rVAa3En0.js} +2 -2
- package/dist/assets/{tracing-CuJfR83E.js → tracing-ttUd3J7U.js} +1 -1
- package/dist/assets/{tree-actions-DJTGQWz0.js → tree-actions-UCr1tMHw.js} +1 -1
- package/dist/assets/useCellActionButton-CJknR0XY.js +1 -0
- package/dist/assets/{useDeleteCell-DsWH8wmn.js → useDeleteCell-PrgejW8A.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DjhiptCs.js → useDependencyPanelTab-5jc-_-hy.js} +1 -1
- package/dist/assets/{useNotebookActions-Bj0q_nkr.js → useNotebookActions-DG8f4m8p.js} +3 -3
- package/dist/assets/useRunCells-DHsd7HGL.js +1 -0
- package/dist/assets/{useSplitCell-CapBPXO1.js → useSplitCell-MZpER0Bh.js} +1 -1
- package/dist/index.html +22 -22
- package/package.json +1 -1
- package/src/components/data-table/__tests__/__snapshots__/chart-spec-model.test.ts.snap +174 -21
- package/src/components/data-table/__tests__/chart-spec-model.test.ts +102 -1
- package/src/components/data-table/column-summary/chart-spec-model.tsx +163 -103
- package/src/components/data-table/column-summary/legacy-chart-spec.ts +15 -7
- package/src/components/data-table/column-summary/utils.ts +26 -7
- package/src/components/data-table/types.ts +1 -1
- package/src/components/slides/__tests__/cell-output-block.test.tsx +40 -0
- package/src/components/slides/__tests__/slide-cell-view.test.tsx +33 -0
- package/src/components/slides/reveal-component.tsx +22 -17
- package/src/components/slides/slide-cell-view.tsx +1 -1
- package/src/components/slides/slides.css +4 -2
- package/src/core/codemirror/find-replace/__tests__/navigate.test.ts +42 -30
- package/src/core/codemirror/find-replace/navigate.ts +2 -0
- package/src/core/codemirror/go-to-definition/__tests__/commands.test.ts +24 -3
- package/src/core/codemirror/go-to-definition/commands.ts +3 -0
- package/src/core/codemirror/utils.ts +28 -0
- package/dist/assets/documentation-panel-DSOMQtKU.js +0 -1
- package/dist/assets/scratchpad-panel-XnaU8Prb.js +0 -1
- package/dist/assets/slides-MCbMDtlY.css +0 -1
- package/dist/assets/useCellActionButton-Bglkc3w8.js +0 -1
- package/dist/assets/useRunCells-BpMmDGqa.js +0 -1
- /package/dist/assets/{swiper-component-Che9MNs4.js → swiper-component-g8EXE911.js} +0 -0
|
@@ -20,6 +20,26 @@ vi.mock("@/core/cells/cells", () => ({
|
|
|
20
20
|
getAllEditorViews: () => mockGetAllEditorViews(),
|
|
21
21
|
}));
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* A view stub that only carries what navigate needs
|
|
25
|
+
*/
|
|
26
|
+
function createMockView(state: EditorState): EditorView {
|
|
27
|
+
const cell = document.createElement("div");
|
|
28
|
+
cell.className = "marimo-cell";
|
|
29
|
+
// jsdom doesn't implement scrollIntoView.
|
|
30
|
+
cell.scrollIntoView = vi.fn();
|
|
31
|
+
const dom = document.createElement("div");
|
|
32
|
+
cell.append(dom);
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
state,
|
|
36
|
+
dom,
|
|
37
|
+
// Don't actually apply changes; it's complex to mock properly and the
|
|
38
|
+
// assertions only care that dispatch was called.
|
|
39
|
+
dispatch: vi.fn(),
|
|
40
|
+
} as unknown as EditorView;
|
|
41
|
+
}
|
|
42
|
+
|
|
23
43
|
describe("navigate", () => {
|
|
24
44
|
let view1: EditorView;
|
|
25
45
|
let view2: EditorView;
|
|
@@ -36,20 +56,8 @@ describe("navigate", () => {
|
|
|
36
56
|
});
|
|
37
57
|
|
|
38
58
|
// Create mock views that track dispatch calls
|
|
39
|
-
view1 =
|
|
40
|
-
|
|
41
|
-
dispatch: vi.fn(() => {
|
|
42
|
-
// Mock dispatch - in real tests we just need to verify it was called
|
|
43
|
-
// Don't actually apply changes as it's complex to mock properly
|
|
44
|
-
}),
|
|
45
|
-
} as unknown as EditorView;
|
|
46
|
-
|
|
47
|
-
view2 = {
|
|
48
|
-
state: state2,
|
|
49
|
-
dispatch: vi.fn(() => {
|
|
50
|
-
// Mock dispatch - in real tests we just need to verify it was called
|
|
51
|
-
}),
|
|
52
|
-
} as unknown as EditorView;
|
|
59
|
+
view1 = createMockView(state1);
|
|
60
|
+
view2 = createMockView(state2);
|
|
53
61
|
|
|
54
62
|
mockViews = [view1, view2];
|
|
55
63
|
mockGetAllEditorViews.mockReturnValue(mockViews);
|
|
@@ -234,6 +242,22 @@ describe("navigate", () => {
|
|
|
234
242
|
|
|
235
243
|
expect(result).toBe(false);
|
|
236
244
|
});
|
|
245
|
+
|
|
246
|
+
it("should scroll the cell owning the match into view", async () => {
|
|
247
|
+
const cell = view1.dom.closest(".marimo-cell");
|
|
248
|
+
invariant(cell, "mock view should be inside a cell");
|
|
249
|
+
|
|
250
|
+
expect(findNext()).toBeTruthy();
|
|
251
|
+
|
|
252
|
+
// The scroll is deferred a frame.
|
|
253
|
+
await new Promise((resolve) => requestAnimationFrame(resolve));
|
|
254
|
+
|
|
255
|
+
expect(cell.scrollIntoView).toHaveBeenCalledWith({
|
|
256
|
+
behavior: "instant",
|
|
257
|
+
block: "nearest",
|
|
258
|
+
inline: "nearest",
|
|
259
|
+
});
|
|
260
|
+
});
|
|
237
261
|
});
|
|
238
262
|
|
|
239
263
|
describe("findPrev", () => {
|
|
@@ -319,10 +343,7 @@ describe("navigate", () => {
|
|
|
319
343
|
extensions: [EditorState.readOnly.of(true)],
|
|
320
344
|
});
|
|
321
345
|
|
|
322
|
-
const readOnlyView =
|
|
323
|
-
state: readOnlyState,
|
|
324
|
-
dispatch: vi.fn(),
|
|
325
|
-
} as unknown as EditorView;
|
|
346
|
+
const readOnlyView = createMockView(readOnlyState);
|
|
326
347
|
|
|
327
348
|
// Replace view1 with read-only view temporarily
|
|
328
349
|
mockGetAllEditorViews.mockReturnValueOnce([readOnlyView, view2]);
|
|
@@ -568,10 +589,7 @@ describe("navigate", () => {
|
|
|
568
589
|
doc: Text.of(["hello world hello there hello"]),
|
|
569
590
|
});
|
|
570
591
|
|
|
571
|
-
const testView =
|
|
572
|
-
state: testDoc,
|
|
573
|
-
dispatch: vi.fn(),
|
|
574
|
-
} as unknown as EditorView;
|
|
592
|
+
const testView = createMockView(testDoc);
|
|
575
593
|
|
|
576
594
|
mockGetAllEditorViews.mockReturnValue([testView]);
|
|
577
595
|
|
|
@@ -613,10 +631,7 @@ describe("navigate", () => {
|
|
|
613
631
|
doc: Text.of([""]),
|
|
614
632
|
});
|
|
615
633
|
|
|
616
|
-
const emptyView =
|
|
617
|
-
state: emptyState,
|
|
618
|
-
dispatch: vi.fn(),
|
|
619
|
-
} as unknown as EditorView;
|
|
634
|
+
const emptyView = createMockView(emptyState);
|
|
620
635
|
|
|
621
636
|
mockGetAllEditorViews.mockReturnValue([emptyView]);
|
|
622
637
|
|
|
@@ -629,10 +644,7 @@ describe("navigate", () => {
|
|
|
629
644
|
doc: Text.of(["orphan content"]),
|
|
630
645
|
});
|
|
631
646
|
|
|
632
|
-
const orphanView =
|
|
633
|
-
state: orphanState,
|
|
634
|
-
dispatch: vi.fn(),
|
|
635
|
-
} as unknown as EditorView;
|
|
647
|
+
const orphanView = createMockView(orphanState);
|
|
636
648
|
|
|
637
649
|
store.set(findReplaceAtom, {
|
|
638
650
|
type: "setCurrentView",
|
|
@@ -6,6 +6,7 @@ import { EditorView } from "@codemirror/view";
|
|
|
6
6
|
import { getAllEditorViews } from "@/core/cells/cells";
|
|
7
7
|
import { replaceEditorContent } from "@/core/codemirror/replace-editor-content";
|
|
8
8
|
import { store } from "@/core/state/jotai";
|
|
9
|
+
import { scrollOwnerCell } from "../utils";
|
|
9
10
|
import { asQueryCreator, type QueryType } from "./query";
|
|
10
11
|
import { findReplaceAtom } from "./state";
|
|
11
12
|
|
|
@@ -85,6 +86,7 @@ const findInDirection = (direction: "next" | "prev") =>
|
|
|
85
86
|
effects: [EditorView.scrollIntoView(selection.main, { y: "center" })],
|
|
86
87
|
userEvent: "select.search",
|
|
87
88
|
});
|
|
89
|
+
scrollOwnerCell(view);
|
|
88
90
|
store.set(findReplaceAtom, {
|
|
89
91
|
type: "setCurrentView",
|
|
90
92
|
view,
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
import { python } from "@codemirror/lang-python";
|
|
4
4
|
import { EditorState } from "@codemirror/state";
|
|
5
5
|
import { EditorView } from "@codemirror/view";
|
|
6
|
-
import { afterEach, describe, expect, test } from "vitest";
|
|
6
|
+
import { afterEach, describe, expect, test, vi } from "vitest";
|
|
7
7
|
import { goToVariableDefinition } from "../commands";
|
|
8
8
|
|
|
9
9
|
async function tick(): Promise<void> {
|
|
10
10
|
await new Promise((resolve) => requestAnimationFrame(resolve));
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
function createEditor(content: string) {
|
|
13
|
+
function createEditor(content: string, parent: HTMLElement = document.body) {
|
|
14
14
|
const state = EditorState.create({
|
|
15
15
|
doc: content,
|
|
16
16
|
extensions: [python()],
|
|
@@ -18,7 +18,7 @@ function createEditor(content: string) {
|
|
|
18
18
|
|
|
19
19
|
const view = new EditorView({
|
|
20
20
|
state,
|
|
21
|
-
parent
|
|
21
|
+
parent,
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
return view;
|
|
@@ -383,6 +383,27 @@ print('myVar')`);
|
|
|
383
383
|
"
|
|
384
384
|
`);
|
|
385
385
|
});
|
|
386
|
+
|
|
387
|
+
test("scrolls the cell owning the definition into view", async () => {
|
|
388
|
+
const cell = document.createElement("div");
|
|
389
|
+
cell.className = "marimo-cell";
|
|
390
|
+
// jsdom doesn't implement scrollIntoView.
|
|
391
|
+
cell.scrollIntoView = vi.fn();
|
|
392
|
+
document.body.append(cell);
|
|
393
|
+
|
|
394
|
+
view = createEditor("myVar = 10\nprint(myVar)", cell);
|
|
395
|
+
expect(goToVariableDefinition(view, "myVar")).toBe(true);
|
|
396
|
+
// The jump and the scroll are both deferred to the next frame.
|
|
397
|
+
await tick();
|
|
398
|
+
|
|
399
|
+
expect(cell.scrollIntoView).toHaveBeenCalledWith({
|
|
400
|
+
behavior: "instant",
|
|
401
|
+
block: "nearest",
|
|
402
|
+
inline: "nearest",
|
|
403
|
+
});
|
|
404
|
+
|
|
405
|
+
cell.remove();
|
|
406
|
+
});
|
|
386
407
|
});
|
|
387
408
|
|
|
388
409
|
/**
|
|
@@ -4,6 +4,7 @@ import { syntaxTree } from "@codemirror/language";
|
|
|
4
4
|
import type { EditorState } from "@codemirror/state";
|
|
5
5
|
import { EditorView } from "@codemirror/view";
|
|
6
6
|
import type { SyntaxNode, Tree, TreeCursor } from "@lezer/common";
|
|
7
|
+
import { scrollOwnerCell } from "../utils";
|
|
7
8
|
|
|
8
9
|
const SCOPE_CREATING_NODES = new Set([
|
|
9
10
|
"FunctionDefinition",
|
|
@@ -45,6 +46,8 @@ function goToPosition(view: EditorView, from: number): void {
|
|
|
45
46
|
}),
|
|
46
47
|
});
|
|
47
48
|
});
|
|
49
|
+
|
|
50
|
+
scrollOwnerCell(view);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
function findFirstMatchingVariable(
|
|
@@ -52,6 +52,34 @@ export function focusInputAndMoveToEnd(
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Scrolls the `.marimo-cell` that owns `view` into view.
|
|
57
|
+
*
|
|
58
|
+
* `EditorView.scrollIntoView` doesn't work in columns mode: it stops at the
|
|
59
|
+
* first overflowing ancestor even if that ancestor doesn't actually scroll,
|
|
60
|
+
* so it never reaches the real horizontally-scrolling container. The
|
|
61
|
+
* browser's native `Element.scrollIntoView` doesn't have that problem.
|
|
62
|
+
*
|
|
63
|
+
* Deferred a frame so CodeMirror's own scroll settles first; otherwise it
|
|
64
|
+
* clamps this scroll right back.
|
|
65
|
+
*
|
|
66
|
+
* https://github.com/marimo-team/marimo/issues/10222
|
|
67
|
+
*/
|
|
68
|
+
export function scrollOwnerCell(view: EditorView): void {
|
|
69
|
+
const cell = view.dom.closest(".marimo-cell");
|
|
70
|
+
if (!cell) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
requestAnimationFrame(() => {
|
|
75
|
+
cell.scrollIntoView({
|
|
76
|
+
behavior: "instant",
|
|
77
|
+
block: "nearest",
|
|
78
|
+
inline: "nearest",
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
55
83
|
export function isInVimMode(ev: EditorView): boolean {
|
|
56
84
|
return getCM(ev)?.state.vim != null;
|
|
57
85
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s}from"./chunk-LvLJmgfZ.js";import{u as a}from"./useEvent-D91BmmQi.js";import{t as p}from"./react-Bj1aDYRI.js";import{Cn as l,sr as n}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as c}from"./compiler-runtime-B3qBwwSJ.js";import{t as f}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{t as u}from"./RenderHTML-DoCFSir5.js";import{t as d}from"./empty-state-CqJvEFRk.js";var x=c();p();var e=s(f(),1),v=()=>{let o=(0,x.c)(5),{documentation:r}=a(l);if(!r){let i;return o[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,e.jsx)(d,{title:"View docs as you type",description:"Move your text cursor over a symbol to see its documentation.",icon:(0,e.jsx)(n,{})}),o[0]=i):i=o[0],i}let t;o[1]===r?t=o[2]:(t=u({html:r}),o[1]=r,o[2]=t);let m;return o[3]===t?m=o[4]:(m=(0,e.jsx)("div",{className:"p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4",children:t}),o[3]=t,o[4]=m),m};export{v as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as oe}from"./chunk-LvLJmgfZ.js";import{d as be,l as we,n as V,p as ae,u as Ne}from"./useEvent-D91BmmQi.js";import{t as ye}from"./react-Bj1aDYRI.js";import{Bi as ke,E as ze,F as Ce,Ji as Se,Nn as Oe,Yi as n,__tla as Ae}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as ie}from"./compiler-runtime-B3qBwwSJ.js";import{_ as se}from"./useEventListener-C0195JsF.js";import{C as Ee}from"./utils-BWBBpCkT.js";import{t as Ie}from"./constants-CDyU_g2F.js";import"./readonly-python-code-3UXLXM0g.js";import{t as le}from"./cn-DYvqRARy.js";import{t as Le}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import{n as Me,__tla as Pe}from"./JsonOutput-BG5T3DG2.js";import"./download-Benw6kUY.js";import{t as z}from"./tooltip-4bZlU7jl.js";import{t as C}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as Re}from"./requests-9-v2bhoi.js";import{t as me}from"./createLucideIcon-w-Qo9n0R.js";import{f as De,__tla as He}from"./layout-Cdpz2zk4.js";import{n as Ve,t as qe,__tla as Te}from"./LazyAnyLanguageCodeMirror-B2JvSXP-.js";import{__tla as Be}from"./markdown-renderer-C9vdWclk.js";import{u as Fe}from"./toDate-Ct2FT81-.js";import{t as Ge,__tla as Je}from"./cell-editor-sBYL591r.js";import{t as Ue}from"./spinner-D-V4psAa.js";import{i as Ye}from"./useDeleteCell-DsWH8wmn.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import{r as Ke}from"./useTheme-Bxv9B31g.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{__tla as Qe}from"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-1vflBYah.js";import{o as We}from"./focus-DTmSq3hN.js";import{n as Xe,r as Ze,t as ne}from"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as $e}from"./renderShortcut-Bl8_FVn8.js";import"./esm-B30N1GS0.js";import"./name-cell-input-BSFsnuTp.js";import{n as et,r as tt}from"./panel-context-CH75ubGG.js";import{__tla as rt}from"./loro_wasm_bg-RNUly1SE.js";import"./ws-BmTnbVEi.js";import"./Inputs-B8-VCb_j.js";import"./dist-D5ToCtv8.js";import"./dist-D35OyUMQ.js";import"./dist-ByK00N0T.js";import"./dist-C5kf6g-d.js";import"./dist-BaKJ0-Tb.js";import"./dist-DNGKAtWk.js";import"./dist-56ul6-mm.js";import"./dist-3N7-WLqi.js";import"./dist-CM-lWxt3.js";import"./esm-Cmv0Nuxi.js";import{t as ot}from"./kiosk-mode-BumOFEtY.js";let ce,at=Promise.all([(()=>{try{return Ae}catch{}})(),(()=>{try{return Pe}catch{}})(),(()=>{try{return He}catch{}})(),(()=>{try{return Te}catch{}})(),(()=>{try{return Be}catch{}})(),(()=>{try{return Je}catch{}})(),(()=>{try{return Qe}catch{}})(),(()=>{try{return rt}catch{}})()]).then(async()=>{var de=me("eraser",[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",key:"g5wo59"}],["path",{d:"m5.082 11.09 8.828 8.828",key:"1wx5vj"}]]),he=me("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),pe=ie(),q=oe(ye(),1),ue=15;const T=ke("marimo:scratchpadHistory:v1",[],Oe),fe=ae(!1),xe=ae(null,(e,i,s)=>{if(s=s.trim(),!s)return;let m=e(T);i(T,[s,...m.filter(c=>c!==s)].slice(0,ue))});var t=oe(Le(),1),_e={hide_code:!1,disabled:!1};const ve=()=>{var re;let e=(0,pe.c)(60),i=Ce(),[s]=Ee(),{theme:m}=Ke(),c=(0,q.useRef)(null),B=We(),{createNewCell:F,updateCellCode:d}=ze(),{sendRunScratchpad:h}=Re(),S=et(),G=tt(),l=i.cellRuntime[n],J=l==null?void 0:l.output,O=l==null?void 0:l.status,U=l==null?void 0:l.consoleOutputs,r=((re=i.cellData.__scratch__)==null?void 0:re.code)??"",Y=be(xe),[a,p]=we(fe),u=Ne(T),A;e[0]!==Y||e[1]!==r||e[2]!==h?(A=()=>{h({code:r}),Y(r)},e[0]=Y,e[1]=r,e[2]=h,e[3]=A):A=e[3];let f=V(A),E;e[4]!==r||e[5]!==F||e[6]!==B?(E=()=>{r.trim()&&F({code:r,before:!1,cellId:B??"__end__"})},e[4]=r,e[5]=F,e[6]=B,e[7]=E):E=e[7];let K=V(E),I;e[8]!==h||e[9]!==d?(I=()=>{d({cellId:n,code:"",formattingChange:!1}),h({code:""});let o=c.current;o&&o.dispatch({changes:{from:0,to:o.state.doc.length,insert:""}})},e[8]=h,e[9]=d,e[10]=I):I=e[10];let Q=V(I),L;e[11]!==p||e[12]!==d?(L=o=>{p(!1),d({cellId:n,code:o,formattingChange:!1});let k=c.current;k&&k.dispatch({changes:{from:0,to:k.state.doc.length,insert:o}})},e[11]=p,e[12]=d,e[13]=L):L=e[13];let W=V(L),[X,je]=(0,q.useState)(),M;e[14]!==W||e[15]!==u||e[16]!==a||e[17]!==m?(M=()=>a?(0,t.jsx)("div",{className:"absolute inset-0 z-100 bg-background p-3 border-none overflow-auto",children:(0,t.jsx)("div",{className:"overflow-auto flex flex-col gap-3",children:u.map((o,k)=>(0,t.jsx)("div",{className:"border rounded-md hover:shadow-sm cursor-pointer hover:border-input overflow-hidden",onClick:()=>W(o),children:(0,t.jsx)(q.Suspense,{children:(0,t.jsx)(qe,{language:"python",theme:m,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},value:o.trim(),editable:!1,readOnly:!0})})},k))})}):null,e[14]=W,e[15]=u,e[16]=a,e[17]=m,e[18]=M):M=e[18];let Z=M,P;e[19]!==Q||e[20]!==K||e[21]!==f||e[22]!==u.length||e[23]!==a||e[24]!==p||e[25]!==O?(P=()=>(0,t.jsxs)("div",{className:"flex items-center shrink-0 border-b",children:[(0,t.jsx)(z,{content:$e("cell.run"),children:(0,t.jsx)(C,{"data-testid":"scratchpad-run-button",onClick:f,disabled:a,variant:"text",size:"xs",children:(0,t.jsx)(Ye,{color:"var(--grass-11)",size:16})})}),(0,t.jsx)(z,{content:"Clear code and outputs",children:(0,t.jsx)(C,{disabled:a,size:"xs",variant:"text",onClick:Q,children:(0,t.jsx)(de,{size:16})})}),(0,t.jsx)(ot,{children:(0,t.jsx)(z,{content:"Insert code",children:(0,t.jsx)(C,{disabled:a,size:"xs",variant:"text",onClick:K,children:(0,t.jsx)(Ve,{size:16})})})}),(O==="running"||O==="queued")&&(0,t.jsx)(Ue,{className:"inline",size:"small"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(z,{content:"Toggle history",children:(0,t.jsx)(C,{size:"xs",variant:"text",className:le(a&&"bg-(--sky-3) rounded-none"),onClick:()=>p(!a),disabled:u.length===0,children:(0,t.jsx)(he,{size:16})})}),(0,t.jsx)(z,{content:(0,t.jsx)("span",{className:"block max-w-prose",children:"Use this scratchpad to experiment with code without restrictions on variable names. Variables defined here aren't saved to notebook memory, and the code is not saved in the notebook file."}),children:(0,t.jsx)(C,{size:"xs",variant:"text",children:(0,t.jsx)(Fe,{size:16})})})]}),e[19]=Q,e[20]=K,e[21]=f,e[22]=u.length,e[23]=a,e[24]=p,e[25]=O,e[26]=P):P=e[26];let $=P,ge=S==="vertical",R;e[27]===Symbol.for("react.memo_cache_sentinel")?(R=Se.create(n),e[27]=R):R=e[27];let x;e[28]===$?x=e[29]:(x=$(),e[28]=$,e[29]=x);let D;e[30]===Symbol.for("react.memo_cache_sentinel")?(D=o=>{c.current=o},e[30]=D):D=e[30];let _;e[31]!==r||e[32]!==f||e[33]!==X||e[34]!==m||e[35]!==s?(_=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Ge,{theme:m,showPlaceholder:!1,id:n,code:r,config:_e,status:"idle",serializedEditorState:null,runCell:f,userConfig:s,editorViewRef:c,setEditorView:D,hidden:!1,showHiddenCode:se.NOOP,languageAdapter:X,setLanguageAdapter:je})}),e[31]=r,e[32]=f,e[33]=X,e[34]=m,e[35]=s,e[36]=_):_=e[36];let v;e[37]===Z?v=e[38]:(v=Z(),e[37]=Z,e[38]=v);let j;e[39]!==v||e[40]!==x||e[41]!==_?(j=(0,t.jsx)(ne,{defaultSize:40,minSize:20,maxSize:70,children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden relative",children:[x,_,v]})}),e[39]=v,e[40]=x,e[41]=_,e[42]=j):j=e[42];let ee=ge?"h-1":"w-1",g;e[43]===ee?g=e[44]:(g=le("bg-border hover:bg-primary/50 transition-colors",ee),e[43]=ee,e[44]=g);let b;e[45]===g?b=e[46]:(b=(0,t.jsx)(Ze,{className:g}),e[45]=g,e[46]=b);let w;e[47]===J?w=e[48]:(w=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Me,{allowExpand:!1,output:J,className:Ie.outputArea,cellId:n,stale:!1,loading:!1})}),e[47]=J,e[48]=w);let N;e[49]===U?N=e[50]:(N=(0,t.jsx)("div",{className:"overflow-auto shrink-0 max-h-[50%]",children:(0,t.jsx)(De,{consoleOutputs:U,className:"overflow-auto",stale:!1,interrupted:!1,cellName:"_",onSubmitDebugger:se.NOOP,cellId:n,debuggerActive:!1})}),e[49]=U,e[50]=N);let y;e[51]!==w||e[52]!==N?(y=(0,t.jsx)(ne,{defaultSize:60,minSize:20,children:(0,t.jsxs)("div",{className:"h-full flex flex-col divide-y overflow-hidden",children:[w,N]})}),e[51]=w,e[52]=N,e[53]=y):y=e[53];let H;return e[54]!==S||e[55]!==G||e[56]!==j||e[57]!==b||e[58]!==y?(H=(0,t.jsx)("div",{className:"flex flex-col h-full overflow-hidden",id:R,children:(0,t.jsxs)(Xe,{direction:S,className:"h-full",children:[j,b,y]},G)}),e[54]=S,e[55]=G,e[56]=j,e[57]=b,e[58]=y,e[59]=H):H=e[59],H};let te;te=ie(),ce=()=>{let e=(0,te.c)(1),i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(ve,{}),e[0]=i):i=e[0],i}});export{at as __tla,ce as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.mo-slide-content{justify-content:center;width:100%;min-height:fit-content;display:flex;& .output{max-width:100%;width:unset;margin:auto 0}&>:only-child>.output:only-child{flex:1}& div:has(>marimo-ui-element>marimo-vega){flex:1;display:block!important;@media (width>=500px){min-width:350px}}}.mo-slides-notes-resize{background-color:#0000;outline:none;height:4px;transition:background-color .2s linear}.mo-slides-notes-resize:hover,.mo-slides-notes-resize[data-resize-handle-active]{background-color:var(--slate-11)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as ae}from"./chunk-LvLJmgfZ.js";import{d as ie,u as b}from"./useEvent-D91BmmQi.js";import{$n as de,E as ne,Rn as se,Sr as re,Xi as ce,_ as he,br as me,bt as V,vr as pe,yr as ke,zn as fe}from"./cells-D9tCNe6o.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{c as ye,i as be,s as xe}from"./utils-BWBBpCkT.js";import{O as je}from"./config-B-Q7J_6d.js";import{t as ve}from"./jsx-runtime-Blw4afVn.js";import{t as Ce}from"./label-CqjrpwRC.js";import{a as ge,g as we}from"./download-Benw6kUY.js";import{r as ze}from"./requests-9-v2bhoi.js";import{t as f}from"./createLucideIcon-w-Qo9n0R.js";import{n as F,r as Q}from"./x-C-Eq0ag8.js";import{t as Ie}from"./chevron-right-BS_NcSch.js";import{t as G}from"./circle-plus-BluydVNx.js";import{t as We}from"./code-xml-aSiY8T7C.js";import{t as Me}from"./eye-off-BOZA7gbn.js";import{t as _e}from"./image-5XI2VU-q.js";import{t as Se}from"./link-CHdiBDr5.js";import{i as Ae,t as Ee}from"./useDeleteCell-DsWH8wmn.js";import{t as Re}from"./sparkles-DUCpRFlS.js";import{t as Te}from"./trash-2-72W0TZ3L.js";import{t as De}from"./use-toast-BwJoaaDM.js";import{n as Ne}from"./copy-Bxb1_Gtw.js";import{i as Be}from"./useRunCells-BpMmDGqa.js";import{a as He,c as Le,n as Oe}from"./dialog-BCVepWLJ.js";import{n as qe}from"./ImperativeModal-fY-ZfT0b.js";import{n as Pe}from"./state-N0U-K9F6.js";import{r as K}from"./html-to-image-1vflBYah.js";import{n as Ue,t as Ve}from"./icons-CIPE8AIY.js";import{n as $}from"./name-cell-input-BSFsnuTp.js";import{t as X}from"./multi-icon-nrKPWjDU.js";import{t as Fe}from"./useSplitCell-CapBPXO1.js";var J=f("chevrons-down",[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]]),Y=f("chevrons-up",[["path",{d:"m17 11-5-5-5 5",key:"e8nh98"}],["path",{d:"m17 18-5-5-5 5",key:"2avn1x"}]]),Z=f("scissors",[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]]),Qe=f("text-cursor-input",[["path",{d:"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6",key:"1528k5"}],["path",{d:"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7",key:"13ksps"}],["path",{d:"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1",key:"1n9rhb"}],["path",{d:"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1",key:"1mj8rg"}],["path",{d:"M9 6v12",key:"velyjx"}]]),ee=f("zap-off",[["path",{d:"M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317",key:"193nxd"}],["path",{d:"M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773",key:"27a7lr"}],["path",{d:"M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643",key:"1e0qe9"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),le=f("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);function Ge(a){let e=new URL(window.location.href);return e.hash=`scrollTo=${encodeURIComponent(a)}`,e.toString()}function Ke(a){var c;let e=(c=a.match(/scrollTo=([^&]+)/))==null?void 0:c[1];return e?decodeURIComponent(e.split("&")[0]):null}function oe(a){return a==="_"?!1:!!(a&&a.trim().length>0)}var $e=ue(),l=ae(ve(),1);function Xe(a){let e=(0,$e.c)(47),{cell:c,closePopover:u}=a,{createNewCell:m,updateCellConfig:s,updateCellName:x,moveCell:p,sendToTop:W,sendToBottom:M,addColumnBreakpoint:_,clearCellOutput:S,markUntouched:A}=ne(),E=Fe(),R=Be(c==null?void 0:c.cellId),T=!b(he),D=Ee(),{openModal:j}=qe(),N=ie(Pe),B=b(be),v=b(ye),te=b(je),y=b(xe),{saveCellConfig:r}=ze();if(!c||te){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],e[0]=o):o=e[0],o}let{cellId:t,config:i,getEditorView:n,name:h,hasOutput:C,hasConsoleOutput:H,status:L}=c,g;e[1]!==t||e[2]!==i.disabled||e[3]!==r||e[4]!==s?(g=async()=>{let o={disabled:!i.disabled};await r({configs:{[t]:o}}),s({cellId:t,config:o})},e[1]=t,e[2]=i.disabled,e[3]=r,e[4]=s,e[5]=g):g=e[5];let O=g,w;e[6]!==t||e[7]!==i.hide_code||e[8]!==n||e[9]!==r||e[10]!==s?(w=async()=>{let o={hide_code:!i.hide_code};await r({configs:{[t]:o}}),s({cellId:t,config:o});let U=n();U&&(o.hide_code?U.contentDOM.blur():U.focus())},e[6]=t,e[7]=i.hide_code,e[8]=n,e[9]=r,e[10]=s,e[11]=w):w=e[11];let q=w,d=t===ce,z;e[12]===Symbol.for("react.memo_cache_sentinel")?(z=(0,l.jsx)(Ae,{size:13,strokeWidth:1.5}),e[12]=z):z=e[12];let P=L==="running"||L==="queued"||L==="disabled-transitively"||i.disabled,k;e[13]===R?k=e[14]:(k=()=>R(),e[13]=R,e[14]=k);let I;return e[15]!==_||e[16]!==B||e[17]!==y||e[18]!==v||e[19]!==T||e[20]!==t||e[21]!==S||e[22]!==u||e[23]!==i.disabled||e[24]!==i.hide_code||e[25]!==m||e[26]!==D||e[27]!==n||e[28]!==H||e[29]!==C||e[30]!==d||e[31]!==A||e[32]!==p||e[33]!==h||e[34]!==j||e[35]!==r||e[36]!==M||e[37]!==W||e[38]!==N||e[39]!==E||e[40]!==P||e[41]!==k||e[42]!==O||e[43]!==q||e[44]!==s||e[45]!==x?(I=[[{icon:z,label:"Run cell",hotkey:"cell.run",hidden:P,redundant:!0,handle:k},{icon:(0,l.jsx)(Re,{size:13,strokeWidth:1.5}),label:"Refactor with AI",hidden:!B,handle:()=>{N(o=>(o==null?void 0:o.cellId)===t?null:{cellId:t})},hotkey:"cell.aiCompletion"},{icon:(0,l.jsx)(Z,{size:13,strokeWidth:1.5}),label:"Split",hotkey:"cell.splitCell",handle:()=>E({cellId:t})},{icon:(0,l.jsx)(We,{size:13,strokeWidth:1.5}),label:"Format",hotkey:"cell.format",handle:()=>{let o=n();o&&de({[t]:o})}},{icon:i.hide_code?(0,l.jsx)(pe,{size:13,strokeWidth:1.5}):(0,l.jsx)(Me,{size:13,strokeWidth:1.5}),label:i.hide_code?"Show code":"Hide code",handle:q,hotkey:"cell.hideCode"},{icon:i.disabled?(0,l.jsx)(ee,{size:13,strokeWidth:1.5}):(0,l.jsx)(le,{size:13,strokeWidth:1.5}),label:i.disabled?"Enable execution":"Disable execution",handle:O,hidden:d}],[{icon:(0,l.jsx)(Ve,{}),label:"Convert to Markdown",hotkey:"cell.viewAsMarkdown",handle:async()=>{let o=n();o&&(K({autoInstantiate:v,createNewCell:m}),V(o,{language:"markdown",keepCodeAsIs:!1}),i.hide_code||(await r({configs:{[t]:{hide_code:!0}}}),s({cellId:t,config:{hide_code:!0}}),A({cellId:t})))},hidden:d},se(n())==="sql"?{icon:(0,l.jsx)(Ue,{}),label:"View as Python",hotkey:"cell.viewAsSQL",handle:()=>{let o=n();o&&fe(o,"python",{force:!0})},hidden:d}:{icon:(0,l.jsx)(ke,{size:13,strokeWidth:1.5}),label:"Convert to SQL",hotkey:"cell.viewAsSQL",handle:()=>{let o=n();o&&(K({autoInstantiate:v,createNewCell:m}),V(o,{language:"sql",keepCodeAsIs:!1}))},hidden:d}],[{icon:(0,l.jsxs)(X,{children:[(0,l.jsx)(G,{size:13,strokeWidth:1.5}),(0,l.jsx)(F,{size:8,strokeWidth:2})]}),label:"Create cell above",hotkey:"cell.createAbove",handle:()=>m({cellId:t,before:!0}),hidden:d,redundant:!0},{icon:(0,l.jsxs)(X,{children:[(0,l.jsx)(G,{size:13,strokeWidth:1.5}),(0,l.jsx)(Q,{size:8,strokeWidth:2})]}),label:"Create cell below",hotkey:"cell.createBelow",handle:()=>m({cellId:t,before:!1}),redundant:!0},{icon:(0,l.jsx)(F,{size:13,strokeWidth:1.5}),label:"Move cell up",hotkey:"cell.moveUp",handle:()=>p({cellId:t,before:!0}),hidden:d},{icon:(0,l.jsx)(Q,{size:13,strokeWidth:1.5}),label:"Move cell down",hotkey:"cell.moveDown",handle:()=>p({cellId:t,before:!1}),hidden:d},{icon:(0,l.jsx)(we,{size:13,strokeWidth:1.5}),label:"Move cell left",hotkey:"cell.moveLeft",handle:()=>p({cellId:t,direction:"left"}),hidden:y!=="columns"||d},{icon:(0,l.jsx)(Ie,{size:13,strokeWidth:1.5}),label:"Move cell right",hotkey:"cell.moveRight",handle:()=>p({cellId:t,direction:"right"}),hidden:y!=="columns"||d},{icon:(0,l.jsx)(Y,{size:13,strokeWidth:1.5}),label:"Send to top",hotkey:"cell.sendToTop",handle:()=>W({cellId:t,scroll:!1}),hidden:d},{icon:(0,l.jsx)(J,{size:13,strokeWidth:1.5}),label:"Send to bottom",hotkey:"cell.sendToBottom",handle:()=>M({cellId:t,scroll:!1}),hidden:d},{icon:(0,l.jsx)(me,{size:13,strokeWidth:1.5}),label:"Break into new column",hotkey:"cell.addColumnBreakpoint",handle:()=>_({cellId:t}),hidden:y!=="columns"||d}],[{icon:(0,l.jsx)(_e,{size:13,strokeWidth:1.5}),label:"Export output as PNG",hidden:!C,handle:()=>ge(t,"result")},{icon:(0,l.jsx)(re,{size:13,strokeWidth:1.5}),label:"Clear output",hidden:!(C||H),handle:()=>{S({cellId:t})}}],[{icon:(0,l.jsx)(Qe,{size:13,strokeWidth:1.5}),label:"Name",disableClick:!0,handle:el,handleHeadless:()=>{j((0,l.jsxs)(Oe,{children:[(0,l.jsx)(He,{children:(0,l.jsx)(Le,{children:"Rename cell"})}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)(Ce,{htmlFor:"cell-name",children:"Cell name"}),(0,l.jsx)($,{placeholder:"cell name",value:h,onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),o.stopPropagation(),j(null))},onChange:o=>x({cellId:t,name:o})})]})]}))},rightElement:(0,l.jsx)($,{placeholder:"cell name",value:h,onChange:o=>x({cellId:t,name:o}),onEnterKey:()=>u==null?void 0:u()}),hidden:d},{icon:(0,l.jsx)(Se,{size:13,strokeWidth:1.5}),label:"Copy link to cell",disabled:!oe(h),tooltip:oe(h)?void 0:"Only named cells can be linked to",handle:async()=>{await Ne(Ge(h)),De({description:"Link copied to clipboard"})}}],[{label:"Delete",hidden:!T,variant:"danger",icon:(0,l.jsx)(Te,{size:13,strokeWidth:1.5}),handle:()=>{D({cellId:t})}}]].map(Ye).filter(Je),e[15]=_,e[16]=B,e[17]=y,e[18]=v,e[19]=T,e[20]=t,e[21]=S,e[22]=u,e[23]=i.disabled,e[24]=i.hide_code,e[25]=m,e[26]=D,e[27]=n,e[28]=H,e[29]=C,e[30]=d,e[31]=A,e[32]=p,e[33]=h,e[34]=j,e[35]=r,e[36]=M,e[37]=W,e[38]=N,e[39]=E,e[40]=P,e[41]=k,e[42]=O,e[43]=q,e[44]=s,e[45]=x,e[46]=I):I=e[46],I}function Je(a){return a.length>0}function Ye(a){return a.filter(Ze)}function Ze(a){return!a.hidden}function el(a){a==null||a.stopPropagation(),a==null||a.preventDefault()}export{Z as a,ee as i,Ke as n,Y as o,le as r,J as s,Xe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as k,n as i,p as v}from"./useEvent-D91BmmQi.js";import{E as w,Rn as y,li as F,m as d,ni as b,pt as x}from"./cells-D9tCNe6o.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{g as E}from"./useEventListener-C0195JsF.js";import{o as H}from"./dist-DYEuVkEX.js";import{r as V}from"./requests-9-v2bhoi.js";var u=D();const g=v(!1);function _(){let r=(0,u.c)(2),n=p(),t;return r[0]===n?t=r[1]:(t=()=>n(F(d())),r[0]=n,r[1]=t),i(t)}function j(r){let n=(0,u.c)(3),t=p(),e;return n[0]!==r||n[1]!==t?(e=()=>{r!==void 0&&t([r])},n[0]=r,n[1]=t,n[2]=e):e=n[2],i(e)}function q(){let r=(0,u.c)(2),n=p(),t;return r[0]===n?t=r[1]:(t=()=>n(b(d())),r[0]=n,r[1]=t),i(t)}function p(){let r=(0,u.c)(4),{prepareForRun:n}=w(),{sendRun:t}=V(),e=k(g),o;return r[0]!==n||r[1]!==t||r[2]!==e?(o=async s=>{if(s.length===0)return;let c=d();return e(!0),I({cellIds:s,sendRun:t,prepareForRun:n,notebook:c})},r[0]=n,r[1]=t,r[2]=e,r[3]=o):o=r[3],i(o)}async function I({cellIds:r,sendRun:n,prepareForRun:t,notebook:e}){var m,R,h;if(r.length===0)return;let{cellHandles:o,cellData:s}=e,c=[];for(let a of r){let l=(R=(m=o[a])==null?void 0:m.current)==null?void 0:R.editorView,f;l?(y(l)!=="markdown"&&H(l),f=x(l)):f=((h=s[a])==null?void 0:h.code)||"",c.push(f),t({cellId:a})}await n({cellIds:r,codes:c}).catch(a=>{E.error(a)})}export{p as a,j as i,I as n,_ as o,q as r,g as t};
|
|
File without changes
|