@marimo-team/islands 0.23.2-dev39 → 0.23.2-dev40

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/main.js CHANGED
@@ -22,7 +22,7 @@ import { _ as Logger, c as Objects, g as cn, h as Events, i as NOT_SET, l as use
22
22
  import { t as require_react } from "./react-DA-nE2FX.js";
23
23
  import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
24
24
  import { n as Copy, r as toast, t as copyToClipboard } from "./copy-Bp6CK_Fg.js";
25
- import { $ as createActions, $t as isUninstantiated, A as MarimoIncomingMessageEvent, An as Trash2, At as PathBuilder, B as DotFilledIcon, Bn as Database, Ct as getValidName, D as AccordionContent, Dn as Root2$4, Dt as customPythonLanguageSupport, E as Accordion, En as Item$1, Et as Checkbox, F as BorderAllIcon, Fn as Layers, Ft as generateUUID, G as base64ToDataView, Gn as esm_default$1, Gt as require_client, H as PinRightIcon, Hn as CircleX, Ht as PluralWords, In as Info, It as useChromeActions, J as extractBase64FromDataURL, K as base64ToUint8Array, Kn as import_lib, L as CheckIcon, Ln as File, Lt as repl, M as MarimoValueReadyEvent, Mn as PaintRoller, N as MarimoValueUpdateEvent, Nn as NotebookPen, Nt as goToCellLine, O as AccordionItem, On as Trigger2, Ot as MarkdownLanguageAdapter, P as createInputEvent, Pn as LoaderCircle, Pt as DeferredRequestRegistry, Qt as useRequestClient, R as ChevronDownIcon, Rn as FileText, Rt as adaptForLocalStorage, Sn as selectAtom, St as displayCellName, Tn as Content2$1, Tt as normalizeName, U as deserializeBlob, Un as CircleAlert, Ut as DATA_TYPE_ICON, V as PinLeftIcon, Vn as Columns2, Vt as PluralWord, Wn as Braces, Wt as getDataTypeColor, X as safeExtractSetUIElementMessageBuffers, Xt as getRequestClient, Y as isDataURLString, Yt as convertStatsName, Z as renderHTML, Zt as requestClientAtom, _ as useExpandedConsoleOutput, _n as jsonParseWithSpecialChar, _t as isErrorMime, a as toPng, at as reducer, b as getDatasourceContext, bn as atomWithReducer, bt as DATA_CELL_ID, c as useCellFocusActions, cn as parseDataset, ct as useCellNames, d as Spinner, dn as HTMLCellId, dt as getInitialAppMode, et as getCellEditorView, f as Popover$1, fn as SCRATCH_CELL_ID, ft as initialModeAtom, g as isOutputEmpty, gn as RANDOM_ID_ATTR, gt as outputIsStale, h as PopoverTrigger, hn as OBJECT_ID_ATTR, ht as outputIsLoading, i as PythonIcon, in as NotebookScopedLocalStorage, it as numColumnsAtom, j as MarimoValueInputEvent, jn as Table2, jt as Paths, k as AccordionTrigger, kn as Wrench, l as useLastFocusedCellId, ln as parseInitialValue, lt as createCell, m as PopoverContent, mn as findCellId, mt as viewStateAtom, n as blobToString, nn as extractAllTracebackInfo, nt as notebookAtom, o as MarkdownRenderer, on as filenameAtom, ot as useCellActions, p as PopoverClose$1, pn as UIElementId, pt as kioskModeAtom, q as dataViewToBase64, r as filesToBase64, rn as getTracebackInfo, rt as notebookOutline, s as LazyAnyLanguageCodeMirror, sn as parseAttrValue, st as useCellIds, t as processOutput, tn as elementContainsMarimoCellFile, tt as getCellNames, u as maybeAddAltairImport, un as CellOutputId, ut as AnsiUp, v as useExpandedOutput, vn as jsonToMarkdown, vt as headingToIdentifier, wn as Close$1, wt as isInternalCellName, xn as atomWithStorage, xt as getCellDomProps, yn as jsonToTSV, yt as sanitizeHtml, z as ChevronRightIcon, zn as Eye, zt as jotaiJsonStorage, __tla as __tla_0 } from "./process-output-CM8yijAP.js";
25
+ import { $t as useRequestClient, A as MarimoIncomingMessageEvent, An as Wrench, B as DotFilledIcon, Bn as Eye, Bt as jotaiJsonStorage, Cn as selectAtom, Ct as displayCellName, D as AccordionContent, Dn as Item$1, Dt as Checkbox, E as Accordion, En as Content2$1, Et as normalizeName, F as BorderAllIcon, Fn as LoaderCircle, Ft as DeferredRequestRegistry, G as base64ToDataView, Gn as Braces, Gt as getDataTypeColor, H as PinRightIcon, Hn as Columns2, Ht as PluralWord, In as Layers, It as generateUUID, J as extractBase64FromDataURL, K as base64ToUint8Array, Kn as esm_default$1, Kt as require_client, L as CheckIcon, Ln as Info, Lt as useChromeActions, M as MarimoValueReadyEvent, Mn as Table2, Mt as Paths, N as MarimoValueUpdateEvent, Nn as PaintRoller, O as AccordionItem, On as Root2$4, Ot as customPythonLanguageSupport, P as createInputEvent, Pn as NotebookPen, Pt as goToCellLine, Q as hasRunAnyCellAtom, Qt as requestClientAtom, R as ChevronDownIcon, Rn as File, Rt as repl, Sn as atomWithStorage, St as getCellDomProps, Tn as Close$1, Tt as isInternalCellName, U as deserializeBlob, Un as CircleX, Ut as PluralWords, V as PinLeftIcon, Vn as Database, Wn as CircleAlert, Wt as DATA_TYPE_ICON, X as safeExtractSetUIElementMessageBuffers, Xt as convertStatsName, Y as isDataURLString, Z as renderHTML, Zt as getRequestClient, _ as useExpandedConsoleOutput, _n as RANDOM_ID_ATTR, _t as outputIsStale, a as toPng, an as NotebookScopedLocalStorage, at as numColumnsAtom, b as getDatasourceContext, bn as jsonToTSV, bt as sanitizeHtml, c as useCellFocusActions, cn as parseAttrValue, ct as useCellIds, d as Spinner, dn as CellOutputId, dt as AnsiUp, en as isUninstantiated, et as createActions, f as Popover$1, fn as HTMLCellId, ft as getInitialAppMode, g as isOutputEmpty, gn as OBJECT_ID_ATTR, gt as outputIsLoading, h as PopoverTrigger, hn as findCellId, ht as viewStateAtom, i as PythonIcon, in as getTracebackInfo, it as notebookOutline, j as MarimoValueInputEvent, jn as Trash2, jt as PathBuilder, k as AccordionTrigger, kn as Trigger2, kt as MarkdownLanguageAdapter, l as useLastFocusedCellId, ln as parseDataset, lt as useCellNames, m as PopoverContent, mn as UIElementId, mt as kioskModeAtom, n as blobToString, nn as elementContainsMarimoCellFile, nt as getCellNames, o as MarkdownRenderer, ot as reducer, p as PopoverClose$1, pn as SCRATCH_CELL_ID, pt as initialModeAtom, q as dataViewToBase64, qn as import_lib, r as filesToBase64, rn as extractAllTracebackInfo, rt as notebookAtom, s as LazyAnyLanguageCodeMirror, sn as filenameAtom, st as useCellActions, t as processOutput, tt as getCellEditorView, u as maybeAddAltairImport, un as parseInitialValue, ut as createCell, v as useExpandedOutput, vn as jsonParseWithSpecialChar, vt as isErrorMime, wt as getValidName, xn as atomWithReducer, xt as DATA_CELL_ID, yn as jsonToMarkdown, yt as headingToIdentifier, z as ChevronRightIcon, zn as FileText, zt as adaptForLocalStorage, __tla as __tla_0 } from "./process-output-BWEipdFR.js";
26
26
  import { __tla as __tla_1 } from "./chunk-5FQGJX7Z-DDhYtPiB.js";
27
27
  import { o as useSize, s as Root$4, u as createLucideIcon } from "./dist-CTtLBPLZ.js";
28
28
  import { A as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, F as ListFilter, I as ChartPie, L as ChartColumn, M as $5a387cc49350e6db$export$722debc0e56fea39, N as Table$1, O as TIME_UNIT_DESCRIPTIONS, P as SquareFunction, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as $fb18d541ea1ad717$export$ad991b66133851cf, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON } from "./spec-Budha9Vn.js";
@@ -13512,7 +13512,10 @@ Defaulting to \`null\`.`;
13512
13512
  return r === -1 ? null : e.slice(r);
13513
13513
  }
13514
13514
  function isTrustedVirtualFileUrl(e) {
13515
- return typeof e != "string" || e.length === 0 ? false : /^(\.?\/)?@file\/[^?#]+$/.test(e);
13515
+ return typeof e != "string" || e.length === 0 ? false : !!(/^(\.?\/)?@file\/[^?#]+$/.test(e) || isSafeDataUrl(e) && store.get(hasRunAnyCellAtom));
13516
+ }
13517
+ function isSafeDataUrl(e) {
13518
+ return e.startsWith("data:text/javascript;base64,") || e.startsWith("data:application/javascript;base64,") || e.startsWith("data:text/css;base64,");
13516
13519
  }
13517
13520
  const experimental = {
13518
13521
  invoke: async () => {
@@ -37404,7 +37407,7 @@ ${w}`,
37404
37407
  };
37405
37408
  }
37406
37409
  };
37407
- var LazyChatbot = import_react.lazy(() => import("./chat-ui-CxiINNTE.js").then((e) => ({
37410
+ var LazyChatbot = import_react.lazy(() => import("./chat-ui-D3oNzud1.js").then((e) => ({
37408
37411
  default: e.Chatbot
37409
37412
  }))), messageSchema = array(object({
37410
37413
  id: string(),
@@ -42522,83 +42525,83 @@ ${c}
42522
42525
  r[46] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x9 = cn("relative"), r[46] = x9) : x9 = r[46];
42523
42526
  let S9;
42524
42527
  r[47] === f ? S9 = r[48] : (S9 = cn("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50", f), r[47] = f, r[48] = S9);
42528
+ let C9;
42529
+ r[49] === b9 ? C9 = r[50] : (C9 = b9(), r[49] = b9, r[50] = C9);
42525
42530
  let w9;
42526
- r[49] === b9 ? w9 = r[50] : (w9 = b9(), r[49] = b9, r[50] = w9);
42527
- let T9;
42528
- r[51] === w9 ? T9 = r[52] : (T9 = (0, import_jsx_runtime.jsx)("span", {
42531
+ r[51] === C9 ? w9 = r[52] : (w9 = (0, import_jsx_runtime.jsx)("span", {
42529
42532
  className: "truncate flex-1 min-w-0",
42530
- children: w9
42531
- }), r[51] = w9, r[52] = T9);
42532
- let E9;
42533
- r[53] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E9 = (0, import_jsx_runtime.jsx)(ChevronDown, {
42533
+ children: C9
42534
+ }), r[51] = C9, r[52] = w9);
42535
+ let T9;
42536
+ r[53] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (T9 = (0, import_jsx_runtime.jsx)(ChevronDown, {
42534
42537
  className: "ml-3 w-4 h-4 opacity-50 shrink-0"
42535
- }), r[53] = E9) : E9 = r[53];
42536
- let D9;
42537
- r[54] !== u9 || r[55] !== S9 || r[56] !== T9 ? (D9 = (0, import_jsx_runtime.jsx)(PopoverTrigger, {
42538
+ }), r[53] = T9) : T9 = r[53];
42539
+ let E9;
42540
+ r[54] !== u9 || r[55] !== S9 || r[56] !== w9 ? (E9 = (0, import_jsx_runtime.jsx)(PopoverTrigger, {
42538
42541
  asChild: true,
42539
42542
  children: (0, import_jsx_runtime.jsxs)("div", {
42540
42543
  className: S9,
42541
42544
  "aria-expanded": u9,
42542
42545
  children: [
42543
- T9,
42544
- E9
42546
+ w9,
42547
+ T9
42545
42548
  ]
42546
42549
  })
42547
- }), r[54] = u9, r[55] = S9, r[56] = T9, r[57] = D9) : D9 = r[57];
42548
- let O9;
42549
- r[58] !== r9 || r[59] !== O || r[60] !== G ? (O9 = (0, import_jsx_runtime.jsx)(CommandInput, {
42550
+ }), r[54] = u9, r[55] = S9, r[56] = w9, r[57] = E9) : E9 = r[57];
42551
+ let D9;
42552
+ r[58] !== r9 || r[59] !== O || r[60] !== G ? (D9 = (0, import_jsx_runtime.jsx)(CommandInput, {
42550
42553
  placeholder: r9,
42551
42554
  rootClassName: "px-1 h-8",
42552
42555
  autoFocus: true,
42553
42556
  value: G,
42554
42557
  onValueChange: O
42555
- }), r[58] = r9, r[59] = O, r[60] = G, r[61] = O9) : O9 = r[61];
42556
- let k9;
42557
- r[62] === i9 ? k9 = r[63] : (k9 = (0, import_jsx_runtime.jsx)(CommandEmpty, {
42558
+ }), r[58] = r9, r[59] = O, r[60] = G, r[61] = D9) : D9 = r[61];
42559
+ let O9;
42560
+ r[62] === i9 ? O9 = r[63] : (O9 = (0, import_jsx_runtime.jsx)(CommandEmpty, {
42558
42561
  children: i9
42559
- }), r[62] = i9, r[63] = k9);
42560
- let A9;
42561
- r[64] !== v9 || r[65] !== g9 ? (A9 = {
42562
+ }), r[62] = i9, r[63] = O9);
42563
+ let k9;
42564
+ r[64] !== v9 || r[65] !== g9 ? (k9 = {
42562
42565
  isSelected: g9,
42563
42566
  onSelect: v9
42564
- }, r[64] = v9, r[65] = g9, r[66] = A9) : A9 = r[66];
42565
- let j9;
42566
- r[67] !== c || r[68] !== A9 ? (j9 = (0, import_jsx_runtime.jsx)(ComboboxContext, {
42567
- value: A9,
42567
+ }, r[64] = v9, r[65] = g9, r[66] = k9) : k9 = r[66];
42568
+ let A9;
42569
+ r[67] !== c || r[68] !== k9 ? (A9 = (0, import_jsx_runtime.jsx)(ComboboxContext, {
42570
+ value: k9,
42568
42571
  children: c
42569
- }), r[67] = c, r[68] = A9, r[69] = j9) : j9 = r[69];
42570
- let M9;
42571
- r[70] !== k9 || r[71] !== j9 ? (M9 = (0, import_jsx_runtime.jsxs)(CommandList, {
42572
+ }), r[67] = c, r[68] = k9, r[69] = A9) : A9 = r[69];
42573
+ let j9;
42574
+ r[70] !== O9 || r[71] !== A9 ? (j9 = (0, import_jsx_runtime.jsxs)(CommandList, {
42572
42575
  className: "max-h-60 py-.5",
42573
42576
  children: [
42574
- k9,
42575
- j9
42577
+ O9,
42578
+ A9
42576
42579
  ]
42577
- }), r[70] = k9, r[71] = j9, r[72] = M9) : M9 = r[72];
42578
- let N9;
42579
- r[73] !== S || r[74] !== n9 || r[75] !== O9 || r[76] !== M9 ? (N9 = (0, import_jsx_runtime.jsx)(PopoverContent, {
42580
+ }), r[70] = O9, r[71] = A9, r[72] = j9) : j9 = r[72];
42581
+ let M9;
42582
+ r[73] !== S || r[74] !== n9 || r[75] !== D9 || r[76] !== j9 ? (M9 = (0, import_jsx_runtime.jsx)(PopoverContent, {
42580
42583
  className: "w-full min-w-(--radix-popover-trigger-width) p-0",
42581
42584
  align: "start",
42582
42585
  children: (0, import_jsx_runtime.jsxs)(Command, {
42583
42586
  filter: S,
42584
42587
  shouldFilter: n9,
42585
42588
  children: [
42586
- O9,
42587
- M9
42589
+ D9,
42590
+ j9
42588
42591
  ]
42589
42592
  })
42590
- }), r[73] = S, r[74] = n9, r[75] = O9, r[76] = M9, r[77] = N9) : N9 = r[77];
42591
- let P9;
42592
- r[78] !== u9 || r[79] !== l9 || r[80] !== D9 || r[81] !== N9 ? (P9 = (0, import_jsx_runtime.jsxs)(Popover$1, {
42593
+ }), r[73] = S, r[74] = n9, r[75] = D9, r[76] = j9, r[77] = M9) : M9 = r[77];
42594
+ let N9;
42595
+ r[78] !== u9 || r[79] !== l9 || r[80] !== E9 || r[81] !== M9 ? (N9 = (0, import_jsx_runtime.jsxs)(Popover$1, {
42593
42596
  open: u9,
42594
42597
  onOpenChange: l9,
42595
42598
  children: [
42596
- D9,
42597
- N9
42599
+ E9,
42600
+ M9
42598
42601
  ]
42599
- }), r[78] = u9, r[79] = l9, r[80] = D9, r[81] = N9, r[82] = P9) : P9 = r[82];
42600
- let F9;
42601
- r[83] !== a9 || r[84] !== d || r[85] !== y || r[86] !== v9 || r[87] !== t9 || r[88] !== p9 ? (F9 = t9 && a9 && (0, import_jsx_runtime.jsx)("div", {
42602
+ }), r[78] = u9, r[79] = l9, r[80] = E9, r[81] = M9, r[82] = N9) : N9 = r[82];
42603
+ let P9;
42604
+ r[83] !== a9 || r[84] !== d || r[85] !== y || r[86] !== v9 || r[87] !== t9 || r[88] !== p9 ? (P9 = t9 && a9 && (0, import_jsx_runtime.jsx)("div", {
42602
42605
  className: cn("flex flex-col gap-1 items-start", d),
42603
42606
  children: Array.isArray(p9) && p9.map((e2) => e2 == null ? null : (0, import_jsx_runtime.jsxs)(Badge, {
42604
42607
  variant: "secondary",
@@ -42612,16 +42615,16 @@ ${c}
42612
42615
  })
42613
42616
  ]
42614
42617
  }, String(e2)))
42615
- }), r[83] = a9, r[84] = d, r[85] = y, r[86] = v9, r[87] = t9, r[88] = p9, r[89] = F9) : F9 = r[89];
42616
- let I9;
42617
- return r[90] !== Y7 || r[91] !== P9 || r[92] !== F9 ? (I9 = (0, import_jsx_runtime.jsxs)("div", {
42618
+ }), r[83] = a9, r[84] = d, r[85] = y, r[86] = v9, r[87] = t9, r[88] = p9, r[89] = P9) : P9 = r[89];
42619
+ let F9;
42620
+ return r[90] !== Y7 || r[91] !== N9 || r[92] !== P9 ? (F9 = (0, import_jsx_runtime.jsxs)("div", {
42618
42621
  className: x9,
42619
42622
  ...Y7,
42620
42623
  children: [
42621
- P9,
42622
- F9
42624
+ N9,
42625
+ P9
42623
42626
  ]
42624
- }), r[90] = Y7, r[91] = P9, r[92] = F9, r[93] = I9) : I9 = r[93], I9;
42627
+ }), r[90] = Y7, r[91] = N9, r[92] = P9, r[93] = F9) : F9 = r[93], F9;
42625
42628
  }, ComboboxItem = import_react.forwardRef((e, r) => {
42626
42629
  let c = (0, import_compiler_runtime$85.c)(17), { children: d, className: f, value: h, onSelect: _, disabled: y } = e, S = typeof h == "object" && "value" in h ? h.value : String(h), w = import_react.use(ComboboxContext), E;
42627
42630
  c[0] === f ? E = c[1] : (E = cn("pl-6 m-1 py-1", f), c[0] = f, c[1] = E);
@@ -49427,29 +49430,29 @@ ${c}
49427
49430
  ], r[2] = I, r[3] = z);
49428
49431
  let { data: Y7, error: G, isPending: X7 } = useAsyncData(M, z), Z7;
49429
49432
  r[4] === Y7 ? Z7 = r[5] : (Z7 = Y7 || {}, r[4] = Y7, r[5] = Z7);
49430
- let { url: Q7, total_rows: $7, row_headers: e9, field_types: t9, column_types_per_step: n9, python_code: r9, sql_code: i9 } = Z7, a9 = t9 == null ? void 0 : t9.length, [o9, s9] = (0, import_react.useState)(_ || EMPTY), l9 = (0, import_react.useRef)(null), u9;
49431
- r[6] === h ? u9 = r[7] : (u9 = (e2) => {
49433
+ let { url: Q7, total_rows: $7, row_headers: e9, field_types: t9, column_types_per_step: n9, python_code: r9, sql_code: i9 } = Z7, a9 = t9 == null ? void 0 : t9.length, [o9, s9] = (0, import_react.useState)(_ || EMPTY), c9 = (0, import_react.useRef)(null), l9;
49434
+ r[6] === h ? l9 = r[7] : (l9 = (e2) => {
49432
49435
  var _a3;
49433
- h && e2 !== "transform" && ((_a3 = l9.current) == null ? void 0 : _a3.submit());
49434
- }, r[6] = h, r[7] = u9);
49435
- let d9 = u9, f9 = (0, import_react.useRef)(o9), p9;
49436
- r[8] === o9 ? p9 = r[9] : (p9 = () => {
49437
- f9.current = o9;
49438
- }, r[8] = o9, r[9] = p9), (0, import_react.useEffect)(p9);
49439
- let m9;
49440
- r[10] !== v || r[11] !== (_ == null ? void 0 : _.transforms.length) ? (m9 = () => {
49441
- let e2 = f9.current;
49436
+ h && e2 !== "transform" && ((_a3 = c9.current) == null ? void 0 : _a3.submit());
49437
+ }, r[6] = h, r[7] = l9);
49438
+ let u9 = l9, d9 = (0, import_react.useRef)(o9), f9;
49439
+ r[8] === o9 ? f9 = r[9] : (f9 = () => {
49440
+ d9.current = o9;
49441
+ }, r[8] = o9, r[9] = f9), (0, import_react.useEffect)(f9);
49442
+ let p9;
49443
+ r[10] !== v || r[11] !== (_ == null ? void 0 : _.transforms.length) ? (p9 = () => {
49444
+ let e2 = d9.current;
49442
49445
  (_ == null ? void 0 : _.transforms.length) !== e2.transforms.length && v(e2);
49443
- }, r[10] = v, r[11] = _ == null ? void 0 : _.transforms.length, r[12] = m9) : m9 = r[12];
49444
- let h9 = _ == null ? void 0 : _.transforms.length, g9;
49445
- r[13] !== Y7 || r[14] !== v || r[15] !== h9 ? (g9 = [
49446
+ }, r[10] = v, r[11] = _ == null ? void 0 : _.transforms.length, r[12] = p9) : p9 = r[12];
49447
+ let m9 = _ == null ? void 0 : _.transforms.length, h9;
49448
+ r[13] !== Y7 || r[14] !== v || r[15] !== m9 ? (h9 = [
49446
49449
  Y7,
49447
- h9,
49448
- f9,
49450
+ m9,
49451
+ d9,
49449
49452
  v
49450
- ], r[13] = Y7, r[14] = v, r[15] = h9, r[16] = g9) : g9 = r[16], (0, import_react.useEffect)(m9, g9);
49451
- let _9;
49452
- r[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_9 = (0, import_jsx_runtime.jsxs)(TabsTrigger, {
49453
+ ], r[13] = Y7, r[14] = v, r[15] = m9, r[16] = h9) : h9 = r[16], (0, import_react.useEffect)(p9, h9);
49454
+ let g9;
49455
+ r[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g9 = (0, import_jsx_runtime.jsxs)(TabsTrigger, {
49453
49456
  value: "transform",
49454
49457
  className: "text-xs py-1",
49455
49458
  children: [
@@ -49458,9 +49461,9 @@ ${c}
49458
49461
  }),
49459
49462
  "Transform"
49460
49463
  ]
49461
- }), r[17] = _9) : _9 = r[17];
49462
- let v9;
49463
- r[18] === r9 ? v9 = r[19] : (v9 = r9 && (0, import_jsx_runtime.jsxs)(TabsTrigger, {
49464
+ }), r[17] = g9) : g9 = r[17];
49465
+ let _9;
49466
+ r[18] === r9 ? _9 = r[19] : (_9 = r9 && (0, import_jsx_runtime.jsxs)(TabsTrigger, {
49464
49467
  value: "python-code",
49465
49468
  className: "text-xs py-1",
49466
49469
  children: [
@@ -49469,9 +49472,9 @@ ${c}
49469
49472
  }),
49470
49473
  "Python Code"
49471
49474
  ]
49472
- }), r[18] = r9, r[19] = v9);
49473
- let y9;
49474
- r[20] === i9 ? y9 = r[21] : (y9 = i9 && (0, import_jsx_runtime.jsxs)(TabsTrigger, {
49475
+ }), r[18] = r9, r[19] = _9);
49476
+ let v9;
49477
+ r[20] === i9 ? v9 = r[21] : (v9 = i9 && (0, import_jsx_runtime.jsxs)(TabsTrigger, {
49475
49478
  value: "sql-code",
49476
49479
  className: "text-xs py-1",
49477
49480
  children: [
@@ -49480,54 +49483,54 @@ ${c}
49480
49483
  }),
49481
49484
  "SQL Code"
49482
49485
  ]
49483
- }), r[20] = i9, r[21] = y9);
49484
- let b9;
49485
- r[22] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b9 = (0, import_jsx_runtime.jsx)("div", {
49486
+ }), r[20] = i9, r[21] = v9);
49487
+ let y9;
49488
+ r[22] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y9 = (0, import_jsx_runtime.jsx)("div", {
49486
49489
  className: "grow"
49487
- }), r[22] = b9) : b9 = r[22];
49488
- let x9;
49489
- r[23] !== v9 || r[24] !== y9 ? (x9 = (0, import_jsx_runtime.jsxs)(TabsList, {
49490
+ }), r[22] = y9) : y9 = r[22];
49491
+ let b9;
49492
+ r[23] !== _9 || r[24] !== v9 ? (b9 = (0, import_jsx_runtime.jsxs)(TabsList, {
49490
49493
  className: "h-8",
49491
49494
  children: [
49495
+ g9,
49492
49496
  _9,
49493
49497
  v9,
49494
- y9,
49495
- b9
49498
+ y9
49496
49499
  ]
49497
- }), r[23] = v9, r[24] = y9, r[25] = x9) : x9 = r[25];
49498
- let S9;
49499
- r[26] === X7 ? S9 = r[27] : (S9 = X7 && (0, import_jsx_runtime.jsx)(Spinner, {
49500
+ }), r[23] = _9, r[24] = v9, r[25] = b9) : b9 = r[25];
49501
+ let x9;
49502
+ r[26] === X7 ? x9 = r[27] : (x9 = X7 && (0, import_jsx_runtime.jsx)(Spinner, {
49500
49503
  size: "small"
49501
- }), r[26] = X7, r[27] = S9);
49502
- let C9;
49503
- r[28] !== x9 || r[29] !== S9 ? (C9 = (0, import_jsx_runtime.jsxs)("div", {
49504
+ }), r[26] = X7, r[27] = x9);
49505
+ let S9;
49506
+ r[28] !== b9 || r[29] !== x9 ? (S9 = (0, import_jsx_runtime.jsxs)("div", {
49504
49507
  className: "flex items-center gap-2",
49505
49508
  children: [
49506
- x9,
49507
- S9
49509
+ b9,
49510
+ x9
49508
49511
  ]
49509
- }), r[28] = x9, r[29] = S9, r[30] = C9) : C9 = r[30];
49510
- let w9;
49511
- r[31] !== v || r[32] !== _ ? (w9 = (e2) => {
49512
+ }), r[28] = b9, r[29] = x9, r[30] = S9) : S9 = r[30];
49513
+ let C9;
49514
+ r[31] !== v || r[32] !== _ ? (C9 = (e2) => {
49512
49515
  dequal(e2, _) || (v(e2), s9(e2));
49513
- }, r[31] = v, r[32] = _, r[33] = w9) : w9 = r[33];
49514
- let T9;
49515
- r[34] !== n9 || r[35] !== c || r[36] !== S || r[37] !== o9 || r[38] !== h || r[39] !== w9 ? (T9 = (0, import_jsx_runtime.jsx)(TabsContent, {
49516
+ }, r[31] = v, r[32] = _, r[33] = C9) : C9 = r[33];
49517
+ let w9;
49518
+ r[34] !== n9 || r[35] !== c || r[36] !== S || r[37] !== o9 || r[38] !== h || r[39] !== C9 ? (w9 = (0, import_jsx_runtime.jsx)(TabsContent, {
49516
49519
  value: "transform",
49517
49520
  className: "mt-1 border rounded-t overflow-hidden",
49518
49521
  children: (0, import_jsx_runtime.jsx)(TransformPanel, {
49519
- ref: l9,
49522
+ ref: c9,
49520
49523
  initialValue: o9,
49521
49524
  columns: c,
49522
- onChange: w9,
49525
+ onChange: C9,
49523
49526
  onInvalidChange: s9,
49524
49527
  getColumnValues: S,
49525
49528
  columnTypesPerStep: n9,
49526
49529
  lazy: h
49527
49530
  })
49528
- }), r[34] = n9, r[35] = c, r[36] = S, r[37] = o9, r[38] = h, r[39] = w9, r[40] = T9) : T9 = r[40];
49529
- let E9;
49530
- r[41] === r9 ? E9 = r[42] : (E9 = r9 && (0, import_jsx_runtime.jsx)(TabsContent, {
49531
+ }), r[34] = n9, r[35] = c, r[36] = S, r[37] = o9, r[38] = h, r[39] = C9, r[40] = w9) : w9 = r[40];
49532
+ let T9;
49533
+ r[41] === r9 ? T9 = r[42] : (T9 = r9 && (0, import_jsx_runtime.jsx)(TabsContent, {
49531
49534
  value: "python-code",
49532
49535
  className: "mt-1 border rounded-t overflow-hidden",
49533
49536
  children: (0, import_jsx_runtime.jsx)(ReadonlyCode, {
@@ -49536,9 +49539,9 @@ ${c}
49536
49539
  code: r9,
49537
49540
  language: "python"
49538
49541
  })
49539
- }), r[41] = r9, r[42] = E9);
49540
- let D9;
49541
- r[43] === i9 ? D9 = r[44] : (D9 = i9 && (0, import_jsx_runtime.jsx)(TabsContent, {
49542
+ }), r[41] = r9, r[42] = T9);
49543
+ let E9;
49544
+ r[43] === i9 ? E9 = r[44] : (E9 = i9 && (0, import_jsx_runtime.jsx)(TabsContent, {
49542
49545
  value: "sql-code",
49543
49546
  className: "mt-1 border rounded-t overflow-hidden",
49544
49547
  children: (0, import_jsx_runtime.jsx)(ReadonlyCode, {
@@ -49547,35 +49550,35 @@ ${c}
49547
49550
  code: i9,
49548
49551
  language: "sql"
49549
49552
  })
49550
- }), r[43] = i9, r[44] = D9);
49551
- let O9;
49552
- r[45] !== d9 || r[46] !== C9 || r[47] !== T9 || r[48] !== E9 || r[49] !== D9 ? (O9 = (0, import_jsx_runtime.jsxs)(Tabs, {
49553
+ }), r[43] = i9, r[44] = E9);
49554
+ let D9;
49555
+ r[45] !== u9 || r[46] !== S9 || r[47] !== w9 || r[48] !== T9 || r[49] !== E9 ? (D9 = (0, import_jsx_runtime.jsxs)(Tabs, {
49553
49556
  defaultValue: "transform",
49554
- onValueChange: d9,
49557
+ onValueChange: u9,
49555
49558
  children: [
49556
- C9,
49559
+ S9,
49560
+ w9,
49557
49561
  T9,
49558
- E9,
49559
- D9
49562
+ E9
49560
49563
  ]
49561
- }), r[45] = d9, r[46] = C9, r[47] = T9, r[48] = E9, r[49] = D9, r[50] = O9) : O9 = r[50];
49562
- let k9;
49563
- r[51] === G ? k9 = r[52] : (k9 = G && (0, import_jsx_runtime.jsx)(ErrorBanner, {
49564
+ }), r[45] = u9, r[46] = S9, r[47] = w9, r[48] = T9, r[49] = E9, r[50] = D9) : D9 = r[50];
49565
+ let O9;
49566
+ r[51] === G ? O9 = r[52] : (O9 = G && (0, import_jsx_runtime.jsx)(ErrorBanner, {
49564
49567
  error: G
49565
- }), r[51] = G, r[52] = k9);
49566
- let A9 = Q7 || "", j9 = $7 ?? 0, M9 = a9 ?? 0, N9 = e9 || Arrays.EMPTY, P9 = $7 && $7 > 5 || false, F9;
49567
- r[53] !== E || r[54] !== t9 || r[55] !== O || r[56] !== d || r[57] !== w || r[58] !== f || r[59] !== A9 || r[60] !== j9 || r[61] !== M9 || r[62] !== N9 || r[63] !== P9 ? (F9 = (0, import_jsx_runtime.jsx)(LoadingDataTableComponent, {
49568
+ }), r[51] = G, r[52] = O9);
49569
+ let k9 = Q7 || "", A9 = $7 ?? 0, j9 = a9 ?? 0, M9 = e9 || Arrays.EMPTY, N9 = $7 && $7 > 5 || false, P9;
49570
+ r[53] !== E || r[54] !== t9 || r[55] !== O || r[56] !== d || r[57] !== w || r[58] !== f || r[59] !== k9 || r[60] !== A9 || r[61] !== j9 || r[62] !== M9 || r[63] !== N9 ? (P9 = (0, import_jsx_runtime.jsx)(LoadingDataTableComponent, {
49568
49571
  label: null,
49569
49572
  className: "rounded-b border-x border-b",
49570
- data: A9,
49573
+ data: k9,
49571
49574
  hasStableRowId: false,
49572
- totalRows: j9,
49573
- totalColumns: M9,
49575
+ totalRows: A9,
49576
+ totalColumns: j9,
49574
49577
  maxColumns: "all",
49575
49578
  pageSize: d,
49576
49579
  pagination: true,
49577
49580
  fieldTypes: t9,
49578
- rowHeaders: N9,
49581
+ rowHeaders: M9,
49579
49582
  showDownload: f,
49580
49583
  download_as: E,
49581
49584
  enableSearch: false,
@@ -49584,7 +49587,7 @@ ${c}
49584
49587
  showColumnSummaries: false,
49585
49588
  showDataTypes: true,
49586
49589
  get_column_summaries: getColumnSummaries,
49587
- showPageSizeSelector: P9,
49590
+ showPageSizeSelector: N9,
49588
49591
  showColumnExplorer: false,
49589
49592
  showRowExplorer: true,
49590
49593
  showChartBuilder: false,
@@ -49593,15 +49596,15 @@ ${c}
49593
49596
  selection: null,
49594
49597
  lazy: false,
49595
49598
  host: O
49596
- }), r[53] = E, r[54] = t9, r[55] = O, r[56] = d, r[57] = w, r[58] = f, r[59] = A9, r[60] = j9, r[61] = M9, r[62] = N9, r[63] = P9, r[64] = F9) : F9 = r[64];
49597
- let I9;
49598
- return r[65] !== O9 || r[66] !== k9 || r[67] !== F9 ? (I9 = (0, import_jsx_runtime.jsxs)("div", {
49599
+ }), r[53] = E, r[54] = t9, r[55] = O, r[56] = d, r[57] = w, r[58] = f, r[59] = k9, r[60] = A9, r[61] = j9, r[62] = M9, r[63] = N9, r[64] = P9) : P9 = r[64];
49600
+ let F9;
49601
+ return r[65] !== D9 || r[66] !== O9 || r[67] !== P9 ? (F9 = (0, import_jsx_runtime.jsxs)("div", {
49599
49602
  children: [
49603
+ D9,
49600
49604
  O9,
49601
- k9,
49602
- F9
49605
+ P9
49603
49606
  ]
49604
- }), r[65] = O9, r[66] = k9, r[67] = F9, r[68] = I9) : I9 = r[68], I9;
49607
+ }), r[65] = D9, r[66] = O9, r[67] = P9, r[68] = F9) : F9 = r[68], F9;
49605
49608
  });
49606
49609
  DataFrameComponent.displayName = "DataFrameComponent";
49607
49610
  function getColumnSummaries() {
@@ -49748,8 +49751,8 @@ ${c}
49748
49751
  t9 === void 0 && (t9 = []);
49749
49752
  let n9 = PathBuilder.guessDeliminator(c).deliminator, r9 = new Set(e.map((e2) => e2.path)), i9 = e.map((e2) => (0, import_jsx_runtime.jsx)("li", {
49750
49753
  children: e2.path
49751
- }, e2.id)), a9 = d === "directory" || d === "all", s9 = d === "file" || d === "all";
49752
- function c9(e2) {
49754
+ }, e2.id)), a9 = d === "directory" || d === "all", o9 = d === "file" || d === "all";
49755
+ function s9(e2) {
49753
49756
  if (I) return;
49754
49757
  if (z(true), e2 === PARENT_DIRECTORY) {
49755
49758
  if (w === n9) {
@@ -49769,7 +49772,7 @@ ${c}
49769
49772
  }
49770
49773
  E(e2), M("Select all"), z(false);
49771
49774
  }
49772
- function l9({ path: e2, name: r2, isDirectory: c2 }) {
49775
+ function c9({ path: e2, name: r2, isDirectory: c2 }) {
49773
49776
  return {
49774
49777
  id: e2,
49775
49778
  name: r2,
@@ -49777,8 +49780,8 @@ ${c}
49777
49780
  is_directory: c2
49778
49781
  };
49779
49782
  }
49780
- function u9({ path: c2, name: d2, isDirectory: h2 }) {
49781
- let _2 = l9({
49783
+ function l9({ path: c2, name: d2, isDirectory: h2 }) {
49784
+ let _2 = c9({
49782
49785
  path: c2,
49783
49786
  name: d2,
49784
49787
  isDirectory: h2
@@ -49790,15 +49793,15 @@ ${c}
49790
49793
  _2
49791
49794
  ]);
49792
49795
  }
49793
- function d9() {
49796
+ function u9() {
49794
49797
  r(e.filter((e2) => Paths.dirname(e2.path) !== w)), M("Select all");
49795
49798
  }
49796
- function f9() {
49799
+ function d9() {
49797
49800
  if (!t9) return;
49798
49801
  let c2 = [];
49799
49802
  for (let e2 of t9) {
49800
49803
  if (!a9 && e2.is_directory || r9.has(e2.path)) continue;
49801
- let r2 = l9({
49804
+ let r2 = c9({
49802
49805
  path: e2.path,
49803
49806
  name: e2.name,
49804
49807
  isDirectory: e2.is_directory
@@ -49813,7 +49816,7 @@ ${c}
49813
49816
  let p9 = [];
49814
49817
  p9.push((0, import_jsx_runtime.jsxs)(TableRow, {
49815
49818
  className: "hover:bg-primary hover:bg-opacity-25 select-none",
49816
- onClick: () => c9(PARENT_DIRECTORY),
49819
+ onClick: () => s9(PARENT_DIRECTORY),
49817
49820
  children: [
49818
49821
  (0, import_jsx_runtime.jsx)(TableCell, {
49819
49822
  className: "w-[50px] pl-4",
@@ -49829,12 +49832,12 @@ ${c}
49829
49832
  for (let e2 of t9) {
49830
49833
  let r2 = e2.path;
49831
49834
  r2.startsWith("//") && (r2 = r2.slice(1));
49832
- let c2 = e2.is_directory ? ({ path: e3 }) => c9(e3) : u9, d2 = FILE_ICON[e2.is_directory ? "directory" : guessFileIconType(e2.name)], f2 = r9.has(r2), h2 = () => a9 && e2.is_directory || s9 && !e2.is_directory ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
49835
+ let c2 = e2.is_directory ? ({ path: e3 }) => s9(e3) : l9, d2 = FILE_ICON[e2.is_directory ? "directory" : guessFileIconType(e2.name)], f2 = r9.has(r2), h2 = () => a9 && e2.is_directory || o9 && !e2.is_directory ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
49833
49836
  children: [
49834
49837
  (0, import_jsx_runtime.jsx)(Checkbox, {
49835
49838
  checked: f2,
49836
49839
  onClick: (c3) => {
49837
- u9({
49840
+ l9({
49838
49841
  path: r2,
49839
49842
  name: e2.name,
49840
49843
  isDirectory: e2.is_directory
@@ -49881,7 +49884,7 @@ ${c}
49881
49884
  delimiter: n9,
49882
49885
  initialPath: c,
49883
49886
  restrictNavigation: _
49884
- }), g9 = d === "all" ? PluralWords.of("file", "folder") : d === "directory" ? PluralWords.of("folder") : PluralWords.of("file");
49887
+ }), h9 = d === "all" ? PluralWords.of("file", "folder") : d === "directory" ? PluralWords.of("folder") : PluralWords.of("file");
49885
49888
  return (0, import_jsx_runtime.jsxs)("div", {
49886
49889
  children: [
49887
49890
  Q7 && (0, import_jsx_runtime.jsx)(Banner, {
@@ -49889,7 +49892,7 @@ ${c}
49889
49892
  children: Q7.message
49890
49893
  }),
49891
49894
  (() => {
49892
- h ?? (h = `Select ${g9.join(" and ", 2)}...`);
49895
+ h ?? (h = `Select ${h9.join(" and ", 2)}...`);
49893
49896
  let e2 = (0, import_jsx_runtime.jsx)(Label, {
49894
49897
  children: renderHTML({
49895
49898
  html: h
@@ -49906,7 +49909,7 @@ ${c}
49906
49909
  children: (0, import_jsx_runtime.jsx)(Button, {
49907
49910
  size: "xs",
49908
49911
  variant: "link",
49909
- onClick: O === "Select all" ? () => f9() : () => d9(),
49912
+ onClick: O === "Select all" ? () => d9() : () => u9(),
49910
49913
  children: renderHTML({
49911
49914
  html: O
49912
49915
  })
@@ -49919,7 +49922,7 @@ ${c}
49919
49922
  className: "mt-2 w-full",
49920
49923
  placeholder: w,
49921
49924
  value: w,
49922
- onChange: (e2) => c9(e2.target.value),
49925
+ onChange: (e2) => s9(e2.target.value),
49923
49926
  children: m9.map((e2) => (0, import_jsx_runtime.jsx)("option", {
49924
49927
  value: e2,
49925
49928
  selected: e2 === w,
@@ -49970,7 +49973,7 @@ ${c}
49970
49973
  children: [
49971
49974
  e.length,
49972
49975
  " ",
49973
- g9.join(" or ", e.length),
49976
+ h9.join(" or ", e.length),
49974
49977
  " ",
49975
49978
  "selected"
49976
49979
  ]
@@ -56151,8 +56154,8 @@ ${c}
56151
56154
  h9
56152
56155
  ]
56153
56156
  }), r[33] = h9, r[34] = d9, r[35] = g9) : g9 = r[35];
56154
- let _9;
56155
- r[36] !== g9 || r[37] !== o9 || r[38] !== s9 || r[39] !== c9 || r[40] !== l9 || r[41] !== u9 ? (_9 = (0, import_jsx_runtime.jsxs)("div", {
56157
+ let v9;
56158
+ r[36] !== g9 || r[37] !== o9 || r[38] !== s9 || r[39] !== c9 || r[40] !== l9 || r[41] !== u9 ? (v9 = (0, import_jsx_runtime.jsxs)("div", {
56156
56159
  className: o9,
56157
56160
  onKeyDown: s9,
56158
56161
  children: [
@@ -56161,14 +56164,14 @@ ${c}
56161
56164
  u9,
56162
56165
  g9
56163
56166
  ]
56164
- }), r[36] = g9, r[37] = o9, r[38] = s9, r[39] = c9, r[40] = l9, r[41] = u9, r[42] = _9) : _9 = r[42];
56165
- let v9;
56166
- return r[43] !== _9 || r[44] !== i9 ? (v9 = (0, import_jsx_runtime.jsx)("form", {
56167
+ }), r[36] = g9, r[37] = o9, r[38] = s9, r[39] = c9, r[40] = l9, r[41] = u9, r[42] = v9) : v9 = r[42];
56168
+ let y9;
56169
+ return r[43] !== v9 || r[44] !== i9 ? (y9 = (0, import_jsx_runtime.jsx)("form", {
56167
56170
  className: "contents",
56168
56171
  ref: Z7,
56169
56172
  onSubmit: i9,
56170
- children: _9
56171
- }), r[43] = _9, r[44] = i9, r[45] = v9) : v9 = r[45], v9;
56173
+ children: v9
56174
+ }), r[43] = v9, r[44] = i9, r[45] = y9) : y9 = r[45], y9;
56172
56175
  };
56173
56176
  var Form = (e) => {
56174
56177
  let r = (0, import_compiler_runtime$44.c)(24), c, d, f, h, _, v;
@@ -69018,7 +69021,7 @@ ${c}
69018
69021
  return Logger.warn("Failed to get version from mount config"), null;
69019
69022
  }
69020
69023
  }
69021
- const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.2-dev39"), showCodeInRunModeAtom = atom(true);
69024
+ const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.2-dev40"), showCodeInRunModeAtom = atom(true);
69022
69025
  atom(null);
69023
69026
  var VIRTUAL_FILE_REGEX = /\/@file\/([^\s"&'/]+)\.([\dA-Za-z]+)/g, VirtualFileTracker = class e {
69024
69027
  constructor() {