@marimo-team/islands 0.25.3-dev312 → 0.25.3-dev316

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 (53) hide show
  1. package/dist/{ErrorBoundary-CCrWQ8Zi.js → ErrorBoundary-C3G05Nb1.js} +1 -1
  2. package/dist/{chat-ui-DkuxGEDp.js → chat-ui-DASKYW38.js} +13 -13
  3. package/dist/{code-visibility-DLBADpvq.js → code-visibility-B3_gXvem.js} +31 -32
  4. package/dist/{common-Cc-bvilP.js → common-Vd6TgXHQ.js} +5074 -5074
  5. package/dist/{config-BVYA1P0C.js → config-CL7mwGLX.js} +87 -129
  6. package/dist/{data-grid-overlay-editor-CAEih52I.js → data-grid-overlay-editor-DLEPVcX1.js} +1 -1
  7. package/dist/{error-entries-istW7Xbs.js → error-entries-kb4H6PAT.js} +533 -508
  8. package/dist/feedback-button-gqE30Uez.js +370 -0
  9. package/dist/{formats-CMa7L3E8.js → formats-qhBmYb0l.js} +1 -1
  10. package/dist/{glide-data-editor-hsf5AOwE.js → glide-data-editor-BmtEcZoo.js} +3 -3
  11. package/dist/{globals-Blgj9EWO.js → globals-BIt_qRYC.js} +1 -1
  12. package/dist/{html-to-image-pPbR2cDx.js → html-to-image-DR8VPB7E.js} +4018 -4021
  13. package/dist/main.js +606 -607
  14. package/dist/{number-overlay-editor-BgNsDtQP.js → number-overlay-editor-Bbxt9i1c.js} +1 -1
  15. package/dist/{process-output-BySO1nIs.js → process-output-BDMtqL6K.js} +2 -2
  16. package/dist/{reveal-component-MUD9gGln.js → reveal-component-DXFsIk5S.js} +4 -4
  17. package/dist/static-state-Dtocd9UO.js +68 -0
  18. package/dist/{vega-component-Bly2lDhz.js → vega-component-CeN8zClP.js} +9 -9
  19. package/package.json +1 -1
  20. package/src/__tests__/mount.test.ts +17 -58
  21. package/src/components/editor/actions/useRestartKernel.tsx +0 -5
  22. package/src/components/editor/cell/__tests__/useRunCells.test.tsx +0 -3
  23. package/src/components/editor/cell/useRunCells.ts +2 -2
  24. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +2 -16
  25. package/src/components/editor/renderers/cell-array.tsx +0 -3
  26. package/src/core/edit-app.tsx +2 -7
  27. package/src/core/executions/__tests__/run.test.ts +0 -3
  28. package/src/core/executions/index.ts +1 -1
  29. package/src/core/executions/run.ts +1 -14
  30. package/src/core/islands/bootstrap.ts +0 -1
  31. package/src/core/network/__tests__/requests-network.test.ts +0 -16
  32. package/src/core/network/connection.ts +0 -5
  33. package/src/core/network/requests-toasting.tsx +1 -49
  34. package/src/core/network/resolve.ts +1 -5
  35. package/src/core/notebook/replica/__tests__/replica.test.ts +3 -3
  36. package/src/core/notebook/replica/connection.ts +1 -5
  37. package/src/core/runtime/__tests__/createWsUrl.test.ts +4 -16
  38. package/src/core/runtime/__tests__/runtime.test.ts +58 -168
  39. package/src/core/runtime/adapter.ts +1 -8
  40. package/src/core/runtime/config.ts +4 -59
  41. package/src/core/runtime/runtime.ts +1 -31
  42. package/src/core/runtime/types.ts +0 -5
  43. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +5 -5
  44. package/src/core/session/__tests__/useNotebookSession.hook.test.tsx +125 -29
  45. package/src/core/session/connection-utils.ts +2 -14
  46. package/src/core/session/useNotebookSession.tsx +19 -12
  47. package/src/mount.tsx +3 -9
  48. package/src/utils/errors.ts +0 -7
  49. package/dist/feedback-button-BJvIOw-c.js +0 -371
  50. package/dist/toDate-5qPtZ6HL.js +0 -94
  51. package/src/components/editor/alerts/connecting-alert.tsx +0 -27
  52. package/src/core/network/__tests__/requests-lazy.test.ts +0 -322
  53. package/src/core/network/requests-lazy.ts +0 -222
@@ -0,0 +1,370 @@
1
+ import { a as e } from "./rolldown-runtime-BPCzCO3I.js";
2
+ import { h as t, t as n } from "./button-BuSV-mLI.js";
3
+ import { t as r } from "./react-CHbZqgBF.js";
4
+ import { t as i } from "./compiler-runtime-DNezxW8I.js";
5
+ import { t as a } from "./copy-icon-oHFcxX_y.js";
6
+ import { D as o, E as s, F as c, G as l, Jt as u, N as d, Xt as f, i as p, n as m } from "./error-entries-kb4H6PAT.js";
7
+ import { n as h, t as ee } from "./globals-BIt_qRYC.js";
8
+ import { r as g } from "./assertNever-efcK_v3t.js";
9
+ import { t as _ } from "./jsx-runtime-6ZiU38At.js";
10
+ import { Ft as v, p as y, yt as te } from "./use-restore-focus-DyrKLdSB.js";
11
+ import { a as ne, i as re, n as ie, r as ae } from "./dialog-BIUdMLIS.js";
12
+ import { t as oe } from "./useAsyncData-DMBliR6D.js";
13
+ import { t as se } from "./code-visibility-B3_gXvem.js";
14
+ //#region src/components/ui/skeleton.tsx
15
+ var b = /* @__PURE__ */ e(r(), 1), x = i(), S = _(), ce = (e) => {
16
+ let n = (0, x.c)(8), r, i;
17
+ n[0] === e ? (r = n[1], i = n[2]) : ({className: r, ...i} = e, n[0] = e, n[1] = r, n[2] = i);
18
+ let a;
19
+ n[3] === r ? a = n[4] : (a = t("animate-pulse rounded-md bg-muted", r), n[3] = r, n[4] = a);
20
+ let o;
21
+ return n[5] !== i || n[6] !== a ? (o = /* @__PURE__ */ (0, S.jsx)("div", {
22
+ className: a,
23
+ ...i
24
+ }), n[5] = i, n[6] = a, n[7] = o) : o = n[7], o;
25
+ };
26
+ //#endregion
27
+ //#region src/core/diagnostics/issue-details.ts
28
+ function le(e, t) {
29
+ return {
30
+ ...e,
31
+ Binaries: {
32
+ ...e.Binaries,
33
+ Browser: t
34
+ }
35
+ };
36
+ }
37
+ function ue(e, t, n, r) {
38
+ return {
39
+ marimo: e,
40
+ Locale: n || void 0,
41
+ Binaries: { Browser: t },
42
+ "Environment Collection Error": r
43
+ };
44
+ }
45
+ function C(e, t) {
46
+ let n = Math.max(2, ...Array.from(t.matchAll(/`+/g), (e) => e[0].length)), r = "`".repeat(n + 1);
47
+ return `${r}${e}\n${t}\n${r}`;
48
+ }
49
+ function de(e, t) {
50
+ let n = e.includes("?") ? "&" : "?", r = [], i = e, a = 0;
51
+ for (let [e, o] of Object.entries(t)) {
52
+ if (o.length === 0) continue;
53
+ let t = `${e}=${encodeURIComponent(o)}`, s = `${i}${a === 0 ? n : "&"}${t}`;
54
+ s.length > 6e3 ? r.push(e) : (i = s, a += 1);
55
+ }
56
+ return {
57
+ url: i,
58
+ omitted: r
59
+ };
60
+ }
61
+ function w(e, t) {
62
+ return [
63
+ "<details>",
64
+ `<summary>${g.htmlEscape(e) ?? ""}</summary>`,
65
+ "",
66
+ t,
67
+ "",
68
+ "</details>"
69
+ ].join("\n");
70
+ }
71
+ function fe(e) {
72
+ return w("Environment", C("json", JSON.stringify(e, null, 2)));
73
+ }
74
+ function pe(e) {
75
+ return w("Errors", C("text", e.map(m).join("\n\n---\n\n")));
76
+ }
77
+ function me(e) {
78
+ return w("Code", C("python", e));
79
+ }
80
+ //#endregion
81
+ //#region src/hooks/useLocalStorage.ts
82
+ function he(e, t) {
83
+ let n = (0, x.c)(11), r;
84
+ n[0] === t ? r = n[1] : (r = new d(t), n[0] = t, n[1] = r);
85
+ let i = r, a;
86
+ n[2] !== e || n[3] !== i ? (a = () => i.get(e), n[2] = e, n[3] = i, n[4] = a) : a = n[4];
87
+ let [o, s] = (0, b.useState)(a), c;
88
+ n[5] !== e || n[6] !== i ? (c = (t) => {
89
+ s(t), i.set(e, t);
90
+ }, n[5] = e, n[6] = i, n[7] = c) : c = n[7];
91
+ let l = c, u;
92
+ return n[8] !== l || n[9] !== o ? (u = [o, l], n[8] = l, n[9] = o, n[10] = u) : u = n[10], u;
93
+ }
94
+ var ge = (e) => {
95
+ let r = (0, x.c)(16), { content: i } = e, [a, o] = (0, b.useState)(!1), s = !a && "max-h-24 overflow-hidden", c;
96
+ r[0] === s ? c = r[1] : (c = t("text-xs bg-muted rounded p-2 overflow-x-auto whitespace-pre-wrap", s), r[0] = s, r[1] = c);
97
+ let l;
98
+ r[2] !== i || r[3] !== c ? (l = /* @__PURE__ */ (0, S.jsx)("pre", {
99
+ className: c,
100
+ children: i
101
+ }), r[2] = i, r[3] = c, r[4] = l) : l = r[4];
102
+ let u;
103
+ r[5] === a ? u = r[6] : (u = !a && /* @__PURE__ */ (0, S.jsx)("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-10 rounded-b bg-gradient-to-b from-transparent to-muted" }), r[5] = a, r[6] = u);
104
+ let d;
105
+ r[7] !== l || r[8] !== u ? (d = /* @__PURE__ */ (0, S.jsxs)("div", {
106
+ className: "relative",
107
+ children: [l, u]
108
+ }), r[7] = l, r[8] = u, r[9] = d) : d = r[9];
109
+ let f;
110
+ r[10] === Symbol.for("react.memo_cache_sentinel") ? (f = () => o(E), r[10] = f) : f = r[10];
111
+ let p = a ? "Show less" : "Show more", m;
112
+ r[11] === p ? m = r[12] : (m = /* @__PURE__ */ (0, S.jsx)(n, {
113
+ type: "button",
114
+ variant: "link",
115
+ size: "xs",
116
+ className: "self-start",
117
+ onClick: f,
118
+ children: p
119
+ }), r[11] = p, r[12] = m);
120
+ let h;
121
+ return r[13] !== d || r[14] !== m ? (h = /* @__PURE__ */ (0, S.jsxs)("div", {
122
+ className: "flex flex-col gap-1",
123
+ children: [d, m]
124
+ }), r[13] = d, r[14] = m, r[15] = h) : h = r[15], h;
125
+ };
126
+ function _e(e) {
127
+ if (!e.hasRequestClient) return "Notebook source is unavailable.";
128
+ if (e.filename === null) return "Save the notebook first.";
129
+ if (!e.codeAvailable) return "Notebook source is hidden in this view.";
130
+ if (e.connectionState !== u.OPEN) return "Connect the notebook to include its source.";
131
+ }
132
+ var T = () => {
133
+ let e = (0, x.c)(56), t = v(l), r, i;
134
+ e[0] === t ? (r = e[1], i = e[2]) : (r = async () => {
135
+ if (t != null) return t.getEnvironmentInfo();
136
+ }, i = [t], e[0] = t, e[1] = r, e[2] = i);
137
+ let u = oe(r, i), d = p(te), g = se(), _ = v(c), b = v(o), C = t != null, w;
138
+ e[3] !== g || e[4] !== b.state || e[5] !== _ || e[6] !== C ? (w = _e({
139
+ hasRequestClient: C,
140
+ filename: _,
141
+ codeAvailable: g,
142
+ connectionState: b.state
143
+ }), e[3] = g, e[4] = b.state, e[5] = _, e[6] = C, e[7] = w) : w = e[7];
144
+ let T = w, E = T === void 0, [D, O] = he("marimo:issue-report:include-errors", !1), [k, A] = he("marimo:issue-report:include-code", !1), j = u.data ? le(u.data, navigator.userAgent) : u.status === "error" || t == null ? ue(ee(), navigator.userAgent, navigator.language, "Server environment information unavailable") : void 0, M, N;
145
+ e[8] !== k || e[9] !== E || e[10] !== t ? (M = async () => {
146
+ if (!k || !E || t == null) return;
147
+ let { contents: e } = await t.readCode();
148
+ return e;
149
+ }, N = [
150
+ k,
151
+ E,
152
+ t
153
+ ], e[8] = k, e[9] = E, e[10] = t, e[11] = M, e[12] = N) : (M = e[11], N = e[12]);
154
+ let P = oe(M, N), ye = y.bugReportUrl, be = [];
155
+ if (j) {
156
+ let e = { env: fe(j) };
157
+ D && d.length > 0 && (e["bug-description"] = pe(d)), k && P.data && (e["reproduction-code"] = me(P.data)), {url: ye, omitted: be} = de(y.bugReportUrl, e);
158
+ }
159
+ let xe = be.map(ve).join(", "), F;
160
+ e[13] === Symbol.for("react.memo_cache_sentinel") ? (F = /* @__PURE__ */ (0, S.jsxs)(re, { children: [/* @__PURE__ */ (0, S.jsx)(ne, { children: "Report an issue" }), /* @__PURE__ */ (0, S.jsx)(ae, { children: "Open a GitHub bug report prefilled with your environment, and optionally your current errors and notebook code. Nothing is uploaded automatically; review the details before posting." })] }), e[13] = F) : F = e[13];
161
+ let I;
162
+ e[14] === Symbol.for("react.memo_cache_sentinel") ? (I = /* @__PURE__ */ (0, S.jsx)(f, { className: "w-4 h-4 mr-2" }), e[14] = I) : I = e[14];
163
+ let Se = d.length === 0, L;
164
+ e[15] === O ? L = e[16] : (L = (e) => O(e === !0), e[15] = O, e[16] = L);
165
+ let R;
166
+ e[17] !== D || e[18] !== Se || e[19] !== L ? (R = /* @__PURE__ */ (0, S.jsx)(s, {
167
+ id: "issue-include-errors",
168
+ checked: D,
169
+ disabled: Se,
170
+ onCheckedChange: L,
171
+ "aria-label": "Include errors"
172
+ }), e[17] = D, e[18] = Se, e[19] = L, e[20] = R) : R = e[20];
173
+ let z;
174
+ e[21] === Symbol.for("react.memo_cache_sentinel") ? (z = /* @__PURE__ */ (0, S.jsx)("label", {
175
+ htmlFor: "issue-include-errors",
176
+ children: "Include errors"
177
+ }), e[21] = z) : z = e[21];
178
+ let B;
179
+ e[22] === R ? B = e[23] : (B = /* @__PURE__ */ (0, S.jsxs)("div", {
180
+ className: "flex items-center gap-2 text-sm",
181
+ children: [R, z]
182
+ }), e[22] = R, e[23] = B);
183
+ let Ce = !E, V;
184
+ e[24] === A ? V = e[25] : (V = (e) => A(e === !0), e[24] = A, e[25] = V);
185
+ let H;
186
+ e[26] !== k || e[27] !== Ce || e[28] !== V ? (H = /* @__PURE__ */ (0, S.jsx)(s, {
187
+ id: "issue-include-code",
188
+ checked: k,
189
+ disabled: Ce,
190
+ onCheckedChange: V,
191
+ "aria-label": "Include notebook code"
192
+ }), e[26] = k, e[27] = Ce, e[28] = V, e[29] = H) : H = e[29];
193
+ let U;
194
+ e[30] === Symbol.for("react.memo_cache_sentinel") ? (U = /* @__PURE__ */ (0, S.jsx)("label", {
195
+ htmlFor: "issue-include-code",
196
+ children: "Include notebook code"
197
+ }), e[30] = U) : U = e[30];
198
+ let W;
199
+ e[31] === H ? W = e[32] : (W = /* @__PURE__ */ (0, S.jsxs)("div", {
200
+ className: "flex items-center gap-2 text-sm",
201
+ children: [H, U]
202
+ }), e[31] = H, e[32] = W);
203
+ let G;
204
+ e[33] === T ? G = e[34] : (G = T && /* @__PURE__ */ (0, S.jsx)("span", {
205
+ className: "text-xs text-muted-foreground ml-6",
206
+ children: T
207
+ }), e[33] = T, e[34] = G);
208
+ let K;
209
+ e[35] !== P || e[36] !== k ? (K = k && P.status === "error" && /* @__PURE__ */ (0, S.jsx)("span", {
210
+ className: "text-xs text-(--red-11) ml-6",
211
+ children: "Notebook source could not be loaded."
212
+ }), e[35] = P, e[36] = k, e[37] = K) : K = e[37];
213
+ let q;
214
+ e[38] !== W || e[39] !== G || e[40] !== K ? (q = /* @__PURE__ */ (0, S.jsxs)("div", {
215
+ className: "flex flex-col gap-1",
216
+ children: [
217
+ W,
218
+ G,
219
+ K
220
+ ]
221
+ }), e[38] = W, e[39] = G, e[40] = K, e[41] = q) : q = e[41];
222
+ let J;
223
+ e[42] !== B || e[43] !== q ? (J = /* @__PURE__ */ (0, S.jsxs)("div", {
224
+ className: "flex flex-col gap-2",
225
+ children: [B, q]
226
+ }), e[42] = B, e[43] = q, e[44] = J) : J = e[44];
227
+ let Y;
228
+ e[45] !== u.status || e[46] !== t ? (Y = u.status === "pending" && t != null && /* @__PURE__ */ (0, S.jsxs)("div", {
229
+ className: "flex flex-col gap-2",
230
+ children: [
231
+ /* @__PURE__ */ (0, S.jsx)("span", {
232
+ className: "text-sm text-muted-foreground",
233
+ children: "Loading environment details…"
234
+ }),
235
+ /* @__PURE__ */ (0, S.jsx)(ce, { className: "h-4 w-full" }),
236
+ /* @__PURE__ */ (0, S.jsx)(ce, { className: "h-4 w-3/4" }),
237
+ /* @__PURE__ */ (0, S.jsx)(ce, { className: "h-4 w-1/2" })
238
+ ]
239
+ }), e[45] = u.status, e[46] = t, e[47] = Y) : Y = e[47];
240
+ let X;
241
+ e[48] !== u || e[49] !== t ? (X = (u.status === "error" || t == null) && /* @__PURE__ */ (0, S.jsxs)("div", {
242
+ className: "flex items-center gap-2 text-sm",
243
+ children: [
244
+ /* @__PURE__ */ (0, S.jsx)(h, { className: "w-4 h-4 text-(--yellow-11) shrink-0" }),
245
+ /* @__PURE__ */ (0, S.jsx)("span", { children: "Server environment information unavailable" }),
246
+ t != null && /* @__PURE__ */ (0, S.jsx)(n, {
247
+ type: "button",
248
+ variant: "link",
249
+ size: "xs",
250
+ onClick: () => u.refetch(),
251
+ children: "Retry"
252
+ })
253
+ ]
254
+ }), e[48] = u, e[49] = t, e[50] = X) : X = e[50];
255
+ let Z;
256
+ e[51] !== j || e[52] !== d ? (Z = j && d.length === 0 && /* @__PURE__ */ (0, S.jsx)("span", {
257
+ className: "text-sm text-muted-foreground",
258
+ children: "No errors detected."
259
+ }), e[51] = j, e[52] = d, e[53] = Z) : Z = e[53];
260
+ let Q;
261
+ e[54] === Symbol.for("react.memo_cache_sentinel") ? (Q = /* @__PURE__ */ (0, S.jsx)("a", {
262
+ href: y.feedbackForm,
263
+ target: "_blank",
264
+ rel: "noreferrer",
265
+ className: "underline",
266
+ children: "two-minute survey"
267
+ }), e[54] = Q) : Q = e[54];
268
+ let $;
269
+ return e[55] === Symbol.for("react.memo_cache_sentinel") ? ($ = /* @__PURE__ */ (0, S.jsx)("div", {
270
+ className: "border-t pt-3",
271
+ children: /* @__PURE__ */ (0, S.jsxs)("p", {
272
+ className: "text-sm text-muted-foreground",
273
+ children: [
274
+ "Other feedback? Take our",
275
+ " ",
276
+ Q,
277
+ " ",
278
+ "or chat with us on",
279
+ " ",
280
+ /* @__PURE__ */ (0, S.jsx)("a", {
281
+ href: y.discordLink,
282
+ target: "_blank",
283
+ rel: "noreferrer",
284
+ className: "underline",
285
+ children: "Discord"
286
+ }),
287
+ "."
288
+ ]
289
+ })
290
+ }), e[55] = $) : $ = e[55], /* @__PURE__ */ (0, S.jsxs)(ie, {
291
+ className: "w-[540px] max-w-[90vw]",
292
+ children: [F, /* @__PURE__ */ (0, S.jsxs)("div", {
293
+ className: "flex flex-col gap-4 max-h-[60vh] overflow-y-auto",
294
+ children: [
295
+ /* @__PURE__ */ (0, S.jsxs)("div", {
296
+ className: "flex flex-col gap-3",
297
+ children: [
298
+ /* @__PURE__ */ (0, S.jsx)(n, {
299
+ type: "button",
300
+ variant: "default",
301
+ size: "xs",
302
+ asChild: !0,
303
+ className: "self-start",
304
+ children: /* @__PURE__ */ (0, S.jsxs)("a", {
305
+ href: ye,
306
+ target: "_blank",
307
+ rel: "noreferrer",
308
+ children: [I, "Open GitHub issue"]
309
+ })
310
+ }),
311
+ J,
312
+ xe ? /* @__PURE__ */ (0, S.jsxs)("div", {
313
+ className: "flex items-start gap-2 text-xs text-(--yellow-11)",
314
+ children: [/* @__PURE__ */ (0, S.jsx)(h, { className: "w-3.5 h-3.5 shrink-0 mt-0.5" }), /* @__PURE__ */ (0, S.jsxs)("span", { children: [
315
+ "Too large to prefill and left out of the link: ",
316
+ xe,
317
+ ". Paste them into the issue manually."
318
+ ] })]
319
+ }) : /* @__PURE__ */ (0, S.jsx)("p", {
320
+ className: "text-xs text-muted-foreground",
321
+ children: "Your environment is always included."
322
+ })
323
+ ]
324
+ }),
325
+ Y,
326
+ X,
327
+ j && /* @__PURE__ */ (0, S.jsxs)("div", {
328
+ className: "flex flex-col gap-1",
329
+ children: [/* @__PURE__ */ (0, S.jsxs)("div", {
330
+ className: "flex items-center justify-between",
331
+ children: [/* @__PURE__ */ (0, S.jsx)("span", {
332
+ className: "text-sm font-medium",
333
+ children: "Environment details"
334
+ }), /* @__PURE__ */ (0, S.jsx)(a, {
335
+ className: "w-3.5 h-3.5",
336
+ value: JSON.stringify(j, null, 2),
337
+ ariaLabel: "Copy environment JSON",
338
+ toastTitle: "Environment details copied"
339
+ })]
340
+ }), /* @__PURE__ */ (0, S.jsx)(ge, { content: JSON.stringify(j, null, 2) })]
341
+ }),
342
+ j && d.length > 0 && /* @__PURE__ */ (0, S.jsxs)("div", {
343
+ className: "flex flex-col gap-1",
344
+ children: [/* @__PURE__ */ (0, S.jsxs)("div", {
345
+ className: "flex items-center justify-between",
346
+ children: [/* @__PURE__ */ (0, S.jsx)("span", {
347
+ className: "text-sm font-medium",
348
+ children: "Errors"
349
+ }), /* @__PURE__ */ (0, S.jsx)(a, {
350
+ className: "w-3.5 h-3.5",
351
+ value: pe(d),
352
+ ariaLabel: "Copy errors",
353
+ toastTitle: "Errors copied"
354
+ })]
355
+ }), /* @__PURE__ */ (0, S.jsx)(ge, { content: d.map(m).join("\n\n---\n\n") })]
356
+ }),
357
+ Z,
358
+ $
359
+ ]
360
+ })]
361
+ });
362
+ };
363
+ function E(e) {
364
+ return !e;
365
+ }
366
+ function ve(e) {
367
+ return e === "bug-description" ? "errors" : e === "reproduction-code" ? "code" : e;
368
+ }
369
+ //#endregion
370
+ export { T as FeedbackModal };
@@ -3,7 +3,7 @@ import { h as t, r as n } from "./button-BuSV-mLI.js";
3
3
  import { t as r } from "./react-CHbZqgBF.js";
4
4
  import { t as i } from "./compiler-runtime-DNezxW8I.js";
5
5
  import { t as a } from "./jsx-runtime-6ZiU38At.js";
6
- import { t as o } from "./toDate-5qPtZ6HL.js";
6
+ import { u as o } from "./static-state-Dtocd9UO.js";
7
7
  import { i as s } from "./loader-BIlwkY0d.js";
8
8
  //#region ../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js
9
9
  function c(e) {
@@ -14,7 +14,7 @@ import { t as P } from "./jsx-runtime-6ZiU38At.js";
14
14
  import { u as oe } from "./use-restore-focus-DyrKLdSB.js";
15
15
  import { t as F } from "./useEvent-xDnF2X04.js";
16
16
  import { n as I, t as se } from "./objectWithoutPropertiesLoose-BRDcTsfB.js";
17
- import { t as ce } from "./ErrorBoundary-CCrWQ8Zi.js";
17
+ import { t as ce } from "./ErrorBoundary-C3G05Nb1.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-CSElxhxo.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) {
@@ -7061,7 +7061,7 @@ function us(e, t, n, r, i) {
7061
7061
  }
7062
7062
  //#endregion
7063
7063
  //#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
7064
- var ds = /* @__PURE__ */ e(wr(), 1), fs = /* @__PURE__ */ e(Or(), 1), ps = G.lazy(async () => await import("./data-grid-overlay-editor-CAEih52I.js")), ms = 0;
7064
+ var ds = /* @__PURE__ */ e(wr(), 1), fs = /* @__PURE__ */ e(Or(), 1), ps = G.lazy(async () => await import("./data-grid-overlay-editor-DLEPVcX1.js")), ms = 0;
7065
7065
  function hs(e) {
7066
7066
  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))));
7067
7067
  }
@@ -9284,7 +9284,7 @@ function Js(e, t, n, r, i) {
9284
9284
  }
9285
9285
  //#endregion
9286
9286
  //#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
9287
- var Ys = G.lazy(async () => await import("./number-overlay-editor-BgNsDtQP.js")), Xs = {
9287
+ var Ys = G.lazy(async () => await import("./number-overlay-editor-Bbxt9i1c.js")), Xs = {
9288
9288
  getAccessibilityString: (e) => e.data?.toString() ?? "",
9289
9289
  kind: W.Number,
9290
9290
  needsHover: (e) => e.hoverEffect === !0,
@@ -1,6 +1,6 @@
1
1
  import { h as e } from "./tooltip-BekOCQ3v.js";
2
2
  import { yt as t } from "./use-restore-focus-DyrKLdSB.js";
3
- import { r as n } from "./code-visibility-DLBADpvq.js";
3
+ import { r as n } from "./code-visibility-B3_gXvem.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",