@marimo-team/islands 0.23.1-dev2 → 0.23.1-dev3

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 (33) hide show
  1. package/dist/{ConnectedDataExplorerComponent-D08JKcQg.js → ConnectedDataExplorerComponent-tho8l5GC.js} +11 -11
  2. package/dist/{any-language-editor-BIGc8RUt.js → any-language-editor-Caoda-MR.js} +4 -4
  3. package/dist/{button-DNlNlZY_.js → button-Cn59RsBF.js} +9 -5
  4. package/dist/{capabilities-Coe9eM9T.js → capabilities-Bml77Di-.js} +1 -1
  5. package/dist/{chat-ui-B9oZ19ii.js → chat-ui-D0rOcl77.js} +13 -13
  6. package/dist/{check-Cex3x9fD.js → check-C51PA02v.js} +1 -1
  7. package/dist/{copy-BRF7ryOP.js → copy-DzOz_Au7.js} +2 -2
  8. package/dist/{dist-D56NKWim.js → dist-CjLQ79mo.js} +2 -2
  9. package/dist/{error-banner-DexD-5js.js → error-banner-BQcJXy6k.js} +2 -2
  10. package/dist/{esm-BGo_Mcdt.js → esm-hRljRgfG.js} +4 -4
  11. package/dist/{glide-data-editor-BmyQCm0U.js → glide-data-editor-D2X4D_xi.js} +7 -7
  12. package/dist/{input-SSWXiS6n.js → input-BRN2Mjzx.js} +6 -6
  13. package/dist/{label-CIR53v8V.js → label-J1N4mVcg.js} +4 -4
  14. package/dist/{loader-Bd1kgLn7.js → loader-JmfPBSx5.js} +1 -1
  15. package/dist/main.js +28 -28
  16. package/dist/{mermaid-BZ2YHhbi.js → mermaid-UMKVHs_g.js} +5 -5
  17. package/dist/{process-output-D_uZ0o1x.js → process-output-C1_DucTc.js} +15 -15
  18. package/dist/{slides-component-CX2JC-Ws.js → slides-component-CutG23yD.js} +2 -2
  19. package/dist/{spec-ByDEU1T3.js → spec-rP6otrXw.js} +3 -3
  20. package/dist/{toDate-D0QaHNwR.js → toDate-CfGr2xZ1.js} +3 -3
  21. package/dist/{tooltip-B5EnNyok.js → tooltip-CygUI9oH.js} +3 -3
  22. package/dist/{types-D4-TD_m0.js → types-D4CFUmPq.js} +2 -2
  23. package/dist/{useAsyncData-BG3ULuDU.js → useAsyncData-BzS3Ai32.js} +1 -1
  24. package/dist/{useDeepCompareMemoize-CkSq3l3_.js → useDeepCompareMemoize-AjORjhpL.js} +4 -4
  25. package/dist/{useIframeCapabilities-CqhrVue6.js → useIframeCapabilities---aRgGdv.js} +1 -1
  26. package/dist/{useLifecycle-2Vh-WDv6.js → useLifecycle-B90lJH4p.js} +3 -3
  27. package/dist/{useTheme-CxjbgkRc.js → useTheme-ytmywQ5O.js} +2 -2
  28. package/dist/{vega-component-z4WGXPkf.js → vega-component-1icm1Ykb.js} +9 -9
  29. package/dist/{zod-D18k8Z52.js → zod-D4UoCYGu.js} +1 -1
  30. package/package.json +1 -1
  31. package/src/components/ui/button.tsx +1 -2
  32. package/src/utils/__tests__/events.test.ts +223 -0
  33. package/src/utils/events.ts +28 -14
@@ -1,21 +1,21 @@
1
1
  import { a as __toCommonJS, n as __esmMin, r as __export, s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
5
- import { A as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, F as ListFilter, P as SquareFunction, t as augmentSpecWithData } from "./spec-ByDEU1T3.js";
6
- import { a as Type, c as Calendar, i as createReducerAndAtoms, o as ToggleLeft, r as Badge, s as Hash, t as useOnMount } from "./useLifecycle-2Vh-WDv6.js";
7
- import { a as SelectContent, c as SelectLabel, d as SelectValue, i as Select, l as SelectSeparator, n as Strings, o as SelectGroup, s as SelectItem, t as Label, u as SelectTrigger, w as $a916eb452884faea$export$b7a616150fdb9f44 } from "./label-CIR53v8V.js";
8
- import { c as Objects, g as Logger, t as Button, y as cn } from "./button-DNlNlZY_.js";
4
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
5
+ import { A as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, F as ListFilter, P as SquareFunction, t as augmentSpecWithData } from "./spec-rP6otrXw.js";
6
+ import { a as Type, c as Calendar, i as createReducerAndAtoms, o as ToggleLeft, r as Badge, s as Hash, t as useOnMount } from "./useLifecycle-B90lJH4p.js";
7
+ import { a as SelectContent, c as SelectLabel, d as SelectValue, i as Select, l as SelectSeparator, n as Strings, o as SelectGroup, s as SelectItem, t as Label, u as SelectTrigger, w as $a916eb452884faea$export$b7a616150fdb9f44 } from "./label-J1N4mVcg.js";
8
+ import { c as Objects, g as Logger, t as Button, y as cn } from "./button-Cn59RsBF.js";
9
9
  import "./react-dom-BSUuJjCR.js";
10
10
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
11
- import "./zod-D18k8Z52.js";
12
- import { n as ErrorBanner } from "./error-banner-DexD-5js.js";
13
- import { t as Tooltip } from "./tooltip-B5EnNyok.js";
14
- import { b as createStore, g as useAtomValue, m as Provider, n as useTheme, y as atom } from "./useTheme-CxjbgkRc.js";
11
+ import "./zod-D4UoCYGu.js";
12
+ import { n as ErrorBanner } from "./error-banner-BQcJXy6k.js";
13
+ import { t as Tooltip } from "./tooltip-CygUI9oH.js";
14
+ import { b as createStore, g as useAtomValue, m as Provider, n as useTheme, y as atom } from "./useTheme-ytmywQ5O.js";
15
15
  import { t as invariant } from "./invariant-e8eBgdux.js";
16
16
  import "./vega-loader.browser-DqEcFOPD.js";
17
- import { a as getContainerWidth, n as vegaLoadData, s as tooltipHandler } from "./loader-Bd1kgLn7.js";
18
- import { t as useAsyncData } from "./useAsyncData-BG3ULuDU.js";
17
+ import { a as getContainerWidth, n as vegaLoadData, s as tooltipHandler } from "./loader-JmfPBSx5.js";
18
+ import { t as useAsyncData } from "./useAsyncData-BzS3Ai32.js";
19
19
  import { n as q, r as contains } from "./react-vega-CzRAIHrv.js";
20
20
  import "./defaultLocale-qS7DaAmi.js";
21
21
  import "./defaultLocale-Bxoo2-30.js";
@@ -1,12 +1,12 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import "./compiler-runtime-B_OLMU9S.js";
4
- import { g as Logger } from "./button-DNlNlZY_.js";
4
+ import { g as Logger } from "./button-Cn59RsBF.js";
5
5
  import "./react-dom-BSUuJjCR.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
- import "./zod-D18k8Z52.js";
8
- import { n as ErrorBanner } from "./error-banner-DexD-5js.js";
9
- import { t as esm_default, u as CopyClipboardIcon } from "./esm-BGo_Mcdt.js";
7
+ import "./zod-D4UoCYGu.js";
8
+ import { n as ErrorBanner } from "./error-banner-BQcJXy6k.js";
9
+ import { t as esm_default, u as CopyClipboardIcon } from "./esm-hRljRgfG.js";
10
10
  import "./dist-CxZvoNao.js";
11
11
  import "./dist-DbnBiLNH.js";
12
12
  import "./dist-B43sbpd0.js";
@@ -1289,12 +1289,16 @@ const Logger = getLogger(), Events = {
1289
1289
  e2.preventDefault();
1290
1290
  },
1291
1291
  fromInput: (e2) => {
1292
- let _ = e2.target;
1293
- return _.tagName === "INPUT" || _.tagName === "TEXTAREA" || _.tagName.startsWith("MARIMO") || _.isContentEditable || Events.fromCodeMirror(e2);
1292
+ let _ = Events.composedTarget(e2);
1293
+ return _.tagName === "INPUT" || _.tagName === "TEXTAREA" || _.tagName.startsWith("MARIMO") || _.isContentEditable || Events.fromCodeMirror(_);
1294
1294
  },
1295
- fromCodeMirror: (e2) => e2.target.closest(".cm-editor") !== null,
1295
+ fromCodeMirror: (e2) => e2.closest(".cm-editor") !== null,
1296
1296
  shouldIgnoreKeyboardEvent(e2) {
1297
- return e2.target instanceof HTMLInputElement || e2.target instanceof HTMLTextAreaElement || e2.target instanceof HTMLSelectElement || e2.target instanceof HTMLElement && (e2.target.isContentEditable || e2.target.tagName === "BUTTON" || e2.target.closest("[role='textbox']") !== null || e2.target.closest("[contenteditable='true']") !== null || e2.target.closest(".cm-editor") !== null);
1297
+ let _ = Events.composedTarget(e2);
1298
+ return _ instanceof HTMLInputElement || _ instanceof HTMLTextAreaElement || _ instanceof HTMLSelectElement || _ instanceof HTMLElement && (_.isContentEditable || _.tagName === "BUTTON" || _.closest("[role='textbox']") !== null || _.closest("[contenteditable='true']") !== null || Events.fromCodeMirror(_));
1299
+ },
1300
+ composedTarget(e2) {
1301
+ return "composedPath" in e2 && typeof e2.composedPath == "function" ? e2.composedPath()[0] ?? e2.target : e2.target;
1298
1302
  },
1299
1303
  hasModifier: (e2) => e2.ctrlKey || e2.metaKey || e2.altKey || e2.shiftKey,
1300
1304
  isMetaOrCtrl: (e2) => e2.metaKey || e2.ctrlKey
@@ -2020,7 +2024,7 @@ var import_compiler_runtime = require_compiler_runtime(), activeCommon = "active
2020
2024
  v[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = () => E.current, v[0] = D) : D = v[0], import_react.useImperativeHandle(_, D);
2021
2025
  let O;
2022
2026
  v[1] === C ? O = v[2] : (O = (e3) => {
2023
- C && (Events.shouldIgnoreKeyboardEvent(e3) || parseShortcut(C)(e3) && (e3.preventDefault(), e3.stopPropagation(), (E == null ? void 0 : E.current) && !E.current.disabled && E.current.click()));
2027
+ !C || e3.defaultPrevented || Events.shouldIgnoreKeyboardEvent(e3) || parseShortcut(C)(e3) && (e3.preventDefault(), e3.stopPropagation(), (E == null ? void 0 : E.current) && !E.current.disabled && E.current.click());
2024
2028
  }, v[1] = C, v[2] = O);
2025
2029
  let k = O;
2026
2030
  useEventListener(document, "keydown", k);
@@ -1,4 +1,4 @@
1
- import { g as Logger } from "./button-DNlNlZY_.js";
1
+ import { g as Logger } from "./button-Cn59RsBF.js";
2
2
  import { n as once } from "./once-C_TIu-kR.js";
3
3
  function testStorage(e) {
4
4
  try {
@@ -4,22 +4,22 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4
4
  import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
5
5
  import { t as require_react } from "./react-Bs6Z0kvn.js";
6
6
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
7
- import { r as toast } from "./copy-BRF7ryOP.js";
8
- import { $t as singleFacet, A as MarimoIncomingMessageEvent, Bt as PluralWord, C as contextToXml, D as AccordionContent, E as Accordion, Fn as Info, Gt as allTablesAtom, I as ChatBubbleIcon, In as File$1, Kt as dataSourceConnectionsAtom, Nn as LoaderCircle, O as AccordionItem, On as Wrench, Ot as createVariableInfoElement, Q as cellErrorsAtom, Rt as jotaiJsonStorage, S as Sections, Sn as Anchor2, T as AIContextRegistry, U as deserializeBlob, Vn as CircleX, W as base64ToDataURL, Yt as getRequestClient, Z as renderHTML, a as toPng, bn as atomWithStorage, d as Spinner, f as Popover, g as isOutputEmpty, h as PopoverTrigger, in as ZodLocalStorage, jt as moveToEndOfEditor, k as AccordionTrigger, kn as Trash2, ln as CellOutputId, m as PopoverContent, n as blobToString, nt as notebookAtom, o as MarkdownRenderer, qt as getTableType, t as processOutput, w as AIContextProvider, x as Boosts, xt as displayCellName, y as DatasourceContextProvider, zt as variablesAtom } from "./process-output-D_uZ0o1x.js";
7
+ import { r as toast } from "./copy-DzOz_Au7.js";
8
+ import { $t as singleFacet, A as MarimoIncomingMessageEvent, Bt as PluralWord, C as contextToXml, D as AccordionContent, E as Accordion, Fn as Info, Gt as allTablesAtom, I as ChatBubbleIcon, In as File$1, Kt as dataSourceConnectionsAtom, Nn as LoaderCircle, O as AccordionItem, On as Wrench, Ot as createVariableInfoElement, Q as cellErrorsAtom, Rt as jotaiJsonStorage, S as Sections, Sn as Anchor2, T as AIContextRegistry, U as deserializeBlob, Vn as CircleX, W as base64ToDataURL, Yt as getRequestClient, Z as renderHTML, a as toPng, bn as atomWithStorage, d as Spinner, f as Popover, g as isOutputEmpty, h as PopoverTrigger, in as ZodLocalStorage, jt as moveToEndOfEditor, k as AccordionTrigger, kn as Trash2, ln as CellOutputId, m as PopoverContent, n as blobToString, nt as notebookAtom, o as MarkdownRenderer, qt as getTableType, t as processOutput, w as AIContextProvider, x as Boosts, xt as displayCellName, y as DatasourceContextProvider, zt as variablesAtom } from "./process-output-C1_DucTc.js";
9
9
  import "./chunk-5FQGJX7Z-C428iZBW.js";
10
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
11
- import { C as logNever, I as X, n as Strings, t as Label } from "./label-CIR53v8V.js";
12
- import { a as NumberField, b as DropdownMenuTrigger, d as DropdownMenuContent, p as DropdownMenuItem, r as Input, u as DropdownMenu } from "./input-SSWXiS6n.js";
13
- import { g as CircleQuestionMark } from "./toDate-D0QaHNwR.js";
14
- import { c as Objects, g as Logger, l as useEventListener, t as Button, y as cn } from "./button-DNlNlZY_.js";
10
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
11
+ import { C as logNever, I as X, n as Strings, t as Label } from "./label-J1N4mVcg.js";
12
+ import { a as NumberField, b as DropdownMenuTrigger, d as DropdownMenuContent, p as DropdownMenuItem, r as Input, u as DropdownMenu } from "./input-BRN2Mjzx.js";
13
+ import { g as CircleQuestionMark } from "./toDate-CfGr2xZ1.js";
14
+ import { c as Objects, g as Logger, l as useEventListener, t as Button, y as cn } from "./button-Cn59RsBF.js";
15
15
  import "./react-dom-BSUuJjCR.js";
16
16
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
17
- import { B as union, C as any, D as discriminatedUnion, E as custom, H as safeParseAsync, I as record, L as strictObject, M as never, N as number, O as lazy, P as object$1, R as string, S as _null, T as boolean, V as unknown, W as toJSONSchema, b as _enum, k as literal, w as array$1, x as _instanceof } from "./zod-D18k8Z52.js";
18
- import { n as ErrorBanner } from "./error-banner-DexD-5js.js";
19
- import { t as Tooltip } from "./tooltip-B5EnNyok.js";
20
- import { n as minimalSetup, t as esm_default, u as CopyClipboardIcon } from "./esm-BGo_Mcdt.js";
17
+ import { B as union, C as any, D as discriminatedUnion, E as custom, H as safeParseAsync, I as record, L as strictObject, M as never, N as number, O as lazy, P as object$1, R as string, S as _null, T as boolean, V as unknown, W as toJSONSchema, b as _enum, k as literal, w as array$1, x as _instanceof } from "./zod-D4UoCYGu.js";
18
+ import { n as ErrorBanner } from "./error-banner-BQcJXy6k.js";
19
+ import { t as Tooltip } from "./tooltip-CygUI9oH.js";
20
+ import { n as minimalSetup, t as esm_default, u as CopyClipboardIcon } from "./esm-hRljRgfG.js";
21
21
  import { t as isEmpty_default } from "./isEmpty-B7FX9wKt.js";
22
- import { n as useTheme, v as useStore, w as useEvent_default } from "./useTheme-CxjbgkRc.js";
22
+ import { n as useTheme, v as useStore, w as useEvent_default } from "./useTheme-ytmywQ5O.js";
23
23
  import { $ as ViewPlugin, At as Prec, Dt as EditorState, Ft as StateField, Lt as Transaction, Ot as Facet, Pt as StateEffect, Y as Decoration, Z as EditorView, dt as keymap, et as WidgetType, ut as hoverTooltip } from "./dist-CxZvoNao.js";
24
24
  import { n as acceptCompletion, o as closeCompletion, r as autocompletion } from "./dist-DGNtjMZu.js";
25
25
  import "./main-XimWhSi_.js";
@@ -29,7 +29,7 @@ import "./dist-Ci0CXEFt.js";
29
29
  import "./dist-DJ9F1eHs.js";
30
30
  import "./dist-DAfcmt-d.js";
31
31
  import "./purify.es-hTCfRGdl.js";
32
- import { t as useAsyncData } from "./useAsyncData-BG3ULuDU.js";
32
+ import { t as useAsyncData } from "./useAsyncData-BzS3Ai32.js";
33
33
  var BotMessageSquare = createLucideIcon("bot-message-square", [
34
34
  ["path", {
35
35
  d: "M12 6V2H8",
@@ -1,4 +1,4 @@
1
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
1
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
2
2
  var Check = createLucideIcon("check", [["path", {
3
3
  d: "M20 6 9 17l-5-5",
4
4
  key: "1gmf2c"
@@ -1,8 +1,8 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
5
- import { g as Logger } from "./button-DNlNlZY_.js";
4
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
5
+ import { g as Logger } from "./button-Cn59RsBF.js";
6
6
  require_compiler_runtime(), require_react();
7
7
  var TOAST_LIMIT = 1, TOAST_REMOVE_DELAY = 1e4, count = 0;
8
8
  function genId() {
@@ -1,9 +1,9 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
- import { m as useComposedRefs } from "./button-DNlNlZY_.js";
3
+ import { m as useComposedRefs } from "./button-Cn59RsBF.js";
4
4
  import { t as require_react_dom } from "./react-dom-BSUuJjCR.js";
5
5
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
6
- import { _t as Primitive, gt as createContextScope, lt as useCallbackRef, pt as useLayoutEffect2 } from "./zod-D18k8Z52.js";
6
+ import { _t as Primitive, gt as createContextScope, lt as useCallbackRef, pt as useLayoutEffect2 } from "./zod-D4UoCYGu.js";
7
7
  /**
8
8
  * @license lucide-react v0.563.0 - ISC
9
9
  *
@@ -1,9 +1,9 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { d as createSlot, f as createSlottable, g as Logger, m as useComposedRefs, n as buttonVariants, r as cva, y as cn } from "./button-DNlNlZY_.js";
4
+ import { d as createSlot, f as createSlottable, g as Logger, m as useComposedRefs, n as buttonVariants, r as cva, y as cn } from "./button-Cn59RsBF.js";
5
5
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
6
- import { $ as StyleNamespace, P as object, R as string, X as withFullScreenAsRoot, _t as Primitive, at as FocusScope, dt as Presence, et as hideOthers, ft as useControllableState, gt as createContextScope, ht as createContext2, it as Portal, mt as composeEventHandlers, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId } from "./zod-D18k8Z52.js";
6
+ import { $ as StyleNamespace, P as object, R as string, X as withFullScreenAsRoot, _t as Primitive, at as FocusScope, dt as Presence, et as hideOthers, ft as useControllableState, gt as createContextScope, ht as createContext2, it as Portal, mt as composeEventHandlers, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId } from "./zod-D4UoCYGu.js";
7
7
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1), import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1), DIALOG_NAME = "Dialog", [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME), [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME), Dialog = (t) => {
8
8
  let { __scopeDialog: F, children: I, open: L, defaultOpen: R, onOpenChange: z, modal: B = true } = t, V = import_react.useRef(null), H = import_react.useRef(null), [U, W] = useControllableState({
9
9
  prop: L,
@@ -1,11 +1,11 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BRF7ryOP.js";
5
- import { t as Check } from "./check-Cex3x9fD.js";
6
- import { h as Events, y as cn } from "./button-DNlNlZY_.js";
4
+ import { n as Copy, r as toast, t as copyToClipboard } from "./copy-DzOz_Au7.js";
5
+ import { t as Check } from "./check-C51PA02v.js";
6
+ import { h as Events, y as cn } from "./button-Cn59RsBF.js";
7
7
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
8
- import { t as Tooltip } from "./tooltip-B5EnNyok.js";
8
+ import { t as Tooltip } from "./tooltip-CygUI9oH.js";
9
9
  import { $ as ViewPlugin, A as indentString, At as Prec, B as tags, Bt as combineConfig, C as foldKeymap, Ct as ChangeSet, D as getIndentation, Dt as EditorState, E as getIndentUnit, Et as EditorSelection, F as syntaxHighlighting, Ft as StateField, H as NodeProp, Ht as findClusterBreak, I as syntaxTree, It as Text, Lt as Transaction, Mt as RangeSetBuilder, N as matchBrackets, Ot as Facet, Pt as StateEffect, Rt as codePointAt, St as ChangeDesc, Ut as fromCodePoint, Vt as countColumn, X as Direction, Y as Decoration, Z as EditorView, _t as showDialog, a as HighlightStyle, bt as crelt, ct as highlightActiveLineGutter, dt as keymap, et as WidgetType, ft as lineNumbers, g as defaultHighlightStyle, gt as runScopeHandlers, ht as rectangularSelection, it as getPanel, j as indentUnit, jt as RangeSet, k as indentOnInput, lt as highlightSpecialChars, mt as placeholder, nt as drawSelection, o as IndentContext, p as bracketMatching, pt as logException, rt as dropCursor, st as highlightActiveLine, tt as crosshairCursor, ut as hoverTooltip, vt as showPanel, wt as CharCategory, x as foldGutter, xt as Annotation, zt as codePointSize } from "./dist-CxZvoNao.js";
10
10
  import { a as closeBracketsKeymap, c as completionKeymap, i as closeBrackets, r as autocompletion } from "./dist-DGNtjMZu.js";
11
11
  var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1);
@@ -4,15 +4,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4
4
  import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
5
5
  import { t as require_react } from "./react-Bs6Z0kvn.js";
6
6
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
7
- import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BRF7ryOP.js";
8
- import { C as logNever, a as SelectContent, d as SelectValue, i as Select, r as capitalize, s as SelectItem, t as Label, u as SelectTrigger } from "./label-CIR53v8V.js";
9
- import { G as marked, W as useNonce, _ as DropdownMenuSub, d as DropdownMenuContent, g as DropdownMenuSeparator, h as DropdownMenuPortal, p as DropdownMenuItem, r as Input, u as DropdownMenu, v as DropdownMenuSubContent, y as DropdownMenuSubTrigger } from "./input-SSWXiS6n.js";
10
- import { a as Plus, i as Trash, n as ErrorBoundary, o as Pencil, r as require_prop_types, t as BulkEdit } from "./types-D4-TD_m0.js";
11
- import { g as Logger, h as Events, t as Button } from "./button-DNlNlZY_.js";
7
+ import { n as Copy, r as toast, t as copyToClipboard } from "./copy-DzOz_Au7.js";
8
+ import { C as logNever, a as SelectContent, d as SelectValue, i as Select, r as capitalize, s as SelectItem, t as Label, u as SelectTrigger } from "./label-J1N4mVcg.js";
9
+ import { G as marked, W as useNonce, _ as DropdownMenuSub, d as DropdownMenuContent, g as DropdownMenuSeparator, h as DropdownMenuPortal, p as DropdownMenuItem, r as Input, u as DropdownMenu, v as DropdownMenuSubContent, y as DropdownMenuSubTrigger } from "./input-BRN2Mjzx.js";
10
+ import { a as Plus, i as Trash, n as ErrorBoundary, o as Pencil, r as require_prop_types, t as BulkEdit } from "./types-D4CFUmPq.js";
11
+ import { g as Logger, h as Events, t as Button } from "./button-Cn59RsBF.js";
12
12
  import "./react-dom-BSUuJjCR.js";
13
13
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
14
- import "./zod-D18k8Z52.js";
15
- import { n as useTheme, w as useEvent_default } from "./useTheme-CxjbgkRc.js";
14
+ import "./zod-D4UoCYGu.js";
15
+ import { n as useTheme, w as useEvent_default } from "./useTheme-ytmywQ5O.js";
16
16
  import { A as require__Map, B as require__baseGetTag, C as require__hasPath, D as require_isArguments, E as require__isIndex, F as require_isFunction, G as assert, H as require__root, I as require_isObject, J as maybe, K as assertNever, L as require__isKey, M as require_eq, N as require__getNative, O as require__castPath, P as require__toSource, R as require_isSymbol, S as resolveCellsThunk, T as require_isLength, U as require__freeGlobal, V as require__Symbol, W as require_isArray, _ as isEditableGridCell, a as mergeAndRealizeTheme, b as isReadWriteCell, c as withAlpha, d as CompactSelection, f as GridCellKind, g as booleanCellIsEditable, h as InnerGridCellKind, i as makeCSSStyle, j as require__ListCache, k as require__MapCache, l as BooleanEmpty, m as GridColumnMenuIcon, n as ThemeContext, o as blend, p as GridColumnIcon, q as deepEqual, r as getDataEditorTheme, s as blendCache, t as ClickOutsideContainer, u as BooleanIndeterminate, v as isInnerOnlyCell, w as require__toKey, x as isSizedGridColumn, y as isObjectEditorCallbackResult, z as require_isObjectLike } from "./click-outside-container-vCXhHl-R.js";
17
17
  import { t as styled_default } from "./dist-BoNJsA65.js";
18
18
  let GlideDataEditor, glide_data_editor_default;
@@ -5,16 +5,16 @@ var _a;
5
5
  import { s as __toESM } from "./chunk-BNovOVIE.js";
6
6
  import { t as require_react } from "./react-Bs6Z0kvn.js";
7
7
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
8
- import { a as createPopperScope, i as Root2$1, n as Arrow, r as Content, t as Anchor, u as createLucideIcon } from "./dist-D56NKWim.js";
9
- import { t as Check } from "./check-Cex3x9fD.js";
10
- import { E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, F as createCollection, I as X, L as ChevronUp, P as useDirection, R as ChevronDown, T as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, _ as menuControlVariants, b as menuSeparatorVariants, g as menuControlCheckVariants, h as menuContentCommon, k as $b5e257d569688ac6$export$619500959fc48b26, v as menuItemVariants, w as $a916eb452884faea$export$b7a616150fdb9f44, x as menuSubTriggerVariants, y as menuLabelVariants } from "./label-CIR53v8V.js";
8
+ import { a as createPopperScope, i as Root2$1, n as Arrow, r as Content, t as Anchor, u as createLucideIcon } from "./dist-CjLQ79mo.js";
9
+ import { t as Check } from "./check-C51PA02v.js";
10
+ import { E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, F as createCollection, I as X, L as ChevronUp, P as useDirection, R as ChevronDown, T as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, _ as menuControlVariants, b as menuSeparatorVariants, g as menuControlCheckVariants, h as menuContentCommon, k as $b5e257d569688ac6$export$619500959fc48b26, v as menuItemVariants, w as $a916eb452884faea$export$b7a616150fdb9f44, x as menuSubTriggerVariants, y as menuLabelVariants } from "./label-J1N4mVcg.js";
11
11
  import { n as clsx_default } from "./clsx-yW_RAw0K.js";
12
- import { d as createSlot, g as Logger, h as Events, m as useComposedRefs, p as composeRefs, y as cn } from "./button-DNlNlZY_.js";
12
+ import { d as createSlot, g as Logger, h as Events, m as useComposedRefs, p as composeRefs, y as cn } from "./button-Cn59RsBF.js";
13
13
  import { t as require_react_dom } from "./react-dom-BSUuJjCR.js";
14
14
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
15
- import { $ as StyleNamespace, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive, at as FocusScope, dt as Presence, et as hideOthers, ft as useControllableState, gt as createContextScope, it as Portal, lt as useCallbackRef, mt as composeEventHandlers, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId, vt as dispatchDiscreteCustomEvent } from "./zod-D18k8Z52.js";
15
+ import { $ as StyleNamespace, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive, at as FocusScope, dt as Presence, et as hideOthers, ft as useControllableState, gt as createContextScope, it as Portal, lt as useCallbackRef, mt as composeEventHandlers, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId, vt as dispatchDiscreteCustomEvent } from "./zod-D4UoCYGu.js";
16
16
  import { i as debounce_default } from "./constants-CvyfaCvs.js";
17
- import { w as useEvent_default } from "./useTheme-CxjbgkRc.js";
17
+ import { w as useEvent_default } from "./useTheme-ytmywQ5O.js";
18
18
  import { t as memoizeLastValue } from "./once-C_TIu-kR.js";
19
19
  var ChevronRight = createLucideIcon("chevron-right", [["path", {
20
20
  d: "m9 18 6-6-6-6",
@@ -1,12 +1,12 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { a as createPopperScope, c as VISUALLY_HIDDEN_STYLES, i as Root2$1, n as Arrow, r as Content, t as Anchor, u as createLucideIcon } from "./dist-D56NKWim.js";
5
- import { t as Check } from "./check-Cex3x9fD.js";
6
- import { d as createSlot, g as Logger, h as Events, m as useComposedRefs, r as cva, y as cn } from "./button-DNlNlZY_.js";
4
+ import { a as createPopperScope, c as VISUALLY_HIDDEN_STYLES, i as Root2$1, n as Arrow, r as Content, t as Anchor, u as createLucideIcon } from "./dist-CjLQ79mo.js";
5
+ import { t as Check } from "./check-C51PA02v.js";
6
+ import { d as createSlot, g as Logger, h as Events, m as useComposedRefs, r as cva, y as cn } from "./button-Cn59RsBF.js";
7
7
  import { t as require_react_dom } from "./react-dom-BSUuJjCR.js";
8
8
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
9
- import { $ as StyleNamespace, X as withFullScreenAsRoot, Z as withSmartCollisionBoundary, _t as Primitive, at as FocusScope, et as hideOthers, ft as useControllableState, gt as createContextScope, it as Portal, lt as useCallbackRef, mt as composeEventHandlers, pt as useLayoutEffect2, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId } from "./zod-D18k8Z52.js";
9
+ import { $ as StyleNamespace, X as withFullScreenAsRoot, Z as withSmartCollisionBoundary, _t as Primitive, at as FocusScope, et as hideOthers, ft as useControllableState, gt as createContextScope, it as Portal, lt as useCallbackRef, mt as composeEventHandlers, pt as useLayoutEffect2, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId } from "./zod-D4UoCYGu.js";
10
10
  import { t as invariant } from "./invariant-e8eBgdux.js";
11
11
  var ChevronDown = createLucideIcon("chevron-down", [["path", {
12
12
  d: "m6 9 6 6 6-6",
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  var _a, _b, _c, _d, _e;
5
- import { c as Objects, g as Logger } from "./button-DNlNlZY_.js";
5
+ import { c as Objects, g as Logger } from "./button-Cn59RsBF.js";
6
6
  import { St as isObject, a as loader, c as typeParsers$1, gt as isArray, o as read$1, wt as isString } from "./vega-loader.browser-DqEcFOPD.js";
7
7
  var pkg = { version: "1.1.0" };
8
8
  function formatValue(m2, U, G, K) {
package/dist/main.js CHANGED
@@ -20,30 +20,30 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20
20
  import { a as __toCommonJS, n as __esmMin, r as __export, s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
21
21
  import { t as require_react } from "./react-Bs6Z0kvn.js";
22
22
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
23
- import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BRF7ryOP.js";
24
- import { $ as createActions, A as MarimoIncomingMessageEvent, An as Table2, At as Paths, B as DotFilledIcon, Bn as Columns2, Bt as PluralWord, Cn as Close$1, Ct as isInternalCellName, D as AccordionContent, Dn as Trigger2, Dt as MarkdownLanguageAdapter, E as Accordion, En as Root2$4, Et as customPythonLanguageSupport, F as BorderAllIcon, Fn as Info, Ft as useChromeActions, G as base64ToDataView, Gn as import_lib, H as PinRightIcon, Hn as CircleAlert, Ht as DATA_TYPE_ICON, In as File, It as repl, J as extractBase64FromDataURL, Jt as convertStatsName, K as base64ToUint8Array, L as CheckIcon, Ln as FileText, Lt as adaptForLocalStorage, M as MarimoValueReadyEvent, Mn as NotebookPen, Mt as goToCellLine, N as MarimoValueUpdateEvent, Nn as LoaderCircle, Nt as DeferredRequestRegistry, O as AccordionItem, On as Wrench, P as createInputEvent, Pn as Layers, Pt as generateUUID, Qt as isUninstantiated, R as ChevronDownIcon, Rn as Eye, Rt as jotaiJsonStorage, St as getValidName, Tn as Item$1, Tt as Checkbox, U as deserializeBlob, Un as Braces, Ut as getDataTypeColor, V as PinLeftIcon, Vn as CircleX, Vt as PluralWords, Wn as esm_default$1, Wt as require_client, X as safeExtractSetUIElementMessageBuffers, Xt as requestClientAtom, Y as isDataURLString, Yt as getRequestClient, Z as renderHTML, Zt as useRequestClient, _ as useExpandedConsoleOutput, _n as jsonToMarkdown, _t as headingToIdentifier, a as toPng, an as filenameAtom, at as useCellActions, b as getDatasourceContext, bn as atomWithStorage, bt as getCellDomProps, c as useCellFocusActions, cn as parseInitialValue, ct as createCell, d as Spinner, dn as SCRATCH_CELL_ID, dt as initialModeAtom, en as elementContainsMarimoCellFile, et as getCellEditorView, f as Popover$1, fn as UIElementId, ft as kioskModeAtom, g as isOutputEmpty, gn as jsonParseWithSpecialChar, gt as isErrorMime, h as PopoverTrigger, hn as RANDOM_ID_ATTR, ht as outputIsStale, i as PythonIcon, it as reducer, j as MarimoValueInputEvent, jn as PaintRoller, k as AccordionTrigger, kn as Trash2, kt as PathBuilder, l as useLastFocusedCellId, ln as CellOutputId, lt as AnsiUp, m as PopoverContent, mn as OBJECT_ID_ATTR, mt as outputIsLoading, n as blobToString, nn as getTracebackInfo, nt as notebookAtom, o as MarkdownRenderer, on as parseAttrValue, ot as useCellIds, p as PopoverClose$1, pn as findCellId, pt as viewStateAtom, q as dataViewToBase64, r as filesToBase64, rn as NotebookScopedLocalStorage, rt as notebookOutline, s as LazyAnyLanguageCodeMirror, sn as parseDataset, st as useCellNames, t as processOutput, tn as extractAllTracebackInfo, tt as getCellNames, u as maybeAddAltairImport, un as HTMLCellId, ut as getInitialAppMode, v as useExpandedOutput, vn as jsonToTSV, vt as sanitizeHtml, wn as Content2$1, wt as normalizeName, xn as selectAtom, xt as displayCellName, yn as atomWithReducer, yt as DATA_CELL_ID, z as ChevronRightIcon, zn as Database, __tla as __tla_0 } from "./process-output-D_uZ0o1x.js";
23
+ import { n as Copy, r as toast, t as copyToClipboard } from "./copy-DzOz_Au7.js";
24
+ import { $ as createActions, A as MarimoIncomingMessageEvent, An as Table2, At as Paths, B as DotFilledIcon, Bn as Columns2, Bt as PluralWord, Cn as Close$1, Ct as isInternalCellName, D as AccordionContent, Dn as Trigger2, Dt as MarkdownLanguageAdapter, E as Accordion, En as Root2$4, Et as customPythonLanguageSupport, F as BorderAllIcon, Fn as Info, Ft as useChromeActions, G as base64ToDataView, Gn as import_lib, H as PinRightIcon, Hn as CircleAlert, Ht as DATA_TYPE_ICON, In as File, It as repl, J as extractBase64FromDataURL, Jt as convertStatsName, K as base64ToUint8Array, L as CheckIcon, Ln as FileText, Lt as adaptForLocalStorage, M as MarimoValueReadyEvent, Mn as NotebookPen, Mt as goToCellLine, N as MarimoValueUpdateEvent, Nn as LoaderCircle, Nt as DeferredRequestRegistry, O as AccordionItem, On as Wrench, P as createInputEvent, Pn as Layers, Pt as generateUUID, Qt as isUninstantiated, R as ChevronDownIcon, Rn as Eye, Rt as jotaiJsonStorage, St as getValidName, Tn as Item$1, Tt as Checkbox, U as deserializeBlob, Un as Braces, Ut as getDataTypeColor, V as PinLeftIcon, Vn as CircleX, Vt as PluralWords, Wn as esm_default$1, Wt as require_client, X as safeExtractSetUIElementMessageBuffers, Xt as requestClientAtom, Y as isDataURLString, Yt as getRequestClient, Z as renderHTML, Zt as useRequestClient, _ as useExpandedConsoleOutput, _n as jsonToMarkdown, _t as headingToIdentifier, a as toPng, an as filenameAtom, at as useCellActions, b as getDatasourceContext, bn as atomWithStorage, bt as getCellDomProps, c as useCellFocusActions, cn as parseInitialValue, ct as createCell, d as Spinner, dn as SCRATCH_CELL_ID, dt as initialModeAtom, en as elementContainsMarimoCellFile, et as getCellEditorView, f as Popover$1, fn as UIElementId, ft as kioskModeAtom, g as isOutputEmpty, gn as jsonParseWithSpecialChar, gt as isErrorMime, h as PopoverTrigger, hn as RANDOM_ID_ATTR, ht as outputIsStale, i as PythonIcon, it as reducer, j as MarimoValueInputEvent, jn as PaintRoller, k as AccordionTrigger, kn as Trash2, kt as PathBuilder, l as useLastFocusedCellId, ln as CellOutputId, lt as AnsiUp, m as PopoverContent, mn as OBJECT_ID_ATTR, mt as outputIsLoading, n as blobToString, nn as getTracebackInfo, nt as notebookAtom, o as MarkdownRenderer, on as parseAttrValue, ot as useCellIds, p as PopoverClose$1, pn as findCellId, pt as viewStateAtom, q as dataViewToBase64, r as filesToBase64, rn as NotebookScopedLocalStorage, rt as notebookOutline, s as LazyAnyLanguageCodeMirror, sn as parseDataset, st as useCellNames, t as processOutput, tn as extractAllTracebackInfo, tt as getCellNames, u as maybeAddAltairImport, un as HTMLCellId, ut as getInitialAppMode, v as useExpandedOutput, vn as jsonToTSV, vt as sanitizeHtml, wn as Content2$1, wt as normalizeName, xn as selectAtom, xt as displayCellName, yn as atomWithReducer, yt as DATA_CELL_ID, z as ChevronRightIcon, zn as Database, __tla as __tla_0 } from "./process-output-C1_DucTc.js";
25
25
  import { __tla as __tla_1 } from "./chunk-5FQGJX7Z-C428iZBW.js";
26
- import { o as useSize, s as Root$4, u as createLucideIcon } from "./dist-D56NKWim.js";
27
- import { A as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, F as ListFilter, I as ChartPie, L as ChartColumn, M as $5a387cc49350e6db$export$722debc0e56fea39, N as Table$1, O as TIME_UNIT_DESCRIPTIONS, P as SquareFunction, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as $fb18d541ea1ad717$export$ad991b66133851cf, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON } from "./spec-ByDEU1T3.js";
28
- import { c as Calendar, i as createReducerAndAtoms, n as useOnUnmount, o as ToggleLeft, r as Badge, t as useOnMount } from "./useLifecycle-2Vh-WDv6.js";
29
- import { t as Check } from "./check-Cex3x9fD.js";
30
- import { A as Icon, C as logNever, D as $18f2051aff69b9bf$export$a54013f0d02a8f82, E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, F as createCollection, I as X, M as clamp$3, N as usePrevious$1, O as $b5e257d569688ac6$export$535bd6ca7f90a273, P as useDirection, R as ChevronDown, S as assertNever, T as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, _ as menuControlVariants, a as SelectContent, b as menuSeparatorVariants, c as SelectLabel, d as SelectValue, f as NativeSelect, g as menuControlCheckVariants, h as menuContentCommon, i as Select, j as Trigger$3, l as SelectSeparator, m as MENU_ITEM_DISABLED, n as Strings, o as SelectGroup, p as selectStyles, r as capitalize, s as SelectItem, t as Label, u as SelectTrigger, v as menuItemVariants, w as $a916eb452884faea$export$b7a616150fdb9f44, x as menuSubTriggerVariants, y as menuLabelVariants } from "./label-CIR53v8V.js";
31
- import { $ as $e5be200c675c3b3a$export$aca958c65c314e6c, $t as Portal, A as $d2b4bc8c273e7be6$export$24d547caef80ccd1, At as $c87311424ea30a05$export$fedb369cb70207f1, B as $64fa3d84918910a7$export$c62b8e45d58ddad9, Bt as $431fbd86ca7dc216$export$f21a1ffae260145a, C as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4, Ct as $8ae05eaa5c114e9c$export$7f54fc3180508a52, D as $ee014567cb39d3f0$export$ff05c3ac10437e03, Dt as $c87311424ea30a05$export$78551043582a6a98, E as $ee014567cb39d3f0$export$f551688fc98f2e09, Et as $c87311424ea30a05$export$6446a186d09e379e, F as $64fa3d84918910a7$export$2881499e37b75b9a, Ft as $d4ee10de306f2510$export$b4f377a2b6254582, G as marked, Gt as Anchor2, H as $64fa3d84918910a7$export$ef03459518577ad4, Ht as $bdb11010cef70236$export$b4cc09c592e8fdb8, I as $64fa3d84918910a7$export$29f1550f4b0d4415, It as $d4ee10de306f2510$export$cd4e5573fbe2b576, J as $d2e8511e6f209edf$export$e908e06f4b8e3402, Jt as Content2$2, K as useDebounceControlledState, Kt as Arrow2, L as $64fa3d84918910a7$export$4d86445c2cf5e3, Lt as $d4ee10de306f2510$export$e58f029f0fbfdb29, M as $01b77f81d0f07f68$export$75b6ee27786ba447, Mt as $65484d02dcb7eb3e$export$457c3d6518dd4c6f, N as $01b77f81d0f07f68$export$b04be29aa201d4f5, Nt as $3ef42575df84b30b$export$9d1611c77c2fe928, O as $514c0188e459b4c0$export$5f1af8db9871e1d6, Ot as $c87311424ea30a05$export$9ac100e40613ea10, P as $f39a9eba43920ace$export$b5d7cc18bb8d2b59, Pt as $d4ee10de306f2510$export$4282f70798064fe0, Q as $e5be200c675c3b3a$export$a763b9476acd3eb, Qt as Label$2, R as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, Rt as $f4e2df6bd15f8569$export$98658e8c59125e6a, S as $3985021b0ad6602f$export$f5b8910cec6cf069, St as $e9faafb641e167db$export$90fc3a17d93f704c, T as $d3e0e05bdfcf66bd$export$c24727297075ec6a, Tt as $313b98861ee5dd6c$export$d6875122194c7b44, U as $64fa3d84918910a7$export$fabf2dc03a41866e, Ut as $bdb11010cef70236$export$f680877a34711e37, V as $64fa3d84918910a7$export$df3a06d6289f983e, Vt as $ff5963eb1fccf552$export$e08e3b67e392101e, Wt as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, X as $e93e671b31057976$export$b8473d3665f3a75a, Xt as Item2$2, Y as $2baaea4c71418dea$export$294aa081a6c6f55d, Yt as Group$1, Z as $e5be200c675c3b3a$export$75ee7c75d68f5b0e, Zt as ItemIndicator, _ as DropdownMenuSub, _t as $9446cca9a3875146$export$7d15b64cf5a3a4c4, a as NumberField, an as SubContent, at as $6c7bd7858deea686$export$cd11ab140839f11d, b as DropdownMenuTrigger, bt as $b4b717babfbb907b$export$bebd5a1431fec25d, c as prettyNumber, cn as Item$2, ct as $6db58dc88e78b024$export$2f817fcdc4b89ae0, d as DropdownMenuContent, dn as Search, dt as $9ab94262bd0047c7$export$420e68273165f4ec, en as RadioGroup$2, et as $e5be200c675c3b3a$export$dad6ae84456c676a, f as DropdownMenuGroup, fn as Circle, ft as $3ad3f6e1647bc98d$export$80f3e147d781571c, g as DropdownMenuSeparator, gt as $ae1eeba8b9eafd08$export$5165eccb35aaadb5, h as DropdownMenuPortal, ht as _class_private_field_init, i as OnBlurredInput, in as Sub, it as $701a24aa0da5b062$export$ea18c227d4417cc3, j as $d2b4bc8c273e7be6$export$353f5b6fc5456de1, jt as $7215afc6de606d6b$export$de79e2c695e052f3, k as $514c0188e459b4c0$export$9afb8bc826b033ea, kt as $c87311424ea30a05$export$a11b0059900ceec8, l as prettyScientificNumber, ln as Root$5, lt as $5b160d28a433310d$export$c17fa47878dc55b6, m as DropdownMenuLabel, mt as $f6c31cce2adf654f$export$45712eceda6fad21, n as DebouncedNumberInput, nn as Root3, nt as $319e236875307eab$export$a9b970dcc4ae71a9, o as maxFractionalDigits, on as SubTrigger, ot as $fca6afa0e843324b$export$87b761675e8eaa10, p as DropdownMenuItem, pn as ChevronRight, pt as $507fabe10e71c6fb$export$630ff653c5ada6a9, q as useDebouncedCallback, qt as CheckboxItem, r as Input, rn as Separator, rt as $f7dceffc5ad7768b$export$4e328f61c538687f, s as prettyEngineeringNumber, sn as createMenuScope, st as $fca6afa0e843324b$export$f12b703ca79dfbb1, t as DebouncedInput, tn as RadioItem, tt as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, u as DropdownMenu, un as createRovingFocusGroupScope, ut as $6179b936705e76d3$export$ae780daf29e6d456, v as DropdownMenuSubContent, vt as $458b0a5536c1a7cf$export$40bfa8c7b0832715, w as $a049562f99e7db0e$export$f9c6924e160136d1, wt as $df56164dff5785e2$export$4338b53315abf666, x as $3985021b0ad6602f$export$37fb8590cf2c088c, xt as $99facab73266f662$export$5add1d006293d136, y as DropdownMenuSubTrigger, yt as $b4b717babfbb907b$export$4c063cf1350e6fed, z as $64fa3d84918910a7$export$c245e6201fed2f75, zt as $431fbd86ca7dc216$export$b204af158042fbac } from "./input-SSWXiS6n.js";
32
- import { a as millisecondsInMinute, c as asRemoteURL, d as isUrl, f as require_cuid2, g as CircleQuestionMark, h as isWasm, i as millisecondsInHour, m as Deferred, n as constructFrom, o as millisecondsInSecond, r as millisecondsInDay, s as millisecondsInWeek, t as toDate, u as appendQueryParams } from "./toDate-D0QaHNwR.js";
33
- import { a as Plus, i as Trash, n as ErrorBoundary, o as Pencil, r as require_prop_types, t as BulkEdit } from "./types-D4-TD_m0.js";
26
+ import { o as useSize, s as Root$4, u as createLucideIcon } from "./dist-CjLQ79mo.js";
27
+ import { A as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, F as ListFilter, I as ChartPie, L as ChartColumn, M as $5a387cc49350e6db$export$722debc0e56fea39, N as Table$1, O as TIME_UNIT_DESCRIPTIONS, P as SquareFunction, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as $fb18d541ea1ad717$export$ad991b66133851cf, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON } from "./spec-rP6otrXw.js";
28
+ import { c as Calendar, i as createReducerAndAtoms, n as useOnUnmount, o as ToggleLeft, r as Badge, t as useOnMount } from "./useLifecycle-B90lJH4p.js";
29
+ import { t as Check } from "./check-C51PA02v.js";
30
+ import { A as Icon, C as logNever, D as $18f2051aff69b9bf$export$a54013f0d02a8f82, E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, F as createCollection, I as X, M as clamp$3, N as usePrevious$1, O as $b5e257d569688ac6$export$535bd6ca7f90a273, P as useDirection, R as ChevronDown, S as assertNever, T as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, _ as menuControlVariants, a as SelectContent, b as menuSeparatorVariants, c as SelectLabel, d as SelectValue, f as NativeSelect, g as menuControlCheckVariants, h as menuContentCommon, i as Select, j as Trigger$3, l as SelectSeparator, m as MENU_ITEM_DISABLED, n as Strings, o as SelectGroup, p as selectStyles, r as capitalize, s as SelectItem, t as Label, u as SelectTrigger, v as menuItemVariants, w as $a916eb452884faea$export$b7a616150fdb9f44, x as menuSubTriggerVariants, y as menuLabelVariants } from "./label-J1N4mVcg.js";
31
+ import { $ as $e5be200c675c3b3a$export$aca958c65c314e6c, $t as Portal, A as $d2b4bc8c273e7be6$export$24d547caef80ccd1, At as $c87311424ea30a05$export$fedb369cb70207f1, B as $64fa3d84918910a7$export$c62b8e45d58ddad9, Bt as $431fbd86ca7dc216$export$f21a1ffae260145a, C as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4, Ct as $8ae05eaa5c114e9c$export$7f54fc3180508a52, D as $ee014567cb39d3f0$export$ff05c3ac10437e03, Dt as $c87311424ea30a05$export$78551043582a6a98, E as $ee014567cb39d3f0$export$f551688fc98f2e09, Et as $c87311424ea30a05$export$6446a186d09e379e, F as $64fa3d84918910a7$export$2881499e37b75b9a, Ft as $d4ee10de306f2510$export$b4f377a2b6254582, G as marked, Gt as Anchor2, H as $64fa3d84918910a7$export$ef03459518577ad4, Ht as $bdb11010cef70236$export$b4cc09c592e8fdb8, I as $64fa3d84918910a7$export$29f1550f4b0d4415, It as $d4ee10de306f2510$export$cd4e5573fbe2b576, J as $d2e8511e6f209edf$export$e908e06f4b8e3402, Jt as Content2$2, K as useDebounceControlledState, Kt as Arrow2, L as $64fa3d84918910a7$export$4d86445c2cf5e3, Lt as $d4ee10de306f2510$export$e58f029f0fbfdb29, M as $01b77f81d0f07f68$export$75b6ee27786ba447, Mt as $65484d02dcb7eb3e$export$457c3d6518dd4c6f, N as $01b77f81d0f07f68$export$b04be29aa201d4f5, Nt as $3ef42575df84b30b$export$9d1611c77c2fe928, O as $514c0188e459b4c0$export$5f1af8db9871e1d6, Ot as $c87311424ea30a05$export$9ac100e40613ea10, P as $f39a9eba43920ace$export$b5d7cc18bb8d2b59, Pt as $d4ee10de306f2510$export$4282f70798064fe0, Q as $e5be200c675c3b3a$export$a763b9476acd3eb, Qt as Label$2, R as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, Rt as $f4e2df6bd15f8569$export$98658e8c59125e6a, S as $3985021b0ad6602f$export$f5b8910cec6cf069, St as $e9faafb641e167db$export$90fc3a17d93f704c, T as $d3e0e05bdfcf66bd$export$c24727297075ec6a, Tt as $313b98861ee5dd6c$export$d6875122194c7b44, U as $64fa3d84918910a7$export$fabf2dc03a41866e, Ut as $bdb11010cef70236$export$f680877a34711e37, V as $64fa3d84918910a7$export$df3a06d6289f983e, Vt as $ff5963eb1fccf552$export$e08e3b67e392101e, Wt as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, X as $e93e671b31057976$export$b8473d3665f3a75a, Xt as Item2$2, Y as $2baaea4c71418dea$export$294aa081a6c6f55d, Yt as Group$1, Z as $e5be200c675c3b3a$export$75ee7c75d68f5b0e, Zt as ItemIndicator, _ as DropdownMenuSub, _t as $9446cca9a3875146$export$7d15b64cf5a3a4c4, a as NumberField, an as SubContent, at as $6c7bd7858deea686$export$cd11ab140839f11d, b as DropdownMenuTrigger, bt as $b4b717babfbb907b$export$bebd5a1431fec25d, c as prettyNumber, cn as Item$2, ct as $6db58dc88e78b024$export$2f817fcdc4b89ae0, d as DropdownMenuContent, dn as Search, dt as $9ab94262bd0047c7$export$420e68273165f4ec, en as RadioGroup$2, et as $e5be200c675c3b3a$export$dad6ae84456c676a, f as DropdownMenuGroup, fn as Circle, ft as $3ad3f6e1647bc98d$export$80f3e147d781571c, g as DropdownMenuSeparator, gt as $ae1eeba8b9eafd08$export$5165eccb35aaadb5, h as DropdownMenuPortal, ht as _class_private_field_init, i as OnBlurredInput, in as Sub, it as $701a24aa0da5b062$export$ea18c227d4417cc3, j as $d2b4bc8c273e7be6$export$353f5b6fc5456de1, jt as $7215afc6de606d6b$export$de79e2c695e052f3, k as $514c0188e459b4c0$export$9afb8bc826b033ea, kt as $c87311424ea30a05$export$a11b0059900ceec8, l as prettyScientificNumber, ln as Root$5, lt as $5b160d28a433310d$export$c17fa47878dc55b6, m as DropdownMenuLabel, mt as $f6c31cce2adf654f$export$45712eceda6fad21, n as DebouncedNumberInput, nn as Root3, nt as $319e236875307eab$export$a9b970dcc4ae71a9, o as maxFractionalDigits, on as SubTrigger, ot as $fca6afa0e843324b$export$87b761675e8eaa10, p as DropdownMenuItem, pn as ChevronRight, pt as $507fabe10e71c6fb$export$630ff653c5ada6a9, q as useDebouncedCallback, qt as CheckboxItem, r as Input, rn as Separator, rt as $f7dceffc5ad7768b$export$4e328f61c538687f, s as prettyEngineeringNumber, sn as createMenuScope, st as $fca6afa0e843324b$export$f12b703ca79dfbb1, t as DebouncedInput, tn as RadioItem, tt as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, u as DropdownMenu, un as createRovingFocusGroupScope, ut as $6179b936705e76d3$export$ae780daf29e6d456, v as DropdownMenuSubContent, vt as $458b0a5536c1a7cf$export$40bfa8c7b0832715, w as $a049562f99e7db0e$export$f9c6924e160136d1, wt as $df56164dff5785e2$export$4338b53315abf666, x as $3985021b0ad6602f$export$37fb8590cf2c088c, xt as $99facab73266f662$export$5add1d006293d136, y as DropdownMenuSubTrigger, yt as $b4b717babfbb907b$export$4c063cf1350e6fed, z as $64fa3d84918910a7$export$c245e6201fed2f75, zt as $431fbd86ca7dc216$export$b204af158042fbac } from "./input-BRN2Mjzx.js";
32
+ import { a as millisecondsInMinute, c as asRemoteURL, d as isUrl, f as require_cuid2, g as CircleQuestionMark, h as isWasm, i as millisecondsInHour, m as Deferred, n as constructFrom, o as millisecondsInSecond, r as millisecondsInDay, s as millisecondsInWeek, t as toDate, u as appendQueryParams } from "./toDate-CfGr2xZ1.js";
33
+ import { a as Plus, i as Trash, n as ErrorBoundary, o as Pencil, r as require_prop_types, t as BulkEdit } from "./types-D4CFUmPq.js";
34
34
  import { n as clsx_default } from "./clsx-yW_RAw0K.js";
35
- import { _ as Functions, c as Objects, g as Logger, h as Events, i as NOT_SET, l as useEventListener, m as useComposedRefs, n as buttonVariants, o as isPlatformMac, p as composeRefs, r as cva, t as Button, u as Slot$1, v as throwNotImplemented, y as cn } from "./button-DNlNlZY_.js";
35
+ import { _ as Functions, c as Objects, g as Logger, h as Events, i as NOT_SET, l as useEventListener, m as useComposedRefs, n as buttonVariants, o as isPlatformMac, p as composeRefs, r as cva, t as Button, u as Slot$1, v as throwNotImplemented, y as cn } from "./button-Cn59RsBF.js";
36
36
  import { t as require_react_dom } from "./react-dom-BSUuJjCR.js";
37
37
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
38
- import { $ as StyleNamespace, A as looseObject, B as union, C as any, F as optional, G as parse$3, I as record, J as prettifyError, K as parseAsync, N as number, P as object, Q as isInVscodeExtension, R as string, S as _null, T as boolean, U as ZodError, V as unknown, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _ as ZodString, _t as Primitive$1, a as ZodIssueCode, b as _enum, c as ZodBoolean, d as ZodDiscriminatedUnion, dt as Presence, f as ZodEnum, ft as useControllableState, g as ZodOptional, gt as createContextScope, h as ZodObject, i as string$1, j as nan, k as literal, l as ZodDate, lt as useCallbackRef, m as ZodNumber, mt as composeEventHandlers$1, n as date, nt as __awaiter, o as ZodAny, p as ZodLiteral, pt as useLayoutEffect2, q as $ZodError, r as number$1, s as ZodArray, st as DismissableLayer, t as zod_default, u as ZodDefault, ut as useId$12, v as ZodType, vt as dispatchDiscreteCustomEvent, w as array, x as _instanceof, y as ZodUnion, z as tuple } from "./zod-D18k8Z52.js";
39
- import { a as Content$2, c as Root$6, i as prettyError, n as ErrorBanner, o as Overlay, r as CellNotInitializedError, s as Portal$1, t as Banner } from "./error-banner-DexD-5js.js";
40
- import { a as TooltipRoot, i as TooltipProvider, n as TooltipContent, o as TooltipTrigger, r as TooltipPortal, s as Provider$2, t as Tooltip } from "./tooltip-B5EnNyok.js";
41
- import { n as minimalSetup, r as _extends$5, t as esm_default, u as CopyClipboardIcon } from "./esm-BGo_Mcdt.js";
38
+ import { $ as StyleNamespace, A as looseObject, B as union, C as any, F as optional, G as parse$3, I as record, J as prettifyError, K as parseAsync, N as number, P as object, Q as isInVscodeExtension, R as string, S as _null, T as boolean, U as ZodError, V as unknown, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _ as ZodString, _t as Primitive$1, a as ZodIssueCode, b as _enum, c as ZodBoolean, d as ZodDiscriminatedUnion, dt as Presence, f as ZodEnum, ft as useControllableState, g as ZodOptional, gt as createContextScope, h as ZodObject, i as string$1, j as nan, k as literal, l as ZodDate, lt as useCallbackRef, m as ZodNumber, mt as composeEventHandlers$1, n as date, nt as __awaiter, o as ZodAny, p as ZodLiteral, pt as useLayoutEffect2, q as $ZodError, r as number$1, s as ZodArray, st as DismissableLayer, t as zod_default, u as ZodDefault, ut as useId$12, v as ZodType, vt as dispatchDiscreteCustomEvent, w as array, x as _instanceof, y as ZodUnion, z as tuple } from "./zod-D4UoCYGu.js";
39
+ import { a as Content$2, c as Root$6, i as prettyError, n as ErrorBanner, o as Overlay, r as CellNotInitializedError, s as Portal$1, t as Banner } from "./error-banner-BQcJXy6k.js";
40
+ import { a as TooltipRoot, i as TooltipProvider, n as TooltipContent, o as TooltipTrigger, r as TooltipPortal, s as Provider$2, t as Tooltip } from "./tooltip-CygUI9oH.js";
41
+ import { n as minimalSetup, r as _extends$5, t as esm_default, u as CopyClipboardIcon } from "./esm-hRljRgfG.js";
42
42
  import { a as get_default } from "./hasIn-DnfJcYpY.js";
43
43
  import { n as _baseSet_default } from "./_basePickBy-Sow3pJjS.js";
44
44
  import { n as pick_default, t as range_default } from "./range-fJeId9Ri.js";
45
45
  import { i as debounce_default, r as KnownQueryParams, t as CSSClasses } from "./constants-CvyfaCvs.js";
46
- import { C as dequal, S as getBuildingBlocks, _ as useSetAtom, c as AppConfigSchema, d as useJotaiEffect, g as useAtomValue, h as useAtom, i as autoInstantiateAtom, m as Provider, n as useTheme, o as localeAtom, r as aiEnabledAtom, s as useResolvedMarimoConfig, u as store, v as useStore, w as useEvent_default, x as buildStore, y as atom } from "./useTheme-CxjbgkRc.js";
46
+ import { C as dequal, S as getBuildingBlocks, _ as useSetAtom, c as AppConfigSchema, d as useJotaiEffect, g as useAtomValue, h as useAtom, i as autoInstantiateAtom, m as Provider, n as useTheme, o as localeAtom, r as aiEnabledAtom, s as useResolvedMarimoConfig, u as store, v as useStore, w as useEvent_default, x as buildStore, y as atom } from "./useTheme-ytmywQ5O.js";
47
47
  import { Z as EditorView } from "./dist-CxZvoNao.js";
48
48
  import { t as invariant } from "./invariant-e8eBgdux.js";
49
49
  import { c as uniqueBy, l as clamp, o as arrayShallowEquals, t as Arrays } from "./arrays-beUWo8RF.js";
@@ -56,12 +56,12 @@ import "./dist-Ci0CXEFt.js";
56
56
  import "./dist-DJ9F1eHs.js";
57
57
  import { a as parser, r as python } from "./dist-DAfcmt-d.js";
58
58
  import "./purify.es-hTCfRGdl.js";
59
- import { a as AlertTitle, i as AlertDescription, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-CkSq3l3_.js";
59
+ import { a as AlertTitle, i as AlertDescription, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-AjORjhpL.js";
60
60
  import { n as memoize$1, t as isPropValid } from "./emotion-is-prop-valid.esm-CJVjyntJ.js";
61
61
  import { n as formats } from "./vega-loader.browser-DqEcFOPD.js";
62
- import { a as getContainerWidth, n as vegaLoadData, o as getVegaFieldTypes, r as createBatchedLoader, s as tooltipHandler, t as parseCsvData } from "./loader-Bd1kgLn7.js";
63
- import { t as useIframeCapabilities } from "./useIframeCapabilities-CqhrVue6.js";
64
- import { t as useAsyncData } from "./useAsyncData-BG3ULuDU.js";
62
+ import { a as getContainerWidth, n as vegaLoadData, o as getVegaFieldTypes, r as createBatchedLoader, s as tooltipHandler, t as parseCsvData } from "./loader-JmfPBSx5.js";
63
+ import { t as useIframeCapabilities } from "./useIframeCapabilities---aRgGdv.js";
64
+ import { t as useAsyncData } from "./useAsyncData-BzS3Ai32.js";
65
65
  import "./defaultLocale-qS7DaAmi.js";
66
66
  import "./defaultLocale-Bxoo2-30.js";
67
67
  import "./dist-CcMfr7jD.js";
@@ -37129,7 +37129,7 @@ ${E}`,
37129
37129
  };
37130
37130
  }
37131
37131
  };
37132
- var LazyChatbot = import_react.lazy(() => import("./chat-ui-B9oZ19ii.js").then((e) => ({
37132
+ var LazyChatbot = import_react.lazy(() => import("./chat-ui-D0rOcl77.js").then((e) => ({
37133
37133
  default: e.Chatbot
37134
37134
  }))), messageSchema = array(object({
37135
37135
  id: string(),
@@ -37275,7 +37275,7 @@ ${E}`,
37275
37275
  "time",
37276
37276
  "unknown"
37277
37277
  ];
37278
- var import_compiler_runtime$85 = require_compiler_runtime(), TooltipProvider$2 = Provider$2, LazyDataEditor = import_react.lazy(() => import("./glide-data-editor-BmyQCm0U.js").then(async (m2) => {
37278
+ var import_compiler_runtime$85 = require_compiler_runtime(), TooltipProvider$2 = Provider$2, LazyDataEditor = import_react.lazy(() => import("./glide-data-editor-D2X4D_xi.js").then(async (m2) => {
37279
37279
  await m2.__tla;
37280
37280
  return m2;
37281
37281
  }));
@@ -47406,7 +47406,7 @@ ${c}
47406
47406
  fullWidth: v,
47407
47407
  children: z
47408
47408
  }), r[19] = v, r[20] = y, r[21] = c, r[22] = z, r[23] = G) : G = r[23], G;
47409
- }, LazyDataExplorerComponent = import_react.lazy(() => import("./ConnectedDataExplorerComponent-D08JKcQg.js"));
47409
+ }, LazyDataExplorerComponent = import_react.lazy(() => import("./ConnectedDataExplorerComponent-tho8l5GC.js"));
47410
47410
  const DataExplorerPlugin = createPlugin("marimo-data-explorer").withData(object({
47411
47411
  label: string().nullish(),
47412
47412
  data: string()
@@ -58633,7 +58633,7 @@ ${c}
58633
58633
  return true;
58634
58634
  }
58635
58635
  }
58636
- var LazyVegaComponent = import_react.lazy(() => import("./vega-component-z4WGXPkf.js")), VegaPlugin = class {
58636
+ var LazyVegaComponent = import_react.lazy(() => import("./vega-component-1icm1Ykb.js")), VegaPlugin = class {
58637
58637
  constructor() {
58638
58638
  __publicField(this, "tagName", "marimo-vega");
58639
58639
  __publicField(this, "validator", object({
@@ -58774,7 +58774,7 @@ ${c}
58774
58774
  children: e.children
58775
58775
  });
58776
58776
  }
58777
- }, LazySlidesComponent$1 = import_react.lazy(() => import("./slides-component-CX2JC-Ws.js"));
58777
+ }, LazySlidesComponent$1 = import_react.lazy(() => import("./slides-component-CutG23yD.js"));
58778
58778
  const DownloadPlugin = createPlugin("marimo-download").withData(object({
58779
58779
  data: string(),
58780
58780
  disabled: boolean().default(false),
@@ -58956,7 +58956,7 @@ ${c}
58956
58956
  diagram: e.data.diagram
58957
58957
  });
58958
58958
  }
58959
- }, LazyMermaid = (0, import_react.lazy)(() => import("./mermaid-BZ2YHhbi.js").then(async (m2) => {
58959
+ }, LazyMermaid = (0, import_react.lazy)(() => import("./mermaid-UMKVHs_g.js").then(async (m2) => {
58960
58960
  await m2.__tla;
58961
58961
  return m2;
58962
58962
  })), import_compiler_runtime$18 = require_compiler_runtime();
@@ -65119,7 +65119,7 @@ ${c}
65119
65119
  cells: []
65120
65120
  })
65121
65121
  };
65122
- var import_compiler_runtime$8 = require_compiler_runtime(), LazySlidesComponent = import_react.lazy(() => import("./slides-component-CX2JC-Ws.js"));
65122
+ var import_compiler_runtime$8 = require_compiler_runtime(), LazySlidesComponent = import_react.lazy(() => import("./slides-component-CutG23yD.js"));
65123
65123
  const SlidesLayoutRenderer = (e) => {
65124
65124
  let r = (0, import_compiler_runtime$8.c)(11), { cells: c, mode: d } = e, f = d === "read", h;
65125
65125
  if (r[0] !== c || r[1] !== d) {
@@ -65655,7 +65655,7 @@ ${c}
65655
65655
  return Logger.warn("Failed to get version from mount config"), null;
65656
65656
  }
65657
65657
  }
65658
- const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.1-dev2"), showCodeInRunModeAtom = atom(true);
65658
+ const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.23.1-dev3"), showCodeInRunModeAtom = atom(true);
65659
65659
  atom(null);
65660
65660
  var VIRTUAL_FILE_REGEX = /\/@file\/([^\s"&'/]+)\.([\dA-Za-z]+)/g, VirtualFileTracker = class e {
65661
65661
  constructor() {
@@ -1,15 +1,15 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { g as Logger } from "./button-DNlNlZY_.js";
4
+ import { g as Logger } from "./button-Cn59RsBF.js";
5
5
  import "./react-dom-BSUuJjCR.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
- import "./zod-D18k8Z52.js";
8
- import { n as ErrorBanner } from "./error-banner-DexD-5js.js";
7
+ import "./zod-D4UoCYGu.js";
8
+ import { n as ErrorBanner } from "./error-banner-BQcJXy6k.js";
9
9
  import { t as isEmpty_default } from "./isEmpty-B7FX9wKt.js";
10
- import { n as useTheme } from "./useTheme-CxjbgkRc.js";
10
+ import { n as useTheme } from "./useTheme-ytmywQ5O.js";
11
11
  import { t as purify } from "./purify.es-hTCfRGdl.js";
12
- import { t as useAsyncData } from "./useAsyncData-BG3ULuDU.js";
12
+ import { t as useAsyncData } from "./useAsyncData-BzS3Ai32.js";
13
13
  import { a as decodeEntities, f as isDetailedError, g as utils_default, h as removeDirectives, i as cleanAndMerge, o as encodeEntities } from "./chunk-S3R3BYOJ-B0UOFJwq.js";
14
14
  import { a as setLogLevel, i as log, r as __name, t as select_default } from "./src-DbP20yFZ.js";
15
15
  import { t as package_default } from "./chunk-DR5Q36YT-C40cYcy5.js";
@@ -4,27 +4,27 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
4
4
  import { a as __toCommonJS, n as __esmMin, o as __toDynamicImportESM, r as __export, s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
5
5
  import { t as require_react } from "./react-Bs6Z0kvn.js";
6
6
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
7
- import { r as toast, t as copyToClipboard } from "./copy-BRF7ryOP.js";
7
+ import { r as toast, t as copyToClipboard } from "./copy-DzOz_Au7.js";
8
8
  import { o as xn, s as require_cjs, __tla as __tla_0 } from "./chunk-5FQGJX7Z-C428iZBW.js";
9
- import { a as createPopperScope, i as Root2$3, l as VisuallyHidden, n as Arrow, o as useSize, r as Content$1, t as Anchor, u as createLucideIcon } from "./dist-D56NKWim.js";
10
- import { a as Type, c as Calendar, i as createReducerAndAtoms, o as ToggleLeft, r as Badge, s as Hash, t as useOnMount } from "./useLifecycle-2Vh-WDv6.js";
11
- import { t as Check } from "./check-Cex3x9fD.js";
12
- import { C as logNever, F as createCollection, I as X, N as usePrevious, P as useDirection, R as ChevronDown, S as assertNever, a as SelectContent, c as SelectLabel, d as SelectValue, i as Select, l as SelectSeparator, n as Strings, o as SelectGroup, s as SelectItem, u as SelectTrigger } from "./label-CIR53v8V.js";
13
- import { G as marked, W as useNonce, mt as $f6c31cce2adf654f$export$45712eceda6fad21, q as useDebouncedCallback } from "./input-SSWXiS6n.js";
14
- import { g as CircleQuestionMark, h as isWasm, l as getRuntimeManager, m as Deferred, p as waitForConnectionOpen, t as toDate } from "./toDate-D0QaHNwR.js";
15
- import { c as Objects, d as createSlot, g as Logger, m as useComposedRefs, o as isPlatformMac, r as cva, t as Button, y as cn } from "./button-DNlNlZY_.js";
9
+ import { a as createPopperScope, i as Root2$3, l as VisuallyHidden, n as Arrow, o as useSize, r as Content$1, t as Anchor, u as createLucideIcon } from "./dist-CjLQ79mo.js";
10
+ import { a as Type, c as Calendar, i as createReducerAndAtoms, o as ToggleLeft, r as Badge, s as Hash, t as useOnMount } from "./useLifecycle-B90lJH4p.js";
11
+ import { t as Check } from "./check-C51PA02v.js";
12
+ import { C as logNever, F as createCollection, I as X, N as usePrevious, P as useDirection, R as ChevronDown, S as assertNever, a as SelectContent, c as SelectLabel, d as SelectValue, i as Select, l as SelectSeparator, n as Strings, o as SelectGroup, s as SelectItem, u as SelectTrigger } from "./label-J1N4mVcg.js";
13
+ import { G as marked, W as useNonce, mt as $f6c31cce2adf654f$export$45712eceda6fad21, q as useDebouncedCallback } from "./input-BRN2Mjzx.js";
14
+ import { g as CircleQuestionMark, h as isWasm, l as getRuntimeManager, m as Deferred, p as waitForConnectionOpen, t as toDate } from "./toDate-CfGr2xZ1.js";
15
+ import { c as Objects, d as createSlot, g as Logger, m as useComposedRefs, o as isPlatformMac, r as cva, t as Button, y as cn } from "./button-Cn59RsBF.js";
16
16
  import { t as require_react_dom } from "./react-dom-BSUuJjCR.js";
17
17
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
18
- import { $ as StyleNamespace, B as union, N as number, P as object, R as string, T as boolean, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive, at as FocusScope, ct as Root$1, dt as Presence, et as hideOthers, ft as useControllableState, gt as createContextScope, it as Portal, k as literal, lt as useCallbackRef, mt as composeEventHandlers, ot as Branch, pt as useLayoutEffect2, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId, vt as dispatchDiscreteCustomEvent, w as array } from "./zod-D18k8Z52.js";
19
- import { i as TooltipProvider, t as Tooltip } from "./tooltip-B5EnNyok.js";
20
- import { a as linter, c as historyField, i as forEachDiagnostic, l as insertTab, o as setDiagnostics, s as history, u as CopyClipboardIcon } from "./esm-BGo_Mcdt.js";
18
+ import { $ as StyleNamespace, B as union, N as number, P as object, R as string, T as boolean, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive, at as FocusScope, ct as Root$1, dt as Presence, et as hideOthers, ft as useControllableState, gt as createContextScope, it as Portal, k as literal, lt as useCallbackRef, mt as composeEventHandlers, ot as Branch, pt as useLayoutEffect2, rt as useFocusGuards, st as DismissableLayer, tt as Combination_default, ut as useId, vt as dispatchDiscreteCustomEvent, w as array } from "./zod-D4UoCYGu.js";
19
+ import { i as TooltipProvider, t as Tooltip } from "./tooltip-CygUI9oH.js";
20
+ import { a as linter, c as historyField, i as forEachDiagnostic, l as insertTab, o as setDiagnostics, s as history, u as CopyClipboardIcon } from "./esm-hRljRgfG.js";
21
21
  import { i as debounce_default } from "./constants-CvyfaCvs.js";
22
- import { C as dequal, a as getResolvedMarimoConfig, g as useAtomValue, h as useAtom, i as autoInstantiateAtom, l as createDeepEqualAtom, m as Provider, n as useTheme, p as isIslands, t as resolvedThemeAtom, u as store, y as atom } from "./useTheme-CxjbgkRc.js";
22
+ import { C as dequal, a as getResolvedMarimoConfig, g as useAtomValue, h as useAtom, i as autoInstantiateAtom, l as createDeepEqualAtom, m as Provider, n as useTheme, p as isIslands, t as resolvedThemeAtom, u as store, y as atom } from "./useTheme-ytmywQ5O.js";
23
23
  import { $ as ViewPlugin, At as Prec, B as tags, Dt as EditorState, E as getIndentUnit, Et as EditorSelection, Ft as StateField, I as syntaxTree, It as Text, J as parseMixed, L as unfoldAll, Lt as Transaction, Ot as Facet, Pt as StateEffect, Q as GutterMarker, S as foldInside, Tt as Compartment, Y as Decoration, Z as EditorView, b as foldAll, dt as keymap, f as StreamLanguage, jt as RangeSet, l as LanguageDescription, mt as placeholder, ot as gutter, u as LanguageSupport, ut as hoverTooltip, vt as showPanel, w as foldNodeProp, xt as Annotation, yt as showTooltip } from "./dist-CxZvoNao.js";
24
24
  import { t as invariant } from "./invariant-e8eBgdux.js";
25
25
  import { a as arrayMove, i as arrayInsertMany, l as clamp, n as arrayDelete, r as arrayInsert } from "./arrays-beUWo8RF.js";
26
26
  import { n as once } from "./once-C_TIu-kR.js";
27
- import { t as getIframeCapabilities } from "./capabilities-Coe9eM9T.js";
27
+ import { t as getIframeCapabilities } from "./capabilities-Bml77Di-.js";
28
28
  import { d as snippet, n as acceptCompletion, r as autocompletion, u as insertCompletionText } from "./dist-DGNtjMZu.js";
29
29
  import { t as require_main } from "./main-XimWhSi_.js";
30
30
  import { a as PLSQL, c as SQLite, d as schemaCompletionSource, f as sql, i as MySQL, l as StandardSQL, n as MSSQL, o as PostgreSQL, r as MariaSQL, s as SQLDialect, t as Cassandra, u as keywordCompletionSource } from "./dist-DpkJHKB8.js";
@@ -32,7 +32,7 @@ import { a as markdown, s as markdownLanguage } from "./dist-DbnBiLNH.js";
32
32
  import { a as parser, i as pythonLanguage, n as localCompletionSource, r as python, t as globalCompletion } from "./dist-DAfcmt-d.js";
33
33
  import { n as stexMath } from "./stex-D887Ylhf.js";
34
34
  import { t as purify } from "./purify.es-hTCfRGdl.js";
35
- import { t as useAsyncData } from "./useAsyncData-BG3ULuDU.js";
35
+ import { t as useAsyncData } from "./useAsyncData-BzS3Ai32.js";
36
36
  let createActions$1, singleFacet, MarimoIncomingMessageEvent, Table2, Paths, DotFilledIcon, Columns2, PluralWord, contextToXml, Close$1, isInternalCellName, AccordionContent, Trigger2, MarkdownLanguageAdapter, Accordion, Root2$2, customPythonLanguageSupport, BorderAllIcon, Info, useChromeActions, base64ToDataView, import_lib$1, allTablesAtom, PinRightIcon, CircleAlert, DATA_TYPE_ICON, ChatBubbleIcon, File, repl, extractBase64FromDataURL, convertStatsName, base64ToUint8Array, dataSourceConnectionsAtom, CheckIcon, FileText, adaptForLocalStorage, MarimoValueReadyEvent, NotebookPen, goToCellLine, MarimoValueUpdateEvent, LoaderCircle, DeferredRequestRegistry, AccordionItem, Wrench, createVariableInfoElement, createInputEvent, Layers, generateUUID, cellErrorsAtom, isUninstantiated, ChevronDownIcon, Eye, jotaiJsonStorage, Sections, Anchor2, getValidName, AIContextRegistry, Item, Checkbox, deserializeBlob, Braces, getDataTypeColor, PinLeftIcon, CircleX, PluralWords, base64ToDataURL, esm_default, require_client, safeExtractSetUIElementMessageBuffers, requestClientAtom, isDataURLString, getRequestClient, renderHTML, useRequestClient, useExpandedConsoleOutput, jsonToMarkdown, headingToIdentifier, toPng$1, filenameAtom, useCellActions, getDatasourceContext, atomWithStorage, getCellDomProps, useCellFocusActions, parseInitialValue, createCell, Spinner, SCRATCH_CELL_ID, initialModeAtom, elementContainsMarimoCellFile, getCellEditorView, Popover, UIElementId, kioskModeAtom, isOutputEmpty, jsonParseWithSpecialChar, isErrorMime, PopoverTrigger, RANDOM_ID_ATTR, outputIsStale, PythonIcon, ZodLocalStorage, reducer$1, MarimoValueInputEvent, PaintRoller, moveToEndOfEditor, AccordionTrigger, Trash2, PathBuilder, useLastFocusedCellId, CellOutputId, AnsiUp, PopoverContent, OBJECT_ID_ATTR, outputIsLoading, blobToString, getTracebackInfo, notebookAtom, MarkdownRenderer, parseAttrValue, useCellIds, PopoverClose, findCellId, viewStateAtom, dataViewToBase64, getTableType, filesToBase64, NotebookScopedLocalStorage, notebookOutline, LazyAnyLanguageCodeMirror, parseDataset, useCellNames, processOutput, extractAllTracebackInfo, getCellNames, maybeAddAltairImport, HTMLCellId, getInitialAppMode, useExpandedOutput, jsonToTSV, sanitizeHtml, AIContextProvider, Content2$1, normalizeName, Boosts, selectAtom, displayCellName, DatasourceContextProvider, atomWithReducer, DATA_CELL_ID, ChevronRightIcon, Database, variablesAtom;
37
37
  let __tla = Promise.all([
38
38
  (() => {
@@ -27702,7 +27702,7 @@ ${n.sqlString}
27702
27702
  hasConsoleOutput: (o == null ? void 0 : o.consoleOutputs) != null
27703
27703
  };
27704
27704
  }
27705
- LazyAnyLanguageCodeMirror = (0, import_react.lazy)(() => import("./any-language-editor-BIGc8RUt.js"));
27705
+ LazyAnyLanguageCodeMirror = (0, import_react.lazy)(() => import("./any-language-editor-Caoda-MR.js"));
27706
27706
  var import_compiler_runtime$1 = require_compiler_runtime(), extensions = [
27707
27707
  EditorView.lineWrapping
27708
27708
  ];
@@ -1,9 +1,9 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { l as useEventListener, t as Button, y as cn } from "./button-DNlNlZY_.js";
4
+ import { l as useEventListener, t as Button, y as cn } from "./button-Cn59RsBF.js";
5
5
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
6
- import { t as useIframeCapabilities } from "./useIframeCapabilities-CqhrVue6.js";
6
+ import { t as useIframeCapabilities } from "./useIframeCapabilities---aRgGdv.js";
7
7
  var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1);
8
8
  function isObject$2(t2) {
9
9
  return typeof t2 == "object" && !!t2 && "constructor" in t2 && t2.constructor === Object;
@@ -1,8 +1,8 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
4
- import { s as Hash } from "./useLifecycle-2Vh-WDv6.js";
5
- import { C as logNever, E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "./label-CIR53v8V.js";
3
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
4
+ import { s as Hash } from "./useLifecycle-B90lJH4p.js";
5
+ import { C as logNever, E as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "./label-J1N4mVcg.js";
6
6
  var AlignCenterVertical = createLucideIcon("align-center-vertical", [
7
7
  ["path", {
8
8
  d: "M12 2v20",
@@ -3,10 +3,10 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { t as __commonJSMin } from "./chunk-BNovOVIE.js";
5
5
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
6
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
7
- import { g as Logger } from "./button-DNlNlZY_.js";
6
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
7
+ import { g as Logger } from "./button-Cn59RsBF.js";
8
8
  import { r as KnownQueryParams } from "./constants-CvyfaCvs.js";
9
- import { f as waitFor, p as isIslands, u as store, y as atom } from "./useTheme-CxjbgkRc.js";
9
+ import { f as waitFor, p as isIslands, u as store, y as atom } from "./useTheme-ytmywQ5O.js";
10
10
  var CircleQuestionMark = createLucideIcon("circle-question-mark", [
11
11
  ["circle", {
12
12
  cx: "12",
@@ -1,10 +1,10 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { a as createPopperScope, i as Root2, n as Arrow, r as Content, s as Root, t as Anchor } from "./dist-D56NKWim.js";
5
- import { f as createSlottable, m as useComposedRefs, y as cn } from "./button-DNlNlZY_.js";
4
+ import { a as createPopperScope, i as Root2, n as Arrow, r as Content, s as Root, t as Anchor } from "./dist-CjLQ79mo.js";
5
+ import { f as createSlottable, m as useComposedRefs, y as cn } from "./button-Cn59RsBF.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
- import { $ as StyleNamespace, X as withFullScreenAsRoot, Z as withSmartCollisionBoundary, _t as Primitive, dt as Presence, ft as useControllableState, gt as createContextScope, it as Portal, mt as composeEventHandlers, st as DismissableLayer, ut as useId } from "./zod-D18k8Z52.js";
7
+ import { $ as StyleNamespace, X as withFullScreenAsRoot, Z as withSmartCollisionBoundary, _t as Primitive, dt as Presence, ft as useControllableState, gt as createContextScope, it as Portal, mt as composeEventHandlers, st as DismissableLayer, ut as useId } from "./zod-D4UoCYGu.js";
8
8
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1), import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1), [createTooltipContext, createTooltipScope] = createContextScope("Tooltip", [createPopperScope]), usePopperScope = createPopperScope(), PROVIDER_NAME = "TooltipProvider", DEFAULT_DELAY_DURATION = 700, TOOLTIP_OPEN = "tooltip.open", [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME), TooltipProvider$1 = (t) => {
9
9
  let { __scopeTooltip: j, delayDuration: M = DEFAULT_DELAY_DURATION, skipDelayDuration: N = 300, disableHoverableContent: P = false, children: F } = t, I = import_react.useRef(true), L = import_react.useRef(false), R = import_react.useRef(0);
10
10
  return import_react.useEffect(() => {
@@ -1,8 +1,8 @@
1
1
  import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
5
- import { t as Button } from "./button-DNlNlZY_.js";
4
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
5
+ import { t as Button } from "./button-Cn59RsBF.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
7
  import { n as Constants } from "./constants-CvyfaCvs.js";
8
8
  var Pencil = createLucideIcon("pencil", [["path", {
@@ -1,7 +1,7 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { w as useEvent_default } from "./useTheme-CxjbgkRc.js";
4
+ import { w as useEvent_default } from "./useTheme-ytmywQ5O.js";
5
5
  import { t as invariant } from "./invariant-e8eBgdux.js";
6
6
  var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), Result = {
7
7
  error(e, s) {
@@ -1,11 +1,11 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { t as toDate } from "./toDate-D0QaHNwR.js";
5
- import { r as cva, y as cn } from "./button-DNlNlZY_.js";
4
+ import { t as toDate } from "./toDate-CfGr2xZ1.js";
5
+ import { r as cva, y as cn } from "./button-Cn59RsBF.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
- import { C as dequal } from "./useTheme-CxjbgkRc.js";
8
- import { i as tableFromIPC } from "./loader-Bd1kgLn7.js";
7
+ import { C as dequal } from "./useTheme-ytmywQ5O.js";
8
+ import { i as tableFromIPC } from "./loader-JmfPBSx5.js";
9
9
  function isDate(t) {
10
10
  return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
11
11
  }
@@ -1,7 +1,7 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { t as getIframeCapabilities } from "./capabilities-Coe9eM9T.js";
4
+ import { t as getIframeCapabilities } from "./capabilities-Bml77Di-.js";
5
5
  var import_compiler_runtime = require_compiler_runtime();
6
6
  require_react();
7
7
  function useIframeCapabilities() {
@@ -1,10 +1,10 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { u as createLucideIcon } from "./dist-D56NKWim.js";
5
- import { g as Logger, r as cva, y as cn } from "./button-DNlNlZY_.js";
4
+ import { u as createLucideIcon } from "./dist-CjLQ79mo.js";
5
+ import { g as Logger, r as cva, y as cn } from "./button-Cn59RsBF.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
- import { _ as useSetAtom, y as atom } from "./useTheme-CxjbgkRc.js";
7
+ import { _ as useSetAtom, y as atom } from "./useTheme-ytmywQ5O.js";
8
8
  var Calendar = createLucideIcon("calendar", [
9
9
  ["path", {
10
10
  d: "M8 2v4",
@@ -1,8 +1,8 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { a as OverridingHotkeyProvider, g as Logger, s as resolvePlatform } from "./button-DNlNlZY_.js";
5
- import { A as looseObject, B as union, I as record, N as number, P as object, R as string, T as boolean, b as _enum, w as array } from "./zod-D18k8Z52.js";
4
+ import { a as OverridingHotkeyProvider, g as Logger, s as resolvePlatform } from "./button-Cn59RsBF.js";
5
+ import { A as looseObject, B as union, I as record, N as number, P as object, R as string, T as boolean, b as _enum, w as array } from "./zod-D4UoCYGu.js";
6
6
  import { t as merge_default } from "./merge-CVhG7q_o.js";
7
7
  var import_react = /* @__PURE__ */ __toESM(require_react()), useInsertionEffect = typeof window < "u" ? import_react.useInsertionEffect || import_react.useLayoutEffect : () => {
8
8
  };
@@ -1,20 +1,20 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { c as asRemoteURL, g as CircleQuestionMark } from "./toDate-D0QaHNwR.js";
5
- import { c as Objects, g as Logger, h as Events, y as cn } from "./button-DNlNlZY_.js";
4
+ import { c as asRemoteURL, g as CircleQuestionMark } from "./toDate-CfGr2xZ1.js";
5
+ import { c as Objects, g as Logger, h as Events, y as cn } from "./button-Cn59RsBF.js";
6
6
  import "./react-dom-BSUuJjCR.js";
7
7
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
8
- import "./zod-D18k8Z52.js";
9
- import { n as ErrorBanner } from "./error-banner-DexD-5js.js";
10
- import { t as Tooltip } from "./tooltip-B5EnNyok.js";
8
+ import "./zod-D4UoCYGu.js";
9
+ import { n as ErrorBanner } from "./error-banner-BQcJXy6k.js";
10
+ import { t as Tooltip } from "./tooltip-CygUI9oH.js";
11
11
  import { i as debounce_default } from "./constants-CvyfaCvs.js";
12
- import { n as useTheme, w as useEvent_default } from "./useTheme-CxjbgkRc.js";
12
+ import { n as useTheme, w as useEvent_default } from "./useTheme-ytmywQ5O.js";
13
13
  import { s as uniq } from "./arrays-beUWo8RF.js";
14
- import { a as AlertTitle, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-CkSq3l3_.js";
14
+ import { a as AlertTitle, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-AjORjhpL.js";
15
15
  import { n as formats } from "./vega-loader.browser-DqEcFOPD.js";
16
- import { a as getContainerWidth, n as vegaLoadData, s as tooltipHandler } from "./loader-Bd1kgLn7.js";
17
- import { t as useAsyncData } from "./useAsyncData-BG3ULuDU.js";
16
+ import { a as getContainerWidth, n as vegaLoadData, s as tooltipHandler } from "./loader-JmfPBSx5.js";
17
+ import { t as useAsyncData } from "./useAsyncData-BzS3Ai32.js";
18
18
  import { t as j } from "./react-vega-CzRAIHrv.js";
19
19
  import "./defaultLocale-qS7DaAmi.js";
20
20
  import "./defaultLocale-Bxoo2-30.js";
@@ -1,7 +1,7 @@
1
1
  import { r as __export, s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { d as createSlot, l as useEventListener, m as useComposedRefs } from "./button-DNlNlZY_.js";
4
+ import { d as createSlot, l as useEventListener, m as useComposedRefs } from "./button-Cn59RsBF.js";
5
5
  import { t as require_react_dom } from "./react-dom-BSUuJjCR.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-9hcJiI23.js";
7
7
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1), import_react_dom$1 = /* @__PURE__ */ __toESM(require_react_dom(), 1), import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1), Primitive = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/islands",
3
- "version": "0.23.1-dev2",
3
+ "version": "0.23.1-dev3",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -114,11 +114,10 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
114
114
 
115
115
  const handleKeyPress = React.useCallback(
116
116
  (e: KeyboardEvent) => {
117
- if (!keyboardShortcut) {
117
+ if (!keyboardShortcut || e.defaultPrevented) {
118
118
  return;
119
119
  }
120
120
 
121
- // Ignore keyboard events from input elements
122
121
  if (Events.shouldIgnoreKeyboardEvent(e)) {
123
122
  return;
124
123
  }
@@ -0,0 +1,223 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { describe, expect, test } from "vitest";
4
+ import { Events } from "../events";
5
+
6
+ /**
7
+ * Create a minimal fake event with just a target (no composedPath).
8
+ * Simulates synthetic events from libraries like React Aria.
9
+ */
10
+ function fakeEvent(target: EventTarget): Pick<Event, "target"> {
11
+ return { target };
12
+ }
13
+
14
+ /**
15
+ * Create a fake native-like KeyboardEvent with composedPath() returning
16
+ * a different element than target — the key scenario for shadow DOM
17
+ * retargeting where target is the shadow host but composedPath()[0]
18
+ * is the real focused element inside the shadow root.
19
+ */
20
+ function fakeNativeEvent(
21
+ retargetedHost: EventTarget,
22
+ realTarget: EventTarget,
23
+ ): KeyboardEvent {
24
+ const event = new KeyboardEvent("keydown");
25
+ Object.defineProperty(event, "target", { value: retargetedHost });
26
+ Object.defineProperty(event, "composedPath", {
27
+ value: () => [realTarget, retargetedHost, document.body, document],
28
+ });
29
+ return event;
30
+ }
31
+
32
+ describe("Events.composedTarget", () => {
33
+ test("returns composedPath()[0] for native events", () => {
34
+ const input = document.createElement("input");
35
+ const host = document.createElement("div");
36
+ const event = fakeNativeEvent(host, input);
37
+
38
+ expect(Events.composedTarget(event)).toBe(input);
39
+ });
40
+
41
+ test("falls back to e.target when composedPath is absent", () => {
42
+ const div = document.createElement("div");
43
+ const event = fakeEvent(div);
44
+
45
+ expect(Events.composedTarget(event)).toBe(div);
46
+ });
47
+
48
+ test("falls back to e.target when composedPath returns empty array", () => {
49
+ const div = document.createElement("div");
50
+ const event = new KeyboardEvent("keydown");
51
+ Object.defineProperty(event, "target", { value: div });
52
+ Object.defineProperty(event, "composedPath", { value: () => [] });
53
+
54
+ expect(Events.composedTarget(event)).toBe(div);
55
+ });
56
+ });
57
+
58
+ describe("Events.shouldIgnoreKeyboardEvent", () => {
59
+ test("ignores events from <input>", () => {
60
+ const input = document.createElement("input");
61
+ const event = fakeNativeEvent(input, input);
62
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
63
+ });
64
+
65
+ test("ignores events from <textarea>", () => {
66
+ const textarea = document.createElement("textarea");
67
+ const event = fakeNativeEvent(textarea, textarea);
68
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
69
+ });
70
+
71
+ test("ignores events from <select>", () => {
72
+ const select = document.createElement("select");
73
+ const event = fakeNativeEvent(select, select);
74
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
75
+ });
76
+
77
+ test("ignores events from <button>", () => {
78
+ const button = document.createElement("button");
79
+ const event = fakeNativeEvent(button, button);
80
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
81
+ });
82
+
83
+ test("ignores events from contentEditable elements", () => {
84
+ const div = document.createElement("div");
85
+ div.setAttribute("contenteditable", "true");
86
+ document.body.append(div);
87
+
88
+ const event = fakeNativeEvent(div, div);
89
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
90
+
91
+ div.remove();
92
+ });
93
+
94
+ test("ignores events from elements with role='textbox'", () => {
95
+ const container = document.createElement("div");
96
+ container.setAttribute("role", "textbox");
97
+ const child = document.createElement("span");
98
+ container.append(child);
99
+ document.body.append(container);
100
+
101
+ const event = fakeNativeEvent(child, child);
102
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
103
+
104
+ container.remove();
105
+ });
106
+
107
+ test("ignores events from inside .cm-editor", () => {
108
+ const editor = document.createElement("div");
109
+ editor.className = "cm-editor";
110
+ const line = document.createElement("div");
111
+ editor.append(line);
112
+ document.body.append(editor);
113
+
114
+ const event = fakeNativeEvent(line, line);
115
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
116
+
117
+ editor.remove();
118
+ });
119
+
120
+ test("does NOT ignore events from a plain <div>", () => {
121
+ const div = document.createElement("div");
122
+ const event = fakeNativeEvent(div, div);
123
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(false);
124
+ });
125
+
126
+ describe("shadow DOM retargeting (#4230)", () => {
127
+ test("ignores keydown when real target inside shadow root is <input>", () => {
128
+ const host = document.createElement("marimo-text");
129
+ const input = document.createElement("input");
130
+ // event.target is the shadow host, composedPath()[0] is the real input
131
+ const event = fakeNativeEvent(host, input);
132
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
133
+ });
134
+
135
+ test("ignores keydown when real target inside shadow root is <textarea>", () => {
136
+ const host = document.createElement("marimo-text-area");
137
+ const textarea = document.createElement("textarea");
138
+ const event = fakeNativeEvent(host, textarea);
139
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
140
+ });
141
+
142
+ test("ignores keydown when real target inside shadow root is <select>", () => {
143
+ const host = document.createElement("marimo-dropdown");
144
+ const select = document.createElement("select");
145
+ const event = fakeNativeEvent(host, select);
146
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(true);
147
+ });
148
+
149
+ test("does NOT ignore when shadow DOM real target is a plain <div>", () => {
150
+ const host = document.createElement("marimo-output");
151
+ const div = document.createElement("div");
152
+ const event = fakeNativeEvent(host, div);
153
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(false);
154
+ });
155
+ });
156
+
157
+ test("does NOT ignore events from non-marimo custom elements", () => {
158
+ const el = document.createElement("sl-input");
159
+ const event = fakeNativeEvent(el, el);
160
+ expect(Events.shouldIgnoreKeyboardEvent(event)).toBe(false);
161
+ });
162
+ });
163
+
164
+ describe("Events.fromInput", () => {
165
+ test("returns true for <input>", () => {
166
+ const input = document.createElement("input");
167
+ expect(Events.fromInput(fakeEvent(input))).toBe(true);
168
+ });
169
+
170
+ test("returns true for <textarea>", () => {
171
+ const textarea = document.createElement("textarea");
172
+ expect(Events.fromInput(fakeEvent(textarea))).toBe(true);
173
+ });
174
+
175
+ test("returns true for marimo custom elements", () => {
176
+ const el = document.createElement("marimo-slider");
177
+ expect(Events.fromInput(fakeEvent(el))).toBe(true);
178
+ });
179
+
180
+ // jsdom does not implement isContentEditable, so this is tested
181
+ // via shouldIgnoreKeyboardEvent which has a closest() fallback.
182
+ test.skip("returns true for contentEditable", () => {
183
+ const div = document.createElement("div");
184
+ div.setAttribute("contenteditable", "true");
185
+ document.body.append(div);
186
+
187
+ expect(Events.fromInput(fakeEvent(div))).toBe(true);
188
+
189
+ div.remove();
190
+ });
191
+
192
+ test("returns false for plain <div>", () => {
193
+ const div = document.createElement("div");
194
+ expect(Events.fromInput(fakeEvent(div))).toBe(false);
195
+ });
196
+
197
+ test("uses composedPath when available (shadow DOM)", () => {
198
+ const host = document.createElement("div");
199
+ const input = document.createElement("input");
200
+ const event = fakeNativeEvent(host, input);
201
+ expect(Events.fromInput(event)).toBe(true);
202
+ });
203
+ });
204
+
205
+ describe("Events.fromCodeMirror", () => {
206
+ test("returns true when target is inside .cm-editor", () => {
207
+ const editor = document.createElement("div");
208
+ editor.className = "cm-editor";
209
+ const line = document.createElement("div");
210
+ editor.append(line);
211
+ document.body.append(editor);
212
+
213
+ expect(Events.fromCodeMirror(line)).toBe(true);
214
+ editor.remove();
215
+ });
216
+
217
+ test("returns false when target is not inside .cm-editor", () => {
218
+ const div = document.createElement("div");
219
+ document.body.append(div);
220
+ expect(Events.fromCodeMirror(div)).toBe(false);
221
+ div.remove();
222
+ });
223
+ });
@@ -37,21 +37,20 @@ export const Events = {
37
37
  * Returns true if the event is coming from a text input
38
38
  */
39
39
  fromInput: (e: Pick<KeyboardEvent, "target">) => {
40
- const target = e.target as HTMLElement;
40
+ const target = Events.composedTarget(e);
41
41
  return (
42
42
  target.tagName === "INPUT" ||
43
43
  target.tagName === "TEXTAREA" ||
44
44
  target.tagName.startsWith("MARIMO") ||
45
45
  target.isContentEditable ||
46
- Events.fromCodeMirror(e)
46
+ Events.fromCodeMirror(target)
47
47
  );
48
48
  },
49
49
 
50
50
  /**
51
51
  * Returns true if the event is coming from a code editor.
52
52
  */
53
- fromCodeMirror: (e: Pick<KeyboardEvent, "target">) => {
54
- const target = e.target as HTMLElement;
53
+ fromCodeMirror: (target: HTMLElement) => {
55
54
  return target.closest(".cm-editor") !== null;
56
55
  },
57
56
 
@@ -60,20 +59,35 @@ export const Events = {
60
59
  * form element or code editor.
61
60
  */
62
61
  shouldIgnoreKeyboardEvent(e: KeyboardEvent) {
63
- // Check for common form elements where keyboard shortcuts should be ignored
62
+ const target = Events.composedTarget(e);
64
63
  return (
65
- e.target instanceof HTMLInputElement ||
66
- e.target instanceof HTMLTextAreaElement ||
67
- e.target instanceof HTMLSelectElement ||
68
- (e.target instanceof HTMLElement &&
69
- (e.target.isContentEditable ||
70
- e.target.tagName === "BUTTON" ||
71
- e.target.closest("[role='textbox']") !== null ||
72
- e.target.closest("[contenteditable='true']") !== null ||
73
- e.target.closest(".cm-editor") !== null)) // Add check for CodeMirror editor
64
+ target instanceof HTMLInputElement ||
65
+ target instanceof HTMLTextAreaElement ||
66
+ target instanceof HTMLSelectElement ||
67
+ (target instanceof HTMLElement &&
68
+ (target.isContentEditable ||
69
+ target.tagName === "BUTTON" ||
70
+ target.closest("[role='textbox']") !== null ||
71
+ target.closest("[contenteditable='true']") !== null ||
72
+ Events.fromCodeMirror(target)))
74
73
  );
75
74
  },
76
75
 
76
+ /**
77
+ * Resolve the real event target, piercing shadow DOM retargeting.
78
+ * Falls back to e.target for synthetic events (e.g. React Aria)
79
+ * that don't expose composedPath.
80
+ *
81
+ * Without this, e.target is the shadow host (e.g. <marimo-text>) rather than the
82
+ * real <input> inside it, so instanceof checks fail. (#4230)
83
+ */
84
+ composedTarget(e: Pick<Event, "target">): HTMLElement {
85
+ if ("composedPath" in e && typeof e.composedPath === "function") {
86
+ return (e.composedPath()[0] ?? e.target) as HTMLElement;
87
+ }
88
+ return e.target as HTMLElement;
89
+ },
90
+
77
91
  hasModifier: (
78
92
  e: Pick<KeyboardEvent, "ctrlKey" | "metaKey" | "altKey" | "shiftKey">,
79
93
  ) => {