@marimo-team/islands 0.25.3-dev104 → 0.25.3-dev108

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.
Files changed (56) hide show
  1. package/dist/{ConnectedDataExplorerComponent-Dhf5EGs5.js → ConnectedDataExplorerComponent-CFzqIsUg.js} +1 -1
  2. package/dist/{ErrorBoundary-BSX5FnuK.js → ErrorBoundary-DkWGqNH6.js} +1 -1
  3. package/dist/{chat-ui-BjFJNtik.js → chat-ui-DA8zEZ1I.js} +3 -3
  4. package/dist/{code-visibility-azRFwO8n.js → code-visibility-B5PjxmuC.js} +2 -2
  5. package/dist/{common-D7dvNADC.js → common-BNQlMHY4.js} +12 -5
  6. package/dist/{data-grid-overlay-editor-BvWRCxAv.js → data-grid-overlay-editor-BWYs1FTB.js} +1 -1
  7. package/dist/{error-entries-m7wjcSR-.js → error-entries-g9iQiVIT.js} +54 -34
  8. package/dist/{feedback-button-CfEYDdvF.js → feedback-button-Ca3pfo3S.js} +3 -3
  9. package/dist/{glide-data-editor-CuC6Qmmd.js → glide-data-editor-B2X3cvOg.js} +3 -3
  10. package/dist/{globals-D7jFtSFG.js → globals-DejLMUJH.js} +1 -1
  11. package/dist/{html-to-image-DQn1HTpP.js → html-to-image-Bg5ZoSO-.js} +1 -1
  12. package/dist/main.js +94 -69
  13. package/dist/{number-overlay-editor-CCzf5gxX.js → number-overlay-editor-XZH_yeH-.js} +1 -1
  14. package/dist/{process-output-DIMk7xHI.js → process-output-BtVPCGeI.js} +2 -2
  15. package/dist/{reveal-component-ZUn41jSB.js → reveal-component-BGaiEIZB.js} +3 -3
  16. package/dist/{spec-CcT0slVc.js → spec-DTiOPKyk.js} +37 -7
  17. package/package.json +2 -2
  18. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  19. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  20. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  21. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  22. package/src/components/data-table/charts/charts.tsx +5 -5
  23. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  24. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  25. package/src/components/dependency-graph/elements.ts +24 -21
  26. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  27. package/src/components/editor/output/ansi-reduce.ts +30 -23
  28. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  29. package/src/core/ai/tools/base.ts +16 -7
  30. package/src/core/ai/tools/edit-notebook-tool.ts +47 -45
  31. package/src/core/ai/tools/registry.ts +13 -8
  32. package/src/core/ai/tools/sample-tool.ts +6 -7
  33. package/src/core/cells/__tests__/session.test.ts +117 -36
  34. package/src/core/codemirror/__tests__/setup.test.ts +28 -28
  35. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  36. package/src/core/codemirror/language/extension.ts +8 -8
  37. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  38. package/src/core/codemirror/language/languages/python.ts +13 -7
  39. package/src/core/codemirror/language/languages/sql/sql.ts +9 -7
  40. package/src/core/codemirror/language/types.ts +7 -7
  41. package/src/core/codemirror/rtc/extension.ts +24 -12
  42. package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
  43. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  44. package/src/core/codemirror/utils.ts +1 -0
  45. package/src/core/host/__tests__/static.test.ts +167 -0
  46. package/src/core/host/backend.ts +10 -0
  47. package/src/core/host/static.ts +70 -0
  48. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  49. package/src/core/static/__tests__/files.test.ts +38 -10
  50. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  51. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  52. package/src/plugins/impl/DataTablePlugin.tsx +15 -18
  53. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -1
  54. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  55. package/src/plugins/impl/plotly/selection.ts +25 -19
  56. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
package/dist/main.js CHANGED
@@ -3,20 +3,20 @@ import { _ as a, c as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p,
3
3
  import { t as v } from "./react-sHtZdjeP.js";
4
4
  import { t as y } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { i as b, n as x, r as S, t as C } from "./copy-icon-CPoxUG7G.js";
6
- import { C as w, F as T, G as E, I as D, J as O, K as k, L as A, P as j, R as M, X as N, Z as P, _ as F, a as I, b as L, g as R, i as z, j as B, k as ee, n as te, o as ne, q as re, v as ie, y as ae } from "./html-to-image-DQn1HTpP.js";
6
+ import { C as w, F as T, G as E, I as D, J as O, K as k, L as A, P as j, R as M, X as N, Z as P, _ as F, a as I, b as L, g as R, i as z, j as B, k as ee, n as te, o as ne, q as re, v as ie, y as ae } from "./html-to-image-Bg5ZoSO-.js";
7
7
  import { a as oe, d as se, f as ce, h as V, i as le, n as ue, o as de, r as fe, t as pe } from "./tooltip-CKO1pHJo.js";
8
- import { $t as me, At as he, B as ge, Bt as _e, D as ve, Dt as ye, E as be, Et as xe, Ft as Se, Gt as Ce, J as we, Jt as Te, Kt as Ee, M as De, Mt as Oe, N as ke, O as Ae, Ot as je, Q as Me, R as Ne, S as Pe, Ut as Fe, V as Ie, Vt as Le, W as Re, Y as ze, Yt as Be, Z as Ve, _ as He, b as Ue, bt as We, cn as Ge, dt as Ke, en as qe, f as Je, fn as Ye, ft as Xe, g as Ze, gn as Qe, gt as $e, h as et, hn as tt, ht as nt, in as rt, j as it, jt as at, k as ot, kt as st, ln as ct, m as lt, nn as ut, nt as dt, o as ft, p as pt, pn as mt, q as ht, qt as gt, rt as _t, s as vt, sn as yt, st as bt, tn as xt, u as St, un as Ct, ut as wt, v as Tt, wt as Et, y as Dt, z as Ot, zt as kt } from "./error-entries-m7wjcSR-.js";
9
- import { D as At, E as jt, O as Mt, S as Nt, T as Pt, _ as Ft, a as It, c as Lt, d as Rt, f as zt, g as Bt, h as Vt, i as Ht, l as Ut, m as Wt, n as Gt, o as Kt, p as qt, r as Jt, s as Yt, t as Xt, u as Zt, v as Qt, w as $t, x as en, y as tn } from "./spec-CcT0slVc.js";
10
- import { $ as nn, $t as rn, A as an, At as on, B as sn, Bt as cn, C as ln, Ct as un, D as dn, Dt as fn, E as pn, Et as mn, F as hn, Ft as gn, G as _n, Gt as vn, H as yn, Ht as bn, I as xn, It as Sn, J as Cn, Jt as wn, K as Tn, Kt as En, L as Dn, Lt as On, M as kn, Mt as An, N as jn, Nt as Mn, O as Nn, Ot as Pn, P as Fn, Pt as In, Qt as Ln, R as Rn, Rt as zn, S as Bn, St as Vn, T as Hn, Tt as Un, U as Wn, Ut as Gn, V as Kn, Vt as qn, W as Jn, Wt as Yn, Xt as Xn, Y as Zn, Yt as Qn, Zt as $n, _ as er, _t as tr, at as nr, b as rr, c as ir, cn as ar, ct as or, d as sr, dn as cr, dt as lr, en as ur, et as dr, f as fr, fn as pr, ft as mr, g as hr, gt as gr, h as _r, ht as vr, in as yr, it as br, j as xr, jt as Sr, k as Cr, kt as wr, ln as Tr, lt as Er, m as Dr, mn as Or, mt as kr, nn as Ar, nt as jr, on as Mr, ot as Nr, p as Pr, pn as Fr, pt as Ir, q as Lr, qt as Rr, r as zr, rn as Br, rt as Vr, sn as Hr, st as Ur, t as Wr, tn as Gr, tt as Kr, u as qr, un as Jr, ut as Yr, v as Xr, vt as Zr, w as Qr, wt as $r, x as ei, xt as ti, y as ni, z as ri, zt as ii } from "./common-D7dvNADC.js";
8
+ import { $t as me, At as he, B as ge, Bt as _e, D as ve, Dt as ye, E as be, Et as xe, Ft as Se, Gt as Ce, J as we, Jt as Te, Kt as Ee, M as De, Mt as Oe, N as ke, O as Ae, Ot as je, Q as Me, R as Ne, S as Pe, Ut as Fe, V as Ie, Vt as Le, W as Re, Y as ze, Yt as Be, Z as Ve, _ as He, b as Ue, bt as We, cn as Ge, dt as Ke, en as qe, f as Je, fn as Ye, ft as Xe, g as Ze, gn as Qe, gt as $e, h as et, hn as tt, ht as nt, in as rt, j as it, jt as at, k as ot, kt as st, ln as ct, m as lt, nn as ut, nt as dt, o as ft, p as pt, pn as mt, q as ht, qt as gt, rt as _t, s as vt, sn as yt, st as bt, tn as xt, u as St, un as Ct, ut as wt, v as Tt, wt as Et, y as Dt, z as Ot, zt as kt } from "./error-entries-g9iQiVIT.js";
9
+ import { D as At, E as jt, O as Mt, S as Nt, T as Pt, _ as Ft, a as It, c as Lt, d as Rt, f as zt, g as Bt, h as Vt, i as Ht, l as Ut, m as Wt, n as Gt, o as Kt, p as qt, r as Jt, s as Yt, t as Xt, u as Zt, v as Qt, w as $t, x as en, y as tn } from "./spec-DTiOPKyk.js";
10
+ import { $ as nn, $t as rn, A as an, At as on, B as sn, Bt as cn, C as ln, Ct as un, D as dn, Dt as fn, E as pn, Et as mn, F as hn, Ft as gn, G as _n, Gt as vn, H as yn, Ht as bn, I as xn, It as Sn, J as Cn, Jt as wn, K as Tn, Kt as En, L as Dn, Lt as On, M as kn, Mt as An, N as jn, Nt as Mn, O as Nn, Ot as Pn, P as Fn, Pt as In, Qt as Ln, R as Rn, Rt as zn, S as Bn, St as Vn, T as Hn, Tt as Un, U as Wn, Ut as Gn, V as Kn, Vt as qn, W as Jn, Wt as Yn, Xt as Xn, Y as Zn, Yt as Qn, Zt as $n, _ as er, _t as tr, at as nr, b as rr, c as ir, cn as ar, ct as or, d as sr, dn as cr, dt as lr, en as ur, et as dr, f as fr, fn as pr, ft as mr, g as hr, gt as gr, h as _r, ht as vr, in as yr, it as br, j as xr, jt as Sr, k as Cr, kt as wr, ln as Tr, lt as Er, m as Dr, mn as Or, mt as kr, nn as Ar, nt as jr, on as Mr, ot as Nr, p as Pr, pn as Fr, pt as Ir, q as Lr, qt as Rr, r as zr, rn as Br, rt as Vr, sn as Hr, st as Ur, t as Wr, tn as Gr, tt as Kr, u as qr, un as Jr, ut as Yr, v as Xr, vt as Zr, w as Qr, wt as $r, x as ei, xt as ti, y as ni, z as ri, zt as ii } from "./common-BNQlMHY4.js";
11
11
  import { c as ai, i as oi, n as si, o as ci, t as li } from "./useLifecycle-Dum8WSXq.js";
12
12
  import { t as ui } from "./check-P35dc2dH.js";
13
13
  import { A as di, C as fi, D as pi, E as mi, M as hi, O as gi, S as _i, T as vi, a as yi, b as bi, c as xi, i as Si, k as Ci, l as wi, n as Ti, o as Ei, r as Di, s as Oi, t as ki, w as Ai, x as ji } from "./select-B0LRDH0g.js";
14
14
  import { At as Mi, C as Ni, Dt as Pi, J as Fi, K as Ii, R as Li, S as Ri, U as zi, X as Bi, Y as Vi, _ as Hi, a as Ui, c as Wi, dt as Gi, et as Ki, f as qi, g as Ji, h as Yi, ht as Xi, i as Zi, m as Qi, n as $i, p as ea, q as ta, r as na, s as ra, t as ia, v as aa, vn as oa, x as sa, yn as ca, z as la } from "./dropdown-menu-B_7xD2X4.js";
15
15
  import { C as ua, _ as da, a as fa, b as pa, c as ma, f as ha, h as ga, m as _a, p as va, s as ya, u as ba, x as xa, y as Sa } from "./toDate-DKH0_kMo.js";
16
- import { a as Ca, c as wa, d as Ta, f as Ea, i as Da, l as Oa, n as ka, o as Aa, r as ja, s as Ma, t as Na } from "./process-output-DIMk7xHI.js";
16
+ import { a as Ca, c as wa, d as Ta, f as Ea, i as Da, l as Oa, n as ka, o as Aa, r as ja, s as Ma, t as Na } from "./process-output-BtVPCGeI.js";
17
17
  import { a as Pa, c as Fa, d as Ia, i as La, l as Ra, r as za, u as Ba } from "./glide-utils-Bt8_pBa2.js";
18
- import { n as Va, t as Ha } from "./ErrorBoundary-BSX5FnuK.js";
19
- import { n as Ua, t as Wa } from "./globals-D7jFtSFG.js";
18
+ import { n as Va, t as Ha } from "./ErrorBoundary-DkWGqNH6.js";
19
+ import { n as Ua, t as Wa } from "./globals-DejLMUJH.js";
20
20
  import { t as Ga } from "./react-dom-DUmH0GXv.js";
21
21
  import { t as Ka } from "./jsx-runtime-3BD1kT0s.js";
22
22
  import { B as qa, C as H, Ct as Ja, D as Ya, E as Xa, F as U, G as Za, H as Qa, I as $a, L as eo, M as W, N as to, O as no, P as ro, Q as io, R as ao, S as G, St as oo, Tt as so, U as co, W as lo, Y as uo, Z as fo, _ as po, _t as mo, a as ho, b as go, bt as _o, c as vo, d as yo, f as bo, g as xo, h as So, ht as Co, i as wo, j as K, k as To, l as Eo, m as Do, n as Oo, o as ko, p as Ao, r as jo, s as Mo, u as No, ut as Po, v as Fo, vt as Io, w as Lo, wt as Ro, x as zo, xt as Bo, y as Vo, yt as Ho } from "./use-restore-focus-DBCITLeF.js";
@@ -39,7 +39,7 @@ import { t as Ms } from "./useAsyncData-D0mLJstx.js";
39
39
  import { i as Ns, n as Ps, r as Fs } from "./formats-V8ifA0Bk.js";
40
40
  import { D as Is, O as Ls } from "./vega-loader.browser-B9Pz0EGP.js";
41
41
  import { a as Rs, n as zs } from "./loader-Bm8cy3e8.js";
42
- import { c as Bs, d as Vs, i as Hs, l as Us, o as Ws, s as Gs, t as Ks, u as qs } from "./code-visibility-azRFwO8n.js";
42
+ import { c as Bs, d as Vs, i as Hs, l as Us, o as Ws, s as Gs, t as Ks, u as qs } from "./code-visibility-B5PjxmuC.js";
43
43
  import { t as Js } from "./useDeepCompareMemoize-BpPWi3G3.js";
44
44
  import { t as Ys } from "./esm-D2gTsXEV.js";
45
45
  //#region ../node_modules/.pnpm/iconify-icon@2.3.0/node_modules/iconify-icon/dist/iconify-icon.mjs
@@ -10112,7 +10112,7 @@ var LS = (e) => {
10112
10112
  output: t
10113
10113
  };
10114
10114
  } };
10115
- } }, US = J.lazy(() => import("./chat-ui-BjFJNtik.js").then((e) => ({ default: e.Chatbot }))), WS = G(W({
10115
+ } }, US = J.lazy(() => import("./chat-ui-DA8zEZ1I.js").then((e) => ({ default: e.Chatbot }))), WS = G(W({
10116
10116
  id: U(),
10117
10117
  role: Fo([
10118
10118
  "system",
@@ -10578,14 +10578,14 @@ function VC(e, t) {
10578
10578
  }
10579
10579
  //#endregion
10580
10580
  //#region src/plugins/impl/DataEditorPlugin.tsx
10581
- var HC = J.lazy(() => import("./glide-data-editor-CuC6Qmmd.js").then((e) => e.t)), UC = wS("marimo-data-editor", { cssStyles: [qS] }).withData(W({
10581
+ var HC = J.lazy(() => import("./glide-data-editor-B2X3cvOg.js").then((e) => e.t)), UC = wS("marimo-data-editor", { cssStyles: [qS] }).withData(W({
10582
10582
  initialValue: W({ edits: G(W({
10583
10583
  rowIdx: K(),
10584
10584
  columnId: U(),
10585
10585
  value: ao()
10586
10586
  })) }),
10587
10587
  label: U().nullable(),
10588
- data: eo([U(), G(W({}).passthrough())]),
10588
+ data: eo([U(), G(no({}))]),
10589
10589
  fieldTypes: gC.nullish(),
10590
10590
  columnNames: G(U()).default([]),
10591
10591
  editableColumns: eo([G(U()), Ya("all")]),
@@ -13834,7 +13834,13 @@ var tE = (e) => {
13834
13834
  let { data: O, isPending: k, error: A } = Ms(E, D), j;
13835
13835
  t[14] === _.control ? j = t[15] : (j = { control: _.control }, t[14] = _.control, t[15] = j);
13836
13836
  let M = Xp(j), N;
13837
- t[16] !== M || t[17] !== v || t[18] !== f ? (N = Gt(v, M, f, "container", ZT), t[16] = M, t[17] = v, t[18] = f, t[19] = N) : N = t[19];
13837
+ t[16] !== M || t[17] !== v || t[18] !== f ? (N = Gt({
13838
+ chartType: v,
13839
+ formValues: M,
13840
+ theme: f,
13841
+ width: "container",
13842
+ height: ZT
13843
+ }), t[16] = M, t[17] = v, t[18] = f, t[19] = N) : N = t[19];
13838
13844
  let P = N, F;
13839
13845
  bb0: {
13840
13846
  if (k) {
@@ -14766,7 +14772,7 @@ var IE = eo([
14766
14772
  columnName: U()
14767
14773
  }))]),
14768
14774
  label: U().nullable(),
14769
- data: eo([U(), G(W({}).passthrough())]),
14775
+ data: eo([U(), G(no({}))]),
14770
14776
  rawData: eo([U(), G(no({}))]).nullish(),
14771
14777
  totalRows: eo([K(), Ya(ti)]),
14772
14778
  pagination: H().default(!1),
@@ -14803,7 +14809,7 @@ var IE = eo([
14803
14809
  maxColumns: eo([K(), Ya("all")]).default("all"),
14804
14810
  hasStableRowId: H().default(!1),
14805
14811
  maxHeight: K().optional(),
14806
- cellStyles: ro(U(), ro(U(), W({}).passthrough())).optional(),
14812
+ cellStyles: ro(U(), ro(U(), no({}))).optional(),
14807
14813
  hoverTemplate: U().optional(),
14808
14814
  cellHoverTexts: BE,
14809
14815
  lazy: H().default(!1),
@@ -14831,19 +14837,19 @@ var IE = eo([
14831
14837
  page_size: K(),
14832
14838
  max_columns: K().nullable().optional()
14833
14839
  })).output(W({
14834
- data: eo([U(), G(W({}).passthrough())]),
14840
+ data: eo([U(), G(no({}))]),
14835
14841
  total_rows: eo([K(), Ya(ti)]),
14836
- cell_styles: ro(U(), ro(U(), W({}).passthrough())).nullable(),
14842
+ cell_styles: ro(U(), ro(U(), no({}))).nullable(),
14837
14843
  cell_hover_texts: BE.nullable(),
14838
14844
  raw_data: eo([U(), G(no({}))]).nullish()
14839
14845
  })),
14840
- get_row_ids: HS.input(W({}).passthrough()).output(W({
14846
+ get_row_ids: HS.input(no({})).output(W({
14841
14847
  row_ids: G(K()),
14842
14848
  all_rows: H(),
14843
14849
  error: U().nullable()
14844
14850
  })),
14845
- get_data_url: HS.input(W({}).passthrough()).output(W({
14846
- data_url: eo([U(), G(W({}).passthrough())]),
14851
+ get_data_url: HS.input(no({})).output(W({
14852
+ data_url: eo([U(), G(no({}))]),
14847
14853
  format: Fo([
14848
14854
  "csv",
14849
14855
  "json",
@@ -15100,7 +15106,7 @@ var GE = (e) => {
15100
15106
  });
15101
15107
  KE.displayName = "LoadingDataTableComponent";
15102
15108
  var qE = (e) => {
15103
- let t = (0, X.c)(142), { label: n, data: r, rawData: i, totalRows: o, sizeBytes: s, sizeBytesIsLoading: c, maxColumns: l, pagination: u, selection: d, value: f, showFilters: p, showDownload: m, showPageSizeSelector: h, showColumnExplorer: g, showRowExplorer: _, showChartBuilder: v, showDataTypes: y, rowHeaders: b, fieldTypes: x, paginationState: S, setPaginationState: C, download_as: w, download_geojson: T, get_export_metadata: E, columnSummaries: D, className: O, setValue: k, sorting: A, setSorting: j, showSearch: M, searchQuery: N, setSearchQuery: P, filters: F, setFilters: I, reloading: L, freezeColumnsLeft: R, freezeColumnsRight: z, hiddenColumns: B, textJustifyColumns: ee, wrappedColumns: te, columnWidths: ne, headerTooltip: re, totalColumns: ie, get_row_ids: ae, cellStyles: oe, hoverTemplate: se, cellHoverTexts: ce, toggleDisplayHeader: V, isChartBuilderOpen: le, calculate_top_k_rows: ue, preview_column: de, getRow: fe, cellId: pe, maxHeight: me } = e, he = (0, J.useId)(), ge;
15109
+ let t = (0, X.c)(144), { label: n, data: r, rawData: i, totalRows: o, sizeBytes: s, sizeBytesIsLoading: c, maxColumns: l, pagination: u, selection: d, value: f, showFilters: p, showDownload: m, showPageSizeSelector: h, showColumnExplorer: g, showRowExplorer: _, showChartBuilder: v, showDataTypes: y, rowHeaders: b, fieldTypes: x, paginationState: S, setPaginationState: C, download_as: w, download_geojson: T, get_export_metadata: E, columnSummaries: D, className: O, setValue: k, sorting: A, setSorting: j, showSearch: M, searchQuery: N, setSearchQuery: P, filters: F, setFilters: I, reloading: L, freezeColumnsLeft: R, freezeColumnsRight: z, hiddenColumns: B, textJustifyColumns: ee, wrappedColumns: te, columnWidths: ne, headerTooltip: re, totalColumns: ie, get_row_ids: ae, cellStyles: oe, hoverTemplate: se, cellHoverTexts: ce, toggleDisplayHeader: V, isChartBuilderOpen: le, calculate_top_k_rows: ue, preview_column: de, getRow: fe, cellId: pe, maxHeight: me } = e, he = (0, J.useId)(), ge;
15104
15110
  t[0] !== w || t[1] !== T ? (ge = (e) => {
15105
15111
  let { format: t, ...n } = e;
15106
15112
  return t === "geojson" ? T({
@@ -15125,18 +15131,25 @@ var qE = (e) => {
15125
15131
  }
15126
15132
  let e;
15127
15133
  if (t[4] !== D.bin_values || t[5] !== D.data || t[6] !== D.show_charts || t[7] !== D.stats || t[8] !== D.value_counts || t[9] !== x) {
15128
- let n = Vn(x);
15129
- e = new mr(D.data || [], n, D.stats, D.bin_values, D.value_counts, { includeCharts: D.show_charts }), t[4] = D.bin_values, t[5] = D.data, t[6] = D.show_charts, t[7] = D.stats, t[8] = D.value_counts, t[9] = x, t[10] = e;
15134
+ let n = Vn(x), r;
15135
+ t[11] === D.data ? r = t[12] : (r = D.data || [], t[11] = D.data, t[12] = r), e = new mr({
15136
+ data: r,
15137
+ fieldTypes: n,
15138
+ stats: D.stats,
15139
+ binValues: D.bin_values,
15140
+ valueCounts: D.value_counts,
15141
+ opts: { includeCharts: D.show_charts }
15142
+ }), t[4] = D.bin_values, t[5] = D.data, t[6] = D.show_charts, t[7] = D.stats, t[8] = D.value_counts, t[9] = x, t[10] = e;
15130
15143
  } else e = t[10];
15131
15144
  Oe = e;
15132
15145
  }
15133
15146
  let ke = Oe, Ae;
15134
- t[11] === b ? Ae = t[12] : (Ae = new Set(b.map($E)), t[11] = b, t[12] = Ae);
15147
+ t[13] === b ? Ae = t[14] : (Ae = new Set(b.map($E)), t[13] = b, t[14] = Ae);
15135
15148
  let je = Ae, Me;
15136
- t[13] !== r || t[14] !== x || t[15] !== je ? (Me = x ?? Er(r).filter((e) => {
15149
+ t[15] !== r || t[16] !== x || t[17] !== je ? (Me = x ?? Er(r).filter((e) => {
15137
15150
  let [t] = e;
15138
15151
  return !je.has(t);
15139
- }), t[13] = r, t[14] = x, t[15] = je, t[16] = Me) : Me = t[16];
15152
+ }), t[15] = r, t[16] = x, t[17] = je, t[18] = Me) : Me = t[18];
15140
15153
  let Ne = Js(Me), Pe;
15141
15154
  bb1: {
15142
15155
  if (l === "all") {
@@ -15144,10 +15157,10 @@ var qE = (e) => {
15144
15157
  break bb1;
15145
15158
  }
15146
15159
  let e;
15147
- t[17] !== l || t[18] !== Ne ? (e = Ne.slice(0, l), t[17] = l, t[18] = Ne, t[19] = e) : e = t[19], Pe = e;
15160
+ t[19] !== l || t[20] !== Ne ? (e = Ne.slice(0, l), t[19] = l, t[20] = Ne, t[21] = e) : e = t[21], Pe = e;
15148
15161
  }
15149
15162
  let Fe = Pe, Ie;
15150
- if (t[20] !== r || t[21] !== Fe) {
15163
+ if (t[22] !== r || t[23] !== Fe) {
15151
15164
  if (Ie = {}, r && r.length > 0) {
15152
15165
  for (let [e, t] of Fe) if (t[0] === "number") {
15153
15166
  let t = 0;
@@ -15161,10 +15174,10 @@ var qE = (e) => {
15161
15174
  Ie[e] = t;
15162
15175
  }
15163
15176
  }
15164
- t[20] = r, t[21] = Fe, t[22] = Ie;
15165
- } else Ie = t[22];
15177
+ t[22] = r, t[23] = Fe, t[24] = Ie;
15178
+ } else Ie = t[24];
15166
15179
  let Le = Ie, Re = Js(b), ze = Js(ee), Be = Js(te), Ve = Js(ne), He = Js(ke), Ue = Js(Le), We = Fe.length, Ge = !!(x && y), Ke = De ? null : d, qe;
15167
- t[23] !== ue || t[24] !== Ue || t[25] !== re || t[26] !== He || t[27] !== Fe || t[28] !== Ve || t[29] !== Re || t[30] !== ze || t[31] !== Be || t[32] !== Ke || t[33] !== Ge ? (qe = or({
15180
+ t[25] !== ue || t[26] !== Ue || t[27] !== re || t[28] !== He || t[29] !== Fe || t[30] !== Ve || t[31] !== Re || t[32] !== ze || t[33] !== Be || t[34] !== Ke || t[35] !== Ge ? (qe = or({
15168
15181
  rowHeaders: Re,
15169
15182
  selection: Ke,
15170
15183
  chartSpecModel: He,
@@ -15176,11 +15189,11 @@ var qE = (e) => {
15176
15189
  showDataTypes: Ge,
15177
15190
  calculateTopKRows: ue,
15178
15191
  fractionDigitsByColumn: Ue
15179
- }), t[23] = ue, t[24] = Ue, t[25] = re, t[26] = He, t[27] = Fe, t[28] = Ve, t[29] = Re, t[30] = ze, t[31] = Be, t[32] = Ke, t[33] = Ge, t[34] = qe) : qe = t[34];
15192
+ }), t[25] = ue, t[26] = Ue, t[27] = re, t[28] = He, t[29] = Fe, t[30] = Ve, t[31] = Re, t[32] = ze, t[33] = Be, t[34] = Ke, t[35] = Ge, t[36] = qe) : qe = t[36];
15180
15193
  let Je = qe, Ye;
15181
- t[35] === f ? Ye = t[36] : (Ye = Object.fromEntries((f || []).map(eD)), t[35] = f, t[36] = Ye);
15194
+ t[37] === f ? Ye = t[38] : (Ye = Object.fromEntries((f || []).map(eD)), t[37] = f, t[38] = Ye);
15182
15195
  let Xe = Ye, Ze;
15183
- t[37] !== Xe || t[38] !== Ke || t[39] !== k ? (Ze = (e) => {
15196
+ t[39] !== Xe || t[40] !== Ke || t[41] !== k ? (Ze = (e) => {
15184
15197
  if (Ke === "single") {
15185
15198
  let t = a.asUpdater(e)({});
15186
15199
  k(Object.keys(t).slice(0, 1));
@@ -15189,20 +15202,20 @@ var qE = (e) => {
15189
15202
  let t = a.asUpdater(e)(Xe);
15190
15203
  k(Object.keys(t));
15191
15204
  }
15192
- }, t[37] = Xe, t[38] = Ke, t[39] = k, t[40] = Ze) : Ze = t[40];
15205
+ }, t[39] = Xe, t[40] = Ke, t[41] = k, t[42] = Ze) : Ze = t[42];
15193
15206
  let Qe = ts(Ze), $e;
15194
- t[41] !== S || t[42] !== C || t[43] !== o ? ($e = (e) => {
15207
+ t[43] !== S || t[44] !== C || t[45] !== o ? ($e = (e) => {
15195
15208
  if (be(e), e < 0 || typeof o == "number" && e >= o || o === "too_many") return;
15196
15209
  let t = gr(e, S.pageIndex, S.pageSize);
15197
15210
  t !== null && C((e) => ({
15198
15211
  ...e,
15199
15212
  pageIndex: t
15200
15213
  }));
15201
- }, t[41] = S, t[42] = C, t[43] = o, t[44] = $e) : $e = t[44];
15214
+ }, t[43] = S, t[44] = C, t[45] = o, t[46] = $e) : $e = t[46];
15202
15215
  let et = ts($e), tt;
15203
- t[45] === f ? tt = t[46] : (tt = f.filter(tD), t[45] = f, t[46] = tt);
15216
+ t[47] === f ? tt = t[48] : (tt = f.filter(tD), t[47] = f, t[48] = tt);
15204
15217
  let nt = tt, rt;
15205
- t[47] !== nt || t[48] !== Ke || t[49] !== k ? (rt = (e) => {
15218
+ t[49] !== nt || t[50] !== Ke || t[51] !== k ? (rt = (e) => {
15206
15219
  if (Ke === "single-cell") {
15207
15220
  let t = a.asUpdater(e)(nt);
15208
15221
  k(t.slice(0, 1));
@@ -15211,11 +15224,11 @@ var qE = (e) => {
15211
15224
  let t = a.asUpdater(e)(nt);
15212
15225
  k(t);
15213
15226
  }
15214
- }, t[47] = nt, t[48] = Ke, t[49] = k, t[50] = rt) : rt = t[50];
15227
+ }, t[49] = nt, t[50] = Ke, t[51] = k, t[52] = rt) : rt = t[52];
15215
15228
  let it = ts(rt), at = Ke === "multi" || Ke === "single", ot = g && !!de, st;
15216
- t[51] === Symbol.for("react.memo_cache_sentinel") ? (st = fo(), t[51] = st) : st = t[51];
15229
+ t[53] === Symbol.for("react.memo_cache_sentinel") ? (st = fo(), t[53] = st) : st = t[53];
15217
15230
  let ct = st, lt;
15218
- t[52] === Symbol.for("react.memo_cache_sentinel") ? (lt = ss(), t[52] = lt) : lt = t[52];
15231
+ t[54] === Symbol.for("react.memo_cache_sentinel") ? (lt = ss(), t[54] = lt) : lt = t[54];
15219
15232
  let ut = lt, dt;
15220
15233
  bb2: {
15221
15234
  if (!Se || !(_ || ot)) {
@@ -15223,7 +15236,7 @@ var qE = (e) => {
15223
15236
  break bb2;
15224
15237
  }
15225
15238
  let e;
15226
- t[53] !== ot || t[54] !== fe || t[55] !== Qe || t[56] !== he || t[57] !== at || t[58] !== Ne || t[59] !== we || t[60] !== de || t[61] !== Xe || t[62] !== Te || t[63] !== et || t[64] !== _ || t[65] !== ie || t[66] !== o || t[67] !== ye ? (e = (e) => /* @__PURE__ */ (0, Y.jsx)(Tn, { children: /* @__PURE__ */ (0, Y.jsx)(PE, {
15239
+ t[55] !== ot || t[56] !== fe || t[57] !== Qe || t[58] !== he || t[59] !== at || t[60] !== Ne || t[61] !== we || t[62] !== de || t[63] !== Xe || t[64] !== Te || t[65] !== et || t[66] !== _ || t[67] !== ie || t[68] !== o || t[69] !== ye ? (e = (e) => /* @__PURE__ */ (0, Y.jsx)(Tn, { children: /* @__PURE__ */ (0, Y.jsx)(PE, {
15227
15240
  rowIdx: ye,
15228
15241
  setRowIdx: et,
15229
15242
  totalRows: o,
@@ -15240,19 +15253,19 @@ var qE = (e) => {
15240
15253
  showColumnExplorer: ot && !ct,
15241
15254
  activeTab: we,
15242
15255
  onTabChange: Te
15243
- }) }), t[53] = ot, t[54] = fe, t[55] = Qe, t[56] = he, t[57] = at, t[58] = Ne, t[59] = we, t[60] = de, t[61] = Xe, t[62] = Te, t[63] = et, t[64] = _, t[65] = ie, t[66] = o, t[67] = ye, t[68] = e) : e = t[68], dt = e;
15256
+ }) }), t[55] = ot, t[56] = fe, t[57] = Qe, t[58] = he, t[59] = at, t[60] = Ne, t[61] = we, t[62] = de, t[63] = Xe, t[64] = Te, t[65] = et, t[66] = _, t[67] = ie, t[68] = o, t[69] = ye, t[70] = e) : e = t[70], dt = e;
15244
15257
  }
15245
15258
  let ft = dt, pt;
15246
- t[69] !== r || t[70] !== S || t[71] !== o ? (pt = o === "too_many" && S.pageSize === r.length && /* @__PURE__ */ (0, Y.jsxs)(Ko, {
15259
+ t[71] !== r || t[72] !== S || t[73] !== o ? (pt = o === "too_many" && S.pageSize === r.length && /* @__PURE__ */ (0, Y.jsxs)(Ko, {
15247
15260
  className: "mb-1 rounded",
15248
15261
  children: [
15249
15262
  "Previewing the first ",
15250
15263
  S.pageSize,
15251
15264
  " rows."
15252
15265
  ]
15253
- }), t[69] = r, t[70] = S, t[71] = o, t[72] = pt) : pt = t[72];
15266
+ }), t[71] = r, t[72] = S, t[73] = o, t[74] = pt) : pt = t[74];
15254
15267
  let mt;
15255
- t[73] !== We || t[74] !== ie ? (mt = We < ie && We > 0 && /* @__PURE__ */ (0, Y.jsxs)(Ko, {
15268
+ t[75] !== We || t[76] !== ie ? (mt = We < ie && We > 0 && /* @__PURE__ */ (0, Y.jsxs)(Ko, {
15256
15269
  className: "mb-1 rounded",
15257
15270
  children: [
15258
15271
  "Result clipped. Showing ",
@@ -15261,9 +15274,9 @@ var qE = (e) => {
15261
15274
  ie,
15262
15275
  " columns."
15263
15276
  ]
15264
- }), t[73] = We, t[74] = ie, t[75] = mt) : mt = t[75];
15277
+ }), t[75] = We, t[76] = ie, t[77] = mt) : mt = t[77];
15265
15278
  let ht;
15266
- t[76] !== r || t[77] !== ve || t[78] !== o ? (ht = De && typeof o == "number" && r.length < o && /* @__PURE__ */ (0, Y.jsxs)(Ko, {
15279
+ t[78] !== r || t[79] !== ve || t[80] !== o ? (ht = De && typeof o == "number" && r.length < o && /* @__PURE__ */ (0, Y.jsxs)(Ko, {
15267
15280
  className: "mb-1 rounded",
15268
15281
  children: [
15269
15282
  "Showing the first ",
@@ -15275,16 +15288,16 @@ var qE = (e) => {
15275
15288
  /* @__PURE__ */ (0, Y.jsx)("code", { children: "page_size" }),
15276
15289
  " to embed more in the static export."
15277
15290
  ]
15278
- }), t[76] = r, t[77] = ve, t[78] = o, t[79] = ht) : ht = t[79];
15291
+ }), t[78] = r, t[79] = ve, t[80] = o, t[81] = ht) : ht = t[81];
15279
15292
  let gt;
15280
- t[80] === D?.is_disabled ? gt = t[81] : (gt = D?.is_disabled && /* @__PURE__ */ (0, Y.jsx)(Ko, {
15293
+ t[82] === D?.is_disabled ? gt = t[83] : (gt = D?.is_disabled && /* @__PURE__ */ (0, Y.jsx)(Ko, {
15281
15294
  className: "mb-1 rounded",
15282
15295
  children: "Column summaries are unavailable. Filter your data to fewer than 1,000,000 rows."
15283
- }), t[80] = D?.is_disabled, t[81] = gt);
15296
+ }), t[82] = D?.is_disabled, t[83] = gt);
15284
15297
  let _t = m ? _e : void 0, vt = m ? E : void 0, yt = v && !ut, bt = (_ || ot) && !ct && !ut, xt;
15285
- t[82] === Symbol.for("react.memo_cache_sentinel") ? (xt = (e) => be(e), t[82] = xt) : xt = t[82];
15298
+ t[84] === Symbol.for("react.memo_cache_sentinel") ? (xt = (e) => be(e), t[84] = xt) : xt = t[84];
15286
15299
  let St;
15287
- t[83] !== ue || t[84] !== ce || t[85] !== nt || t[86] !== oe || t[87] !== O || t[88] !== Je || t[89] !== r || t[90] !== F || t[91] !== R || t[92] !== z || t[93] !== ae || t[94] !== it || t[95] !== Qe || t[96] !== B || t[97] !== se || t[98] !== Se || t[99] !== le || t[100] !== xe || t[101] !== me || t[102] !== u || t[103] !== S || t[104] !== i || t[105] !== L || t[106] !== ft || t[107] !== Xe || t[108] !== N || t[109] !== Ke || t[110] !== I || t[111] !== C || t[112] !== P || t[113] !== j || t[114] !== p || t[115] !== h || t[116] !== M || t[117] !== s || t[118] !== c || t[119] !== A || t[120] !== _t || t[121] !== vt || t[122] !== yt || t[123] !== bt || t[124] !== V || t[125] !== Ce || t[126] !== ie || t[127] !== o || t[128] !== ye ? (St = /* @__PURE__ */ (0, Y.jsx)(Dr, {
15300
+ t[85] !== ue || t[86] !== ce || t[87] !== nt || t[88] !== oe || t[89] !== O || t[90] !== Je || t[91] !== r || t[92] !== F || t[93] !== R || t[94] !== z || t[95] !== ae || t[96] !== it || t[97] !== Qe || t[98] !== B || t[99] !== se || t[100] !== Se || t[101] !== le || t[102] !== xe || t[103] !== me || t[104] !== u || t[105] !== S || t[106] !== i || t[107] !== L || t[108] !== ft || t[109] !== Xe || t[110] !== N || t[111] !== Ke || t[112] !== I || t[113] !== C || t[114] !== P || t[115] !== j || t[116] !== p || t[117] !== h || t[118] !== M || t[119] !== s || t[120] !== c || t[121] !== A || t[122] !== _t || t[123] !== vt || t[124] !== yt || t[125] !== bt || t[126] !== V || t[127] !== Ce || t[128] !== ie || t[129] !== o || t[130] !== ye ? (St = /* @__PURE__ */ (0, Y.jsx)(Dr, {
15288
15301
  data: r,
15289
15302
  rawData: i,
15290
15303
  columns: Je,
@@ -15334,27 +15347,27 @@ var qE = (e) => {
15334
15347
  viewedRowIdx: ye,
15335
15348
  onViewedRowChange: xt,
15336
15349
  renderTableExplorerPanel: ft
15337
- }), t[83] = ue, t[84] = ce, t[85] = nt, t[86] = oe, t[87] = O, t[88] = Je, t[89] = r, t[90] = F, t[91] = R, t[92] = z, t[93] = ae, t[94] = it, t[95] = Qe, t[96] = B, t[97] = se, t[98] = Se, t[99] = le, t[100] = xe, t[101] = me, t[102] = u, t[103] = S, t[104] = i, t[105] = L, t[106] = ft, t[107] = Xe, t[108] = N, t[109] = Ke, t[110] = I, t[111] = C, t[112] = P, t[113] = j, t[114] = p, t[115] = h, t[116] = M, t[117] = s, t[118] = c, t[119] = A, t[120] = _t, t[121] = vt, t[122] = yt, t[123] = bt, t[124] = V, t[125] = Ce, t[126] = ie, t[127] = o, t[128] = ye, t[129] = St) : St = t[129];
15350
+ }), t[85] = ue, t[86] = ce, t[87] = nt, t[88] = oe, t[89] = O, t[90] = Je, t[91] = r, t[92] = F, t[93] = R, t[94] = z, t[95] = ae, t[96] = it, t[97] = Qe, t[98] = B, t[99] = se, t[100] = Se, t[101] = le, t[102] = xe, t[103] = me, t[104] = u, t[105] = S, t[106] = i, t[107] = L, t[108] = ft, t[109] = Xe, t[110] = N, t[111] = Ke, t[112] = I, t[113] = C, t[114] = P, t[115] = j, t[116] = p, t[117] = h, t[118] = M, t[119] = s, t[120] = c, t[121] = A, t[122] = _t, t[123] = vt, t[124] = yt, t[125] = bt, t[126] = V, t[127] = Ce, t[128] = ie, t[129] = o, t[130] = ye, t[131] = St) : St = t[131];
15338
15351
  let Ct;
15339
- t[130] !== n || t[131] !== St ? (Ct = /* @__PURE__ */ (0, Y.jsx)(LS, {
15352
+ t[132] !== n || t[133] !== St ? (Ct = /* @__PURE__ */ (0, Y.jsx)(LS, {
15340
15353
  label: n,
15341
15354
  align: "top",
15342
15355
  fullWidth: !0,
15343
15356
  children: St
15344
- }), t[130] = n, t[131] = St, t[132] = Ct) : Ct = t[132];
15357
+ }), t[132] = n, t[133] = St, t[134] = Ct) : Ct = t[134];
15345
15358
  let wt;
15346
- t[133] !== ke || t[134] !== Ct ? (wt = /* @__PURE__ */ (0, Y.jsx)(lr, {
15359
+ t[135] !== ke || t[136] !== Ct ? (wt = /* @__PURE__ */ (0, Y.jsx)(lr, {
15347
15360
  value: ke,
15348
15361
  children: Ct
15349
- }), t[133] = ke, t[134] = Ct, t[135] = wt) : wt = t[135];
15362
+ }), t[135] = ke, t[136] = Ct, t[137] = wt) : wt = t[137];
15350
15363
  let Tt;
15351
- return t[136] !== pt || t[137] !== mt || t[138] !== ht || t[139] !== gt || t[140] !== wt ? (Tt = /* @__PURE__ */ (0, Y.jsxs)(Y.Fragment, { children: [
15364
+ return t[138] !== pt || t[139] !== mt || t[140] !== ht || t[141] !== gt || t[142] !== wt ? (Tt = /* @__PURE__ */ (0, Y.jsxs)(Y.Fragment, { children: [
15352
15365
  pt,
15353
15366
  mt,
15354
15367
  ht,
15355
15368
  gt,
15356
15369
  wt
15357
- ] }), t[136] = pt, t[137] = mt, t[138] = ht, t[139] = gt, t[140] = wt, t[141] = Tt) : Tt = t[141], Tt;
15370
+ ] }), t[138] = pt, t[139] = mt, t[140] = ht, t[141] = gt, t[142] = wt, t[143] = Tt) : Tt = t[143], Tt;
15358
15371
  }, JE = (e) => {
15359
15372
  let t = (0, X.c)(2), { children: n } = e, r;
15360
15373
  return t[0] === n ? r = t[1] : (r = /* @__PURE__ */ (0, Y.jsx)(Ha, { children: /* @__PURE__ */ (0, Y.jsx)(hs, {
@@ -15693,7 +15706,7 @@ function hD(e) {
15693
15706
  }
15694
15707
  //#endregion
15695
15708
  //#region src/plugins/impl/data-explorer/DataExplorerPlugin.tsx
15696
- var gD = J.lazy(() => import("./ConnectedDataExplorerComponent-Dhf5EGs5.js")), _D = wS("marimo-data-explorer").withData(W({
15709
+ var gD = J.lazy(() => import("./ConnectedDataExplorerComponent-CFzqIsUg.js")), _D = wS("marimo-data-explorer").withData(W({
15697
15710
  label: U().nullish(),
15698
15711
  data: U()
15699
15712
  })).renderer((e) => /* @__PURE__ */ (0, Y.jsx)(gD, {
@@ -16336,7 +16349,7 @@ var BD = wS("marimo-dataframe").withData(W({
16336
16349
  page_number: K(),
16337
16350
  page_size: K()
16338
16351
  })).output(W({
16339
- data: eo([U(), G(W({}).passthrough())]),
16352
+ data: eo([U(), G(no({}))]),
16340
16353
  total_rows: K()
16341
16354
  })),
16342
16355
  download_as: mE,
@@ -20804,7 +20817,7 @@ function hj(e) {
20804
20817
  return t.type !== void 0 && !oj.has(String(t.type)) ? !1 : typeof t.fill == "string" && t.fill !== "" && t.fill !== "none" || t.stackgroup != null;
20805
20818
  }) : !1;
20806
20819
  }
20807
- function gj(e, t, n, r, i) {
20820
+ function gj({ name: e, title: t, svg: n, dragmode: r, setDragmode: i }) {
20808
20821
  return {
20809
20822
  name: e,
20810
20823
  title: t,
@@ -20813,7 +20826,19 @@ function gj(e, t, n, r, i) {
20813
20826
  };
20814
20827
  }
20815
20828
  function _j(e) {
20816
- return [gj("line-box-select", "Box select", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" stroke-dasharray=\"2 2\" />\n </svg>", "select", e), gj("line-lasso-select", "Lasso select", "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M6 8c0-2.2 2.2-4 5-4s5 1.8 5 4-2.2 4-5 4-5 1.8-5 4 2.2 4 5 4\" />\n <circle cx=\"17.5\" cy=\"16.5\" r=\"1.5\" />\n </svg>", "lasso", e)];
20829
+ return [gj({
20830
+ name: "line-box-select",
20831
+ title: "Box select",
20832
+ svg: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" stroke-dasharray=\"2 2\" />\n </svg>",
20833
+ dragmode: "select",
20834
+ setDragmode: e
20835
+ }), gj({
20836
+ name: "line-lasso-select",
20837
+ title: "Lasso select",
20838
+ svg: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M6 8c0-2.2 2.2-4 5-4s5 1.8 5 4-2.2 4-5 4-5 1.8-5 4 2.2 4 5 4\" />\n <circle cx=\"17.5\" cy=\"16.5\" r=\"1.5\" />\n </svg>",
20839
+ dragmode: "lasso",
20840
+ setDragmode: e
20841
+ })];
20817
20842
  }
20818
20843
  function vj(e, t) {
20819
20844
  let n = [], r = /* @__PURE__ */ new Set(), i = (e) => {
@@ -20967,8 +20992,8 @@ function Nj(e) {
20967
20992
  var Pj = class {
20968
20993
  tagName = "marimo-plotly";
20969
20994
  validator = W({
20970
- figure: W({}).passthrough().transform((e) => e),
20971
- config: W({}).passthrough()
20995
+ figure: no({}).transform((e) => e),
20996
+ config: no({})
20972
20997
  });
20973
20998
  render(e) {
20974
20999
  return /* @__PURE__ */ (0, Y.jsx)(Ij, {
@@ -22033,14 +22058,14 @@ function fM(e, t) {
22033
22058
  var pM = J.lazy(() => import("./vega-component-DgytCKrL.js")), mM = class {
22034
22059
  tagName = "marimo-vega";
22035
22060
  validator = W({
22036
- spec: W({}).passthrough().transform((e) => e),
22061
+ spec: no({}).transform((e) => e),
22037
22062
  chartSelection: eo([
22038
22063
  H(),
22039
22064
  Ya("point"),
22040
22065
  Ya("interval")
22041
22066
  ]).default(!0),
22042
22067
  fieldSelection: eo([H(), G(U())]).default(!0),
22043
- embedOptions: W({}).passthrough().default({})
22068
+ embedOptions: no({}).default({})
22044
22069
  });
22045
22070
  render(e) {
22046
22071
  return /* @__PURE__ */ (0, Y.jsx)(pM, {
@@ -30305,7 +30330,7 @@ function VR(e) {
30305
30330
  }
30306
30331
  //#endregion
30307
30332
  //#region src/components/editor/renderers/slides-layout/slides-layout.tsx
30308
- var HR = J.lazy(() => import("./reveal-component-ZUn41jSB.js")), UR = (e) => {
30333
+ var HR = J.lazy(() => import("./reveal-component-BGaiEIZB.js")), UR = (e) => {
30309
30334
  let t = (0, X.c)(33), { layout: n, setLayout: r, cells: i, mode: a } = e, o = ns(da), s = a === "read" || o, c = ns(He) > 1, [l, u] = (0, J.useState)(null), d;
30310
30335
  t[0] !== i || t[1] !== n ? (d = zP(i, n), t[0] = i, t[1] = n, t[2] = d) : d = t[2];
30311
30336
  let { slideCells: f, skippedIds: p, noOutputIds: m, slideTypes: h, startCellIndex: g } = d, _;
@@ -1,6 +1,6 @@
1
1
  import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { t } from "./react-sHtZdjeP.js";
3
- import { a as n } from "./glide-data-editor-CuC6Qmmd.js";
3
+ import { a as n } from "./glide-data-editor-B2X3cvOg.js";
4
4
  //#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_27cffe7f1bc30287d59ac27db3240c5b/node_modules/@glideapps/glide-data-grid/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js
5
5
  var r = /* @__PURE__ */ e(t()), i = /*#__PURE__*/ n("div")({
6
6
  name: "NumberOverlayEditorStyle",
@@ -1,6 +1,6 @@
1
- import { O as e } from "./html-to-image-DQn1HTpP.js";
1
+ import { O as e } from "./html-to-image-Bg5ZoSO-.js";
2
2
  import { h as t } from "./tooltip-CKO1pHJo.js";
3
- import { C as n, w as r } from "./error-entries-m7wjcSR-.js";
3
+ import { C as n, w as r } from "./error-entries-g9iQiVIT.js";
4
4
  import { b as i } from "./select-B0LRDH0g.js";
5
5
  import { n as a } from "./semaphore-89jsoHtS.js";
6
6
  var o = t("file", [["path", {
@@ -3,15 +3,15 @@ import { c as t, g as n, h as r, m as i, t as a } from "./button-BxB3RDjN.js";
3
3
  import { t as o } from "./react-sHtZdjeP.js";
4
4
  import { t as s } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { h as c, t as l } from "./tooltip-CKO1pHJo.js";
6
- import { O as u } from "./error-entries-m7wjcSR-.js";
7
- import { Q as d, X as f, Z as p, an as m, cn as h, i as g, in as _, l as v, n as y, r as b, t as x, u as S } from "./common-D7dvNADC.js";
6
+ import { O as u } from "./error-entries-g9iQiVIT.js";
7
+ import { Q as d, X as f, Z as p, an as m, cn as h, i as g, in as _, l as v, n as y, r as b, t as x, u as S } from "./common-BNQlMHY4.js";
8
8
  import { M as C } from "./select-B0LRDH0g.js";
9
9
  import { q as ee } from "./dropdown-menu-B_7xD2X4.js";
10
10
  import { _ as w } from "./toDate-DKH0_kMo.js";
11
11
  import { t as T } from "./jsx-runtime-3BD1kT0s.js";
12
12
  import { q as E } from "./use-restore-focus-DBCITLeF.js";
13
13
  import { A as D, C as O, b as k } from "./useTheme-CfeaVw5D.js";
14
- import { a as A, n as te, t as ne } from "./code-visibility-azRFwO8n.js";
14
+ import { a as A, n as te, t as ne } from "./code-visibility-B5PjxmuC.js";
15
15
  /* empty css */
16
16
  var j = c("sticky-note", [["path", {
17
17
  d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",
@@ -529,14 +529,32 @@ function U(e) {
529
529
  //#endregion
530
530
  //#region src/components/data-table/charts/chart-spec/spec.ts
531
531
  var W = "X-axis column is required", G = "Y-axis column is required";
532
- function K(e, t, n, r, i) {
532
+ function K({ chartType: e, formValues: t, theme: n, width: r, height: i }) {
533
533
  let { xColumn: a, yColumn: o, colorByColumn: s, horizontal: c, stacking: l, title: u, facet: d } = t.general ?? {};
534
534
  if (e === M.PIE) return X(t, n, r, i);
535
535
  if (!Q(a?.field)) return W;
536
536
  if (!Q(o?.field)) return G;
537
- let f = J(a, t.xAxis?.bin, $(t.xAxis?.label), s?.field && c ? l : void 0, e), p = S;
537
+ let f = J(a, {
538
+ binValues: t.xAxis?.bin,
539
+ label: $(t.xAxis?.label),
540
+ stack: s?.field && c ? l : void 0,
541
+ chartType: e
542
+ }), p = S;
538
543
  o?.selectedDataType === "string" && (p = "count");
539
- let m = J(o, t.yAxis?.bin, $(t.yAxis?.label), s?.field && !c ? l : void 0, e, p), h = d?.row.field ? Y(d.row, e) : void 0, g = d?.column.field ? Y(d.column, e) : void 0, _ = z(e, t), v = Z(e, t, n, r, i, u), y = {
544
+ let m = J(o, {
545
+ binValues: t.yAxis?.bin,
546
+ label: $(t.yAxis?.label),
547
+ stack: s?.field && !c ? l : void 0,
548
+ chartType: e,
549
+ defaultAggregate: p
550
+ }), h = d?.row.field ? Y(d.row, e) : void 0, g = d?.column.field ? Y(d.column, e) : void 0, _ = z(e, t), v = Z({
551
+ chartType: e,
552
+ formValues: t,
553
+ theme: n,
554
+ width: r,
555
+ height: i,
556
+ title: u
557
+ }), y = {
540
558
  x: c ? m : f,
541
559
  y: c ? f : m,
542
560
  xOffset: B(e, t),
@@ -563,7 +581,7 @@ function q(e, t) {
563
581
  data: { values: t }
564
582
  };
565
583
  }
566
- function J(e, t, n, r, i, a) {
584
+ function J(e, { binValues: t, label: n, stack: r, chartType: i, defaultAggregate: a }) {
567
585
  let o = e.selectedDataType || "string";
568
586
  return e.field === "__count__" ? {
569
587
  aggregate: "count",
@@ -599,14 +617,26 @@ function X(e, t, n, r) {
599
617
  let { yColumn: i, colorByColumn: a, title: o } = e.general ?? {};
600
618
  if (!Q(a?.field)) return "Color by column is required";
601
619
  if (!Q(i?.field)) return "Size by column is required";
602
- let s = J(i, e.xAxis?.bin, $(e.xAxis?.label), void 0, M.PIE), c = {
620
+ let s = J(i, {
621
+ binValues: e.xAxis?.bin,
622
+ label: $(e.xAxis?.label),
623
+ stack: void 0,
624
+ chartType: M.PIE
625
+ }), c = {
603
626
  field: v(a.field),
604
627
  type: P(a.selectedDataType || "unknown"),
605
628
  scale: R(e),
606
629
  title: $(e.yAxis?.label)
607
630
  };
608
631
  return {
609
- ...Z(M.PIE, e, t, n, r, o),
632
+ ...Z({
633
+ chartType: M.PIE,
634
+ formValues: e,
635
+ theme: t,
636
+ width: n,
637
+ height: r,
638
+ title: o
639
+ }),
610
640
  mark: {
611
641
  type: I(M.PIE),
612
642
  innerRadius: e.style?.innerRadius
@@ -623,7 +653,7 @@ function X(e, t, n, r) {
623
653
  }
624
654
  };
625
655
  }
626
- function Z(e, t, n, r, i, a) {
656
+ function Z({ chartType: e, formValues: t, theme: n, width: r, height: i, title: a }) {
627
657
  let o = t.style?.gridLines ?? !1;
628
658
  return e === M.SCATTER && (o = !0), {
629
659
  $schema: "https://vega.github.io/schema/vega-lite/v6.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/islands",
3
- "version": "0.25.3-dev104",
3
+ "version": "0.25.3-dev108",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -195,7 +195,7 @@
195
195
  "devDependencies": {
196
196
  "@codecov/vite-plugin": "^1.9.1",
197
197
  "@csstools/postcss-light-dark-function": "^2.0.11",
198
- "@playwright/test": "^1.63.0",
198
+ "@playwright/test": "^1.64.0",
199
199
  "@storybook/addon-docs": "^10.6.0",
200
200
  "@storybook/addon-links": "^10.6.0",
201
201
  "@storybook/react-vite": "^10.6.0",