@marimo-team/islands 0.25.3-dev268 → 0.25.3-dev269

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.
@@ -130,7 +130,7 @@ function N(e) {
130
130
  }
131
131
  //#endregion
132
132
  //#region src/components/editor/boundary/ErrorBoundary.tsx
133
- var P = (0, C.lazy)(() => import("./feedback-button-BqaeQcvX.js").then((e) => ({ default: e.FeedbackModal }))), F = (e) => {
133
+ var P = (0, C.lazy)(() => import("./feedback-button-BelKx6R5.js").then((e) => ({ default: e.FeedbackModal }))), F = (e) => {
134
134
  let t = (0, S.c)(2), n;
135
135
  return t[0] === e.children ? n = t[1] : (n = /* @__PURE__ */ (0, k.jsx)(E, {
136
136
  FallbackComponent: I,
@@ -3,13 +3,13 @@ import { c as n, g as r, h as i, t as a } from "./button-0-RqY1DW.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 { i as c, t as l } from "./copy-icon-C2I8sw4h.js";
6
- import { Ct as u, Dt as d, Et as f, It as p, J as m, Lt as h, M as g, Nt as _, Pt as v, Tt as y, U as b, V as x, Vt as S, W as C, a as w, at as T, ct as E, dt as D, et as O, f as k, g as A, h as j, ht as M, kt as ee, l as te, m as ne, n as re, ot as ie, p as ae, r as oe, st as se, t as ce, u as le, v as ue, xt as de, zt as fe } from "./html-to-image-8sywF4my.js";
6
+ import { Ct as u, Dt as d, Et as f, It as p, J as m, Lt as h, M as g, Nt as _, Pt as v, Tt as y, U as b, V as x, Vt as S, W as C, a as w, at as T, ct as E, dt as D, et as O, f as k, g as A, h as j, ht as M, kt as ee, l as te, m as ne, n as re, ot as ie, p as ae, r as oe, st as se, t as ce, u as le, v as ue, xt as de, zt as fe } from "./html-to-image-Bc2AvXHG.js";
7
7
  import { h as N, t as pe } from "./tooltip-BfcDQd2j.js";
8
8
  import { d as me } from "./select-OxgozOC8.js";
9
9
  import { Sn as he, _ as ge, bn as _e, f as ve, h as ye, i as be, n as xe, t as Se } from "./dropdown-menu-CdXE15an.js";
10
10
  import { a as Ce, l as we } from "./config-BsPruWMR.js";
11
11
  import { I as Te, K as Ee, N as De, Tt as Oe, Wt as ke, ct as Ae, h as je, i as Me, r as Ne, t as Pe, tt as Fe } from "./error-entries-CxN-Nq3V.js";
12
- import { d as Ie, f as Le, i as Re, n as ze, t as Be, u as Ve } from "./process-output-Dku5POvm.js";
12
+ import { d as Ie, f as Le, i as Re, n as ze, t as Be, u as Ve } from "./process-output-qecD7Dk8.js";
13
13
  import { t as He } from "./pencil-DcT8AE0h.js";
14
14
  import { n as Ue, r as We, s as Ge } from "./assertNever-DIU3JJbt.js";
15
15
  import { t as Ke } from "./jsx-runtime-3BD1kT0s.js";
@@ -14,7 +14,7 @@ function y() {
14
14
  return e.warn("Failed to get version from mount config"), null;
15
15
  }
16
16
  }
17
- var b = y() || "0.25.3-dev268", x = c(b), S = c(!0);
17
+ var b = y() || "0.25.3-dev269", x = c(b), S = c(!0);
18
18
  c(null);
19
19
  //#endregion
20
20
  //#region src/core/wasm/state.ts
@@ -3,7 +3,7 @@ import { _ as t, c as n, f as r, g as i, h as a, m as o, n as s, p as c, s as l,
3
3
  import { t as d } from "./react-sHtZdjeP.js";
4
4
  import { t as f } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { i as p, n as m, r as h, t as g } from "./copy-icon-C2I8sw4h.js";
6
- import { A as _, At as v, C as y, D as b, Dt as x, G as S, Gt as C, H as w, Ht as T, It as E, K as D, Lt as O, M as k, Mt as A, N as j, Pt as M, Rt as N, S as P, Tt as F, U as I, Ut as L, V as R, Vt as z, W as ee, Wt as te, X as ne, d as re, et as B, ft as ie, gt as ae, it as oe, k as se, mt as ce, n as le, nt as ue, pt as de, r as fe, rt as pe, s as me, t as he, w as ge, wt as _e, x as ve, y as ye, z as be } from "./html-to-image-8sywF4my.js";
6
+ import { A as _, At as v, C as y, D as b, Dt as x, G as S, Gt as C, H as w, Ht as T, It as E, K as D, Lt as O, M as k, Mt as A, N as j, Pt as M, Rt as N, S as P, Tt as F, U as I, Ut as L, V as R, Vt as z, W as ee, Wt as te, X as ne, d as re, et as B, ft as ie, gt as ae, it as oe, k as se, mt as ce, n as le, nt as ue, pt as de, r as fe, rt as pe, s as me, t as he, w as ge, wt as _e, x as ve, y as ye, z as be } from "./html-to-image-Bc2AvXHG.js";
7
7
  import { a as xe, f as Se, h as V, n as Ce, o as we, r as Te, t as H } from "./tooltip-BfcDQd2j.js";
8
8
  import { r as Ee, s as De } from "./useLifecycle-JjxCC7Vu.js";
9
9
  import { a as Oe, i as ke, n as Ae, o as je, r as Me, t as Ne } from "./useDateFormatter-ButWkdcK.js";
@@ -35,7 +35,7 @@ import { o as ya } from "./dist-DU9ICsWZ.js";
35
35
  import { a as ba, i as xa, n as Sa, o as Ca, r as wa, t as Ta } from "./dialog-DzCj1qQv.js";
36
36
  import { t as Ea } from "./useAsyncData-BYIAoMqn.js";
37
37
  import { n as W, t as G } from "./objectWithoutPropertiesLoose-BRDcTsfB.js";
38
- import { t as Da } from "./ErrorBoundary-CQYAoD7X.js";
38
+ import { t as Da } from "./ErrorBoundary-DCtynjHZ.js";
39
39
  import { D as Oa, n as ka } from "./vega-loader.browser-B9Pz0EGP.js";
40
40
  import { a as Aa, n as ja, r as Ma, t as Na } from "./loader-BVEtQ4F3.js";
41
41
  import { t as Pa } from "./useIframeCapabilities-BIolGsF1.js";
@@ -2,7 +2,7 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { t } from "./react-sHtZdjeP.js";
3
3
  import { t as n } from "./react-dom-DUmH0GXv.js";
4
4
  import { c as r, l as i, u as a } from "./data-grid-types-0PJ-9N5n.js";
5
- import { a as o, i as s, n as c, r as l } from "./glide-data-editor-CiijPXA7.js";
5
+ import { a as o, i as s, n as c, r as l } from "./glide-data-editor-CMZ-kv0S.js";
6
6
  //#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/data-grid-overlay-editor-style.js
7
7
  var u = /* @__PURE__ */ e(t(), 1), d = /* @__PURE__ */ e(n(), 1), f = /*#__PURE__*/ o("div")({
8
8
  name: "DataGridOverlayEditorStyle",
@@ -4,13 +4,13 @@ import { t as r } from "./react-sHtZdjeP.js";
4
4
  import { t as i } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { t as a } from "./copy-icon-C2I8sw4h.js";
6
6
  import { D as o, E as s, F as c, L as l, Wt as u, i as d, j as f, n as p, q as m } from "./error-entries-CxN-Nq3V.js";
7
- import { n as h, t as ee } from "./globals-CpmSWKI_.js";
7
+ import { n as h, t as ee } from "./globals-DV77npCG.js";
8
8
  import { r as g } from "./assertNever-DIU3JJbt.js";
9
9
  import { t as _ } from "./jsx-runtime-3BD1kT0s.js";
10
10
  import { o as te, r as v, x as ne } from "./utils-EBklsC5R.js";
11
11
  import { a as re, i as ie, n as ae, r as oe } from "./dialog-DzCj1qQv.js";
12
12
  import { t as se } from "./useAsyncData-BYIAoMqn.js";
13
- import { t as ce } from "./code-visibility-DcZ_RwaH.js";
13
+ import { t as ce } from "./code-visibility-CMF5tcNj.js";
14
14
  //#region src/components/ui/skeleton.tsx
15
15
  var y = /* @__PURE__ */ e(r(), 1), b = i(), x = _(), S = (e) => {
16
16
  let n = (0, b.c)(8), r, i;
@@ -14,7 +14,7 @@ import { t as P } from "./jsx-runtime-3BD1kT0s.js";
14
14
  import { n as oe } from "./useTheme-DPLobSFs.js";
15
15
  import { D as F } from "./utils-EBklsC5R.js";
16
16
  import { n as I, t as se } from "./objectWithoutPropertiesLoose-BRDcTsfB.js";
17
- import { t as ce } from "./ErrorBoundary-CQYAoD7X.js";
17
+ import { t as ce } from "./ErrorBoundary-DCtynjHZ.js";
18
18
  import { A as le, C as ue, D as de, E as fe, F as pe, I as me, L as he, M as ge, N as _e, O as L, P as ve, R as ye, S as be, T as xe, _ as Se, a as R, b as Ce, c as z, d as we, f as B, g as V, h as Te, i as Ee, j as H, k as U, l as De, m as Oe, n as ke, o as Ae, p as je, r as W, s as Me, t as Ne, u as Pe, v as Fe, w as Ie, x as Le, y as Re, z as ze } from "./data-grid-types-0PJ-9N5n.js";
19
19
  //#region ../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
20
20
  function Be(e) {
@@ -7068,7 +7068,7 @@ function us(e, t, n, r, i) {
7068
7068
  }
7069
7069
  //#endregion
7070
7070
  //#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/data-editor/data-editor.js
7071
- var ds = /* @__PURE__ */ e(wr(), 1), fs = /* @__PURE__ */ e(Or(), 1), ps = G.lazy(async () => await import("./data-grid-overlay-editor-Dc4lW4A3.js")), ms = 0;
7071
+ var ds = /* @__PURE__ */ e(wr(), 1), fs = /* @__PURE__ */ e(Or(), 1), ps = G.lazy(async () => await import("./data-grid-overlay-editor-B6oND8pX.js")), ms = 0;
7072
7072
  function hs(e) {
7073
7073
  return (0, ds.default)((0, fs.default)((0, fs.default)(e).filter((e) => e.span !== void 0).map((e) => (0, io.default)((e.span?.[0] ?? 0) + 1, (e.span?.[1] ?? 0) + 1))));
7074
7074
  }
@@ -9299,7 +9299,7 @@ function Js(e, t, n, r, i) {
9299
9299
  }
9300
9300
  //#endregion
9301
9301
  //#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/cells/number-cell.js
9302
- var Ys = G.lazy(async () => await import("./number-overlay-editor-Ft4NiAEN.js")), Xs = {
9302
+ var Ys = G.lazy(async () => await import("./number-overlay-editor-CFTuKnrY.js")), Xs = {
9303
9303
  getAccessibilityString: (e) => e.data?.toString() ?? "",
9304
9304
  kind: W.Number,
9305
9305
  needsHover: (e) => e.hoverEffect === !0,
@@ -1,6 +1,6 @@
1
1
  import { h as e } from "./tooltip-BfcDQd2j.js";
2
2
  import { o as t } from "./utils-EBklsC5R.js";
3
- import { r as n } from "./code-visibility-DcZ_RwaH.js";
3
+ import { r as n } from "./code-visibility-CMF5tcNj.js";
4
4
  var r = e("triangle-alert", [
5
5
  ["path", {
6
6
  d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
@@ -27442,10 +27442,7 @@ var Hb = [], Ub = (e) => {
27442
27442
  children: /* @__PURE__ */ (0, R.jsx)(g, {
27443
27443
  tooltip: !1,
27444
27444
  className: "p-1",
27445
- value: () => {
27446
- let e = r.current?.firstChild;
27447
- return e && e.textContent || "";
27448
- }
27445
+ value: () => (r.current?.querySelector("pre code") ?? r.current?.firstChild)?.textContent ?? ""
27449
27446
  })
27450
27447
  }), t[0] = i) : i = t[0];
27451
27448
  let a;
package/dist/main.js CHANGED
@@ -3,20 +3,20 @@ import { _ as a, a as o, c as s, d as c, g as l, h as u, l as d, m as f, n as p,
3
3
  import { t as y } from "./react-sHtZdjeP.js";
4
4
  import { t as b } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { i as x, n as S, r as C, t as w } from "./copy-icon-C2I8sw4h.js";
6
- import { $ as T, B as E, Bt as D, Dt as O, E as k, F as A, Ft as j, Ht as M, I as N, It as P, L as F, Lt as I, M as L, O as R, Ot as z, P as B, Pt as ee, Q as te, R as ne, Rt as re, St as ie, Ut as ae, X as oe, Y as se, Z as ce, _ as le, _t as ue, a as de, b as fe, bt as pe, c as me, dt as he, i as ge, j as _e, jt as ve, lt as ye, mt as be, n as xe, nt as Se, o as Ce, q as we, tt as Te, ut as Ee, vt as De, yt as Oe, z as ke, zt as Ae } from "./html-to-image-8sywF4my.js";
6
+ import { $ as T, B as E, Bt as D, Dt as O, E as k, F as A, Ft as j, Ht as M, I as N, It as P, L as F, Lt as I, M as L, O as R, Ot as z, P as B, Pt as ee, Q as te, R as ne, Rt as re, St as ie, Ut as ae, X as oe, Y as se, Z as ce, _ as le, _t as ue, a as de, b as fe, bt as pe, c as me, dt as he, i as ge, j as _e, jt as ve, lt as ye, mt as be, n as xe, nt as Se, o as Ce, q as we, tt as Te, ut as Ee, vt as De, yt as Oe, z as ke, zt as Ae } from "./html-to-image-Bc2AvXHG.js";
7
7
  import { a as je, f as Me, h as Ne, i as Pe, m as Fe, n as Ie, o as Le, r as Re, t as ze } from "./tooltip-BfcDQd2j.js";
8
8
  import { D as Be, E as Ve, O as He, S as Ue, T as We, _ as Ge, a as Ke, c as qe, d as Je, f as Ye, g as Xe, h as Ze, i as Qe, l as $e, m as et, n as tt, o as nt, p as rt, r as it, s as at, t as ot, u as st, v as ct, w as lt, x as ut, y as dt } from "./spec-oJn0RhpQ.js";
9
- import { $t as ft, A as pt, At as mt, B as ht, Bt as gt, C as _t, Cn as vt, Ct as yt, D as bt, Dt as xt, E as St, Et as Ct, F as wt, Ft as Tt, G as Et, Gt as Dt, H as Ot, Ht as kt, I as At, It as jt, J as Mt, Jt as Nt, K as Pt, Kt as Ft, L as It, Lt, M as Rt, Mt as zt, N as Bt, Nt as Vt, O as Ht, Ot as Ut, P as Wt, Pt as Gt, Qt as Kt, R as qt, Rt as Jt, S as Yt, Sn as Xt, T as Zt, Tn as Qt, Tt as $t, U as en, Ut as tn, V as nn, Vt as rn, W as an, Wt as on, X as sn, Xt as cn, Y as ln, Yt as un, Z as dn, Zt as fn, _ as pn, _n as mn, _t as hn, an as gn, at as _n, b as vn, bn as yn, bt as bn, c as xn, cn as Sn, ct as Cn, d as wn, dn as Tn, dt as En, en as Dn, f as On, fn as kn, ft as An, g as jn, gt as Mn, h as Nn, hn as Pn, ht as Fn, in as In, it as Ln, j as Rn, jt as zn, k as Bn, kt as Vn, ln as Hn, lt as Un, m as Wn, mn as Gn, mt as Kn, nn as qn, nt as Jn, on as Yn, ot as Xn, p as Zn, pn as Qn, pt as $n, q as er, qt as tr, r as nr, rn as rr, rt as ir, sn as ar, st as or, t as sr, tn as cr, tt as lr, u as ur, un as dr, ut as fr, v as pr, vn as mr, vt as hr, w as gr, wn as _r, wt as vr, x as yr, xn as br, y as xr, yn as Sr, yt as Cr, z as wr, zt as Tr } from "./common-BGeQilvh.js";
9
+ import { $t as ft, A as pt, At as mt, B as ht, Bt as gt, C as _t, Cn as vt, Ct as yt, D as bt, Dt as xt, E as St, Et as Ct, F as wt, Ft as Tt, G as Et, Gt as Dt, H as Ot, Ht as kt, I as At, It as jt, J as Mt, Jt as Nt, K as Pt, Kt as Ft, L as It, Lt, M as Rt, Mt as zt, N as Bt, Nt as Vt, O as Ht, Ot as Ut, P as Wt, Pt as Gt, Qt as Kt, R as qt, Rt as Jt, S as Yt, Sn as Xt, T as Zt, Tn as Qt, Tt as $t, U as en, Ut as tn, V as nn, Vt as rn, W as an, Wt as on, X as sn, Xt as cn, Y as ln, Yt as un, Z as dn, Zt as fn, _ as pn, _n as mn, _t as hn, an as gn, at as _n, b as vn, bn as yn, bt as bn, c as xn, cn as Sn, ct as Cn, d as wn, dn as Tn, dt as En, en as Dn, f as On, fn as kn, ft as An, g as jn, gt as Mn, h as Nn, hn as Pn, ht as Fn, in as In, it as Ln, j as Rn, jt as zn, k as Bn, kt as Vn, ln as Hn, lt as Un, m as Wn, mn as Gn, mt as Kn, nn as qn, nt as Jn, on as Yn, ot as Xn, p as Zn, pn as Qn, pt as $n, q as er, qt as tr, r as nr, rn as rr, rt as ir, sn as ar, st as or, t as sr, tn as cr, tt as lr, u as ur, un as dr, ut as fr, v as pr, vn as mr, vt as hr, w as gr, wn as _r, wt as vr, x as yr, xn as br, y as xr, yn as Sr, yt as Cr, z as wr, zt as Tr } from "./common-DYAjQ1bK.js";
10
10
  import { a as Er, n as Dr, s as Or, t as kr } from "./useLifecycle-JjxCC7Vu.js";
11
11
  import { t as Ar } from "./check-gUSZbRsl.js";
12
12
  import { A as jr, C as Mr, D as Nr, M as Pr, O as Fr, a as Ir, c as Lr, d as Rr, i as zr, k as Br, l as Vr, n as Hr, o as Ur, r as Wr, s as Gr, t as Kr, w as qr, x as Jr } from "./select-OxgozOC8.js";
13
13
  import { B as Yr, C as Xr, J as Zr, Mt as Qr, Q as $r, S as ei, Sn as ti, W as ni, X as ri, Y as ii, Z as ai, _ as oi, _t as si, a as ci, bn as li, c as ui, f as di, g as fi, h as pi, i as mi, kt as hi, m as gi, n as _i, nt as vi, p as yi, pt as bi, r as xi, s as Si, t as Ci, v as wi, w as Ti, xn as Ei, y as Di, z as Oi } from "./dropdown-menu-CdXE15an.js";
14
14
  import { c as ki, i as Ai, l as ji, o as Mi, s as Ni, t as Pi } from "./config-BsPruWMR.js";
15
15
  import { A as Fi, At as Ii, B as Li, Bt as Ri, Ct as zi, E as Bi, Et as Vi, Ft as Hi, H as Ui, Ht as Wi, J as Gi, K as Ki, Lt as qi, Mt as Ji, P as Yi, Pt as Xi, Q as Zi, St as Qi, V as $i, Vt as ea, X as ta, Y as na, Z as ra, _ as ia, c as aa, d as oa, dt as sa, g as ca, h as la, j as ua, jt as da, kt as fa, lt as pa, m as ma, ot as ha, p as ga, q as _a, s as va, st as ya, ut as ba, z as xa, zt as Sa } from "./error-entries-CxN-Nq3V.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-Dku5POvm.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-qecD7Dk8.js";
17
17
  import { t as Pa } from "./pencil-DcT8AE0h.js";
18
18
  import { a as Fa, c as Ia, d as La, f as Ra, i as za, l as Ba, r as Va } from "./glide-utils-BSw3SSHF.js";
19
- import { n as Ha, t as Ua } from "./globals-CpmSWKI_.js";
19
+ import { n as Ha, t as Ua } from "./globals-DV77npCG.js";
20
20
  import { a as Wa, i as Ga, n as Ka, r as qa, s as Ja, t as Ya } from "./assertNever-DIU3JJbt.js";
21
21
  import { t as Xa } from "./react-dom-DUmH0GXv.js";
22
22
  import { t as Za } from "./jsx-runtime-3BD1kT0s.js";
@@ -42,10 +42,10 @@ import { n as Gs, t as Ks } from "./esm-BDqqT86j.js";
42
42
  import { p as qs } from "./dist-B8pkfkzc.js";
43
43
  import { t as Js } from "./useAsyncData-BYIAoMqn.js";
44
44
  import { t as Ys } from "./semaphore-89jsoHtS.js";
45
- import { t as Xs } from "./ErrorBoundary-CQYAoD7X.js";
45
+ import { t as Xs } from "./ErrorBoundary-DCtynjHZ.js";
46
46
  import { D as Zs, O as Qs } from "./vega-loader.browser-B9Pz0EGP.js";
47
47
  import { a as $s, n as ec } from "./loader-BVEtQ4F3.js";
48
- import { a as tc, c as nc, i as rc, l as ic, o as ac, s as oc, t as sc } from "./code-visibility-DcZ_RwaH.js";
48
+ import { a as tc, c as nc, i as rc, l as ic, o as ac, s as oc, t as sc } from "./code-visibility-CMF5tcNj.js";
49
49
  import { t as cc } from "./useDeepCompareMemoize-Bz0c5GN6.js";
50
50
  import { t as lc } from "./esm-BgKjMvWw.js";
51
51
  //#region ../node_modules/.pnpm/iconify-icon@2.3.0/node_modules/iconify-icon/dist/iconify-icon.mjs
@@ -11934,7 +11934,7 @@ var yE = (e) => {
11934
11934
  output: t
11935
11935
  };
11936
11936
  } };
11937
- } }, TE = J.lazy(() => import("./chat-ui-BAnLgpTe.js").then((e) => ({ default: e.Chatbot }))), EE = K(G({
11937
+ } }, TE = J.lazy(() => import("./chat-ui-BWIkve2R.js").then((e) => ({ default: e.Chatbot }))), EE = K(G({
11938
11938
  id: U(),
11939
11939
  role: q([
11940
11940
  "system",
@@ -12403,7 +12403,7 @@ function wD(e, t) {
12403
12403
  }
12404
12404
  //#endregion
12405
12405
  //#region src/plugins/impl/DataEditorPlugin.tsx
12406
- var TD = J.lazy(() => import("./glide-data-editor-CiijPXA7.js").then((e) => e.t)), ED = oE("marimo-data-editor", { cssStyles: [kE, AE] }).withData(G({
12406
+ var TD = J.lazy(() => import("./glide-data-editor-CMZ-kv0S.js").then((e) => e.t)), ED = oE("marimo-data-editor", { cssStyles: [kE, AE] }).withData(G({
12407
12407
  initialValue: G({ edits: K(G({
12408
12408
  rowIdx: W(),
12409
12409
  columnId: U(),
@@ -32196,7 +32196,7 @@ function TH(e) {
32196
32196
  }
32197
32197
  //#endregion
32198
32198
  //#region src/components/editor/renderers/slides-layout/slides-layout.tsx
32199
- var EH = J.lazy(() => import("./reveal-component-D0cfwbbl.js")), DH = (e) => {
32199
+ var EH = J.lazy(() => import("./reveal-component-Doix35eL.js")), DH = (e) => {
32200
32200
  let t = (0, X.c)(33), { layout: n, setLayout: r, cells: i, mode: a } = e, o = Lo(Xo), s = a === "read" || o, c = Lo(Qi) > 1, [l, u] = (0, J.useState)(null), d;
32201
32201
  t[0] !== i || t[1] !== n ? (d = CR(i, n), t[0] = i, t[1] = n, t[2] = d) : d = t[2];
32202
32202
  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-CiijPXA7.js";
3
+ import { a as n } from "./glide-data-editor-CMZ-kv0S.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,4 +1,4 @@
1
- import { T as e } from "./html-to-image-8sywF4my.js";
1
+ import { T as e } from "./html-to-image-Bc2AvXHG.js";
2
2
  import { h as t } from "./tooltip-BfcDQd2j.js";
3
3
  import { et as n, tt as r } from "./error-entries-CxN-Nq3V.js";
4
4
  import { r as i } from "./assertNever-DIU3JJbt.js";
@@ -3,7 +3,7 @@ import { c as t, g as n, h as r, m as i, t as a } from "./button-0-RqY1DW.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-BfcDQd2j.js";
6
- import { $ as u, Q as d, an as f, et as p, gn as m, hn as h, i as g, l as _, n as v, r as y, t as b, u as x, yn as S } from "./common-BGeQilvh.js";
6
+ import { $ as u, Q as d, an as f, et as p, gn as m, hn as h, i as g, l as _, n as v, r as y, t as b, u as x, yn as S } from "./common-DYAjQ1bK.js";
7
7
  import { M as C } from "./select-OxgozOC8.js";
8
8
  import { Y as ee } from "./dropdown-menu-CdXE15an.js";
9
9
  import { Ft as w } from "./error-entries-CxN-Nq3V.js";
@@ -11,7 +11,7 @@ import { t as T } from "./jsx-runtime-3BD1kT0s.js";
11
11
  import { r as te } from "./use-restore-focus-CmflVLWJ.js";
12
12
  import { D as E, t as D, w as O, x as k } from "./utils-EBklsC5R.js";
13
13
  import { o as ne } from "./static-state-CuV6Pc3a.js";
14
- import { n as re, t as ie } from "./code-visibility-DcZ_RwaH.js";
14
+ import { n as re, t as ie } from "./code-visibility-CMF5tcNj.js";
15
15
  /* empty css */
16
16
  var A = 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",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/islands",
3
- "version": "0.25.3-dev268",
3
+ "version": "0.25.3-dev269",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -300,11 +300,9 @@ const CopyableCode = ({ children }: { children: ReactNode }) => {
300
300
  tooltip={false}
301
301
  className="p-1"
302
302
  value={() => {
303
- const codeElement = ref.current?.firstChild;
304
- if (codeElement) {
305
- return codeElement.textContent || "";
306
- }
307
- return "";
303
+ const codeElement =
304
+ ref.current?.querySelector("pre code") ?? ref.current?.firstChild;
305
+ return codeElement?.textContent ?? "";
308
306
  }}
309
307
  />
310
308
  </div>
@@ -0,0 +1,60 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+ import { fireEvent, render, waitFor } from "@testing-library/react";
3
+ import { expect, test, vi } from "vitest";
4
+ import { copyToClipboard } from "@/utils/copy";
5
+ import { renderHTML } from "../RenderHTML";
6
+
7
+ vi.mock("@/utils/copy", () => ({
8
+ copyToClipboard: vi.fn().mockResolvedValue(undefined),
9
+ }));
10
+
11
+ vi.mock("../sanitize", async (importOriginal) => ({
12
+ ...(await importOriginal<typeof import("../sanitize")>()),
13
+ useSanitizeHtml: () => true,
14
+ }));
15
+
16
+ test.each([
17
+ {
18
+ name: "syntax highlighting and whitespace",
19
+ html: '<div class="codehilite"><pre><span></span><code><span class="k">if</span> x &lt; 2:\n print(&quot;hello&quot;)\n\n</code></pre></div>',
20
+ expected: 'if x < 2:\n print("hello")\n\n',
21
+ },
22
+ {
23
+ name: "a block title",
24
+ html: '<div class="codehilite"><span class="filename">example.py</span><pre><span></span><code>print("hello")\n</code></pre></div>',
25
+ expected: 'print("hello")\n',
26
+ },
27
+ {
28
+ name: "line numbers in a separate column",
29
+ html: '<div class="codehilite"><table class="codehilitetable"><tbody><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>\n<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code>print("hello")\nprint("world")\n</code></pre></div></td></tr></tbody></table></div>',
30
+ expected: 'print("hello")\nprint("world")\n',
31
+ },
32
+ {
33
+ name: "hidden fences outside the code",
34
+ html: '<div class="codehilite"><span hidden>~~~python\n</span><pre><code>print("hello")\n</code></pre><span hidden>~~~</span></div>',
35
+ expected: 'print("hello")\n',
36
+ },
37
+ {
38
+ name: "literal fences inside the code",
39
+ html: '<div class="codehilite"><pre><code>~~~python\nprint("``` and ~~~")\n~~~\n</code></pre></div>',
40
+ expected: '~~~python\nprint("``` and ~~~")\n~~~\n',
41
+ },
42
+ {
43
+ name: "an empty code element",
44
+ html: '<div class="codehilite"><span class="filename">empty.py</span><pre><code></code></pre></div>',
45
+ expected: "",
46
+ },
47
+ {
48
+ name: "highlighted HTML without a code element",
49
+ html: '<div class="codehilite"><pre><span class="nb">print</span>("hello")\n</pre></div>',
50
+ expected: 'print("hello")\n',
51
+ },
52
+ ])("copies code from $name", async ({ html, expected }) => {
53
+ const { getByRole } = render(renderHTML({ html }));
54
+
55
+ fireEvent.click(getByRole("button", { name: "Copy to clipboard" }));
56
+
57
+ await waitFor(() => {
58
+ expect(copyToClipboard).toHaveBeenCalledExactlyOnceWith(expected);
59
+ });
60
+ });