@marimo-team/islands 0.23.4-dev0 → 0.23.4-dev10

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.
@@ -6,18 +6,18 @@ import { _ as Logger, c as Objects, g as cn, h as Events, m as useComposedRefs,
6
6
  import { t as require_react } from "./react-DA-nE2FX.js";
7
7
  import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
8
8
  import { n as Copy, r as toast, t as copyToClipboard } from "./copy-TGGAUEWp.js";
9
- import { $ as useCellActions, $t as getTracebackInfo, A as ChevronRightIcon, Bn as import_lib, C as AccordionContent, Ft as jotaiJsonStorage, I as base64ToUint8Array, Jt as useRequestClient, Kt as getRequestClient, Lt as PluralWord, M as PinLeftIcon, Mn as FileText, Mt as useChromeActions, N as PinRightIcon, O as CheckIcon, On as NotebookPen, Pt as adaptForLocalStorage, Qt as extractAllTracebackInfo, R as extractBase64FromDataURL, Rn as Braces, S as Accordion, St as Checkbox, T as AccordionTrigger, Tn as Wrench, V as renderHTML, Y as notebookAtom, Zt as elementContainsMarimoCellFile, _n as atomWithStorage, _t as getCellDomProps, at as AnsiUp, bn as Close$1, c as Popover, cn as SCRATCH_CELL_ID, d as PopoverTrigger, dt as outputIsLoading, et as useCellIds, g as getDatasourceContext, gt as DATA_CELL_ID, hn as jsonToTSV, ht as sanitizeHtml, j as DotFilledIcon, kn as LoaderCircle, kt as goToCellLine, l as PopoverClose$1, lt as useInstallAllowed, m as useExpandedOutput, mn as jsonToMarkdown, n as MarkdownRenderer, nn as filenameAtom, on as CellOutputId, pn as jsonParseWithSpecialChar, q as getCellEditorView, s as Spinner, sn as HTMLCellId, t as toPng, tt as useCellNames, u as PopoverContent, ut as viewStateAtom, vt as displayCellName, w as AccordionItem, z as isDataURLString, zn as esm_default, zt as DATA_TYPE_ICON, __tla as __tla_0 } from "./html-to-image-DBosi5GK.js";
9
+ import { $ as useCellActions, $t as getTracebackInfo, A as ChevronRightIcon, An as Minus, Bn as Braces, C as AccordionContent, En as Trash2, Ft as jotaiJsonStorage, Hn as import_lib, I as base64ToUint8Array, Jt as useRequestClient, Kt as getRequestClient, Lt as PluralWord, M as PinLeftIcon, Mt as useChromeActions, N as PinRightIcon, O as CheckIcon, Pn as FileText, Pt as adaptForLocalStorage, Qt as extractAllTracebackInfo, R as extractBase64FromDataURL, Rn as CircleX, S as Accordion, St as Checkbox, T as AccordionTrigger, Tn as Wrench, V as renderHTML, Vn as esm_default, Y as notebookAtom, Zt as elementContainsMarimoCellFile, _n as atomWithStorage, _t as getCellDomProps, at as AnsiUp, bn as Close$1, c as Popover, cn as SCRATCH_CELL_ID, d as PopoverTrigger, dt as outputIsLoading, et as useCellIds, g as getDatasourceContext, gt as DATA_CELL_ID, hn as jsonToTSV, ht as sanitizeHtml, j as DotFilledIcon, jn as LoaderCircle, kn as NotebookPen, kt as goToCellLine, l as PopoverClose$1, lt as useInstallAllowed, m as useExpandedOutput, mn as jsonToMarkdown, n as MarkdownRenderer, nn as filenameAtom, on as CellOutputId, pn as jsonParseWithSpecialChar, q as getCellEditorView, s as Spinner, sn as HTMLCellId, t as toPng, tt as useCellNames, u as PopoverContent, ut as viewStateAtom, vt as displayCellName, w as AccordionItem, z as isDataURLString, zt as DATA_TYPE_ICON, __tla as __tla_0 } from "./html-to-image-CzFE0Irw.js";
10
10
  import { o as useSize, u as createLucideIcon } from "./dist-ESg7xyoD.js";
11
11
  import { i as createReducerAndAtoms, r as Badge } from "./useLifecycle-smVfjLNI.js";
12
12
  import { a as ListFilter, i as Table$1, o as ChartPie, t as $896ba0a80a8f4d36$export$85fd5fdf27bacc79 } from "./useDateFormatter-B3mCQMP3.js";
13
13
  import { t as Check } from "./check-CFM2mVDr.js";
14
14
  import { C as $a916eb452884faea$export$b7a616150fdb9f44, F as X, L as ChevronDown, M as usePrevious$1, N as useDirection, S as logNever, T as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, _ as menuItemVariants, b as menuSubTriggerVariants, c as SelectSeparator, g as menuControlVariants, h as menuControlCheckVariants, i as SelectContent, l as SelectTrigger, m as menuContentCommon, n as capitalize, o as SelectItem, p as MENU_ITEM_DISABLED, r as Select, t as Strings, u as SelectValue, v as menuLabelVariants, x as assertNever, y as menuSeparatorVariants } from "./strings-B_FOH6eV.js";
15
- import { $t as Portal, G as marked, Gt as Anchor2, Jt as Content2$1, Kt as Arrow2, Qt as Label, Xt as Item2$2, Yt as Group, Zt as ItemIndicator, _ as DropdownMenuSub, a as NumberField, an as SubContent, b as DropdownMenuTrigger, c as prettyNumber, cn as Item, d as DropdownMenuContent, dn as Search, en as RadioGroup$2, fn as Circle, g as DropdownMenuSeparator, h as DropdownMenuPortal, in as Sub, l as prettyScientificNumber, ln as Root$1, m as DropdownMenuLabel, nn as Root3, o as maxFractionalDigits, on as SubTrigger, p as DropdownMenuItem, pn as ChevronRight, qt as CheckboxItem, r as Input, rn as Separator, s as prettyEngineeringNumber, sn as createMenuScope, tn as RadioItem, u as DropdownMenu, un as createRovingFocusGroupScope, v as DropdownMenuSubContent, y as DropdownMenuSubTrigger } from "./input-Drx1pguW.js";
15
+ import { $t as Portal, G as marked, Gt as Anchor2, Jt as Content2$1, Kt as Arrow2, Qt as Label, Xt as Item2$2, Yt as Group, Zt as ItemIndicator, _ as DropdownMenuSub, a as NumberField, an as SubContent, b as DropdownMenuTrigger, c as prettyNumber, cn as Item, d as DropdownMenuContent, dn as Search, en as RadioGroup$2, fn as Circle, g as DropdownMenuSeparator, h as DropdownMenuPortal, in as Sub, l as prettyScientificNumber, ln as Root$1, m as DropdownMenuLabel, nn as Root3, o as maxFractionalDigits, on as SubTrigger, p as DropdownMenuItem, pn as ChevronRight, qt as CheckboxItem, r as Input, rn as Separator$1, s as prettyEngineeringNumber, sn as createMenuScope, tn as RadioItem, u as DropdownMenu, un as createRovingFocusGroupScope, v as DropdownMenuSubContent, y as DropdownMenuSubTrigger } from "./input-Drx1pguW.js";
16
16
  import { a as millisecondsInMinute, c as asRemoteURL, d as isUrl, h as isWasm, i as millisecondsInHour, n as constructFrom, o as millisecondsInSecond, r as millisecondsInDay, s as millisecondsInWeek, t as toDate } from "./toDate-yqOcZ_tY.js";
17
17
  import { n as clsx_default } from "./clsx-CyyyQ8Ue.js";
18
18
  import { t as require_react_dom } from "./react-dom-BWRJ_g_k.js";
19
19
  import { t as require_jsx_runtime } from "./jsx-runtime-COBk7ree.js";
20
- import { $ as StyleNamespace, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive$1, dt as Presence, ft as useControllableState, gt as createContextScope, lt as useCallbackRef, mt as composeEventHandlers, ut as useId$1 } from "./zod-BxdsqRPd.js";
20
+ import { $ as StyleNamespace, X as withFullScreenAsRoot, Y as MAX_HEIGHT_OFFSET, Z as withSmartCollisionBoundary, _t as Primitive$1, dt as Presence, ft as useControllableState, gt as createContextScope, lt as useCallbackRef, mt as composeEventHandlers, ut as useId$2 } from "./zod-BxdsqRPd.js";
21
21
  import { a as Content$1, c as Root$2, i as prettyError, n as ErrorBanner, o as Overlay, s as Portal$1, t as Banner } from "./error-banner-DnBPzEWg.js";
22
22
  import { t as Tooltip } from "./tooltip-B0mtKTXm.js";
23
23
  import { f as CopyClipboardIcon, t as _extends } from "./extends-CzJgxo2J.js";
@@ -34,7 +34,7 @@ import { n as formats } from "./vega-loader.browser-3_z8GoFC.js";
34
34
  import { a as getContainerWidth, n as vegaLoadData, r as createBatchedLoader, s as tooltipHandler, t as parseCsvData } from "./loader-BvW0-YWZ.js";
35
35
  import { t as useIframeCapabilities } from "./useIframeCapabilities-DbdLoEDm.js";
36
36
  import { t as useAsyncData } from "./useAsyncData-CKYzhCis.js";
37
- let toFieldTypes, Fill, Download, inferFieldTypes, contextAwarePanelOpen, isStaticNotebook, SlotNames, EyeOff, isCellAwareAtom, Funnel, TableHead, ChevronLeft, useIntersectionObserver, ColumnChartContext, TableHeader, ArrowDownWideNarrow, loadTableAndRawData, usePrevious, TableRow, Table, ChevronsRight, TableBody, ChevronsLeft, slotsController, Expand, TableCell, ChevronsDownUp, TOO_MANY_ROWS, NAMELESS_COLUMN_PREFIX, PANEL_TYPES, getStaticVirtualFiles, contextAwarePanelType, GripHorizontal, ColumnChartSpecModel, renderCellValue, DelayMount, INDEX_COLUMN_NAME, loadTableData, SELECT_COLUMN_ID, Filenames, useOverflowDetection, Slide, CommandItem, useInternalStateWithSync, HtmlOutput, JsonOutput, Maps, DataTable, TabsList, getMimeValues, InstallPackageButton, TabsTrigger, downloadHTMLAsImage, LazyVegaEmbed, downloadByURL, ChartLoadingState, SlideSidebar, CommandInput, Provider$1, ChevronsUpDown, Toggle, Ellipsis, OutputArea, Tabs, downloadBlob, ChartInfoState, DEFAULT_SLIDE_TYPE, Command, RadioGroup, CommandList, ADD_PRINTING_CLASS, ChartErrorState, getPageIndexForRow, SLIDE_TYPE_OPTIONS_BY_VALUE, CommandEmpty, RadioGroupItem, CommandSeparator, DEFAULT_DECK_TRANSITION, filtersToFilterGroup, OutputRenderer, TabsContent, prettifyRowColumnCount, RenderTextWithLinks, contextAwarePanelOwner, TextWrap, ContextAwarePanelItem, EmotionCacheProvider, prettifyRowCount, Kbd, generateColumns;
37
+ let INDEX_COLUMN_NAME, slotsController, Expand, NAMELESS_COLUMN_PREFIX, ContextAwarePanelItem, EmotionCacheProvider, contextAwarePanelType, GripHorizontal, contextAwarePanelOwner, TextWrap, TableBody, ChevronsLeft, ColumnChartSpecModel, inferFieldTypes, TableCell, ChevronsDownUp, usePrevious, DelayMount, TableHead, ChevronLeft, Fill, Download, Provider$1, ChevronsUpDown, isCellAwareAtom, Funnel, Table, ChevronsRight, loadTableData, TableHeader, ArrowDownWideNarrow, ComboboxItem, HtmlOutput, contextAwarePanelOpen, isStaticNotebook, renderCellValue, generateColumns, ColumnChartContext, getPageIndexForRow, filtersToFilterGroup, loadTableAndRawData, Filenames, ChartLoadingState, Slide, CommandEmpty, useInternalStateWithSync, RenderTextWithLinks, JsonOutput, CommandList, DataTable, Tabs, SELECT_COLUMN_ID, InstallPackageButton, TabsContent, downloadHTMLAsImage, ChartInfoState, downloadByURL, ChartErrorState, SlideSidebar, Command, Toggle, Ellipsis, SlotNames, EyeOff, OutputArea, CommandSeparator, downloadBlob, TabsTrigger, DEFAULT_SLIDE_TYPE, toFieldTypes, RadioGroup, CommandInput, ADD_PRINTING_CLASS, TabsList, useIntersectionObserver, SLIDE_TYPE_OPTIONS_BY_VALUE, getMimeValues, RadioGroupItem, CommandItem, DEFAULT_DECK_TRANSITION, TOO_MANY_ROWS, OutputRenderer, Maps, prettifyRowColumnCount, LazyVegaEmbed, PANEL_TYPES, getStaticVirtualFiles, Combobox, Kbd, prettifyRowCount, useOverflowDetection, TableRow;
38
38
  let __tla = Promise.all([
39
39
  (() => {
40
40
  try {
@@ -44,7 +44,7 @@ let __tla = Promise.all([
44
44
  })()
45
45
  ]).then(async () => {
46
46
  var _a;
47
- let ArrowUpNarrowWide, BrickWall, BugPlay, ChartSpline, Cookie, ExternalLink, FunnelPlus, FunnelX, LayoutTemplate, ListFilterPlus, MessageCircle, Minus, Package, PanelRightClose, PanelRightOpen, PanelRight, PinOff, Rows2, Sparkles, SquareArrowOutUpRight, SquareStack, Terminal, TextAlignJustify, TextAlignStart, require_use_sync_external_store_shim_production, require_shim, import_react, import_jsx_runtime, CONTEXT_MENU_NAME, createContextMenuContext, createContextMenuScope, useMenuScope, ContextMenuProvider, useContextMenuContext, ContextMenu$1;
47
+ let ArrowUpNarrowWide, BrickWall, BugPlay, ChartSpline, Cookie, ExternalLink, FunnelPlus, FunnelX, LayoutTemplate, ListFilterPlus, MessageCircle, Package, PanelRightClose, PanelRightOpen, PanelRight, PinOff, Rows2, Sparkles, SquareArrowOutUpRight, SquareStack, Terminal, TextAlignJustify, TextAlignStart, require_use_sync_external_store_shim_production, require_shim, import_react, import_jsx_runtime, CONTEXT_MENU_NAME, createContextMenuContext, createContextMenuScope, useMenuScope, ContextMenuProvider, useContextMenuContext, ContextMenu$1;
48
48
  ArrowDownWideNarrow = createLucideIcon("arrow-down-wide-narrow", [
49
49
  [
50
50
  "path",
@@ -734,15 +734,6 @@ let __tla = Promise.all([
734
734
  }
735
735
  ]
736
736
  ]);
737
- Minus = createLucideIcon("minus", [
738
- [
739
- "path",
740
- {
741
- d: "M5 12h14",
742
- key: "1ays0h"
743
- }
744
- ]
745
- ]);
746
737
  Package = createLucideIcon("package", [
747
738
  [
748
739
  "path",
@@ -1304,7 +1295,7 @@ let __tla = Promise.all([
1304
1295
  ContextMenuItemIndicator.displayName = INDICATOR_NAME$1;
1305
1296
  var SEPARATOR_NAME = "ContextMenuSeparator", ContextMenuSeparator$1 = import_react.forwardRef((e, t) => {
1306
1297
  let { __scopeContextMenu: n, ...i } = e, a = useMenuScope(n);
1307
- return (0, import_jsx_runtime.jsx)(Separator, {
1298
+ return (0, import_jsx_runtime.jsx)(Separator$1, {
1308
1299
  ...a,
1309
1300
  ...i,
1310
1301
  ref: t
@@ -1547,7 +1538,7 @@ let __tla = Promise.all([
1547
1538
  });
1548
1539
  return (0, import_jsx_runtime.jsx)(TabsProvider, {
1549
1540
  scope: n,
1550
- baseId: useId$1(),
1541
+ baseId: useId$2(),
1551
1542
  value: _,
1552
1543
  onValueChange: v,
1553
1544
  orientation: s,
@@ -5558,9 +5549,9 @@ let __tla = Promise.all([
5558
5549
  t,
5559
5550
  i.name
5560
5551
  ]), null;
5561
- }), import_compiler_runtime$47 = require_compiler_runtime();
5552
+ }), import_compiler_runtime$48 = require_compiler_runtime();
5562
5553
  EmotionCacheProvider = (e) => {
5563
- let t = (0, import_compiler_runtime$47.c)(6), { container: n, children: i } = e, a;
5554
+ let t = (0, import_compiler_runtime$48.c)(6), { container: n, children: i } = e, a;
5564
5555
  bb0: {
5565
5556
  if (!n) {
5566
5557
  let e3;
@@ -7059,7 +7050,7 @@ let __tla = Promise.all([
7059
7050
  var maybeReactUseId = {
7060
7051
  ...import_react
7061
7052
  }.useId;
7062
- function useId$2(e) {
7053
+ function useId$3(e) {
7063
7054
  if (maybeReactUseId !== void 0) {
7064
7055
  let t = maybeReactUseId();
7065
7056
  return e ?? t;
@@ -7164,7 +7155,7 @@ let __tla = Promise.all([
7164
7155
  }
7165
7156
  var DefaultPropsProvider_default = DefaultPropsProvider;
7166
7157
  function useLayerOrder(e) {
7167
- let t = useThemeWithoutDefault_default(), n = useId$2() || "", { modularCssLayers: i } = e, a = "mui.global, mui.components, mui.theme, mui.custom, mui.sx";
7158
+ let t = useThemeWithoutDefault_default(), n = useId$3() || "", { modularCssLayers: i } = e, a = "mui.global, mui.components, mui.theme, mui.custom, mui.sx";
7168
7159
  return a = !i || t !== null ? "" : typeof i == "string" ? i.replace(/mui(?!\.)/g, a) : `@layer ${a};`, useEnhancedEffect_default(() => {
7169
7160
  var _a2, _b;
7170
7161
  let e2 = document.querySelector("head");
@@ -7473,33 +7464,33 @@ try {
7473
7464
  }, f = import_react.createContext(void 0), h = () => import_react.useContext(f) || d, _ = {}, v = {};
7474
7465
  function y(e2) {
7475
7466
  var _a2, _b, _c, _d;
7476
- let { children: d2, theme: h2, modeStorageKey: y2 = i, colorSchemeStorageKey: S2 = a, disableTransitionOnChange: w2 = o, storageManager: E, storageWindow: O = typeof window > "u" ? void 0 : window, documentNode: A = typeof document > "u" ? void 0 : document, colorSchemeNode: M = typeof document > "u" ? void 0 : document.documentElement, disableNestedContext: I = false, disableStyleSheetGeneration: z = false, defaultMode: U = "system", noSsr: K } = e2, q = import_react.useRef(false), J = useTheme$2(), Q = import_react.useContext(f), vM = !!Q && !I, $ = import_react.useMemo(() => h2 || (typeof n == "function" ? n() : n), [
7467
+ let { children: d2, theme: h2, modeStorageKey: y2 = i, colorSchemeStorageKey: S2 = a, disableTransitionOnChange: w2 = o, storageManager: E, storageWindow: O = typeof window > "u" ? void 0 : window, documentNode: A = typeof document > "u" ? void 0 : document, colorSchemeNode: M = typeof document > "u" ? void 0 : document.documentElement, disableNestedContext: I = false, disableStyleSheetGeneration: z = false, defaultMode: U = "system", noSsr: K } = e2, q = import_react.useRef(false), J = useTheme$2(), Q = import_react.useContext(f), BM = !!Q && !I, $ = import_react.useMemo(() => h2 || (typeof n == "function" ? n() : n), [
7477
7468
  h2
7478
- ]), yM = $[t], bM = yM || $, { colorSchemes: xM = _, components: SM = v, cssVarPrefix: CM } = bM, wM = Object.keys(xM).filter((e3) => !!xM[e3]).join(","), TM = import_react.useMemo(() => wM.split(","), [
7479
- wM
7480
- ]), EM = typeof s == "string" ? s : s.light, DM = typeof s == "string" ? s : s.dark, { mode: OM, setMode: kM, systemMode: AM, lightColorScheme: jM, darkColorScheme: MM, colorScheme: NM, setColorScheme: PM } = useCurrentColorScheme({
7481
- supportedColorSchemes: TM,
7482
- defaultLightColorScheme: EM,
7483
- defaultDarkColorScheme: DM,
7469
+ ]), VM = $[t], HM = VM || $, { colorSchemes: UM = _, components: WM = v, cssVarPrefix: GM } = HM, KM = Object.keys(UM).filter((e3) => !!UM[e3]).join(","), qM = import_react.useMemo(() => KM.split(","), [
7470
+ KM
7471
+ ]), JM = typeof s == "string" ? s : s.light, YM = typeof s == "string" ? s : s.dark, { mode: XM, setMode: ZM, systemMode: QM, lightColorScheme: $M, darkColorScheme: eN, colorScheme: tN, setColorScheme: nN } = useCurrentColorScheme({
7472
+ supportedColorSchemes: qM,
7473
+ defaultLightColorScheme: JM,
7474
+ defaultDarkColorScheme: YM,
7484
7475
  modeStorageKey: y2,
7485
7476
  colorSchemeStorageKey: S2,
7486
- defaultMode: xM[EM] && xM[DM] ? U : ((_b = (_a2 = xM[bM.defaultColorScheme]) == null ? void 0 : _a2.palette) == null ? void 0 : _b.mode) || ((_c = bM.palette) == null ? void 0 : _c.mode),
7477
+ defaultMode: UM[JM] && UM[YM] ? U : ((_b = (_a2 = UM[HM.defaultColorScheme]) == null ? void 0 : _a2.palette) == null ? void 0 : _b.mode) || ((_c = HM.palette) == null ? void 0 : _c.mode),
7487
7478
  storageManager: E,
7488
7479
  storageWindow: O,
7489
7480
  noSsr: K
7490
- }), FM = OM, IM = NM;
7491
- vM && (FM = Q.mode, IM = Q.colorScheme);
7492
- let LM = import_react.useMemo(() => {
7481
+ }), rN = XM, iN = tN;
7482
+ BM && (rN = Q.mode, iN = Q.colorScheme);
7483
+ let aN = import_react.useMemo(() => {
7493
7484
  var _a3;
7494
- let e3 = IM || bM.defaultColorScheme, t2 = ((_a3 = bM.generateThemeVars) == null ? void 0 : _a3.call(bM)) || bM.vars, n2 = {
7495
- ...bM,
7496
- components: SM,
7497
- colorSchemes: xM,
7498
- cssVarPrefix: CM,
7485
+ let e3 = iN || HM.defaultColorScheme, t2 = ((_a3 = HM.generateThemeVars) == null ? void 0 : _a3.call(HM)) || HM.vars, n2 = {
7486
+ ...HM,
7487
+ components: WM,
7488
+ colorSchemes: UM,
7489
+ cssVarPrefix: GM,
7499
7490
  vars: t2
7500
7491
  };
7501
7492
  if (typeof n2.generateSpacing == "function" && (n2.spacing = n2.generateSpacing()), e3) {
7502
- let t3 = xM[e3];
7493
+ let t3 = UM[e3];
7503
7494
  t3 && typeof t3 == "object" && Object.keys(t3).forEach((e4) => {
7504
7495
  t3[e4] && typeof t3[e4] == "object" ? n2[e4] = {
7505
7496
  ...n2[e4],
@@ -7509,31 +7500,31 @@ try {
7509
7500
  }
7510
7501
  return c ? c(n2) : n2;
7511
7502
  }, [
7512
- bM,
7513
- IM,
7514
- SM,
7515
- xM,
7516
- CM
7517
- ]), RM = bM.colorSchemeSelector;
7503
+ HM,
7504
+ iN,
7505
+ WM,
7506
+ UM,
7507
+ GM
7508
+ ]), oN = HM.colorSchemeSelector;
7518
7509
  useEnhancedEffect_default(() => {
7519
- if (IM && M && RM && RM !== "media") {
7520
- let e3 = RM, t2 = RM;
7521
- if (e3 === "class" && (t2 = ".%s"), e3 === "data" && (t2 = "[data-%s]"), (e3 == null ? void 0 : e3.startsWith("data-")) && !e3.includes("%s") && (t2 = `[${e3}="%s"]`), t2.startsWith(".")) M.classList.remove(...TM.map((e4) => t2.substring(1).replace("%s", e4))), M.classList.add(t2.substring(1).replace("%s", IM));
7510
+ if (iN && M && oN && oN !== "media") {
7511
+ let e3 = oN, t2 = oN;
7512
+ if (e3 === "class" && (t2 = ".%s"), e3 === "data" && (t2 = "[data-%s]"), (e3 == null ? void 0 : e3.startsWith("data-")) && !e3.includes("%s") && (t2 = `[${e3}="%s"]`), t2.startsWith(".")) M.classList.remove(...qM.map((e4) => t2.substring(1).replace("%s", e4))), M.classList.add(t2.substring(1).replace("%s", iN));
7522
7513
  else {
7523
- let e4 = t2.replace("%s", IM).match(/\[([^\]]+)\]/);
7514
+ let e4 = t2.replace("%s", iN).match(/\[([^\]]+)\]/);
7524
7515
  if (e4) {
7525
7516
  let [t3, n2] = e4[1].split("=");
7526
- n2 || TM.forEach((e5) => {
7527
- M.removeAttribute(t3.replace(IM, e5));
7517
+ n2 || qM.forEach((e5) => {
7518
+ M.removeAttribute(t3.replace(iN, e5));
7528
7519
  }), M.setAttribute(t3, n2 ? n2.replace(/"|'/g, "") : "");
7529
- } else M.setAttribute(t2, IM);
7520
+ } else M.setAttribute(t2, iN);
7530
7521
  }
7531
7522
  }
7532
7523
  }, [
7533
- IM,
7534
- RM,
7524
+ iN,
7525
+ oN,
7535
7526
  M,
7536
- TM
7527
+ qM
7537
7528
  ]), import_react.useEffect(() => {
7538
7529
  let e3;
7539
7530
  if (w2 && q.current && A) {
@@ -7546,48 +7537,48 @@ try {
7546
7537
  clearTimeout(e3);
7547
7538
  };
7548
7539
  }, [
7549
- IM,
7540
+ iN,
7550
7541
  w2,
7551
7542
  A
7552
7543
  ]), import_react.useEffect(() => (q.current = true, () => {
7553
7544
  q.current = false;
7554
7545
  }), []);
7555
- let zM = import_react.useMemo(() => ({
7556
- allColorSchemes: TM,
7557
- colorScheme: IM,
7558
- darkColorScheme: MM,
7559
- lightColorScheme: jM,
7560
- mode: FM,
7561
- setColorScheme: PM,
7562
- setMode: kM,
7563
- systemMode: AM
7546
+ let sN = import_react.useMemo(() => ({
7547
+ allColorSchemes: qM,
7548
+ colorScheme: iN,
7549
+ darkColorScheme: eN,
7550
+ lightColorScheme: $M,
7551
+ mode: rN,
7552
+ setColorScheme: nN,
7553
+ setMode: ZM,
7554
+ systemMode: QM
7564
7555
  }), [
7565
- TM,
7566
- IM,
7567
- MM,
7568
- jM,
7569
- FM,
7570
- PM,
7571
- kM,
7572
- AM,
7573
- LM.colorSchemeSelector
7574
- ]), BM = true;
7575
- (z || bM.cssVariables === false || vM && (J == null ? void 0 : J.cssVarPrefix) === CM) && (BM = false);
7576
- let VM = (0, import_jsx_runtime.jsxs)(import_react.Fragment, {
7556
+ qM,
7557
+ iN,
7558
+ eN,
7559
+ $M,
7560
+ rN,
7561
+ nN,
7562
+ ZM,
7563
+ QM,
7564
+ aN.colorSchemeSelector
7565
+ ]), cN = true;
7566
+ (z || HM.cssVariables === false || BM && (J == null ? void 0 : J.cssVarPrefix) === GM) && (cN = false);
7567
+ let lN = (0, import_jsx_runtime.jsxs)(import_react.Fragment, {
7577
7568
  children: [
7578
7569
  (0, import_jsx_runtime.jsx)(ThemeProvider_default, {
7579
- themeId: yM ? t : void 0,
7580
- theme: LM,
7570
+ themeId: VM ? t : void 0,
7571
+ theme: aN,
7581
7572
  children: d2
7582
7573
  }),
7583
- BM && (0, import_jsx_runtime.jsx)(GlobalStyles$1, {
7584
- styles: ((_d = LM.generateStyleSheets) == null ? void 0 : _d.call(LM)) || []
7574
+ cN && (0, import_jsx_runtime.jsx)(GlobalStyles$1, {
7575
+ styles: ((_d = aN.generateStyleSheets) == null ? void 0 : _d.call(aN)) || []
7585
7576
  })
7586
7577
  ]
7587
7578
  });
7588
- return vM ? VM : (0, import_jsx_runtime.jsx)(f.Provider, {
7589
- value: zM,
7590
- children: VM
7579
+ return BM ? lN : (0, import_jsx_runtime.jsx)(f.Provider, {
7580
+ value: sN,
7581
+ children: lN
7591
7582
  });
7592
7583
  }
7593
7584
  let S = typeof s == "string" ? s : s.light, w = typeof s == "string" ? s : s.dark;
@@ -9087,10 +9078,10 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
9087
9078
  let n = useDefaultProps({
9088
9079
  props: e,
9089
9080
  name: "MuiInputBase"
9090
- }), { "aria-describedby": i, autoComplete: a, autoFocus: o, className: s, color: c, components: d = {}, componentsProps: f = {}, defaultValue: h, disabled: _, disableInjectingGlobalStyles: v, endAdornment: y, error: S, fullWidth: w = false, id: E, inputComponent: O = "input", inputProps: A = {}, inputRef: M, margin: I, maxRows: z, minRows: U, multiline: K = false, name: q, onBlur: J, onChange: Q, onClick: vM, onFocus: $, onKeyDown: yM, onKeyUp: bM, placeholder: xM, readOnly: SM, renderSuffix: CM, rows: wM, size: TM, slotProps: EM = {}, slots: DM = {}, startAdornment: OM, type: kM = "text", value: AM, ...jM } = n, MM = A.value == null ? AM : A.value, { current: NM } = import_react.useRef(MM != null), PM = import_react.useRef(), FM = import_react.useCallback((e2) => {
9091
- }, []), IM = useForkRef_default(PM, M, A.ref, FM), [LM, RM] = import_react.useState(false), zM = useFormControl(), BM = formControlState({
9081
+ }), { "aria-describedby": i, autoComplete: a, autoFocus: o, className: s, color: c, components: d = {}, componentsProps: f = {}, defaultValue: h, disabled: _, disableInjectingGlobalStyles: v, endAdornment: y, error: S, fullWidth: w = false, id: E, inputComponent: O = "input", inputProps: A = {}, inputRef: M, margin: I, maxRows: z, minRows: U, multiline: K = false, name: q, onBlur: J, onChange: Q, onClick: BM, onFocus: $, onKeyDown: VM, onKeyUp: HM, placeholder: UM, readOnly: WM, renderSuffix: GM, rows: KM, size: qM, slotProps: JM = {}, slots: YM = {}, startAdornment: XM, type: ZM = "text", value: QM, ...$M } = n, eN = A.value == null ? QM : A.value, { current: tN } = import_react.useRef(eN != null), nN = import_react.useRef(), rN = import_react.useCallback((e2) => {
9082
+ }, []), iN = useForkRef_default(nN, M, A.ref, rN), [aN, oN] = import_react.useState(false), sN = useFormControl(), cN = formControlState({
9092
9083
  props: n,
9093
- muiFormControl: zM,
9084
+ muiFormControl: sN,
9094
9085
  states: [
9095
9086
  "color",
9096
9087
  "disabled",
@@ -9101,145 +9092,145 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
9101
9092
  "filled"
9102
9093
  ]
9103
9094
  });
9104
- BM.focused = zM ? zM.focused : LM, import_react.useEffect(() => {
9105
- !zM && _ && LM && (RM(false), J && J());
9095
+ cN.focused = sN ? sN.focused : aN, import_react.useEffect(() => {
9096
+ !sN && _ && aN && (oN(false), J && J());
9106
9097
  }, [
9107
- zM,
9098
+ sN,
9108
9099
  _,
9109
- LM,
9100
+ aN,
9110
9101
  J
9111
9102
  ]);
9112
- let VM = zM && zM.onFilled, HM = zM && zM.onEmpty, UM = import_react.useCallback((e2) => {
9113
- isFilled(e2) ? VM && VM() : HM && HM();
9103
+ let lN = sN && sN.onFilled, uN = sN && sN.onEmpty, dN = import_react.useCallback((e2) => {
9104
+ isFilled(e2) ? lN && lN() : uN && uN();
9114
9105
  }, [
9115
- VM,
9116
- HM
9106
+ lN,
9107
+ uN
9117
9108
  ]);
9118
9109
  useEnhancedEffect_default$1(() => {
9119
- NM && UM({
9120
- value: MM
9110
+ tN && dN({
9111
+ value: eN
9121
9112
  });
9122
9113
  }, [
9123
- MM,
9124
- UM,
9125
- NM
9114
+ eN,
9115
+ dN,
9116
+ tN
9126
9117
  ]);
9127
- let WM = (e2) => {
9128
- $ && $(e2), A.onFocus && A.onFocus(e2), zM && zM.onFocus ? zM.onFocus(e2) : RM(true);
9129
- }, GM = (e2) => {
9130
- J && J(e2), A.onBlur && A.onBlur(e2), zM && zM.onBlur ? zM.onBlur(e2) : RM(false);
9131
- }, KM = (e2, ...t2) => {
9132
- if (!NM) {
9133
- let t3 = e2.target || PM.current;
9118
+ let fN = (e2) => {
9119
+ $ && $(e2), A.onFocus && A.onFocus(e2), sN && sN.onFocus ? sN.onFocus(e2) : oN(true);
9120
+ }, pN = (e2) => {
9121
+ J && J(e2), A.onBlur && A.onBlur(e2), sN && sN.onBlur ? sN.onBlur(e2) : oN(false);
9122
+ }, mN = (e2, ...t2) => {
9123
+ if (!tN) {
9124
+ let t3 = e2.target || nN.current;
9134
9125
  if (t3 == null) throw Error(formatMuiErrorMessage(1));
9135
- UM({
9126
+ dN({
9136
9127
  value: t3.value
9137
9128
  });
9138
9129
  }
9139
9130
  A.onChange && A.onChange(e2, ...t2), Q && Q(e2, ...t2);
9140
9131
  };
9141
9132
  import_react.useEffect(() => {
9142
- UM(PM.current);
9133
+ dN(nN.current);
9143
9134
  }, []);
9144
- let qM = (e2) => {
9145
- PM.current && e2.currentTarget === e2.target && PM.current.focus(), vM && vM(e2);
9146
- }, JM = O, YM = A;
9147
- K && JM === "input" && (YM = wM ? {
9135
+ let hN = (e2) => {
9136
+ nN.current && e2.currentTarget === e2.target && nN.current.focus(), BM && BM(e2);
9137
+ }, gN = O, _N = A;
9138
+ K && gN === "input" && (_N = KM ? {
9148
9139
  type: void 0,
9149
- minRows: wM,
9150
- maxRows: wM,
9151
- ...YM
9140
+ minRows: KM,
9141
+ maxRows: KM,
9142
+ ..._N
9152
9143
  } : {
9153
9144
  type: void 0,
9154
9145
  maxRows: z,
9155
9146
  minRows: U,
9156
- ...YM
9157
- }, JM = TextareaAutosize_default);
9158
- let XM = (e2) => {
9159
- UM(e2.animationName === "mui-auto-fill-cancel" ? PM.current : {
9147
+ ..._N
9148
+ }, gN = TextareaAutosize_default);
9149
+ let vN = (e2) => {
9150
+ dN(e2.animationName === "mui-auto-fill-cancel" ? nN.current : {
9160
9151
  value: "x"
9161
9152
  });
9162
9153
  };
9163
9154
  import_react.useEffect(() => {
9164
- zM && zM.setAdornedStart(!!OM);
9155
+ sN && sN.setAdornedStart(!!XM);
9165
9156
  }, [
9166
- zM,
9167
- OM
9157
+ sN,
9158
+ XM
9168
9159
  ]);
9169
- let ZM = {
9160
+ let yN = {
9170
9161
  ...n,
9171
- color: BM.color || "primary",
9172
- disabled: BM.disabled,
9162
+ color: cN.color || "primary",
9163
+ disabled: cN.disabled,
9173
9164
  endAdornment: y,
9174
- error: BM.error,
9175
- focused: BM.focused,
9176
- formControl: zM,
9165
+ error: cN.error,
9166
+ focused: cN.focused,
9167
+ formControl: sN,
9177
9168
  fullWidth: w,
9178
- hiddenLabel: BM.hiddenLabel,
9169
+ hiddenLabel: cN.hiddenLabel,
9179
9170
  multiline: K,
9180
- size: BM.size,
9181
- startAdornment: OM,
9182
- type: kM
9183
- }, QM = useUtilityClasses(ZM), $M = DM.root || d.Root || InputBaseRoot, eN = EM.root || f.root || {}, tN = DM.input || d.Input || InputBaseInput;
9184
- return YM = {
9185
- ...YM,
9186
- ...EM.input ?? f.input
9171
+ size: cN.size,
9172
+ startAdornment: XM,
9173
+ type: ZM
9174
+ }, bN = useUtilityClasses(yN), xN = YM.root || d.Root || InputBaseRoot, SN = JM.root || f.root || {}, CN = YM.input || d.Input || InputBaseInput;
9175
+ return _N = {
9176
+ ..._N,
9177
+ ...JM.input ?? f.input
9187
9178
  }, (0, import_jsx_runtime.jsxs)(import_react.Fragment, {
9188
9179
  children: [
9189
9180
  !v && typeof InputGlobalStyles == "function" && (_InputGlobalStyles || (_InputGlobalStyles = (0, import_jsx_runtime.jsx)(InputGlobalStyles, {}))),
9190
- (0, import_jsx_runtime.jsxs)($M, {
9191
- ...eN,
9181
+ (0, import_jsx_runtime.jsxs)(xN, {
9182
+ ...SN,
9192
9183
  ref: t,
9193
- onClick: qM,
9194
- ...jM,
9195
- ...!isHostComponent_default($M) && {
9184
+ onClick: hN,
9185
+ ...$M,
9186
+ ...!isHostComponent_default(xN) && {
9196
9187
  ownerState: {
9197
- ...ZM,
9198
- ...eN.ownerState
9188
+ ...yN,
9189
+ ...SN.ownerState
9199
9190
  }
9200
9191
  },
9201
- className: clsx_default(QM.root, eN.className, s, SM && "MuiInputBase-readOnly"),
9192
+ className: clsx_default(bN.root, SN.className, s, WM && "MuiInputBase-readOnly"),
9202
9193
  children: [
9203
- OM,
9194
+ XM,
9204
9195
  (0, import_jsx_runtime.jsx)(FormControlContext_default.Provider, {
9205
9196
  value: null,
9206
- children: (0, import_jsx_runtime.jsx)(tN, {
9207
- "aria-invalid": BM.error,
9197
+ children: (0, import_jsx_runtime.jsx)(CN, {
9198
+ "aria-invalid": cN.error,
9208
9199
  "aria-describedby": i,
9209
9200
  autoComplete: a,
9210
9201
  autoFocus: o,
9211
9202
  defaultValue: h,
9212
- disabled: BM.disabled,
9203
+ disabled: cN.disabled,
9213
9204
  id: E,
9214
- onAnimationStart: XM,
9205
+ onAnimationStart: vN,
9215
9206
  name: q,
9216
- placeholder: xM,
9217
- readOnly: SM,
9218
- required: BM.required,
9219
- rows: wM,
9220
- value: MM,
9221
- onKeyDown: yM,
9222
- onKeyUp: bM,
9223
- type: kM,
9224
- ...YM,
9225
- ...!isHostComponent_default(tN) && {
9226
- as: JM,
9207
+ placeholder: UM,
9208
+ readOnly: WM,
9209
+ required: cN.required,
9210
+ rows: KM,
9211
+ value: eN,
9212
+ onKeyDown: VM,
9213
+ onKeyUp: HM,
9214
+ type: ZM,
9215
+ ..._N,
9216
+ ...!isHostComponent_default(CN) && {
9217
+ as: gN,
9227
9218
  ownerState: {
9228
- ...ZM,
9229
- ...YM.ownerState
9219
+ ...yN,
9220
+ ..._N.ownerState
9230
9221
  }
9231
9222
  },
9232
- ref: IM,
9233
- className: clsx_default(QM.input, YM.className, SM && "MuiInputBase-readOnly"),
9234
- onBlur: GM,
9235
- onChange: KM,
9236
- onFocus: WM
9223
+ ref: iN,
9224
+ className: clsx_default(bN.input, _N.className, WM && "MuiInputBase-readOnly"),
9225
+ onBlur: pN,
9226
+ onChange: mN,
9227
+ onFocus: fN
9237
9228
  })
9238
9229
  }),
9239
9230
  y,
9240
- CM ? CM({
9241
- ...BM,
9242
- startAdornment: OM
9231
+ GM ? GM({
9232
+ ...cN,
9233
+ startAdornment: XM
9243
9234
  }) : null
9244
9235
  ]
9245
9236
  })
@@ -10315,30 +10306,30 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10315
10306
  M,
10316
10307
  i,
10317
10308
  a
10318
- ]), z = useJsonViewerStore((e2) => e2.setHover), U = useJsonViewerStore((e2) => e2.value), [K, q] = useInspect(i, t, a), [J, Q] = (0, import_react.useState)(false), vM = useJsonViewerStore((e2) => e2.onChange), $ = useTextColor(), yM = useJsonViewerStore((e2) => e2.colorspace.base0C), bM = useJsonViewerStore((e2) => e2.colorspace.base0A), xM = useJsonViewerStore((e2) => e2.displayComma), SM = useJsonViewerStore((e2) => e2.quotesOnKeys), CM = useJsonViewerStore((e2) => e2.rootName), wM = U === t, TM = Number.isInteger(Number(A)), EM = useJsonViewerStore((e2) => e2.enableAdd), DM = useJsonViewerStore((e2) => e2.onAdd), OM = (0, import_react.useMemo)(() => !DM || a !== void 0 || EM === false || v === false ? false : typeof EM == "function" ? !!EM(i, t) : !!(Array.isArray(t) || isPlainObject(t)), [
10319
- DM,
10309
+ ]), z = useJsonViewerStore((e2) => e2.setHover), U = useJsonViewerStore((e2) => e2.value), [K, q] = useInspect(i, t, a), [J, Q] = (0, import_react.useState)(false), BM = useJsonViewerStore((e2) => e2.onChange), $ = useTextColor(), VM = useJsonViewerStore((e2) => e2.colorspace.base0C), HM = useJsonViewerStore((e2) => e2.colorspace.base0A), UM = useJsonViewerStore((e2) => e2.displayComma), WM = useJsonViewerStore((e2) => e2.quotesOnKeys), GM = useJsonViewerStore((e2) => e2.rootName), KM = U === t, qM = Number.isInteger(Number(A)), JM = useJsonViewerStore((e2) => e2.enableAdd), YM = useJsonViewerStore((e2) => e2.onAdd), XM = (0, import_react.useMemo)(() => !YM || a !== void 0 || JM === false || v === false ? false : typeof JM == "function" ? !!JM(i, t) : !!(Array.isArray(t) || isPlainObject(t)), [
10310
+ YM,
10320
10311
  a,
10321
10312
  i,
10322
- EM,
10313
+ JM,
10323
10314
  v,
10324
10315
  t
10325
- ]), kM = useJsonViewerStore((e2) => e2.enableDelete), AM = useJsonViewerStore((e2) => e2.onDelete), jM = (0, import_react.useMemo)(() => !AM || a !== void 0 || wM || kM === false || v === false ? false : typeof kM == "function" ? !!kM(i, t) : kM, [
10326
- AM,
10316
+ ]), ZM = useJsonViewerStore((e2) => e2.enableDelete), QM = useJsonViewerStore((e2) => e2.onDelete), $M = (0, import_react.useMemo)(() => !QM || a !== void 0 || KM || ZM === false || v === false ? false : typeof ZM == "function" ? !!ZM(i, t) : ZM, [
10317
+ QM,
10327
10318
  a,
10328
- wM,
10319
+ KM,
10329
10320
  i,
10330
- kM,
10321
+ ZM,
10331
10322
  v,
10332
10323
  t
10333
- ]), MM = useJsonViewerStore((e2) => e2.enableClipboard), { copy: NM, copied: PM } = useClipboard(), FM = useJsonViewerStore((e2) => e2.highlightUpdates), IM = (0, import_react.useMemo)(() => !FM || n === void 0 ? false : typeof t == typeof n ? typeof t == "number" ? isNaN(t) && isNaN(n) ? false : t !== n : Array.isArray(t) === Array.isArray(n) ? typeof t == "object" || typeof t == "function" ? false : t !== n : true : true, [
10334
- FM,
10324
+ ]), eN = useJsonViewerStore((e2) => e2.enableClipboard), { copy: tN, copied: nN } = useClipboard(), rN = useJsonViewerStore((e2) => e2.highlightUpdates), iN = (0, import_react.useMemo)(() => !rN || n === void 0 ? false : typeof t == typeof n ? typeof t == "number" ? isNaN(t) && isNaN(n) ? false : t !== n : Array.isArray(t) === Array.isArray(n) ? typeof t == "object" || typeof t == "function" ? false : t !== n : true : true, [
10325
+ rN,
10335
10326
  n,
10336
10327
  t
10337
- ]), LM = (0, import_react.useRef)();
10328
+ ]), aN = (0, import_react.useRef)();
10338
10329
  (0, import_react.useEffect)(() => {
10339
- LM.current && IM && "animate" in LM.current && LM.current.animate([
10330
+ aN.current && iN && "animate" in aN.current && aN.current.animate([
10340
10331
  {
10341
- backgroundColor: bM
10332
+ backgroundColor: HM
10342
10333
  },
10343
10334
  {
10344
10335
  backgroundColor: ""
@@ -10348,40 +10339,40 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10348
10339
  easing: "ease-in"
10349
10340
  });
10350
10341
  }, [
10351
- bM,
10352
- IM,
10342
+ HM,
10343
+ iN,
10353
10344
  n,
10354
10345
  t
10355
10346
  ]);
10356
- let RM = (0, import_react.useCallback)((e2) => {
10347
+ let oN = (0, import_react.useCallback)((e2) => {
10357
10348
  e2.preventDefault(), h && E(h(t)), Q(true);
10358
10349
  }, [
10359
10350
  h,
10360
10351
  t
10361
- ]), zM = (0, import_react.useCallback)(() => {
10352
+ ]), sN = (0, import_react.useCallback)(() => {
10362
10353
  Q(false), E("");
10363
10354
  }, [
10364
10355
  Q,
10365
10356
  E
10366
- ]), BM = (0, import_react.useCallback)((e2) => {
10357
+ ]), cN = (0, import_react.useCallback)((e2) => {
10367
10358
  if (Q(false), _) try {
10368
- vM(i, t, _(e2));
10359
+ BM(i, t, _(e2));
10369
10360
  } catch {
10370
10361
  }
10371
10362
  }, [
10372
10363
  Q,
10373
10364
  _,
10374
- vM,
10365
+ BM,
10375
10366
  i,
10376
10367
  t
10377
- ]), VM = (0, import_react.useMemo)(() => J ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10368
+ ]), lN = (0, import_react.useMemo)(() => J ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10378
10369
  children: [
10379
10370
  (0, import_jsx_runtime.jsx)(IconBox, {
10380
10371
  children: (0, import_jsx_runtime.jsx)(CloseIcon, {
10381
10372
  sx: {
10382
10373
  fontSize: ".8rem"
10383
10374
  },
10384
- onClick: zM
10375
+ onClick: sN
10385
10376
  })
10386
10377
  }),
10387
10378
  (0, import_jsx_runtime.jsx)(IconBox, {
@@ -10389,22 +10380,22 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10389
10380
  sx: {
10390
10381
  fontSize: ".8rem"
10391
10382
  },
10392
- onClick: () => BM(w)
10383
+ onClick: () => cN(w)
10393
10384
  })
10394
10385
  })
10395
10386
  ]
10396
10387
  }) : (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10397
10388
  children: [
10398
- MM && (0, import_jsx_runtime.jsx)(IconBox, {
10389
+ eN && (0, import_jsx_runtime.jsx)(IconBox, {
10399
10390
  onClick: (e2) => {
10400
10391
  e2.preventDefault();
10401
10392
  try {
10402
- NM(i, t, copyString);
10393
+ tN(i, t, copyString);
10403
10394
  } catch (e3) {
10404
10395
  console.error(e3);
10405
10396
  }
10406
10397
  },
10407
- children: PM ? (0, import_jsx_runtime.jsx)(CheckIcon$1, {
10398
+ children: nN ? (0, import_jsx_runtime.jsx)(CheckIcon$1, {
10408
10399
  sx: {
10409
10400
  fontSize: ".8rem"
10410
10401
  }
@@ -10415,16 +10406,16 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10415
10406
  })
10416
10407
  }),
10417
10408
  f && S && h && _ && (0, import_jsx_runtime.jsx)(IconBox, {
10418
- onClick: RM,
10409
+ onClick: oN,
10419
10410
  children: (0, import_jsx_runtime.jsx)(EditIcon, {
10420
10411
  sx: {
10421
10412
  fontSize: ".8rem"
10422
10413
  }
10423
10414
  })
10424
10415
  }),
10425
- OM && (0, import_jsx_runtime.jsx)(IconBox, {
10416
+ XM && (0, import_jsx_runtime.jsx)(IconBox, {
10426
10417
  onClick: (e2) => {
10427
- e2.preventDefault(), DM == null ? void 0 : DM(i);
10418
+ e2.preventDefault(), YM == null ? void 0 : YM(i);
10428
10419
  },
10429
10420
  children: (0, import_jsx_runtime.jsx)(AddBoxIcon, {
10430
10421
  sx: {
@@ -10432,9 +10423,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10432
10423
  }
10433
10424
  })
10434
10425
  }),
10435
- jM && (0, import_jsx_runtime.jsx)(IconBox, {
10426
+ $M && (0, import_jsx_runtime.jsx)(IconBox, {
10436
10427
  onClick: (e2) => {
10437
- e2.preventDefault(), AM == null ? void 0 : AM(i, t);
10428
+ e2.preventDefault(), QM == null ? void 0 : QM(i, t);
10438
10429
  },
10439
10430
  children: (0, import_jsx_runtime.jsx)(DeleteIcon, {
10440
10431
  sx: {
@@ -10447,24 +10438,24 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10447
10438
  f,
10448
10439
  h,
10449
10440
  _,
10450
- PM,
10451
- NM,
10441
+ nN,
10442
+ tN,
10452
10443
  S,
10453
10444
  J,
10454
- MM,
10455
- OM,
10456
- jM,
10445
+ eN,
10446
+ XM,
10447
+ $M,
10457
10448
  w,
10458
10449
  i,
10459
10450
  t,
10460
- DM,
10461
- AM,
10462
- RM,
10463
- zM,
10464
- BM
10465
- ]), HM = (0, import_react.useMemo)(() => getValueSize(t) === 0, [
10451
+ YM,
10452
+ QM,
10453
+ oN,
10454
+ sN,
10455
+ cN
10456
+ ]), uN = (0, import_react.useMemo)(() => getValueSize(t) === 0, [
10466
10457
  t
10467
- ]), UM = !HM && !!(c && d), WM = useJsonViewerStore((e2) => e2.keyRenderer), GM = (0, import_react.useMemo)(() => ({
10458
+ ]), dN = !uN && !!(c && d), fN = useJsonViewerStore((e2) => e2.keyRenderer), pN = (0, import_react.useMemo)(() => ({
10468
10459
  path: i,
10469
10460
  inspect: K,
10470
10461
  setInspect: q,
@@ -10501,13 +10492,13 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10501
10492
  opacity: 0.8
10502
10493
  },
10503
10494
  onClick: (0, import_react.useCallback)((e2) => {
10504
- e2.isDefaultPrevented() || HM || q((e3) => !e3);
10495
+ e2.isDefaultPrevented() || uN || q((e3) => !e3);
10505
10496
  }, [
10506
- HM,
10497
+ uN,
10507
10498
  q
10508
10499
  ]),
10509
10500
  children: [
10510
- UM ? K ? (0, import_jsx_runtime.jsx)(ExpandMoreIcon, {
10501
+ dN ? K ? (0, import_jsx_runtime.jsx)(ExpandMoreIcon, {
10511
10502
  className: "data-key-toggle-expanded",
10512
10503
  sx: {
10513
10504
  fontSize: ".8rem",
@@ -10525,27 +10516,27 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10525
10516
  }
10526
10517
  }) : null,
10527
10518
  (0, import_jsx_runtime.jsx)(Box_default, {
10528
- ref: LM,
10519
+ ref: aN,
10529
10520
  className: "data-key-key",
10530
10521
  component: "span",
10531
- children: wM && O === 0 ? CM === false ? null : SM ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10522
+ children: KM && O === 0 ? GM === false ? null : WM ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10532
10523
  children: [
10533
10524
  '"',
10534
- CM,
10525
+ GM,
10535
10526
  '"'
10536
10527
  ]
10537
10528
  }) : (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
10538
- children: CM
10539
- }) : WM.when(GM) ? (0, import_jsx_runtime.jsx)(WM, {
10540
- ...GM
10541
- }) : a === void 0 && (TM ? (0, import_jsx_runtime.jsx)(Box_default, {
10529
+ children: GM
10530
+ }) : fN.when(pN) ? (0, import_jsx_runtime.jsx)(fN, {
10531
+ ...pN
10532
+ }) : a === void 0 && (qM ? (0, import_jsx_runtime.jsx)(Box_default, {
10542
10533
  component: "span",
10543
10534
  style: {
10544
- color: yM,
10545
- userSelect: TM ? "none" : "auto"
10535
+ color: VM,
10536
+ userSelect: qM ? "none" : "auto"
10546
10537
  },
10547
10538
  children: A
10548
- }) : SM ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10539
+ }) : WM ? (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
10549
10540
  children: [
10550
10541
  '"',
10551
10542
  A,
@@ -10555,7 +10546,7 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10555
10546
  children: A
10556
10547
  }))
10557
10548
  }),
10558
- wM ? CM !== false && (0, import_jsx_runtime.jsx)(DataBox, {
10549
+ KM ? GM !== false && (0, import_jsx_runtime.jsx)(DataBox, {
10559
10550
  className: "data-key-colon",
10560
10551
  sx: {
10561
10552
  mr: 0.5
@@ -10568,38 +10559,38 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10568
10559
  ".data-key-key:empty + &": {
10569
10560
  display: "none"
10570
10561
  },
10571
- userSelect: TM ? "none" : "auto"
10562
+ userSelect: qM ? "none" : "auto"
10572
10563
  },
10573
10564
  children: ":"
10574
10565
  }),
10575
10566
  c && (0, import_jsx_runtime.jsx)(c, {
10576
- ...GM
10567
+ ...pN
10577
10568
  }),
10578
- I && UM && K && VM
10569
+ I && dN && K && lN
10579
10570
  ]
10580
10571
  }),
10581
10572
  J && S ? f && (0, import_jsx_runtime.jsx)(f, {
10582
10573
  path: i,
10583
10574
  value: w,
10584
10575
  setValue: E,
10585
- abortEditing: zM,
10586
- commitEditing: BM
10576
+ abortEditing: sN,
10577
+ commitEditing: cN
10587
10578
  }) : s ? (0, import_jsx_runtime.jsx)(s, {
10588
- ...GM
10579
+ ...pN
10589
10580
  }) : (0, import_jsx_runtime.jsx)(Box_default, {
10590
10581
  component: "span",
10591
10582
  className: "data-value-fallback",
10592
10583
  children: `fallback: ${t}`
10593
10584
  }),
10594
10585
  d && (0, import_jsx_runtime.jsx)(d, {
10595
- ...GM
10586
+ ...pN
10596
10587
  }),
10597
- !o && xM && (0, import_jsx_runtime.jsx)(DataBox, {
10588
+ !o && UM && (0, import_jsx_runtime.jsx)(DataBox, {
10598
10589
  children: ","
10599
10590
  }),
10600
- I && UM && !K && VM,
10601
- I && !UM && VM,
10602
- !I && J && VM
10591
+ I && dN && !K && lN,
10592
+ I && !dN && lN,
10593
+ !I && J && lN
10603
10594
  ]
10604
10595
  });
10605
10596
  }, query = "(prefers-color-scheme: dark)";
@@ -10728,9 +10719,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10728
10719
  })
10729
10720
  })
10730
10721
  });
10731
- }, import_compiler_runtime$46 = require_compiler_runtime();
10722
+ }, import_compiler_runtime$47 = require_compiler_runtime();
10732
10723
  HtmlOutput = (0, import_react.memo)((e) => {
10733
- let t = (0, import_compiler_runtime$46.c)(10), { html: n, inline: i, className: o, alwaysSanitizeHtml: s } = e, c = i === void 0 ? false : i;
10724
+ let t = (0, import_compiler_runtime$47.c)(10), { html: n, inline: i, className: o, alwaysSanitizeHtml: s } = e, c = i === void 0 ? false : i;
10734
10725
  if (!n) return null;
10735
10726
  let d = !c, f;
10736
10727
  t[0] !== o || t[1] !== c || t[2] !== d ? (f = cn(o, {
@@ -10749,9 +10740,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10749
10740
  }), t[7] = f, t[8] = h, t[9] = _) : _ = t[9], _;
10750
10741
  });
10751
10742
  HtmlOutput.displayName = "HtmlOutput";
10752
- var import_compiler_runtime$45 = require_compiler_runtime();
10743
+ var import_compiler_runtime$46 = require_compiler_runtime();
10753
10744
  const ImageOutput = (e) => {
10754
- let t = (0, import_compiler_runtime$45.c)(8), { src: n, alt: i, width: a, height: o, className: s } = e, c = i === void 0 ? "" : i, d;
10745
+ let t = (0, import_compiler_runtime$46.c)(8), { src: n, alt: i, width: a, height: o, className: s } = e, c = i === void 0 ? "" : i, d;
10755
10746
  t[0] !== c || t[1] !== o || t[2] !== n || t[3] !== a ? (d = (0, import_jsx_runtime.jsx)("img", {
10756
10747
  src: n,
10757
10748
  alt: c,
@@ -10764,9 +10755,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10764
10755
  children: d
10765
10756
  }), t[5] = s, t[6] = d, t[7] = f) : f = t[7], f;
10766
10757
  };
10767
- var import_compiler_runtime$44 = require_compiler_runtime();
10758
+ var import_compiler_runtime$45 = require_compiler_runtime();
10768
10759
  Kbd = (e) => {
10769
- let t = (0, import_compiler_runtime$44.c)(5), n;
10760
+ let t = (0, import_compiler_runtime$45.c)(5), n;
10770
10761
  t[0] === e.className ? n = t[1] : (n = clsx_default(e.className, "rounded-md bg-muted/40 px-2 text-[0.75rem] font-prose center border border-foreground/20 text-muted-foreground block whitespace-nowrap"), t[0] = e.className, t[1] = n);
10771
10762
  let i;
10772
10763
  return t[2] !== e.children || t[3] !== n ? (i = (0, import_jsx_runtime.jsx)("kbd", {
@@ -10774,9 +10765,9 @@ To suppress this warning, you need to explicitly provide the \`palette.${t}Chann
10774
10765
  children: e.children
10775
10766
  }), t[2] = e.children, t[3] = n, t[4] = i) : i = t[4], i;
10776
10767
  };
10777
- var import_compiler_runtime$43 = require_compiler_runtime();
10768
+ var import_compiler_runtime$44 = require_compiler_runtime();
10778
10769
  const ExternalLink$1 = (e) => {
10779
- let t = (0, import_compiler_runtime$43.c)(3), { href: n, children: i } = e, a;
10770
+ let t = (0, import_compiler_runtime$44.c)(3), { href: n, children: i } = e, a;
10780
10771
  return t[0] !== i || t[1] !== n ? (a = (0, import_jsx_runtime.jsx)("a", {
10781
10772
  href: n,
10782
10773
  target: "_blank",
@@ -10947,17 +10938,17 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
10947
10938
  os: "os",
10948
10939
  re: "re",
10949
10940
  sys: "sys"
10950
- }, import_compiler_runtime$42 = require_compiler_runtime(), fixModeAtom = atomWithStorage("marimo:ai-autofix-mode", "autofix", jotaiJsonStorage);
10941
+ }, import_compiler_runtime$43 = require_compiler_runtime(), fixModeAtom = atomWithStorage("marimo:ai-autofix-mode", "autofix", jotaiJsonStorage);
10951
10942
  function useFixMode() {
10952
- let e = (0, import_compiler_runtime$42.c)(3), [t, n] = useAtom(fixModeAtom), i;
10943
+ let e = (0, import_compiler_runtime$43.c)(3), [t, n] = useAtom(fixModeAtom), i;
10953
10944
  return e[0] !== t || e[1] !== n ? (i = {
10954
10945
  fixMode: t,
10955
10946
  setFixMode: n
10956
10947
  }, e[0] = t, e[1] = n, e[2] = i) : i = e[2], i;
10957
10948
  }
10958
- var import_compiler_runtime$41 = require_compiler_runtime();
10949
+ var import_compiler_runtime$42 = require_compiler_runtime();
10959
10950
  const AutoFixButton = (e) => {
10960
- let t = (0, import_compiler_runtime$41.c)(21), { errors: n, cellId: i, className: o } = e, s = useStore(), { createNewCell: c } = useCellActions(), d = useAtomValue(aiEnabledAtom), h;
10951
+ let t = (0, import_compiler_runtime$42.c)(21), { errors: n, cellId: i, className: o } = e, s = useStore(), { createNewCell: c } = useCellActions(), d = useAtomValue(aiEnabledAtom), h;
10961
10952
  if (t[0] !== d || t[1] !== n) {
10962
10953
  let e2;
10963
10954
  t[3] === d ? e2 = t[4] : (e2 = (e3) => getAutoFixes(e3, {
@@ -11018,7 +11009,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11018
11009
  };
11019
11010
  var PromptIcon = Sparkles, AutofixIcon = Wrench, PromptTitle = "Suggest a prompt", AutofixTitle = "Fix with AI";
11020
11011
  const AIFixButton = (e) => {
11021
- let t = (0, import_compiler_runtime$41.c)(21), { tooltip: n, openPrompt: i, applyAutofix: a } = e, { fixMode: o, setFixMode: s } = useFixMode(), c = o === "prompt" ? i : a, d;
11012
+ let t = (0, import_compiler_runtime$42.c)(21), { tooltip: n, openPrompt: i, applyAutofix: a } = e, { fixMode: o, setFixMode: s } = useFixMode(), c = o === "prompt" ? i : a, d;
11022
11013
  t[0] === o ? d = t[1] : (d = o === "prompt" ? (0, import_jsx_runtime.jsx)(PromptIcon, {
11023
11014
  className: "h-3 w-3 mr-2 mb-0.5"
11024
11015
  }) : (0, import_jsx_runtime.jsx)(AutofixIcon, {
@@ -11087,7 +11078,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11087
11078
  }), t[18] = O, t[19] = v, t[20] = A) : A = t[20], A;
11088
11079
  };
11089
11080
  var AiModeItem = (e) => {
11090
- let t = (0, import_compiler_runtime$41.c)(12), { mode: n } = e, i;
11081
+ let t = (0, import_compiler_runtime$42.c)(12), { mode: n } = e, i;
11091
11082
  t[0] === n ? i = t[1] : (i = n === "prompt" ? (0, import_jsx_runtime.jsx)(PromptIcon, {
11092
11083
  className: "h-4 w-4"
11093
11084
  }) : (0, import_jsx_runtime.jsx)(AutofixIcon, {
@@ -11124,9 +11115,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11124
11115
  function useFilename() {
11125
11116
  return useAtomValue(filenameAtom);
11126
11117
  }
11127
- var import_compiler_runtime$39 = require_compiler_runtime();
11118
+ var import_compiler_runtime$40 = require_compiler_runtime();
11128
11119
  const CellLink = (e) => {
11129
- let t = (0, import_compiler_runtime$39.c)(12), { className: n, cellId: i, variant: o, onClick: s, formatCellName: c, skipScroll: d } = e, f = useCellNames()[i] ?? "", h = useCellIds().inOrderIds.indexOf(i), { showCellIfHidden: _ } = useCellActions(), v = c ?? _temp$5, y;
11120
+ let t = (0, import_compiler_runtime$40.c)(12), { className: n, cellId: i, variant: o, onClick: s, formatCellName: c, skipScroll: d } = e, f = useCellNames()[i] ?? "", h = useCellIds().inOrderIds.indexOf(i), { showCellIfHidden: _ } = useCellActions(), v = c ?? _temp$5, y;
11130
11121
  t[0] === n ? y = t[1] : (y = cn("inline-block cursor-pointer text-link hover:underline", n), t[0] = n, t[1] = y);
11131
11122
  let S;
11132
11123
  t[2] !== i || t[3] !== s || t[4] !== _ || t[5] !== d || t[6] !== o ? (S = (e2) => {
@@ -11146,13 +11137,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11146
11137
  children: w
11147
11138
  }), t[8] = y, t[9] = S, t[10] = w, t[11] = O) : O = t[11], O;
11148
11139
  }, CellLinkError = (e) => {
11149
- let t = (0, import_compiler_runtime$39.c)(2), n;
11140
+ let t = (0, import_compiler_runtime$40.c)(2), n;
11150
11141
  return t[0] === e ? n = t[1] : (n = (0, import_jsx_runtime.jsx)(CellLink, {
11151
11142
  ...e,
11152
11143
  variant: "destructive"
11153
11144
  }), t[0] = e, t[1] = n), n;
11154
11145
  }, CellLinkTraceback = (e) => {
11155
- let t = (0, import_compiler_runtime$39.c)(10), { cellId: n, lineNumber: i } = e, a = useFilename(), o;
11146
+ let t = (0, import_compiler_runtime$40.c)(10), { cellId: n, lineNumber: i } = e, a = useFilename(), o;
11156
11147
  t[0] !== n || t[1] !== i ? (o = () => goToCellLine(n, i), t[0] = n, t[1] = i, t[2] = o) : o = t[2];
11157
11148
  let s;
11158
11149
  t[3] !== n || t[4] !== a ? (s = (e2) => n === "__scratch__" ? "scratch" : `marimo://${a || "untitled"}#cell=${e2}`, t[3] = n, t[4] = a, t[5] = s) : s = t[5];
@@ -11249,7 +11240,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11249
11240
  value: e2
11250
11241
  });
11251
11242
  }
11252
- var import_compiler_runtime$38 = require_compiler_runtime(), ansiUp = new AnsiUp();
11243
+ var import_compiler_runtime$39 = require_compiler_runtime(), ansiUp = new AnsiUp();
11253
11244
  const cleanAnsiCodes = (e) => {
11254
11245
  let t = RegExp("\x1B\\[[0-9;]*m", "g");
11255
11246
  return e.replaceAll(t, "");
@@ -11317,7 +11308,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11317
11308
  });
11318
11309
  }
11319
11310
  var InstallPackageLink = (e) => {
11320
- let t = (0, import_compiler_runtime$38.c)(6), { packages: n, children: i } = e, { handleInstallPackages: a } = useInstallPackages(), o;
11311
+ let t = (0, import_compiler_runtime$39.c)(6), { packages: n, children: i } = e, { handleInstallPackages: a } = useInstallPackages(), o;
11321
11312
  t[0] !== a || t[1] !== n ? (o = (e2) => {
11322
11313
  a(n), e2.preventDefault();
11323
11314
  }, t[0] = a, t[1] = n, t[2] = o) : o = t[2];
@@ -11390,15 +11381,15 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11390
11381
  })
11391
11382
  });
11392
11383
  RenderTextWithLinks = (e) => {
11393
- let t = (0, import_compiler_runtime$38.c)(4), { text: n } = e, i;
11384
+ let t = (0, import_compiler_runtime$39.c)(4), { text: n } = e, i;
11394
11385
  t[0] === n ? i = t[1] : (i = renderTextWithReplacers(n, composeReplacers(pipInstallReplacer, urlReplacer)), t[0] = n, t[1] = i);
11395
11386
  let a = i, o;
11396
11387
  return t[2] === a ? o = t[3] : (o = (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
11397
11388
  children: a
11398
11389
  }), t[2] = a, t[3] = o), o;
11399
11390
  };
11400
- var import_compiler_runtime$37 = require_compiler_runtime(), Tip = (e) => {
11401
- let t = (0, import_compiler_runtime$37.c)(10), n = e.title ?? "Tip", i;
11391
+ var import_compiler_runtime$38 = require_compiler_runtime(), Tip = (e) => {
11392
+ let t = (0, import_compiler_runtime$38.c)(10), n = e.title ?? "Tip", i;
11402
11393
  t[0] === n ? i = t[1] : (i = (0, import_jsx_runtime.jsx)(AccordionTrigger, {
11403
11394
  className: "pt-2 pb-2 font-normal",
11404
11395
  children: n
@@ -11426,7 +11417,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11426
11417
  }), t[7] = e.className, t[8] = o, t[9] = s) : s = t[9], s;
11427
11418
  };
11428
11419
  const MarimoErrorOutput = (e) => {
11429
- let t = (0, import_compiler_runtime$37.c)(31), { errors: n, cellId: i, className: o } = e, s = useChromeActions(), c = "This cell wasn't run because it has errors", d = "destructive", h = "text-error";
11420
+ let t = (0, import_compiler_runtime$38.c)(31), { errors: n, cellId: i, className: o } = e, s = useChromeActions(), c = "This cell wasn't run because it has errors", d = "destructive", h = "text-error";
11430
11421
  if (n.some(_temp$4)) c = "Interrupted";
11431
11422
  else if (n.some(_temp2$2)) c = "An internal error occurred";
11432
11423
  else if (n.some(_temp3$1)) c = "Ancestor prevented from running", d = "default", h = "text-secondary-foreground";
@@ -11440,18 +11431,18 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11440
11431
  }
11441
11432
  let _, v, y, S, w, E;
11442
11433
  if (t[2] !== d || t[3] !== i || t[4] !== s || t[5] !== o || t[6] !== n || t[7] !== h || t[8] !== c) {
11443
- let e2 = n.filter(_temp7), O2 = n.filter(_temp8), A2 = n.filter(_temp9), M = n.filter(_temp0), I = n.filter(_temp1), z = n.filter(_temp10), U = n.filter(_temp11), K = n.filter(_temp12), q = n.filter(_temp13), J = n.filter(_temp14), Q = n.filter(_temp15), vM = n.filter(_temp16), $ = n.filter(_temp17), yM;
11444
- t[15] === s ? yM = t[16] : (yM = () => {
11434
+ let e2 = n.filter(_temp7), O2 = n.filter(_temp8), A2 = n.filter(_temp9), M = n.filter(_temp0), I = n.filter(_temp1), z = n.filter(_temp10), U = n.filter(_temp11), K = n.filter(_temp12), q = n.filter(_temp13), J = n.filter(_temp14), Q = n.filter(_temp15), BM = n.filter(_temp16), $ = n.filter(_temp17), VM;
11435
+ t[15] === s ? VM = t[16] : (VM = () => {
11445
11436
  s.openApplication("scratchpad");
11446
- }, t[15] = s, t[16] = yM);
11447
- let bM = yM, SM = () => {
11437
+ }, t[15] = s, t[16] = VM);
11438
+ let HM = VM, UM = () => {
11448
11439
  let t2 = [];
11449
- if (Q.length > 0 || vM.length > 0) {
11440
+ if (Q.length > 0 || BM.length > 0) {
11450
11441
  let e3 = Q.some(_temp18), n2 = !e3 && Q.some(_temp19);
11451
11442
  t2.push((0, import_jsx_runtime.jsxs)("div", {
11452
11443
  children: [
11453
11444
  Q.map(_temp20),
11454
- vM.map(_temp21),
11445
+ BM.map(_temp21),
11455
11446
  e3 && (0, import_jsx_runtime.jsxs)(Button, {
11456
11447
  size: "xs",
11457
11448
  variant: "outline",
@@ -11483,7 +11474,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11483
11474
  i && (0, import_jsx_runtime.jsx)(AutoFixButton, {
11484
11475
  errors: [
11485
11476
  ...Q,
11486
- ...vM
11477
+ ...BM
11487
11478
  ],
11488
11479
  cellId: i
11489
11480
  })
@@ -11644,7 +11635,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11644
11635
  size: "xs",
11645
11636
  variant: "link",
11646
11637
  className: "my-2 font-normal mx-0 px-0",
11647
- onClick: bM,
11638
+ onClick: HM,
11648
11639
  children: [
11649
11640
  (0, import_jsx_runtime.jsx)(NotebookPen, {
11650
11641
  className: "h-3"
@@ -11769,13 +11760,13 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
11769
11760
  })
11770
11761
  ]
11771
11762
  }, "sql-errors")), t2;
11772
- }, CM = `font-code font-medium tracking-wide ${h}`, wM;
11773
- t[17] !== CM || t[18] !== c ? (wM = (0, import_jsx_runtime.jsx)(AlertTitle, {
11774
- className: CM,
11763
+ }, WM = `font-code font-medium tracking-wide ${h}`, GM;
11764
+ t[17] !== WM || t[18] !== c ? (GM = (0, import_jsx_runtime.jsx)(AlertTitle, {
11765
+ className: WM,
11775
11766
  children: c
11776
- }), t[17] = CM, t[18] = c, t[19] = wM) : wM = t[19];
11777
- let TM = wM;
11778
- _ = Alert, S = d, t[20] === o ? w = t[21] : (w = cn("border-none font-code text-sm text-[0.84375rem] px-0 text-muted-foreground normal [&:has(svg)]:pl-0 space-y-4", o), t[20] = o, t[21] = w), E = TM, v = "flex flex-col gap-8", y = SM(), t[2] = d, t[3] = i, t[4] = s, t[5] = o, t[6] = n, t[7] = h, t[8] = c, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E;
11767
+ }), t[17] = WM, t[18] = c, t[19] = GM) : GM = t[19];
11768
+ let KM = GM;
11769
+ _ = Alert, S = d, t[20] === o ? w = t[21] : (w = cn("border-none font-code text-sm text-[0.84375rem] px-0 text-muted-foreground normal [&:has(svg)]:pl-0 space-y-4", o), t[20] = o, t[21] = w), E = KM, v = "flex flex-col gap-8", y = UM(), t[2] = d, t[3] = i, t[4] = s, t[5] = o, t[6] = n, t[7] = h, t[8] = c, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E;
11779
11770
  } else _ = t[9], v = t[10], y = t[11], S = t[12], w = t[13], E = t[14];
11780
11771
  let O;
11781
11772
  t[22] !== v || t[23] !== y ? (O = (0, import_jsx_runtime.jsx)("div", {
@@ -12103,9 +12094,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12103
12094
  })
12104
12095
  }, `sql-error-${t}`);
12105
12096
  }
12106
- var import_compiler_runtime$36 = require_compiler_runtime();
12097
+ var import_compiler_runtime$37 = require_compiler_runtime();
12107
12098
  const TextOutput = (e) => {
12108
- let t = (0, import_compiler_runtime$36.c)(13), { text: n, channel: i, wrapText: o } = e, s = i === "stdout" || i === "stderr", c;
12099
+ let t = (0, import_compiler_runtime$37.c)(13), { text: n, channel: i, wrapText: o } = e, s = i === "stdout" || i === "stderr", c;
12109
12100
  t[0] === o ? c = t[1] : (c = (e2) => (0, import_jsx_runtime.jsx)("span", {
12110
12101
  className: o ? "whitespace-pre-wrap break-words" : "whitespace-pre",
12111
12102
  children: (0, import_jsx_runtime.jsx)(RenderTextWithLinks, {
@@ -12122,17 +12113,17 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12122
12113
  children: v
12123
12114
  }), t[10] = _, t[11] = v, t[12] = y) : y = t[12], y;
12124
12115
  };
12125
- var import_compiler_runtime$35 = require_compiler_runtime();
12116
+ var import_compiler_runtime$36 = require_compiler_runtime();
12126
12117
  const VideoOutput = (e) => {
12127
- let t = (0, import_compiler_runtime$35.c)(3), { src: n, className: i } = e, a;
12118
+ let t = (0, import_compiler_runtime$36.c)(3), { src: n, className: i } = e, a;
12128
12119
  return t[0] !== i || t[1] !== n ? (a = (0, import_jsx_runtime.jsx)("iframe", {
12129
12120
  className: i,
12130
12121
  src: n
12131
12122
  }), t[0] = i, t[1] = n, t[2] = a) : a = t[2], a;
12132
12123
  };
12133
- var import_compiler_runtime$34 = require_compiler_runtime();
12124
+ var import_compiler_runtime$35 = require_compiler_runtime();
12134
12125
  useOverflowDetection = function(e, t) {
12135
- let n = (0, import_compiler_runtime$34.c)(4), i = t === void 0 ? true : t, [a, o] = (0, import_react.useState)(false), s, c;
12126
+ let n = (0, import_compiler_runtime$35.c)(4), i = t === void 0 ? true : t, [a, o] = (0, import_react.useState)(false), s, c;
12136
12127
  return n[0] !== i || n[1] !== e ? (s = () => {
12137
12128
  let t2 = e.current;
12138
12129
  if (!t2 || !i) return;
@@ -12229,9 +12220,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12229
12220
  LazyVegaEmbed = import_react.lazy(() => import("./react-vega-jy3CfYys.js").then((e) => ({
12230
12221
  default: e.VegaEmbed
12231
12222
  })));
12232
- var import_compiler_runtime$33 = require_compiler_runtime();
12223
+ var import_compiler_runtime$34 = require_compiler_runtime();
12233
12224
  ChartLoadingState = () => {
12234
- let e = (0, import_compiler_runtime$33.c)(1), t;
12225
+ let e = (0, import_compiler_runtime$34.c)(1), t;
12235
12226
  return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = (0, import_jsx_runtime.jsxs)("div", {
12236
12227
  className: "flex items-center gap-2 justify-center",
12237
12228
  children: [
@@ -12246,7 +12237,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12246
12237
  }), e[0] = t) : t = e[0], t;
12247
12238
  };
12248
12239
  ChartErrorState = (e) => {
12249
- let t = (0, import_compiler_runtime$33.c)(2), { error: n } = e, i;
12240
+ let t = (0, import_compiler_runtime$34.c)(2), { error: n } = e, i;
12250
12241
  return t[0] === n ? i = t[1] : (i = (0, import_jsx_runtime.jsx)("div", {
12251
12242
  className: "flex items-center justify-center",
12252
12243
  children: (0, import_jsx_runtime.jsx)(ErrorBanner, {
@@ -12255,7 +12246,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12255
12246
  }), t[0] = n, t[1] = i), i;
12256
12247
  };
12257
12248
  ChartInfoState = (e) => {
12258
- let t = (0, import_compiler_runtime$33.c)(8), { children: n, className: i } = e, o;
12249
+ let t = (0, import_compiler_runtime$34.c)(8), { children: n, className: i } = e, o;
12259
12250
  t[0] === i ? o = t[1] : (o = cn("flex flex-col items-center justify-center gap-4", i), t[0] = i, t[1] = o);
12260
12251
  let s;
12261
12252
  t[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = (0, import_jsx_runtime.jsx)(ChartPie, {
@@ -12275,11 +12266,11 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12275
12266
  ]
12276
12267
  }), t[5] = o, t[6] = c, t[7] = d) : d = t[7], d;
12277
12268
  };
12278
- let import_compiler_runtime$32;
12279
- import_compiler_runtime$32 = require_compiler_runtime();
12269
+ let import_compiler_runtime$33;
12270
+ import_compiler_runtime$33 = require_compiler_runtime();
12280
12271
  Tabs = Root2;
12281
12272
  TabsList = import_react.forwardRef((e, t) => {
12282
- let n = (0, import_compiler_runtime$32.c)(9), i, o;
12273
+ let n = (0, import_compiler_runtime$33.c)(9), i, o;
12283
12274
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
12284
12275
  let s;
12285
12276
  n[3] === i ? s = n[4] : (s = cn("inline-flex max-h-14 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground", i), n[3] = i, n[4] = s);
@@ -12292,7 +12283,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12292
12283
  });
12293
12284
  TabsList.displayName = List.displayName;
12294
12285
  TabsTrigger = import_react.forwardRef((e, t) => {
12295
- let n = (0, import_compiler_runtime$32.c)(9), i, o;
12286
+ let n = (0, import_compiler_runtime$33.c)(9), i, o;
12296
12287
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
12297
12288
  let s;
12298
12289
  n[3] === i ? s = n[4] : (s = cn("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm", i), n[3] = i, n[4] = s);
@@ -12305,7 +12296,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12305
12296
  });
12306
12297
  TabsTrigger.displayName = Trigger.displayName;
12307
12298
  TabsContent = import_react.forwardRef((e, t) => {
12308
- let n = (0, import_compiler_runtime$32.c)(9), i, o;
12299
+ let n = (0, import_compiler_runtime$33.c)(9), i, o;
12309
12300
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
12310
12301
  let s;
12311
12302
  n[3] === i ? s = n[4] : (s = cn("mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2", i), n[3] = i, n[4] = s);
@@ -12317,9 +12308,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12317
12308
  }), n[5] = o, n[6] = t, n[7] = s, n[8] = c) : c = n[8], c;
12318
12309
  });
12319
12310
  TabsContent.displayName = Content.displayName;
12320
- var import_compiler_runtime$31 = require_compiler_runtime();
12311
+ var import_compiler_runtime$32 = require_compiler_runtime();
12321
12312
  const WithLocale = (e) => {
12322
- let t = (0, import_compiler_runtime$31.c)(3), { children: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a;
12313
+ let t = (0, import_compiler_runtime$32.c)(3), { children: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a;
12323
12314
  return t[0] !== n || t[1] !== i ? (a = n(i), t[0] = n, t[1] = i, t[2] = a) : a = t[2], a;
12324
12315
  };
12325
12316
  function tzName(e, t, n = "long") {
@@ -12530,6 +12521,104 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12530
12521
  return n;
12531
12522
  }
12532
12523
  };
12524
+ var import_compiler_runtime$31 = require_compiler_runtime();
12525
+ const DraggablePopover = (e) => {
12526
+ let t = (0, import_compiler_runtime$31.c)(25), n, i, a;
12527
+ t[0] === e ? (n = t[1], i = t[2], a = t[3]) : ({ children: n, className: i, ...a } = e, t[0] = e, t[1] = n, t[2] = i, t[3] = a);
12528
+ let o;
12529
+ t[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {
12530
+ x: 0,
12531
+ y: 0
12532
+ }, t[4] = o) : o = t[4];
12533
+ let [s, c] = (0, import_react.useState)(o), d;
12534
+ t[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = {
12535
+ x: 0,
12536
+ y: 0
12537
+ }, t[5] = d) : d = t[5];
12538
+ let f = (0, import_react.useRef)(d), [h, _] = (0, import_react.useState)(false), v;
12539
+ if (t[6] !== s.x || t[7] !== s.y) {
12540
+ v = (t2) => {
12541
+ f.current = {
12542
+ x: t2.clientX - s.x,
12543
+ y: t2.clientY - s.y
12544
+ }, _(true), document.addEventListener("mousemove", e2), document.addEventListener("mouseup", n2);
12545
+ };
12546
+ let e2 = (e3) => {
12547
+ c({
12548
+ x: e3.clientX - f.current.x,
12549
+ y: e3.clientY - f.current.y
12550
+ });
12551
+ }, n2 = () => {
12552
+ _(false), document.removeEventListener("mousemove", e2), document.removeEventListener("mouseup", n2);
12553
+ };
12554
+ t[6] = s.x, t[7] = s.y, t[8] = v;
12555
+ } else v = t[8];
12556
+ let y;
12557
+ t[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = (0, import_jsx_runtime.jsx)(PopoverTrigger, {}), t[9] = y) : y = t[9];
12558
+ let S;
12559
+ t[10] !== s.x || t[11] !== s.y ? (S = {
12560
+ position: "fixed",
12561
+ left: s.x,
12562
+ top: s.y
12563
+ }, t[10] = s.x, t[11] = s.y, t[12] = S) : S = t[12];
12564
+ let w = `flex items-center justify-center absolute top-0 left-1/2 -translate-x-1/2 ${h ? "cursor-grabbing" : "cursor-grab"}`, E;
12565
+ t[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E = (0, import_jsx_runtime.jsx)(GripHorizontal, {
12566
+ className: "h-5 w-5 mt-1 text-muted-foreground/40"
12567
+ }), t[13] = E) : E = t[13];
12568
+ let O;
12569
+ t[14] !== v || t[15] !== w ? (O = (0, import_jsx_runtime.jsx)("div", {
12570
+ onMouseDown: v,
12571
+ className: w,
12572
+ children: E
12573
+ }), t[14] = v, t[15] = w, t[16] = O) : O = t[16];
12574
+ let A;
12575
+ t[17] !== n || t[18] !== i || t[19] !== S || t[20] !== O ? (A = (0, import_jsx_runtime.jsxs)(PopoverContent, {
12576
+ className: i,
12577
+ style: S,
12578
+ children: [
12579
+ O,
12580
+ n
12581
+ ]
12582
+ }), t[17] = n, t[18] = i, t[19] = S, t[20] = O, t[21] = A) : A = t[21];
12583
+ let M;
12584
+ return t[22] !== a || t[23] !== A ? (M = (0, import_jsx_runtime.jsxs)(Popover, {
12585
+ ...a,
12586
+ children: [
12587
+ y,
12588
+ A
12589
+ ]
12590
+ }), t[22] = a, t[23] = A, t[24] = M) : M = t[24], M;
12591
+ }, Sets = {
12592
+ merge(...e) {
12593
+ let t = /* @__PURE__ */ new Set();
12594
+ for (let n of e) for (let e2 of n) t.add(e2);
12595
+ return t;
12596
+ },
12597
+ equals(e, t) {
12598
+ if (e.size !== t.size) return false;
12599
+ for (let n of e) if (!t.has(n)) return false;
12600
+ return true;
12601
+ },
12602
+ toggle(e, t) {
12603
+ let n = new Set(e);
12604
+ return n.has(t) ? n.delete(t) : n.add(t), n;
12605
+ }
12606
+ };
12607
+ function words(e) {
12608
+ return e.toLowerCase().match(/[\da-z]+/g) || [];
12609
+ }
12610
+ function smartMatch(e, t) {
12611
+ let n = words(e);
12612
+ if (n.length === 0) return true;
12613
+ let i = Array.isArray(t) ? t : [
12614
+ t
12615
+ ], a = [];
12616
+ for (let e2 of i) e2 && a.push(...words(e2));
12617
+ return n.every((e2) => a.some((t2) => t2.startsWith(e2)));
12618
+ }
12619
+ function smartMatchFilter(e, t, n) {
12620
+ return smartMatch(t, e) ? 1 : n && smartMatch(t, n) ? 0.8 : 0;
12621
+ }
12533
12622
  var U$1 = 1, Y$1 = 0.9, H = 0.8, J$1 = 0.17, p = 0.1, u = 0.999, $$1 = 0.9999, k$1 = 0.99, m = /[\\\/_+.#"@\[\(\{&]/, B$1 = /[\\\/_+.#"@\[\(\{&]/g, K$2 = /[\s-]/, X$1 = /[\s-]/g;
12534
12623
  function G(e, t, n, i, a, o, s) {
12535
12624
  if (o === t.length) return a === e.length ? U$1 : k$1;
@@ -12655,7 +12744,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12655
12744
  items: /* @__PURE__ */ new Map(),
12656
12745
  groups: /* @__PURE__ */ new Set()
12657
12746
  }
12658
- })), i = L(() => /* @__PURE__ */ new Set()), a = L(() => /* @__PURE__ */ new Map()), o = L(() => /* @__PURE__ */ new Map()), s = L(() => /* @__PURE__ */ new Set()), c = pe(e), { label: d, children: f, value: h, onValueChange: _, filter: v, shouldFilter: y, loop: S, disablePointerSelection: w = false, vimBindings: E = true, ...O } = e, A = useId$1(), M = useId$1(), I = useId$1(), z = import_react.useRef(null), U = ke();
12747
+ })), i = L(() => /* @__PURE__ */ new Set()), a = L(() => /* @__PURE__ */ new Map()), o = L(() => /* @__PURE__ */ new Map()), s = L(() => /* @__PURE__ */ new Set()), c = pe(e), { label: d, children: f, value: h, onValueChange: _, filter: v, shouldFilter: y, loop: S, disablePointerSelection: w = false, vimBindings: E = true, ...O } = e, A = useId$2(), M = useId$2(), I = useId$2(), z = import_react.useRef(null), U = ke();
12659
12748
  k(() => {
12660
12749
  if (h !== void 0) {
12661
12750
  let e2 = h.trim();
@@ -12664,7 +12753,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12664
12753
  }, [
12665
12754
  h
12666
12755
  ]), k(() => {
12667
- U(6, yM);
12756
+ U(6, VM);
12668
12757
  }, []);
12669
12758
  let K = import_react.useMemo(() => ({
12670
12759
  subscribe: (e2) => (s.current.add(e2), () => s.current.delete(e2)),
@@ -12673,7 +12762,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12673
12762
  var _a2;
12674
12763
  var a2, o2, s2;
12675
12764
  if (!Object.is(n.current[e2], t2)) {
12676
- if (n.current[e2] = t2, e2 === "search") $(), Q(), U(1, vM);
12765
+ if (n.current[e2] = t2, e2 === "search") $(), Q(), U(1, BM);
12677
12766
  else if (e2 === "value") {
12678
12767
  if (document.activeElement.hasAttribute("cmdk-input") || document.activeElement.hasAttribute("cmdk-root")) {
12679
12768
  let e3 = document.getElementById(I);
@@ -12681,8 +12770,8 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12681
12770
  }
12682
12771
  if (U(7, () => {
12683
12772
  var _a3;
12684
- n.current.selectedItemId = (_a3 = bM()) == null ? void 0 : _a3.id, K.emit();
12685
- }), i2 || U(5, yM), ((_a2 = c.current) == null ? void 0 : _a2.value) !== void 0) {
12773
+ n.current.selectedItemId = (_a3 = HM()) == null ? void 0 : _a3.id, K.emit();
12774
+ }), i2 || U(5, VM), ((_a2 = c.current) == null ? void 0 : _a2.value) !== void 0) {
12686
12775
  let e3 = t2 ?? "";
12687
12776
  (s2 = (o2 = c.current).onValueChange) == null || s2.call(o2, e3);
12688
12777
  return;
@@ -12707,12 +12796,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12707
12796
  item: (e2, t2) => (i.current.add(e2), t2 && (a.current.has(t2) ? a.current.get(t2).add(e2) : a.current.set(t2, /* @__PURE__ */ new Set([
12708
12797
  e2
12709
12798
  ]))), U(3, () => {
12710
- $(), Q(), n.current.value || vM(), K.emit();
12799
+ $(), Q(), n.current.value || BM(), K.emit();
12711
12800
  }), () => {
12712
12801
  o.current.delete(e2), i.current.delete(e2), n.current.filtered.items.delete(e2);
12713
- let t3 = bM();
12802
+ let t3 = HM();
12714
12803
  U(4, () => {
12715
- $(), (t3 == null ? void 0 : t3.getAttribute("id")) === e2 && vM(), K.emit();
12804
+ $(), (t3 == null ? void 0 : t3.getAttribute("id")) === e2 && BM(), K.emit();
12716
12805
  });
12717
12806
  }),
12718
12807
  group: (e2) => (a.current.has(e2) || a.current.set(e2, /* @__PURE__ */ new Set()), () => {
@@ -12745,7 +12834,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12745
12834
  ]);
12746
12835
  });
12747
12836
  let i2 = z.current;
12748
- xM().sort((t3, n2) => {
12837
+ UM().sort((t3, n2) => {
12749
12838
  let i3 = t3.getAttribute("id"), a2 = n2.getAttribute("id");
12750
12839
  return (e2.get(a2) ?? 0) - (e2.get(i3) ?? 0);
12751
12840
  }).forEach((e3) => {
@@ -12757,9 +12846,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12757
12846
  t3 == null ? void 0 : t3.parentElement.appendChild(t3);
12758
12847
  });
12759
12848
  }
12760
- function vM() {
12849
+ function BM() {
12761
12850
  var _a2;
12762
- let e2 = (_a2 = xM().find((e3) => e3.getAttribute("aria-disabled") !== "true")) == null ? void 0 : _a2.getAttribute(T);
12851
+ let e2 = (_a2 = UM().find((e3) => e3.getAttribute("aria-disabled") !== "true")) == null ? void 0 : _a2.getAttribute(T);
12763
12852
  K.setState("value", e2 || void 0);
12764
12853
  }
12765
12854
  function $() {
@@ -12780,43 +12869,43 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12780
12869
  }
12781
12870
  n.current.filtered.count = e2;
12782
12871
  }
12783
- function yM() {
12872
+ function VM() {
12784
12873
  var _a2, _b;
12785
12874
  var e2;
12786
- let t2 = bM();
12875
+ let t2 = HM();
12787
12876
  t2 && (((_a2 = t2.parentElement) == null ? void 0 : _a2.firstChild) === t2 && ((e2 = (_b = t2.closest(N$1)) == null ? void 0 : _b.querySelector(be)) == null || e2.scrollIntoView({
12788
12877
  block: "nearest"
12789
12878
  })), t2.scrollIntoView({
12790
12879
  block: "nearest"
12791
12880
  }));
12792
12881
  }
12793
- function bM() {
12882
+ function HM() {
12794
12883
  var _a2;
12795
12884
  return (_a2 = z.current) == null ? void 0 : _a2.querySelector(`${le}[aria-selected="true"]`);
12796
12885
  }
12797
- function xM() {
12886
+ function UM() {
12798
12887
  var _a2;
12799
12888
  return Array.from(((_a2 = z.current) == null ? void 0 : _a2.querySelectorAll(ce$1)) || []);
12800
12889
  }
12801
- function SM(e2) {
12802
- let t2 = xM()[e2];
12890
+ function WM(e2) {
12891
+ let t2 = UM()[e2];
12803
12892
  t2 && K.setState("value", t2.getAttribute(T));
12804
12893
  }
12805
- function CM(e2) {
12894
+ function GM(e2) {
12806
12895
  var t2;
12807
- let n2 = bM(), i2 = xM(), a2 = i2.findIndex((e3) => e3 === n2), o2 = i2[a2 + e2];
12896
+ let n2 = HM(), i2 = UM(), a2 = i2.findIndex((e3) => e3 === n2), o2 = i2[a2 + e2];
12808
12897
  (t2 = c.current) != null && t2.loop && (o2 = a2 + e2 < 0 ? i2[i2.length - 1] : a2 + e2 === i2.length ? i2[0] : i2[a2 + e2]), o2 && K.setState("value", o2.getAttribute(T));
12809
12898
  }
12810
- function wM(e2) {
12899
+ function KM(e2) {
12811
12900
  var _a2;
12812
- let t2 = (_a2 = bM()) == null ? void 0 : _a2.closest(N$1), n2;
12901
+ let t2 = (_a2 = HM()) == null ? void 0 : _a2.closest(N$1), n2;
12813
12902
  for (; t2 && !n2; ) t2 = e2 > 0 ? we(t2, N$1) : De(t2, N$1), n2 = t2 == null ? void 0 : t2.querySelector(ce$1);
12814
- n2 ? K.setState("value", n2.getAttribute(T)) : CM(e2);
12903
+ n2 ? K.setState("value", n2.getAttribute(T)) : GM(e2);
12815
12904
  }
12816
- let TM = () => SM(xM().length - 1), EM = (e2) => {
12817
- e2.preventDefault(), e2.metaKey ? TM() : e2.altKey ? wM(1) : CM(1);
12818
- }, DM = (e2) => {
12819
- e2.preventDefault(), e2.metaKey ? SM(0) : e2.altKey ? wM(-1) : CM(-1);
12905
+ let qM = () => WM(UM().length - 1), JM = (e2) => {
12906
+ e2.preventDefault(), e2.metaKey ? qM() : e2.altKey ? KM(1) : GM(1);
12907
+ }, YM = (e2) => {
12908
+ e2.preventDefault(), e2.metaKey ? WM(0) : e2.altKey ? KM(-1) : GM(-1);
12820
12909
  };
12821
12910
  return import_react.createElement(Primitive.div, {
12822
12911
  ref: t,
@@ -12830,27 +12919,27 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12830
12919
  if (!(e2.defaultPrevented || n2)) switch (e2.key) {
12831
12920
  case "n":
12832
12921
  case "j":
12833
- E && e2.ctrlKey && EM(e2);
12922
+ E && e2.ctrlKey && JM(e2);
12834
12923
  break;
12835
12924
  case "ArrowDown":
12836
- EM(e2);
12925
+ JM(e2);
12837
12926
  break;
12838
12927
  case "p":
12839
12928
  case "k":
12840
- E && e2.ctrlKey && DM(e2);
12929
+ E && e2.ctrlKey && YM(e2);
12841
12930
  break;
12842
12931
  case "ArrowUp":
12843
- DM(e2);
12932
+ YM(e2);
12844
12933
  break;
12845
12934
  case "Home":
12846
- e2.preventDefault(), SM(0);
12935
+ e2.preventDefault(), WM(0);
12847
12936
  break;
12848
12937
  case "End":
12849
- e2.preventDefault(), TM();
12938
+ e2.preventDefault(), qM();
12850
12939
  break;
12851
12940
  case "Enter": {
12852
12941
  e2.preventDefault();
12853
- let t3 = bM();
12942
+ let t3 = HM();
12854
12943
  if (t3) {
12855
12944
  let e3 = new Event(Z);
12856
12945
  t3.dispatchEvent(e3);
@@ -12870,7 +12959,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12870
12959
  }, e2))));
12871
12960
  }), he$1 = import_react.forwardRef((e, t) => {
12872
12961
  var _a2;
12873
- let n = useId$1(), i = import_react.useRef(null), a = import_react.useContext(fe), o = K$1(), s = pe(e), d = ((_a2 = s.current) == null ? void 0 : _a2.forceMount) ?? (a == null ? void 0 : a.forceMount);
12962
+ let n = useId$2(), i = import_react.useRef(null), a = import_react.useContext(fe), o = K$1(), s = pe(e), d = ((_a2 = s.current) == null ? void 0 : _a2.forceMount) ?? (a == null ? void 0 : a.forceMount);
12874
12963
  k(() => {
12875
12964
  if (!d) return o.item(n, a == null ? void 0 : a.id);
12876
12965
  }, [
@@ -12912,7 +13001,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
12912
13001
  onClick: w ? void 0 : y
12913
13002
  }, e.children);
12914
13003
  }), Ee = import_react.forwardRef((e, t) => {
12915
- let { heading: n, children: i, forceMount: a, ...o } = e, s = useId$1(), d = import_react.useRef(null), f = import_react.useRef(null), h = useId$1(), _ = K$1(), v = P$1((e2) => a || _.filter() === false ? true : e2.search ? e2.filtered.groups.has(s) : true);
13004
+ let { heading: n, children: i, forceMount: a, ...o } = e, s = useId$2(), d = import_react.useRef(null), f = import_react.useRef(null), h = useId$2(), _ = K$1(), v = P$1((e2) => a || _.filter() === false ? true : e2.search ? e2.filtered.groups.has(s) : true);
12916
13005
  k(() => _.group(s), []), ve(s, d, [
12917
13006
  e.value,
12918
13007
  e.heading,
@@ -13112,7 +13201,8 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13112
13201
  ref: t.ref
13113
13202
  }, n(t.props.children)) : n(t);
13114
13203
  }
13115
- var Te = {
13204
+ let Te, import_compiler_runtime$30;
13205
+ Te = {
13116
13206
  position: "absolute",
13117
13207
  width: "1px",
13118
13208
  height: "1px",
@@ -13123,22 +13213,6 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13123
13213
  whiteSpace: "nowrap",
13124
13214
  borderWidth: "0"
13125
13215
  };
13126
- function words(e) {
13127
- return e.toLowerCase().match(/[\da-z]+/g) || [];
13128
- }
13129
- function smartMatch(e, t) {
13130
- let n = words(e);
13131
- if (n.length === 0) return true;
13132
- let i = Array.isArray(t) ? t : [
13133
- t
13134
- ], a = [];
13135
- for (let e2 of i) e2 && a.push(...words(e2));
13136
- return n.every((e2) => a.some((t2) => t2.startsWith(e2)));
13137
- }
13138
- function smartMatchFilter(e, t, n) {
13139
- return smartMatch(t, e) ? 1 : n && smartMatch(t, n) ? 0.8 : 0;
13140
- }
13141
- let import_compiler_runtime$30;
13142
13216
  import_compiler_runtime$30 = require_compiler_runtime();
13143
13217
  Command = import_react.forwardRef((e, t) => {
13144
13218
  let n = (0, import_compiler_runtime$30.c)(9), i, o;
@@ -13250,136 +13324,511 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13250
13324
  }), n[11] = i, n[12] = o, n[13] = s, n[14] = c, n[15] = d, n[16] = f) : f = n[16], f;
13251
13325
  });
13252
13326
  CommandItem.displayName = _e.Item.displayName;
13253
- var import_compiler_runtime$29 = require_compiler_runtime();
13254
- const DraggablePopover = (e) => {
13255
- let t = (0, import_compiler_runtime$29.c)(25), n, i, a;
13256
- t[0] === e ? (n = t[1], i = t[2], a = t[3]) : ({ children: n, className: i, ...a } = e, t[0] = e, t[1] = n, t[2] = i, t[3] = a);
13257
- let o;
13258
- t[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {
13259
- x: 0,
13260
- y: 0
13261
- }, t[4] = o) : o = t[4];
13262
- let [s, c] = (0, import_react.useState)(o), d;
13263
- t[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = {
13264
- x: 0,
13265
- y: 0
13266
- }, t[5] = d) : d = t[5];
13267
- let f = (0, import_react.useRef)(d), [h, _] = (0, import_react.useState)(false), v;
13268
- if (t[6] !== s.x || t[7] !== s.y) {
13269
- v = (t2) => {
13270
- f.current = {
13271
- x: t2.clientX - s.x,
13272
- y: t2.clientY - s.y
13273
- }, _(true), document.addEventListener("mousemove", e2), document.addEventListener("mouseup", n2);
13274
- };
13275
- let e2 = (e3) => {
13276
- c({
13277
- x: e3.clientX - f.current.x,
13278
- y: e3.clientY - f.current.y
13279
- });
13280
- }, n2 = () => {
13281
- _(false), document.removeEventListener("mousemove", e2), document.removeEventListener("mouseup", n2);
13282
- };
13283
- t[6] = s.x, t[7] = s.y, t[8] = v;
13284
- } else v = t[8];
13285
- let y;
13286
- t[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = (0, import_jsx_runtime.jsx)(PopoverTrigger, {}), t[9] = y) : y = t[9];
13287
- let S;
13288
- t[10] !== s.x || t[11] !== s.y ? (S = {
13289
- position: "fixed",
13290
- left: s.x,
13291
- top: s.y
13292
- }, t[10] = s.x, t[11] = s.y, t[12] = S) : S = t[12];
13293
- let w = `flex items-center justify-center absolute top-0 left-1/2 -translate-x-1/2 ${h ? "cursor-grabbing" : "cursor-grab"}`, E;
13294
- t[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E = (0, import_jsx_runtime.jsx)(GripHorizontal, {
13295
- className: "h-5 w-5 mt-1 text-muted-foreground/40"
13296
- }), t[13] = E) : E = t[13];
13297
- let O;
13298
- t[14] !== v || t[15] !== w ? (O = (0, import_jsx_runtime.jsx)("div", {
13299
- onMouseDown: v,
13300
- className: w,
13301
- children: E
13302
- }), t[14] = v, t[15] = w, t[16] = O) : O = t[16];
13303
- let A;
13304
- t[17] !== n || t[18] !== i || t[19] !== S || t[20] !== O ? (A = (0, import_jsx_runtime.jsxs)(PopoverContent, {
13305
- className: i,
13306
- style: S,
13307
- children: [
13308
- O,
13309
- n
13310
- ]
13311
- }), t[17] = n, t[18] = i, t[19] = S, t[20] = O, t[21] = A) : A = t[21];
13312
- let M;
13313
- return t[22] !== a || t[23] !== A ? (M = (0, import_jsx_runtime.jsxs)(Popover, {
13314
- ...a,
13315
- children: [
13316
- y,
13317
- A
13318
- ]
13319
- }), t[22] = a, t[23] = A, t[24] = M) : M = t[24], M;
13320
- }, Filter = {
13321
- number(e) {
13322
- return {
13323
- type: "number",
13324
- ...e
13325
- };
13326
- },
13327
- text(e) {
13328
- return {
13329
- type: "text",
13330
- ...e
13331
- };
13332
- },
13333
- date(e) {
13334
- return {
13335
- type: "date",
13336
- ...e
13337
- };
13338
- },
13339
- datetime(e) {
13340
- return {
13341
- type: "datetime",
13342
- ...e
13343
- };
13327
+ var import_compiler_runtime$29 = require_compiler_runtime(), WHITESPACE_CHARS = {
13328
+ " ": {
13329
+ marker: "\u2423",
13330
+ name: "space"
13344
13331
  },
13345
- time(e) {
13346
- return {
13347
- type: "time",
13348
- ...e
13349
- };
13332
+ " ": {
13333
+ marker: "\\t",
13334
+ name: "tab"
13350
13335
  },
13351
- boolean(e) {
13352
- return {
13353
- type: "boolean",
13354
- ...e
13355
- };
13336
+ "\n": {
13337
+ marker: "\\n",
13338
+ name: "newline"
13356
13339
  },
13357
- select(e) {
13358
- return {
13359
- type: "select",
13360
- ...e
13361
- };
13340
+ "\r": {
13341
+ marker: "\\r",
13342
+ name: "carriage return"
13362
13343
  }
13363
13344
  };
13364
- function filterToFilterCondition(e, t) {
13365
- if (!t) return [];
13366
- let i = e;
13367
- if (t.operator === "is_null" || t.operator === "is_not_null") return [
13368
- {
13369
- column_id: i,
13370
- operator: t.operator,
13371
- value: void 0,
13372
- type: "condition",
13373
- negate: false
13374
- }
13375
- ];
13376
- switch (t.type) {
13377
- case "number": {
13378
- let e2 = [];
13379
- return t.min !== void 0 && e2.push({
13380
- column_id: i,
13381
- operator: ">=",
13382
- value: t.min,
13345
+ function renderWhitespaceMarkers(e) {
13346
+ return [
13347
+ ...e
13348
+ ].map((e2, t) => {
13349
+ let n = WHITESPACE_CHARS[e2];
13350
+ return (0, import_jsx_runtime.jsx)("span", {
13351
+ className: "mr-0.5 last:mr-0",
13352
+ children: n ? n.marker : `\\u${(e2.codePointAt(0) ?? 0).toString(16).padStart(4, "0")}`
13353
+ }, t);
13354
+ });
13355
+ }
13356
+ function describeWhitespace(e) {
13357
+ var _a2;
13358
+ let t = {};
13359
+ for (let n of e) {
13360
+ let e2 = ((_a2 = WHITESPACE_CHARS[n]) == null ? void 0 : _a2.name) ?? "unicode whitespace";
13361
+ t[e2] = (t[e2] ?? 0) + 1;
13362
+ }
13363
+ return Object.entries(t).map(([e2, t2]) => `${t2} ${e2}${t2 > 1 ? "s" : ""}`).join(", ");
13364
+ }
13365
+ var SENTINEL_CONFIG = {
13366
+ null: {
13367
+ label: () => "None",
13368
+ tooltip: () => "None",
13369
+ ariaLabel: () => "None"
13370
+ },
13371
+ "empty-string": {
13372
+ label: () => "<empty>",
13373
+ tooltip: () => "<empty>",
13374
+ ariaLabel: () => "empty string"
13375
+ },
13376
+ whitespace: {
13377
+ label: (e) => renderWhitespaceMarkers(String(e)),
13378
+ tooltip: (e) => describeWhitespace(String(e)),
13379
+ ariaLabel: (e) => describeWhitespace(String(e))
13380
+ },
13381
+ nan: {
13382
+ label: () => "NaN",
13383
+ tooltip: () => "NaN",
13384
+ ariaLabel: () => "NaN"
13385
+ },
13386
+ "positive-infinity": {
13387
+ label: () => "inf",
13388
+ tooltip: () => "Infinity",
13389
+ ariaLabel: () => "infinity"
13390
+ },
13391
+ "negative-infinity": {
13392
+ label: () => "-inf",
13393
+ tooltip: () => "-Infinity",
13394
+ ariaLabel: () => "negative infinity"
13395
+ },
13396
+ nat: {
13397
+ label: () => "NaT",
13398
+ tooltip: () => "NaT (Not a Time)",
13399
+ ariaLabel: () => "Not a Time"
13400
+ }
13401
+ };
13402
+ function WhitespaceMarkers(e) {
13403
+ let t = (0, import_compiler_runtime$29.c)(7), { value: n } = e;
13404
+ if (!n) return null;
13405
+ let i;
13406
+ t[0] === n ? i = t[1] : (i = describeWhitespace(n), t[0] = n, t[1] = i);
13407
+ let a = i, o;
13408
+ t[2] === n ? o = t[3] : (o = renderWhitespaceMarkers(n), t[2] = n, t[3] = o);
13409
+ let s;
13410
+ return t[4] !== a || t[5] !== o ? (s = (0, import_jsx_runtime.jsx)("span", {
13411
+ className: "text-muted-foreground opacity-60",
13412
+ "aria-label": a,
13413
+ title: a,
13414
+ children: o
13415
+ }), t[4] = a, t[5] = o, t[6] = s) : s = t[6], s;
13416
+ }
13417
+ function SentinelCell(e) {
13418
+ let t = (0, import_compiler_runtime$29.c)(15), { sentinel: n } = e, i = SENTINEL_CONFIG[n.type], a;
13419
+ t[0] !== i || t[1] !== n.value ? (a = i.label(n.value), t[0] = i, t[1] = n.value, t[2] = a) : a = t[2];
13420
+ let o = a, s;
13421
+ t[3] !== i || t[4] !== n.value ? (s = i.tooltip(n.value), t[3] = i, t[4] = n.value, t[5] = s) : s = t[5];
13422
+ let c = s, d;
13423
+ t[6] !== i || t[7] !== n.value ? (d = i.ariaLabel(n.value), t[6] = i, t[7] = n.value, t[8] = d) : d = t[8];
13424
+ let f = d, h;
13425
+ t[9] === o ? h = t[10] : (h = (0, import_jsx_runtime.jsx)("span", {
13426
+ className: "opacity-70",
13427
+ children: o
13428
+ }), t[9] = o, t[10] = h);
13429
+ let _;
13430
+ return t[11] !== f || t[12] !== h || t[13] !== c ? (_ = (0, import_jsx_runtime.jsx)("span", {
13431
+ className: "italic text-muted-foreground bg-muted rounded px-1",
13432
+ "aria-label": f,
13433
+ title: c,
13434
+ children: h
13435
+ }), t[11] = f, t[12] = h, t[13] = c, t[14] = _) : _ = t[14], _;
13436
+ }
13437
+ var import_compiler_runtime$28 = require_compiler_runtime();
13438
+ const MimeCell = (e) => {
13439
+ let t = (0, import_compiler_runtime$28.c)(6), { value: n } = e, i;
13440
+ t[0] !== n.data || t[1] !== n.mimetype ? (i = {
13441
+ channel: "output",
13442
+ data: n.data,
13443
+ mimetype: n.mimetype,
13444
+ timestamp: 0
13445
+ }, t[0] = n.data, t[1] = n.mimetype, t[2] = i) : i = t[2];
13446
+ let o = i, s;
13447
+ t[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = cn("flex items-center space-x-2"), t[3] = s) : s = t[3];
13448
+ let c;
13449
+ return t[4] === o ? c = t[5] : (c = (0, import_jsx_runtime.jsx)("div", {
13450
+ className: s,
13451
+ children: (0, import_jsx_runtime.jsx)(OutputRenderer, {
13452
+ message: o
13453
+ })
13454
+ }), t[4] = o, t[5] = c), c;
13455
+ };
13456
+ function isMimeValue(e) {
13457
+ return typeof e == "object" && !!e && "mimetype" in e && "data" in e;
13458
+ }
13459
+ getMimeValues = function(e) {
13460
+ if (isMimeValue(e)) return [
13461
+ e
13462
+ ];
13463
+ if (typeof e == "object" && e && ("_serialized_mime_bundle" in e || "serialized_mime_bundle" in e)) {
13464
+ let t = e, n = t._serialized_mime_bundle || t.serialized_mime_bundle;
13465
+ if (isMimeValue(n)) return [
13466
+ n
13467
+ ];
13468
+ }
13469
+ if (Array.isArray(e) && e.every(isMimeValue)) return e.map((e2) => e2);
13470
+ };
13471
+ toFieldTypes = function(e) {
13472
+ return new Map(e.map(([e2, [t]]) => [
13473
+ e2,
13474
+ t
13475
+ ]));
13476
+ };
13477
+ SELECT_COLUMN_ID = "__select__";
13478
+ INDEX_COLUMN_NAME = "_marimo_row_id";
13479
+ TOO_MANY_ROWS = "too_many";
13480
+ function isNumericType(e) {
13481
+ return e === "number" || e === "integer";
13482
+ }
13483
+ function isTemporalType(e) {
13484
+ return e === "date" || e === "datetime" || e === "time";
13485
+ }
13486
+ function extractTimezone(e) {
13487
+ var _a2, _b;
13488
+ if (e) return (_b = (_a2 = /^datetime(?:64)?\[[^,]+,([^,]+)]$/.exec(e)) == null ? void 0 : _a2[1]) == null ? void 0 : _b.trim();
13489
+ }
13490
+ var WHITESPACE_ONLY_RE = /^[\s]+$/, WHITESPACE_CHAR_RE = /\s/, EDGE_WHITESPACE_RE = /^(\s*)([\s\S]*?)(\s*)$/;
13491
+ function splitLeadingTrailingWhitespace(e) {
13492
+ let t = {
13493
+ leading: "",
13494
+ middle: "",
13495
+ trailing: ""
13496
+ };
13497
+ if (e.length === 0) return t;
13498
+ let n = WHITESPACE_CHAR_RE.test(e[0]), i = WHITESPACE_CHAR_RE.test(e[e.length - 1]);
13499
+ if (!n && !i) return t.middle = e, t;
13500
+ let a = EDGE_WHITESPACE_RE.exec(e);
13501
+ return a ? (t.leading = a[1] ?? "", t.middle = a[2] ?? "", t.trailing = a[3] ?? "", t) : (t.middle = e, t);
13502
+ }
13503
+ loadTableData = async function(e) {
13504
+ return Array.isArray(e) ? e : e.startsWith("{") || e.startsWith("[") ? jsonParseWithSpecialChar(e) : (e = await vegaLoadData(e, {
13505
+ type: "json"
13506
+ }, {
13507
+ handleBigIntAndNumberLike: true
13508
+ }), e);
13509
+ };
13510
+ loadTableAndRawData = async function(e, t) {
13511
+ return t ? Promise.all([
13512
+ loadTableData(e),
13513
+ loadTableData(t)
13514
+ ]) : [
13515
+ await loadTableData(e),
13516
+ void 0
13517
+ ];
13518
+ };
13519
+ function getStableRowId(e) {
13520
+ if (e && typeof e == "object" && "_marimo_row_id" in e) return String(e[INDEX_COLUMN_NAME]);
13521
+ }
13522
+ getPageIndexForRow = function(e, t, n) {
13523
+ let i = t * n, a = i + n - 1;
13524
+ return e < i || e > a ? Math.floor(e / n) : null;
13525
+ };
13526
+ var NUMERIC_STRING_SPECIALS = {
13527
+ NaN: "nan",
13528
+ Infinity: "positive-infinity",
13529
+ "-Infinity": "negative-infinity",
13530
+ inf: "positive-infinity",
13531
+ "-inf": "negative-infinity"
13532
+ };
13533
+ function detectSentinel(e, t) {
13534
+ if (e == null) return {
13535
+ type: "null",
13536
+ value: e
13537
+ };
13538
+ if (typeof e == "string") {
13539
+ if (e === "") return {
13540
+ type: "empty-string",
13541
+ value: e
13542
+ };
13543
+ if (WHITESPACE_ONLY_RE.test(e)) return {
13544
+ type: "whitespace",
13545
+ value: e
13546
+ };
13547
+ if (isNumericType(t)) {
13548
+ let t2 = NUMERIC_STRING_SPECIALS[e];
13549
+ if (t2) return {
13550
+ type: t2,
13551
+ value: e
13552
+ };
13553
+ }
13554
+ return isTemporalType(t) && e === "NaT" ? {
13555
+ type: "nat",
13556
+ value: e
13557
+ } : null;
13558
+ }
13559
+ return typeof e == "number" ? Number.isNaN(e) ? {
13560
+ type: "nan",
13561
+ value: e
13562
+ } : e === Infinity ? {
13563
+ type: "positive-infinity",
13564
+ value: e
13565
+ } : e === -Infinity ? {
13566
+ type: "negative-infinity",
13567
+ value: e
13568
+ } : null : null;
13569
+ }
13570
+ function stringifyUnknownValue(e) {
13571
+ let { value: t, nullAsEmptyString: n = false } = e;
13572
+ return typeof t == "object" && t ? JSON.stringify(t) : t === null && n ? "" : String(t);
13573
+ }
13574
+ function stripHtml(e) {
13575
+ let t = document.createElement("div");
13576
+ return t.innerHTML = e, (t.textContent || t.innerText || "").trim() || e;
13577
+ }
13578
+ var HTML_MIMETYPES = /* @__PURE__ */ new Set([
13579
+ "text/html",
13580
+ "text/markdown"
13581
+ ]);
13582
+ function isRecord(e) {
13583
+ return typeof e == "object" && !!e && !Array.isArray(e);
13584
+ }
13585
+ function getClipboardContent(e, t) {
13586
+ let n = typeof t == "object" && t ? getMimeValues(t) : void 0, i;
13587
+ if (n) {
13588
+ let e2 = n.filter((e3) => HTML_MIMETYPES.has(e3.mimetype)).map((e3) => e3.data);
13589
+ i = e2.length > 0 ? e2.join("") : void 0;
13590
+ }
13591
+ let a;
13592
+ return a = e !== void 0 && e !== t ? stringifyUnknownValue({
13593
+ value: e
13594
+ }) : n ? n.map((e2) => HTML_MIMETYPES.has(e2.mimetype) ? stripHtml(e2.data) : e2.data).join(", ") : stringifyUnknownValue({
13595
+ value: t
13596
+ }), {
13597
+ text: a,
13598
+ html: i
13599
+ };
13600
+ }
13601
+ function getRawValue(e, t, n) {
13602
+ var _a2;
13603
+ let i = (_a2 = e.options.meta) == null ? void 0 : _a2.rawData;
13604
+ if (i) {
13605
+ let e2 = i[t];
13606
+ if (isRecord(e2)) return e2[n];
13607
+ }
13608
+ }
13609
+ var TOP_K_ROWS = 30;
13610
+ const FilterByValuesPicker = ({ column: e, calculateTopKRows: t, chosenValues: n, onChange: i }) => {
13611
+ let [o, s] = (0, import_react.useState)(false), c = (0, import_react.useMemo)(() => new Set(n), [
13612
+ n
13613
+ ]), d = (0, import_react.useMemo)(() => c.size === 0 ? "Select values\u2026" : `[${[
13614
+ ...c
13615
+ ].map((e2) => stringifyUnknownValue({
13616
+ value: e2
13617
+ })).join(", ")}]`, [
13618
+ c
13619
+ ]);
13620
+ return (0, import_jsx_runtime.jsxs)(Popover, {
13621
+ open: o,
13622
+ onOpenChange: s,
13623
+ children: [
13624
+ (0, import_jsx_runtime.jsx)(PopoverTrigger, {
13625
+ asChild: true,
13626
+ children: (0, import_jsx_runtime.jsxs)(Button, {
13627
+ variant: "outline",
13628
+ size: "xs",
13629
+ className: "h-6 mb-1 w-full justify-between font-normal",
13630
+ children: [
13631
+ (0, import_jsx_runtime.jsx)("span", {
13632
+ className: cn("truncate", c.size === 0 && "text-muted-foreground"),
13633
+ children: d
13634
+ }),
13635
+ (0, import_jsx_runtime.jsx)(ChevronDown, {
13636
+ className: "h-4 w-4 opacity-50 shrink-0"
13637
+ })
13638
+ ]
13639
+ })
13640
+ }),
13641
+ (0, import_jsx_runtime.jsx)(PopoverContent, {
13642
+ className: "w-80 p-0",
13643
+ children: (0, import_jsx_runtime.jsx)(FilterByValuesList, {
13644
+ column: e,
13645
+ calculateTopKRows: t,
13646
+ chosenValues: c,
13647
+ onChange: i
13648
+ })
13649
+ })
13650
+ ]
13651
+ });
13652
+ }, FilterByValuesList = ({ column: e, calculateTopKRows: t, chosenValues: i, onChange: a }) => {
13653
+ let [o, s] = (0, import_react.useState)(""), { data: c, isPending: d, error: f } = useAsyncData(async () => t ? (await t({
13654
+ column: e.id,
13655
+ k: TOP_K_ROWS
13656
+ })).data : null, [
13657
+ t,
13658
+ e.id
13659
+ ]), h = (0, import_react.useMemo)(() => {
13660
+ if (!c) return [];
13661
+ try {
13662
+ return c.filter(([e2, t2]) => {
13663
+ if (e2 === void 0) return false;
13664
+ let n = String(e2);
13665
+ return smartMatch(o, n) || n.toLowerCase().includes(o.toLowerCase());
13666
+ });
13667
+ } catch (e2) {
13668
+ return Logger.error("Error filtering data", e2), [];
13669
+ }
13670
+ }, [
13671
+ c,
13672
+ o
13673
+ ]), _ = (e2) => {
13674
+ a([
13675
+ ...Sets.toggle(i, e2)
13676
+ ]);
13677
+ }, v = h.length > 0 && h.every(([e2]) => i.has(e2)), y = v ? true : i.size > 0 ? "indeterminate" : false;
13678
+ return d ? (0, import_jsx_runtime.jsx)(Spinner, {
13679
+ size: "medium",
13680
+ className: "mx-auto mt-12 mb-10"
13681
+ }) : f ? (0, import_jsx_runtime.jsx)(ErrorBanner, {
13682
+ error: f,
13683
+ className: "my-10 mx-4"
13684
+ }) : c ? (0, import_jsx_runtime.jsxs)(Command, {
13685
+ className: "text-sm outline-hidden",
13686
+ shouldFilter: false,
13687
+ children: [
13688
+ (0, import_jsx_runtime.jsx)(CommandInput, {
13689
+ placeholder: `Search among the top ${c.length} values`,
13690
+ autoFocus: true,
13691
+ onValueChange: (e2) => s(e2.trim())
13692
+ }),
13693
+ (0, import_jsx_runtime.jsx)(CommandEmpty, {
13694
+ children: "No results found."
13695
+ }),
13696
+ (0, import_jsx_runtime.jsxs)(CommandList, {
13697
+ children: [
13698
+ h.length > 0 && (0, import_jsx_runtime.jsxs)(CommandItem, {
13699
+ value: "__select-all__",
13700
+ className: "border-b rounded-none px-3",
13701
+ onSelect: () => {
13702
+ if (!c) return;
13703
+ let e2 = new Set(i);
13704
+ if (v) for (let [t2] of h) e2.delete(t2);
13705
+ else for (let [t2] of h) e2.add(t2);
13706
+ a([
13707
+ ...e2
13708
+ ]);
13709
+ },
13710
+ children: [
13711
+ (0, import_jsx_runtime.jsx)(Checkbox, {
13712
+ checked: y,
13713
+ "aria-label": "Select all",
13714
+ className: "mr-3 h-3.5 w-3.5"
13715
+ }),
13716
+ (0, import_jsx_runtime.jsx)("span", {
13717
+ className: "font-bold flex-1",
13718
+ children: e.id
13719
+ }),
13720
+ (0, import_jsx_runtime.jsx)("span", {
13721
+ className: "font-bold",
13722
+ children: "Count"
13723
+ })
13724
+ ]
13725
+ }),
13726
+ h.map(([t2, n]) => {
13727
+ var _a2;
13728
+ let a2 = i.has(t2), o2 = stringifyUnknownValue({
13729
+ value: t2
13730
+ }), s2 = detectSentinel(t2, (_a2 = e.columnDef.meta) == null ? void 0 : _a2.dataType);
13731
+ return (0, import_jsx_runtime.jsxs)(CommandItem, {
13732
+ value: o2,
13733
+ className: "not-last:border-b rounded-none px-3",
13734
+ onSelect: () => _(t2),
13735
+ children: [
13736
+ (0, import_jsx_runtime.jsx)(Checkbox, {
13737
+ checked: a2,
13738
+ "aria-label": "Select row",
13739
+ className: "mr-3 h-3.5 w-3.5"
13740
+ }),
13741
+ (0, import_jsx_runtime.jsx)("span", {
13742
+ className: "flex-1 overflow-hidden max-h-20 line-clamp-3",
13743
+ children: s2 ? (0, import_jsx_runtime.jsx)(SentinelCell, {
13744
+ sentinel: s2
13745
+ }) : o2
13746
+ }),
13747
+ (0, import_jsx_runtime.jsx)("span", {
13748
+ className: "ml-3",
13749
+ children: n
13750
+ })
13751
+ ]
13752
+ }, o2);
13753
+ })
13754
+ ]
13755
+ }),
13756
+ c.length === TOP_K_ROWS && (0, import_jsx_runtime.jsxs)("span", {
13757
+ className: "text-xs text-muted-foreground py-1.5 text-center",
13758
+ children: [
13759
+ "Only showing the top ",
13760
+ TOP_K_ROWS,
13761
+ " values"
13762
+ ]
13763
+ })
13764
+ ]
13765
+ }) : (0, import_jsx_runtime.jsx)("div", {
13766
+ className: "py-6 px-4 text-sm text-muted-foreground text-center",
13767
+ children: "No values available"
13768
+ });
13769
+ }, Filter = {
13770
+ number(e) {
13771
+ return {
13772
+ type: "number",
13773
+ ...e
13774
+ };
13775
+ },
13776
+ text(e) {
13777
+ return {
13778
+ type: "text",
13779
+ ...e
13780
+ };
13781
+ },
13782
+ date(e) {
13783
+ return {
13784
+ type: "date",
13785
+ ...e
13786
+ };
13787
+ },
13788
+ datetime(e) {
13789
+ return {
13790
+ type: "datetime",
13791
+ ...e
13792
+ };
13793
+ },
13794
+ time(e) {
13795
+ return {
13796
+ type: "time",
13797
+ ...e
13798
+ };
13799
+ },
13800
+ boolean(e) {
13801
+ return {
13802
+ type: "boolean",
13803
+ ...e
13804
+ };
13805
+ },
13806
+ select(e) {
13807
+ return {
13808
+ type: "select",
13809
+ ...e
13810
+ };
13811
+ }
13812
+ };
13813
+ function filterToFilterCondition(e, t) {
13814
+ if (!t) return [];
13815
+ let i = e;
13816
+ if (t.operator === "is_null" || t.operator === "is_not_null") return [
13817
+ {
13818
+ column_id: i,
13819
+ operator: t.operator,
13820
+ value: void 0,
13821
+ type: "condition",
13822
+ negate: false
13823
+ }
13824
+ ];
13825
+ switch (t.type) {
13826
+ case "number": {
13827
+ let e2 = [];
13828
+ return t.min !== void 0 && e2.push({
13829
+ column_id: i,
13830
+ operator: ">=",
13831
+ value: t.min,
13383
13832
  type: "condition",
13384
13833
  negate: false
13385
13834
  }), t.max !== void 0 && e2.push({
@@ -13488,120 +13937,10 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
13488
13937
  return {
13489
13938
  type: "group",
13490
13939
  operator: "and",
13491
- children: e.flatMap((e2) => filterToFilterCondition(e2.id, e2.value)),
13492
- negate: false
13493
- };
13494
- };
13495
- var import_compiler_runtime$28 = require_compiler_runtime(), WHITESPACE_CHARS = {
13496
- " ": {
13497
- marker: "\u2423",
13498
- name: "space"
13499
- },
13500
- " ": {
13501
- marker: "\\t",
13502
- name: "tab"
13503
- },
13504
- "\n": {
13505
- marker: "\\n",
13506
- name: "newline"
13507
- },
13508
- "\r": {
13509
- marker: "\\r",
13510
- name: "carriage return"
13511
- }
13512
- };
13513
- function renderWhitespaceMarkers(e) {
13514
- return [
13515
- ...e
13516
- ].map((e2, t) => {
13517
- let n = WHITESPACE_CHARS[e2];
13518
- return (0, import_jsx_runtime.jsx)("span", {
13519
- className: "mr-0.5 last:mr-0",
13520
- children: n ? n.marker : `\\u${(e2.codePointAt(0) ?? 0).toString(16).padStart(4, "0")}`
13521
- }, t);
13522
- });
13523
- }
13524
- function describeWhitespace(e) {
13525
- var _a2;
13526
- let t = {};
13527
- for (let n of e) {
13528
- let e2 = ((_a2 = WHITESPACE_CHARS[n]) == null ? void 0 : _a2.name) ?? "unicode whitespace";
13529
- t[e2] = (t[e2] ?? 0) + 1;
13530
- }
13531
- return Object.entries(t).map(([e2, t2]) => `${t2} ${e2}${t2 > 1 ? "s" : ""}`).join(", ");
13532
- }
13533
- var SENTINEL_CONFIG = {
13534
- null: {
13535
- label: () => "None",
13536
- tooltip: () => "None",
13537
- ariaLabel: () => "None"
13538
- },
13539
- "empty-string": {
13540
- label: () => "<empty>",
13541
- tooltip: () => "<empty>",
13542
- ariaLabel: () => "empty string"
13543
- },
13544
- whitespace: {
13545
- label: (e) => renderWhitespaceMarkers(String(e)),
13546
- tooltip: (e) => describeWhitespace(String(e)),
13547
- ariaLabel: (e) => describeWhitespace(String(e))
13548
- },
13549
- nan: {
13550
- label: () => "NaN",
13551
- tooltip: () => "NaN",
13552
- ariaLabel: () => "NaN"
13553
- },
13554
- "positive-infinity": {
13555
- label: () => "inf",
13556
- tooltip: () => "Infinity",
13557
- ariaLabel: () => "infinity"
13558
- },
13559
- "negative-infinity": {
13560
- label: () => "-inf",
13561
- tooltip: () => "-Infinity",
13562
- ariaLabel: () => "negative infinity"
13563
- },
13564
- nat: {
13565
- label: () => "NaT",
13566
- tooltip: () => "NaT (Not a Time)",
13567
- ariaLabel: () => "Not a Time"
13568
- }
13569
- };
13570
- function WhitespaceMarkers(e) {
13571
- let t = (0, import_compiler_runtime$28.c)(7), { value: n } = e;
13572
- if (!n) return null;
13573
- let i;
13574
- t[0] === n ? i = t[1] : (i = describeWhitespace(n), t[0] = n, t[1] = i);
13575
- let a = i, o;
13576
- t[2] === n ? o = t[3] : (o = renderWhitespaceMarkers(n), t[2] = n, t[3] = o);
13577
- let s;
13578
- return t[4] !== a || t[5] !== o ? (s = (0, import_jsx_runtime.jsx)("span", {
13579
- className: "text-muted-foreground opacity-60",
13580
- "aria-label": a,
13581
- title: a,
13582
- children: o
13583
- }), t[4] = a, t[5] = o, t[6] = s) : s = t[6], s;
13584
- }
13585
- function SentinelCell(e) {
13586
- let t = (0, import_compiler_runtime$28.c)(15), { sentinel: n } = e, i = SENTINEL_CONFIG[n.type], a;
13587
- t[0] !== i || t[1] !== n.value ? (a = i.label(n.value), t[0] = i, t[1] = n.value, t[2] = a) : a = t[2];
13588
- let o = a, s;
13589
- t[3] !== i || t[4] !== n.value ? (s = i.tooltip(n.value), t[3] = i, t[4] = n.value, t[5] = s) : s = t[5];
13590
- let c = s, d;
13591
- t[6] !== i || t[7] !== n.value ? (d = i.ariaLabel(n.value), t[6] = i, t[7] = n.value, t[8] = d) : d = t[8];
13592
- let f = d, h;
13593
- t[9] === o ? h = t[10] : (h = (0, import_jsx_runtime.jsx)("span", {
13594
- className: "opacity-70",
13595
- children: o
13596
- }), t[9] = o, t[10] = h);
13597
- let _;
13598
- return t[11] !== f || t[12] !== h || t[13] !== c ? (_ = (0, import_jsx_runtime.jsx)("span", {
13599
- className: "italic text-muted-foreground bg-muted rounded px-1",
13600
- "aria-label": f,
13601
- title: c,
13602
- children: h
13603
- }), t[11] = f, t[12] = h, t[13] = c, t[14] = _) : _ = t[14], _;
13604
- }
13940
+ children: e.flatMap((e2) => filterToFilterCondition(e2.id, e2.value)),
13941
+ negate: false
13942
+ };
13943
+ };
13605
13944
  function functionalUpdate(e, t) {
13606
13945
  return typeof e == "function" ? e(t) : e;
13607
13946
  }
@@ -15900,181 +16239,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
15900
16239
  s
15901
16240
  ]
15902
16241
  }), t[5] = o, t[6] = s, t[7] = c) : c = t[7], c;
15903
- };
15904
- var import_compiler_runtime$26 = require_compiler_runtime();
15905
- const MimeCell = (e) => {
15906
- let t = (0, import_compiler_runtime$26.c)(6), { value: n } = e, i;
15907
- t[0] !== n.data || t[1] !== n.mimetype ? (i = {
15908
- channel: "output",
15909
- data: n.data,
15910
- mimetype: n.mimetype,
15911
- timestamp: 0
15912
- }, t[0] = n.data, t[1] = n.mimetype, t[2] = i) : i = t[2];
15913
- let o = i, s;
15914
- t[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = cn("flex items-center space-x-2"), t[3] = s) : s = t[3];
15915
- let c;
15916
- return t[4] === o ? c = t[5] : (c = (0, import_jsx_runtime.jsx)("div", {
15917
- className: s,
15918
- children: (0, import_jsx_runtime.jsx)(OutputRenderer, {
15919
- message: o
15920
- })
15921
- }), t[4] = o, t[5] = c), c;
15922
- };
15923
- function isMimeValue(e) {
15924
- return typeof e == "object" && !!e && "mimetype" in e && "data" in e;
15925
- }
15926
- getMimeValues = function(e) {
15927
- if (isMimeValue(e)) return [
15928
- e
15929
- ];
15930
- if (typeof e == "object" && e && ("_serialized_mime_bundle" in e || "serialized_mime_bundle" in e)) {
15931
- let t = e, n = t._serialized_mime_bundle || t.serialized_mime_bundle;
15932
- if (isMimeValue(n)) return [
15933
- n
15934
- ];
15935
- }
15936
- if (Array.isArray(e) && e.every(isMimeValue)) return e.map((e2) => e2);
15937
- };
15938
- toFieldTypes = function(e) {
15939
- return new Map(e.map(([e2, [t]]) => [
15940
- e2,
15941
- t
15942
- ]));
15943
- };
15944
- SELECT_COLUMN_ID = "__select__";
15945
- INDEX_COLUMN_NAME = "_marimo_row_id";
15946
- TOO_MANY_ROWS = "too_many";
15947
- function isNumericType(e) {
15948
- return e === "number" || e === "integer";
15949
- }
15950
- function isTemporalType(e) {
15951
- return e === "date" || e === "datetime" || e === "time";
15952
- }
15953
- function extractTimezone(e) {
15954
- var _a2, _b;
15955
- if (e) return (_b = (_a2 = /^datetime(?:64)?\[[^,]+,([^,]+)]$/.exec(e)) == null ? void 0 : _a2[1]) == null ? void 0 : _b.trim();
15956
- }
15957
- var WHITESPACE_ONLY_RE = /^[\s]+$/, WHITESPACE_CHAR_RE = /\s/, EDGE_WHITESPACE_RE = /^(\s*)([\s\S]*?)(\s*)$/;
15958
- function splitLeadingTrailingWhitespace(e) {
15959
- let t = {
15960
- leading: "",
15961
- middle: "",
15962
- trailing: ""
15963
- };
15964
- if (e.length === 0) return t;
15965
- let n = WHITESPACE_CHAR_RE.test(e[0]), i = WHITESPACE_CHAR_RE.test(e[e.length - 1]);
15966
- if (!n && !i) return t.middle = e, t;
15967
- let a = EDGE_WHITESPACE_RE.exec(e);
15968
- return a ? (t.leading = a[1] ?? "", t.middle = a[2] ?? "", t.trailing = a[3] ?? "", t) : (t.middle = e, t);
15969
- }
15970
- loadTableData = async function(e) {
15971
- return Array.isArray(e) ? e : e.startsWith("{") || e.startsWith("[") ? jsonParseWithSpecialChar(e) : (e = await vegaLoadData(e, {
15972
- type: "json"
15973
- }, {
15974
- handleBigIntAndNumberLike: true
15975
- }), e);
15976
- };
15977
- loadTableAndRawData = async function(e, t) {
15978
- return t ? Promise.all([
15979
- loadTableData(e),
15980
- loadTableData(t)
15981
- ]) : [
15982
- await loadTableData(e),
15983
- void 0
15984
- ];
15985
- };
15986
- function getStableRowId(e) {
15987
- if (e && typeof e == "object" && "_marimo_row_id" in e) return String(e[INDEX_COLUMN_NAME]);
15988
- }
15989
- getPageIndexForRow = function(e, t, n) {
15990
- let i = t * n, a = i + n - 1;
15991
- return e < i || e > a ? Math.floor(e / n) : null;
15992
- };
15993
- var NUMERIC_STRING_SPECIALS = {
15994
- NaN: "nan",
15995
- Infinity: "positive-infinity",
15996
- "-Infinity": "negative-infinity",
15997
- inf: "positive-infinity",
15998
- "-inf": "negative-infinity"
15999
- };
16000
- function detectSentinel(e, t) {
16001
- if (e == null) return {
16002
- type: "null",
16003
- value: e
16004
- };
16005
- if (typeof e == "string") {
16006
- if (e === "") return {
16007
- type: "empty-string",
16008
- value: e
16009
- };
16010
- if (WHITESPACE_ONLY_RE.test(e)) return {
16011
- type: "whitespace",
16012
- value: e
16013
- };
16014
- if (isNumericType(t)) {
16015
- let t2 = NUMERIC_STRING_SPECIALS[e];
16016
- if (t2) return {
16017
- type: t2,
16018
- value: e
16019
- };
16020
- }
16021
- return isTemporalType(t) && e === "NaT" ? {
16022
- type: "nat",
16023
- value: e
16024
- } : null;
16025
- }
16026
- return typeof e == "number" ? Number.isNaN(e) ? {
16027
- type: "nan",
16028
- value: e
16029
- } : e === Infinity ? {
16030
- type: "positive-infinity",
16031
- value: e
16032
- } : e === -Infinity ? {
16033
- type: "negative-infinity",
16034
- value: e
16035
- } : null : null;
16036
- }
16037
- function stringifyUnknownValue(e) {
16038
- let { value: t, nullAsEmptyString: n = false } = e;
16039
- return typeof t == "object" && t ? JSON.stringify(t) : t === null && n ? "" : String(t);
16040
- }
16041
- function stripHtml(e) {
16042
- let t = document.createElement("div");
16043
- return t.innerHTML = e, (t.textContent || t.innerText || "").trim() || e;
16044
- }
16045
- var HTML_MIMETYPES = /* @__PURE__ */ new Set([
16046
- "text/html",
16047
- "text/markdown"
16048
- ]);
16049
- function isRecord(e) {
16050
- return typeof e == "object" && !!e && !Array.isArray(e);
16051
- }
16052
- function getClipboardContent(e, t) {
16053
- let n = typeof t == "object" && t ? getMimeValues(t) : void 0, i;
16054
- if (n) {
16055
- let e2 = n.filter((e3) => HTML_MIMETYPES.has(e3.mimetype)).map((e3) => e3.data);
16056
- i = e2.length > 0 ? e2.join("") : void 0;
16057
- }
16058
- let a;
16059
- return a = e !== void 0 && e !== t ? stringifyUnknownValue({
16060
- value: e
16061
- }) : n ? n.map((e2) => HTML_MIMETYPES.has(e2.mimetype) ? stripHtml(e2.data) : e2.data).join(", ") : stringifyUnknownValue({
16062
- value: t
16063
- }), {
16064
- text: a,
16065
- html: i
16066
- };
16067
- }
16068
- function getRawValue(e, t, n) {
16069
- var _a2;
16070
- let i = (_a2 = e.options.meta) == null ? void 0 : _a2.rawData;
16071
- if (i) {
16072
- let e2 = i[t];
16073
- if (isRecord(e2)) return e2[n];
16074
- }
16075
- }
16076
- var TOP_K_ROWS = 30;
16077
- const DataTableColumnHeader = ({ column: e, header: t, subheader: n, className: i, calculateTopKRows: o, table: s }) => {
16242
+ }, DataTableColumnHeader = ({ column: e, header: t, subheader: n, className: i, calculateTopKRows: o, table: s }) => {
16078
16243
  let [c, d] = (0, import_react.useState)(false), { locale: f } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
16079
16244
  if (!t) return null;
16080
16245
  if (!e.getCanSort() && !e.getCanFilter()) return (0, import_jsx_runtime.jsxs)("div", {
@@ -16357,172 +16522,56 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16357
16522
  text: i,
16358
16523
  operator: o
16359
16524
  }));
16360
- };
16361
- return (0, import_jsx_runtime.jsxs)("div", {
16362
- className: "flex flex-col gap-1 pt-3 px-2",
16363
- children: [
16364
- (0, import_jsx_runtime.jsx)(NullFilter, {
16365
- column: e,
16366
- defaultItem: "contains",
16367
- operator: o,
16368
- setOperator: s
16369
- }),
16370
- o === "contains" && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16371
- children: [
16372
- (0, import_jsx_runtime.jsx)(Input, {
16373
- type: "text",
16374
- icon: (0, import_jsx_runtime.jsx)(TextAlignStart, {
16375
- className: "h-3 w-3 text-muted-foreground mb-1"
16376
- }),
16377
- value: i ?? "",
16378
- onChange: (e2) => a(e2.target.value),
16379
- placeholder: "Text...",
16380
- onKeyDown: (e2) => {
16381
- e2.key === "Enter" && c();
16382
- },
16383
- className: "shadow-none! border-border hover:shadow-none!"
16384
- }),
16385
- (0, import_jsx_runtime.jsx)(FilterButtons, {
16386
- onApply: c,
16387
- onClear: () => {
16388
- a(""), e.setFilterValue(void 0);
16389
- },
16390
- clearButtonDisabled: !n
16391
- })
16392
- ]
16393
- })
16394
- ]
16395
- });
16396
- }, PopoverFilterByValues = ({ setIsFilterValueOpen: e, calculateTopKRows: t, column: i }) => {
16397
- let [a, o] = (0, import_react.useState)(/* @__PURE__ */ new Set()), [s, c] = (0, import_react.useState)(""), { data: d, isPending: h, error: _ } = useAsyncData(async () => t ? (await t({
16398
- column: i.id,
16399
- k: TOP_K_ROWS
16400
- })).data : null, []), v = (0, import_react.useMemo)(() => {
16401
- if (!d) return [];
16402
- try {
16403
- return d.filter(([e2, t2]) => e2 === void 0 ? false : String(e2).toLowerCase().includes(s.toLowerCase()));
16404
- } catch (e2) {
16405
- return Logger.error("Error filtering data", e2), [];
16406
- }
16407
- }, [
16408
- d,
16409
- s
16410
- ]), y;
16411
- h && (y = (0, import_jsx_runtime.jsx)(Spinner, {
16412
- size: "medium",
16413
- className: "mx-auto mt-12 mb-10"
16414
- })), _ && (y = (0, import_jsx_runtime.jsx)(ErrorBanner, {
16415
- error: _,
16416
- className: "my-10 mx-4"
16417
- }));
16418
- let S = (e2) => {
16419
- o((t2) => {
16420
- let n = t2.has(e2), i2 = new Set(t2);
16421
- return n ? i2.delete(e2) : i2.add(e2), i2;
16422
- });
16423
- }, w = (e2) => {
16424
- d && o(e2 ? new Set(v.map(([e3]) => e3)) : /* @__PURE__ */ new Set());
16425
- }, E = () => {
16426
- if (a.size === 0) {
16427
- i.setFilterValue(void 0);
16428
- return;
16429
- }
16430
- i.setFilterValue(Filter.select({
16431
- options: [
16432
- ...a
16433
- ],
16434
- operator: "in"
16435
- }));
16436
- };
16437
- if (d) {
16438
- let e2 = a.size === v.length;
16439
- y = (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16440
- children: [
16441
- (0, import_jsx_runtime.jsxs)(Command, {
16442
- className: "text-sm outline-hidden",
16443
- shouldFilter: false,
16444
- children: [
16445
- (0, import_jsx_runtime.jsx)(CommandInput, {
16446
- placeholder: `Search among the top ${d.length} values`,
16447
- autoFocus: true,
16448
- onValueChange: (e3) => c(e3.trim())
16449
- }),
16450
- (0, import_jsx_runtime.jsx)(CommandEmpty, {
16451
- children: "No results found."
16452
- }),
16453
- (0, import_jsx_runtime.jsxs)(CommandList, {
16454
- className: "border-b",
16455
- children: [
16456
- v.length > 0 && (0, import_jsx_runtime.jsxs)(CommandItem, {
16457
- value: "__select-all__",
16458
- className: "border-b rounded-none px-3",
16459
- onSelect: () => w(!e2),
16460
- children: [
16461
- (0, import_jsx_runtime.jsx)(Checkbox, {
16462
- checked: a.size === v.length,
16463
- "aria-label": "Select all",
16464
- className: "mr-3 h-3.5 w-3.5"
16465
- }),
16466
- (0, import_jsx_runtime.jsx)("span", {
16467
- className: "font-bold flex-1",
16468
- children: i.id
16469
- }),
16470
- (0, import_jsx_runtime.jsx)("span", {
16471
- className: "font-bold",
16472
- children: "Count"
16473
- })
16474
- ]
16475
- }),
16476
- v.map(([e3, t2], n) => {
16477
- var _a2;
16478
- let o2 = a.has(e3), s2 = stringifyUnknownValue({
16479
- value: e3
16480
- }), c2 = detectSentinel(e3, (_a2 = i.columnDef.meta) == null ? void 0 : _a2.dataType);
16481
- return (0, import_jsx_runtime.jsxs)(CommandItem, {
16482
- value: s2,
16483
- className: "not-last:border-b rounded-none px-3",
16484
- onSelect: () => S(e3),
16485
- children: [
16486
- (0, import_jsx_runtime.jsx)(Checkbox, {
16487
- checked: o2,
16488
- "aria-label": "Select row",
16489
- className: "mr-3 h-3.5 w-3.5"
16490
- }),
16491
- (0, import_jsx_runtime.jsx)("span", {
16492
- className: "flex-1 overflow-hidden max-h-20 line-clamp-3",
16493
- children: c2 ? (0, import_jsx_runtime.jsx)(SentinelCell, {
16494
- sentinel: c2
16495
- }) : s2
16496
- }),
16497
- (0, import_jsx_runtime.jsx)("span", {
16498
- className: "ml-3",
16499
- children: t2
16500
- })
16501
- ]
16502
- }, n);
16503
- })
16504
- ]
16525
+ };
16526
+ return (0, import_jsx_runtime.jsxs)("div", {
16527
+ className: "flex flex-col gap-1 pt-3 px-2",
16528
+ children: [
16529
+ (0, import_jsx_runtime.jsx)(NullFilter, {
16530
+ column: e,
16531
+ defaultItem: "contains",
16532
+ operator: o,
16533
+ setOperator: s
16534
+ }),
16535
+ o === "contains" && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
16536
+ children: [
16537
+ (0, import_jsx_runtime.jsx)(Input, {
16538
+ type: "text",
16539
+ icon: (0, import_jsx_runtime.jsx)(TextAlignStart, {
16540
+ className: "h-3 w-3 text-muted-foreground mb-1"
16505
16541
  }),
16506
- v.length === TOP_K_ROWS && (0, import_jsx_runtime.jsxs)("span", {
16507
- className: "text-xs text-muted-foreground mt-1.5 text-center",
16508
- children: [
16509
- "Only showing the top ",
16510
- TOP_K_ROWS,
16511
- " values"
16512
- ]
16513
- })
16514
- ]
16515
- }),
16516
- (0, import_jsx_runtime.jsx)(FilterButtons, {
16517
- onApply: E,
16518
- onClear: () => {
16519
- o(/* @__PURE__ */ new Set());
16520
- },
16521
- clearButtonDisabled: a.size === 0
16522
- })
16523
- ]
16524
- });
16525
- }
16542
+ value: i ?? "",
16543
+ onChange: (e2) => a(e2.target.value),
16544
+ placeholder: "Text...",
16545
+ onKeyDown: (e2) => {
16546
+ e2.key === "Enter" && c();
16547
+ },
16548
+ className: "shadow-none! border-border hover:shadow-none!"
16549
+ }),
16550
+ (0, import_jsx_runtime.jsx)(FilterButtons, {
16551
+ onApply: c,
16552
+ onClear: () => {
16553
+ a(""), e.setFilterValue(void 0);
16554
+ },
16555
+ clearButtonDisabled: !n
16556
+ })
16557
+ ]
16558
+ })
16559
+ ]
16560
+ });
16561
+ };
16562
+ function seedFromFilter(e) {
16563
+ return e && "type" in e && e.type === "select" ? {
16564
+ values: [
16565
+ ...e.options
16566
+ ],
16567
+ operator: e.operator === "not_in" ? "not_in" : "in"
16568
+ } : {
16569
+ values: [],
16570
+ operator: "in"
16571
+ };
16572
+ }
16573
+ var PopoverFilterByValues = ({ setIsFilterValueOpen: e, calculateTopKRows: t, column: n }) => {
16574
+ let i = seedFromFilter(n.getFilterValue()), [a, o] = (0, import_react.useState)(() => new Set(i.values));
16526
16575
  return (0, import_jsx_runtime.jsxs)(DraggablePopover, {
16527
16576
  open: true,
16528
16577
  onOpenChange: (t2) => !t2 && e(false),
@@ -16539,9 +16588,32 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16539
16588
  })
16540
16589
  })
16541
16590
  }),
16542
- (0, import_jsx_runtime.jsx)("div", {
16591
+ (0, import_jsx_runtime.jsxs)("div", {
16543
16592
  className: "flex flex-col gap-1.5 py-2",
16544
- children: y
16593
+ children: [
16594
+ (0, import_jsx_runtime.jsx)(FilterByValuesList, {
16595
+ column: n,
16596
+ calculateTopKRows: t,
16597
+ chosenValues: a,
16598
+ onChange: (e2) => o(new Set(e2))
16599
+ }),
16600
+ (0, import_jsx_runtime.jsx)(FilterButtons, {
16601
+ onApply: () => {
16602
+ if (a.size === 0) {
16603
+ n.setFilterValue(void 0);
16604
+ return;
16605
+ }
16606
+ n.setFilterValue(Filter.select({
16607
+ options: [
16608
+ ...a
16609
+ ],
16610
+ operator: i.operator
16611
+ }));
16612
+ },
16613
+ onClear: () => o(/* @__PURE__ */ new Set()),
16614
+ clearButtonDisabled: a.size === 0
16615
+ })
16616
+ ]
16545
16617
  })
16546
16618
  ]
16547
16619
  });
@@ -16586,9 +16658,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16586
16658
  let [t, n] = import_react.useState(e), [i, a] = import_react.useState(null);
16587
16659
  return e !== t && (a(t), n(e)), i;
16588
16660
  };
16589
- var import_compiler_runtime$25 = require_compiler_runtime();
16661
+ var import_compiler_runtime$26 = require_compiler_runtime();
16590
16662
  DelayMount = (e) => {
16591
- let t = (0, import_compiler_runtime$25.c)(13), { milliseconds: n, children: i, fallback: a, visibility: o, threshold: s, rootMargin: c } = e, d = o === void 0 ? false : o, f = s === void 0 ? 0 : s, h = c === void 0 ? "0px" : c, [_, v] = (0, import_react.useState)(false), [y, S] = (0, import_react.useState)(false), w;
16663
+ let t = (0, import_compiler_runtime$26.c)(13), { milliseconds: n, children: i, fallback: a, visibility: o, threshold: s, rootMargin: c } = e, d = o === void 0 ? false : o, f = s === void 0 ? 0 : s, h = c === void 0 ? "0px" : c, [_, v] = (0, import_react.useState)(false), [y, S] = (0, import_react.useState)(false), w;
16592
16664
  t[0] !== h || t[1] !== f ? (w = {
16593
16665
  threshold: f,
16594
16666
  root: null,
@@ -16619,9 +16691,9 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16619
16691
  children: J
16620
16692
  }), t[10] = q, t[11] = J, t[12] = Q) : Q = t[12], Q;
16621
16693
  };
16622
- var import_compiler_runtime$24 = require_compiler_runtime();
16694
+ var import_compiler_runtime$25 = require_compiler_runtime();
16623
16695
  const DatePopover = (e) => {
16624
- let t = (0, import_compiler_runtime$24.c)(15), { date: n, type: i, children: a } = e;
16696
+ let t = (0, import_compiler_runtime$25.c)(15), { date: n, type: i, children: a } = e;
16625
16697
  if (!n || Number.isNaN(new Date(n).getTime())) return a;
16626
16698
  let o;
16627
16699
  t[0] === n ? o = t[1] : (o = new Date(n), t[0] = n, t[1] = o);
@@ -16661,7 +16733,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16661
16733
  }), t[12] = h, t[13] = _, t[14] = v) : v = t[14], v;
16662
16734
  };
16663
16735
  var TimezoneDisplay = (e) => {
16664
- let t = (0, import_compiler_runtime$24.c)(26), { date: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a;
16736
+ let t = (0, import_compiler_runtime$25.c)(26), { date: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a;
16665
16737
  t[0] === i ? a = t[1] : (a = Intl.DateTimeFormat(i).resolvedOptions(), t[0] = i, t[1] = a);
16666
16738
  let o = a.timeZone, s = n.getUTCMilliseconds() !== 0, c;
16667
16739
  t[2] === s ? c = t[3] : (c = s ? {
@@ -16737,7 +16809,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16737
16809
  ]
16738
16810
  }), t[23] = O, t[24] = y, t[25] = A) : A = t[25], A;
16739
16811
  }, DateDisplay = (e) => {
16740
- let t = (0, import_compiler_runtime$24.c)(6), { date: n } = e, i;
16812
+ let t = (0, import_compiler_runtime$25.c)(6), { date: n } = e, i;
16741
16813
  t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = {
16742
16814
  timeZone: "UTC",
16743
16815
  dateStyle: "long"
@@ -16749,7 +16821,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16749
16821
  children: o
16750
16822
  }), t[4] = o, t[5] = s), s;
16751
16823
  }, RelativeTime = (e) => {
16752
- let t = (0, import_compiler_runtime$24.c)(6), { date: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a, o;
16824
+ let t = (0, import_compiler_runtime$25.c)(6), { date: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a, o;
16753
16825
  if (t[0] !== n || t[1] !== i) {
16754
16826
  o = /* @__PURE__ */ Symbol.for("react.early_return_sentinel");
16755
16827
  bb0: {
@@ -16801,7 +16873,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16801
16873
  return t[4] === a ? s = t[5] : (s = (0, import_jsx_runtime.jsx)("span", {
16802
16874
  children: a
16803
16875
  }), t[4] = a, t[5] = s), s;
16804
- }, import_compiler_runtime$23 = require_compiler_runtime(), hashString = (e) => {
16876
+ }, import_compiler_runtime$24 = require_compiler_runtime(), hashString = (e) => {
16805
16877
  let t = 0;
16806
16878
  for (let n = 0; n < e.length; n++) {
16807
16879
  let i = e.charCodeAt(n);
@@ -16818,7 +16890,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
16818
16890
  return i;
16819
16891
  };
16820
16892
  const ChartSkeleton = (e) => {
16821
- let t = (0, import_compiler_runtime$23.c)(11), { seed: n, width: i, height: a } = e, o = i / 9, s = a - 15, c;
16893
+ let t = (0, import_compiler_runtime$24.c)(11), { seed: n, width: i, height: a } = e, o = i / 9, s = a - 15, c;
16822
16894
  if (t[0] !== o || t[1] !== a || t[2] !== n || t[3] !== s || t[4] !== i) {
16823
16895
  let e2 = generateHeights({
16824
16896
  numBars: 9,
@@ -17197,7 +17269,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
17197
17269
  let c = s / t.length;
17198
17270
  return Math.max(c, 1);
17199
17271
  }
17200
- let MAX_BAR_HEIGHT, BIN_END_EXTENSION_FACTOR, CONCAT_CHART_HEIGHT, CONCAT_CHART_WIDTH, CONCAT_NULL_BAR_WIDTH, BAR_COLOR, UNHOVERED_BAR_OPACITY, NULL_BAR_COLOR, import_compiler_runtime$22;
17272
+ let MAX_BAR_HEIGHT, BIN_END_EXTENSION_FACTOR, CONCAT_CHART_HEIGHT, CONCAT_CHART_WIDTH, CONCAT_NULL_BAR_WIDTH, BAR_COLOR, UNHOVERED_BAR_OPACITY, NULL_BAR_COLOR, import_compiler_runtime$23;
17201
17273
  MAX_BAR_HEIGHT = 20;
17202
17274
  BIN_END_EXTENSION_FACTOR = 0.1;
17203
17275
  CONCAT_CHART_HEIGHT = 30;
@@ -17834,11 +17906,11 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
17834
17906
  }, __publicField(_a, "EMPTY", new _a([], /* @__PURE__ */ new Map(), {}, {}, {}, {
17835
17907
  includeCharts: false
17836
17908
  })), _a);
17837
- import_compiler_runtime$22 = require_compiler_runtime();
17909
+ import_compiler_runtime$23 = require_compiler_runtime();
17838
17910
  ColumnChartContext = import_react.createContext(ColumnChartSpecModel.EMPTY);
17839
17911
  var batchedLoader = createBatchedLoader();
17840
17912
  const TableColumnSummary = (e) => {
17841
- let t = (0, import_compiler_runtime$22.c)(21), { columnId: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a = import_react.use(ColumnChartContext), { theme: o } = useTheme(), s, c, d;
17913
+ let t = (0, import_compiler_runtime$23.c)(21), { columnId: n } = e, { locale: i } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), a = import_react.use(ColumnChartContext), { theme: o } = useTheme(), s, c, d;
17842
17914
  if (t[0] !== a || t[1] !== n || t[2] !== i || t[3] !== o) {
17843
17915
  let { spec: e2, type: f2, stats: h } = a.getHeaderSummary(n), _ = null;
17844
17916
  if (e2) {
@@ -18049,8 +18121,8 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18049
18121
  let a = e.at(-1);
18050
18122
  return n.push(a), n;
18051
18123
  }
18052
- var import_compiler_runtime$21 = require_compiler_runtime(), ImageWithFallback = (e) => {
18053
- let t = (0, import_compiler_runtime$21.c)(14), { url: n } = e, [i, a] = (0, import_react.useState)(false), [o, s] = (0, import_react.useState)(false);
18124
+ var import_compiler_runtime$22 = require_compiler_runtime(), ImageWithFallback = (e) => {
18125
+ let t = (0, import_compiler_runtime$22.c)(14), { url: n } = e, [i, a] = (0, import_react.useState)(false), [o, s] = (0, import_react.useState)(false);
18054
18126
  if (i) {
18055
18127
  let e2;
18056
18128
  return t[0] === n ? e2 = t[1] : (e2 = (0, import_jsx_runtime.jsx)(URLAnchor, {
@@ -18124,7 +18196,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18124
18196
  return t.some((e2) => n.has(e2.type));
18125
18197
  }
18126
18198
  const MarkdownUrlDetector = (e) => {
18127
- let t = (0, import_compiler_runtime$21.c)(4), { content: n, parts: i } = e;
18199
+ let t = (0, import_compiler_runtime$22.c)(4), { content: n, parts: i } = e;
18128
18200
  if (isMarkdown(n)) {
18129
18201
  let e2;
18130
18202
  return t[0] === n ? e2 = t[1] : (e2 = (0, import_jsx_runtime.jsx)(MarkdownRenderer, {
@@ -18141,7 +18213,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18141
18213
  url: e2.url
18142
18214
  }, t) : e2.value);
18143
18215
  var URLAnchor = (e) => {
18144
- let t = (0, import_compiler_runtime$21.c)(3), { url: n } = e, i;
18216
+ let t = (0, import_compiler_runtime$22.c)(3), { url: n } = e, i;
18145
18217
  t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = Events.stopPropagation(), t[0] = i) : i = t[0];
18146
18218
  let a;
18147
18219
  return t[1] === n ? a = t[2] : (a = (0, import_jsx_runtime.jsx)("a", {
@@ -18533,10 +18605,10 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18533
18605
  maximumFractionDigits: maxFractionalDigits(n)
18534
18606
  }).format(e);
18535
18607
  };
18536
- let import_compiler_runtime$20;
18537
- import_compiler_runtime$20 = require_compiler_runtime();
18608
+ let import_compiler_runtime$21;
18609
+ import_compiler_runtime$21 = require_compiler_runtime();
18538
18610
  Table = import_react.forwardRef((e, t) => {
18539
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18611
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18540
18612
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18541
18613
  let s;
18542
18614
  n[3] === i ? s = n[4] : (s = cn("w-full caption-bottom text-sm", i), n[3] = i, n[4] = s);
@@ -18552,7 +18624,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18552
18624
  });
18553
18625
  Table.displayName = "Table";
18554
18626
  TableHeader = import_react.forwardRef((e, t) => {
18555
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18627
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18556
18628
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18557
18629
  let s;
18558
18630
  n[3] === i ? s = n[4] : (s = cn("[&_tr]:border-b bg-background", i), n[3] = i, n[4] = s);
@@ -18565,7 +18637,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18565
18637
  });
18566
18638
  TableHeader.displayName = "TableHeader";
18567
18639
  TableBody = import_react.forwardRef((e, t) => {
18568
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18640
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18569
18641
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18570
18642
  let s;
18571
18643
  n[3] === i ? s = n[4] : (s = cn("[&_tr:last-child]:border-0", i), n[3] = i, n[4] = s);
@@ -18578,7 +18650,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18578
18650
  });
18579
18651
  TableBody.displayName = "TableBody";
18580
18652
  var TableFooter = import_react.forwardRef((e, t) => {
18581
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18653
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18582
18654
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18583
18655
  let s;
18584
18656
  n[3] === i ? s = n[4] : (s = cn("bg-primary font-medium text-primary-foreground", i), n[3] = i, n[4] = s);
@@ -18591,7 +18663,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18591
18663
  });
18592
18664
  TableFooter.displayName = "TableFooter";
18593
18665
  TableRow = import_react.forwardRef((e, t) => {
18594
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18666
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18595
18667
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18596
18668
  let s;
18597
18669
  n[3] === i ? s = n[4] : (s = cn("border-b transition-colors bg-background hover:bg-(--slate-2) data-[state=selected]:bg-(--slate-3)", i), n[3] = i, n[4] = s);
@@ -18604,7 +18676,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18604
18676
  });
18605
18677
  TableRow.displayName = "TableRow";
18606
18678
  TableHead = import_react.forwardRef((e, t) => {
18607
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18679
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18608
18680
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18609
18681
  let s;
18610
18682
  n[3] === i ? s = n[4] : (s = cn("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", i), n[3] = i, n[4] = s);
@@ -18617,7 +18689,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18617
18689
  });
18618
18690
  TableHead.displayName = "TableHead";
18619
18691
  TableCell = import_react.forwardRef((e, t) => {
18620
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18692
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18621
18693
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18622
18694
  let s;
18623
18695
  n[3] === i ? s = n[4] : (s = cn("p-1.5 align-middle [&:has([role=checkbox])]:pr-0", i), n[3] = i, n[4] = s);
@@ -18630,7 +18702,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18630
18702
  });
18631
18703
  TableCell.displayName = "TableCell";
18632
18704
  var TableCaption = import_react.forwardRef((e, t) => {
18633
- let n = (0, import_compiler_runtime$20.c)(9), i, o;
18705
+ let n = (0, import_compiler_runtime$21.c)(9), i, o;
18634
18706
  n[0] === e ? (i = n[1], o = n[2]) : ({ className: i, ...o } = e, n[0] = e, n[1] = i, n[2] = o);
18635
18707
  let s;
18636
18708
  n[3] === i ? s = n[4] : (s = cn("mt-4 text-sm text-muted-foreground", i), n[3] = i, n[4] = s);
@@ -18835,7 +18907,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18835
18907
  resizeHandleEnabled: "data-panel-resize-handle-enabled",
18836
18908
  resizeHandleId: "data-panel-resize-handle-id",
18837
18909
  resizeHandleState: "data-resize-handle-state"
18838
- }, PRECISION = 10, useIsomorphicLayoutEffect$1 = import_react.useLayoutEffect, useId = import_react.useId, wrappedUseId = typeof useId == "function" ? useId : () => null, counter = 0;
18910
+ }, PRECISION = 10, useIsomorphicLayoutEffect$1 = import_react.useLayoutEffect, useId$1 = import_react.useId, wrappedUseId = typeof useId$1 == "function" ? useId$1 : () => null, counter = 0;
18839
18911
  function useUniqueId(e = null) {
18840
18912
  let t = wrappedUseId(), n = (0, import_react.useRef)(e || t || null);
18841
18913
  return n.current === null && (n.current = "" + counter++), e ?? n.current;
@@ -18843,7 +18915,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18843
18915
  function PanelWithForwardedRef({ children: e, className: t = "", collapsedSize: n, collapsible: i, defaultSize: a, forwardedRef: o, id: s, maxSize: c, minSize: d, onCollapse: f, onExpand: h, onResize: _, order: v, style: y, tagName: S = "div", ...w }) {
18844
18916
  let E = (0, import_react.useContext)(PanelGroupContext);
18845
18917
  if (E === null) throw Error("Panel components must be rendered within a PanelGroup container");
18846
- let { collapsePanel: O, expandPanel: A, getPanelSize: M, getPanelStyle: I, groupId: z, isPanelCollapsed: U, reevaluatePanelConstraints: K, registerPanel: q, resizePanel: J, unregisterPanel: Q } = E, vM = useUniqueId(s), $ = (0, import_react.useRef)({
18918
+ let { collapsePanel: O, expandPanel: A, getPanelSize: M, getPanelStyle: I, groupId: z, isPanelCollapsed: U, reevaluatePanelConstraints: K, registerPanel: q, resizePanel: J, unregisterPanel: Q } = E, BM = useUniqueId(s), $ = (0, import_react.useRef)({
18847
18919
  callbacks: {
18848
18920
  onCollapse: f,
18849
18921
  onExpand: h,
@@ -18856,7 +18928,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18856
18928
  maxSize: c,
18857
18929
  minSize: d
18858
18930
  },
18859
- id: vM,
18931
+ id: BM,
18860
18932
  idIsFromProps: s !== void 0,
18861
18933
  order: v
18862
18934
  });
@@ -18866,7 +18938,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18866
18938
  let { callbacks: e2, constraints: t2 } = $.current, o2 = {
18867
18939
  ...t2
18868
18940
  };
18869
- $.current.id = vM, $.current.idIsFromProps = s !== void 0, $.current.order = v, e2.onCollapse = f, e2.onExpand = h, e2.onResize = _, t2.collapsedSize = n, t2.collapsible = i, t2.defaultSize = a, t2.maxSize = c, t2.minSize = d, (o2.collapsedSize !== t2.collapsedSize || o2.collapsible !== t2.collapsible || o2.maxSize !== t2.maxSize || o2.minSize !== t2.minSize) && K($.current, o2);
18941
+ $.current.id = BM, $.current.idIsFromProps = s !== void 0, $.current.order = v, e2.onCollapse = f, e2.onExpand = h, e2.onResize = _, t2.collapsedSize = n, t2.collapsible = i, t2.defaultSize = a, t2.maxSize = c, t2.minSize = d, (o2.collapsedSize !== t2.collapsedSize || o2.collapsible !== t2.collapsible || o2.maxSize !== t2.maxSize || o2.minSize !== t2.minSize) && K($.current, o2);
18870
18942
  }), useIsomorphicLayoutEffect$1(() => {
18871
18943
  let e2 = $.current;
18872
18944
  return q(e2), () => {
@@ -18874,7 +18946,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18874
18946
  };
18875
18947
  }, [
18876
18948
  v,
18877
- vM,
18949
+ BM,
18878
18950
  q,
18879
18951
  Q
18880
18952
  ]), (0, import_react.useImperativeHandle)(o, () => ({
@@ -18885,7 +18957,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18885
18957
  A($.current, e2);
18886
18958
  },
18887
18959
  getId() {
18888
- return vM;
18960
+ return BM;
18889
18961
  },
18890
18962
  getSize() {
18891
18963
  return M($.current);
@@ -18904,24 +18976,24 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
18904
18976
  A,
18905
18977
  M,
18906
18978
  U,
18907
- vM,
18979
+ BM,
18908
18980
  J
18909
18981
  ]);
18910
- let yM = I($.current, a);
18982
+ let VM = I($.current, a);
18911
18983
  return (0, import_react.createElement)(S, {
18912
18984
  ...w,
18913
18985
  children: e,
18914
18986
  className: t,
18915
- id: vM,
18987
+ id: BM,
18916
18988
  style: {
18917
- ...yM,
18989
+ ...VM,
18918
18990
  ...y
18919
18991
  },
18920
18992
  [DATA_ATTRIBUTES.groupId]: z,
18921
18993
  [DATA_ATTRIBUTES.panel]: "",
18922
18994
  [DATA_ATTRIBUTES.panelCollapsible]: i || void 0,
18923
- [DATA_ATTRIBUTES.panelId]: vM,
18924
- [DATA_ATTRIBUTES.panelSize]: parseFloat("" + yM.flexGrow).toFixed(1)
18995
+ [DATA_ATTRIBUTES.panelId]: BM,
18996
+ [DATA_ATTRIBUTES.panelSize]: parseFloat("" + VM.flexGrow).toFixed(1)
18925
18997
  });
18926
18998
  }
18927
18999
  var Panel = (0, import_react.forwardRef)((e, t) => (0, import_react.createElement)(PanelWithForwardedRef, {
@@ -19694,7 +19766,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19694
19766
  }, []), Q = (0, import_react.useCallback)((e2) => {
19695
19767
  let { layout: t2, panelDataArray: n2 } = K.current, { panelSize: i2 } = panelDataHelper(n2, e2, t2);
19696
19768
  return assert(i2 != null, `Panel size not found for panel "${e2.id}"`), i2;
19697
- }, []), vM = (0, import_react.useCallback)((e2, t2) => {
19769
+ }, []), BM = (0, import_react.useCallback)((e2, t2) => {
19698
19770
  let { panelDataArray: n2 } = K.current;
19699
19771
  return computePanelFlexBoxStyle({
19700
19772
  defaultSize: t2,
@@ -19709,10 +19781,10 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19709
19781
  ]), $ = (0, import_react.useCallback)((e2) => {
19710
19782
  let { layout: t2, panelDataArray: n2 } = K.current, { collapsedSize: i2 = 0, collapsible: a2, panelSize: o2 } = panelDataHelper(n2, e2, t2);
19711
19783
  return assert(o2 != null, `Panel size not found for panel "${e2.id}"`), a2 === true && fuzzyNumbersEqual$1(o2, i2);
19712
- }, []), yM = (0, import_react.useCallback)((e2) => {
19784
+ }, []), VM = (0, import_react.useCallback)((e2) => {
19713
19785
  let { layout: t2, panelDataArray: n2 } = K.current, { collapsedSize: i2 = 0, collapsible: a2, panelSize: o2 } = panelDataHelper(n2, e2, t2);
19714
19786
  return assert(o2 != null, `Panel size not found for panel "${e2.id}"`), !a2 || fuzzyCompareNumbers(o2, i2) > 0;
19715
- }, []), bM = (0, import_react.useCallback)((e2) => {
19787
+ }, []), HM = (0, import_react.useCallback)((e2) => {
19716
19788
  let { panelDataArray: t2 } = K.current;
19717
19789
  t2.push(e2), t2.sort((e3, t3) => {
19718
19790
  let n2 = e3.order, i2 = t3.order;
@@ -19744,7 +19816,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19744
19816
  e2.layout = [];
19745
19817
  };
19746
19818
  }, []);
19747
- let xM = (0, import_react.useCallback)((e2) => {
19819
+ let UM = (0, import_react.useCallback)((e2) => {
19748
19820
  let t2 = false, n2 = y.current;
19749
19821
  return n2 && window.getComputedStyle(n2, null).getPropertyValue("direction") === "rtl" && (t2 = true), function(n3) {
19750
19822
  n3.preventDefault();
@@ -19762,7 +19834,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19762
19834
  }), I2 = !compareLayouts(f2, A2);
19763
19835
  (isPointerEvent(n3) || isMouseEvent(n3)) && z.current != S2 && (z.current = S2, !I2 && S2 !== 0 ? w2 ? reportConstraintsViolation(e2, S2 < 0 ? EXCEEDED_HORIZONTAL_MIN : EXCEEDED_HORIZONTAL_MAX) : reportConstraintsViolation(e2, S2 < 0 ? EXCEEDED_VERTICAL_MIN : EXCEEDED_VERTICAL_MAX) : reportConstraintsViolation(e2, 0)), I2 && (O(A2), K.current.layout = A2, d2 && d2(A2), callPanelCallbacks(h2, A2, M.current));
19764
19836
  };
19765
- }, []), SM = (0, import_react.useCallback)((e2, t2) => {
19837
+ }, []), WM = (0, import_react.useCallback)((e2, t2) => {
19766
19838
  let { onLayout: n2 } = U.current, { layout: i2, panelDataArray: a2 } = K.current, o2 = a2.map((e3) => e3.constraints), { panelSize: s2, pivotIndices: c2 } = panelDataHelper(a2, e2, i2);
19767
19839
  assert(s2 != null, `Panel size not found for panel "${e2.id}"`);
19768
19840
  let d2 = adjustLayoutByDelta({
@@ -19774,12 +19846,12 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19774
19846
  trigger: "imperative-api"
19775
19847
  });
19776
19848
  compareLayouts(i2, d2) || (O(d2), K.current.layout = d2, n2 && n2(d2), callPanelCallbacks(a2, d2, M.current));
19777
- }, []), CM = (0, import_react.useCallback)((e2, t2) => {
19849
+ }, []), GM = (0, import_react.useCallback)((e2, t2) => {
19778
19850
  let { layout: n2, panelDataArray: i2 } = K.current, { collapsedSize: a2 = 0, collapsible: o2 } = t2, { collapsedSize: s2 = 0, collapsible: c2, maxSize: d2 = 100, minSize: f2 = 0 } = e2.constraints, { panelSize: h2 } = panelDataHelper(i2, e2, n2);
19779
- h2 != null && (o2 && c2 && fuzzyNumbersEqual$1(h2, a2) ? fuzzyNumbersEqual$1(a2, s2) || SM(e2, s2) : h2 < f2 ? SM(e2, f2) : h2 > d2 && SM(e2, d2));
19851
+ h2 != null && (o2 && c2 && fuzzyNumbersEqual$1(h2, a2) ? fuzzyNumbersEqual$1(a2, s2) || WM(e2, s2) : h2 < f2 ? WM(e2, f2) : h2 > d2 && WM(e2, d2));
19780
19852
  }, [
19781
- SM
19782
- ]), wM = (0, import_react.useCallback)((e2, t2) => {
19853
+ WM
19854
+ ]), KM = (0, import_react.useCallback)((e2, t2) => {
19783
19855
  let { direction: n2 } = U.current, { layout: i2 } = K.current;
19784
19856
  if (!y.current) return;
19785
19857
  let a2 = getResizeHandleElement(e2, y.current);
@@ -19791,30 +19863,30 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19791
19863
  initialCursorPosition: o2,
19792
19864
  initialLayout: i2
19793
19865
  });
19794
- }, []), TM = (0, import_react.useCallback)(() => {
19866
+ }, []), qM = (0, import_react.useCallback)(() => {
19795
19867
  w(null);
19796
- }, []), EM = (0, import_react.useCallback)((e2) => {
19868
+ }, []), JM = (0, import_react.useCallback)((e2) => {
19797
19869
  let { panelDataArray: t2 } = K.current, n2 = findPanelDataIndex(t2, e2);
19798
19870
  n2 >= 0 && (t2.splice(n2, 1), delete M.current[e2.id], K.current.panelDataArrayChanged = true, A());
19799
19871
  }, [
19800
19872
  A
19801
- ]), DM = (0, import_react.useMemo)(() => ({
19873
+ ]), YM = (0, import_react.useMemo)(() => ({
19802
19874
  collapsePanel: q,
19803
19875
  direction: i,
19804
19876
  dragState: S,
19805
19877
  expandPanel: J,
19806
19878
  getPanelSize: Q,
19807
- getPanelStyle: vM,
19879
+ getPanelStyle: BM,
19808
19880
  groupId: v,
19809
19881
  isPanelCollapsed: $,
19810
- isPanelExpanded: yM,
19811
- reevaluatePanelConstraints: CM,
19812
- registerPanel: bM,
19813
- registerResizeHandle: xM,
19814
- resizePanel: SM,
19815
- startDragging: wM,
19816
- stopDragging: TM,
19817
- unregisterPanel: EM,
19882
+ isPanelExpanded: VM,
19883
+ reevaluatePanelConstraints: GM,
19884
+ registerPanel: HM,
19885
+ registerResizeHandle: UM,
19886
+ resizePanel: WM,
19887
+ startDragging: KM,
19888
+ stopDragging: qM,
19889
+ unregisterPanel: JM,
19818
19890
  panelGroupElement: y.current
19819
19891
  }), [
19820
19892
  q,
@@ -19822,18 +19894,18 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19822
19894
  i,
19823
19895
  J,
19824
19896
  Q,
19825
- vM,
19897
+ BM,
19826
19898
  v,
19827
19899
  $,
19828
- yM,
19829
- CM,
19830
- bM,
19831
- xM,
19832
- SM,
19833
- wM,
19834
- TM,
19835
- EM
19836
- ]), OM = {
19900
+ VM,
19901
+ GM,
19902
+ HM,
19903
+ UM,
19904
+ WM,
19905
+ KM,
19906
+ qM,
19907
+ JM
19908
+ ]), XM = {
19837
19909
  display: "flex",
19838
19910
  flexDirection: i === "horizontal" ? "row" : "column",
19839
19911
  height: "100%",
@@ -19841,7 +19913,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19841
19913
  width: "100%"
19842
19914
  };
19843
19915
  return (0, import_react.createElement)(PanelGroupContext.Provider, {
19844
- value: DM
19916
+ value: YM
19845
19917
  }, (0, import_react.createElement)(h, {
19846
19918
  ..._,
19847
19919
  children: t,
@@ -19849,7 +19921,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19849
19921
  id: o,
19850
19922
  ref: y,
19851
19923
  style: {
19852
- ...OM,
19924
+ ...XM,
19853
19925
  ...f
19854
19926
  },
19855
19927
  [DATA_ATTRIBUTES.group]: "",
@@ -19926,31 +19998,31 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19926
19998
  });
19927
19999
  let O = (0, import_react.useContext)(PanelGroupContext);
19928
20000
  if (O === null) throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");
19929
- let { direction: A, groupId: M, registerResizeHandle: I, startDragging: z, stopDragging: U, panelGroupElement: K } = O, q = useUniqueId(a), [J, Q] = (0, import_react.useState)("inactive"), [vM, $] = (0, import_react.useState)(false), [yM, bM] = (0, import_react.useState)(null), xM = (0, import_react.useRef)({
20001
+ let { direction: A, groupId: M, registerResizeHandle: I, startDragging: z, stopDragging: U, panelGroupElement: K } = O, q = useUniqueId(a), [J, Q] = (0, import_react.useState)("inactive"), [BM, $] = (0, import_react.useState)(false), [VM, HM] = (0, import_react.useState)(null), UM = (0, import_react.useRef)({
19930
20002
  state: J
19931
20003
  });
19932
20004
  useIsomorphicLayoutEffect$1(() => {
19933
- xM.current.state = J;
20005
+ UM.current.state = J;
19934
20006
  }), (0, import_react.useEffect)(() => {
19935
- if (n) bM(null);
20007
+ if (n) HM(null);
19936
20008
  else {
19937
20009
  let e2 = I(q);
19938
- bM(() => e2);
20010
+ HM(() => e2);
19939
20011
  }
19940
20012
  }, [
19941
20013
  n,
19942
20014
  q,
19943
20015
  I
19944
20016
  ]);
19945
- let SM = (i == null ? void 0 : i.coarse) ?? 15, CM = (i == null ? void 0 : i.fine) ?? 5;
20017
+ let WM = (i == null ? void 0 : i.coarse) ?? 15, GM = (i == null ? void 0 : i.fine) ?? 5;
19946
20018
  (0, import_react.useEffect)(() => {
19947
- if (n || yM == null) return;
20019
+ if (n || VM == null) return;
19948
20020
  let e2 = w.current;
19949
20021
  assert(e2, "Element ref not attached");
19950
20022
  let t2 = false;
19951
20023
  return registerResizeHandle(q, e2, A, {
19952
- coarse: SM,
19953
- fine: CM
20024
+ coarse: WM,
20025
+ fine: GM
19954
20026
  }, (e3, n2, i2) => {
19955
20027
  if (!n2) {
19956
20028
  Q("inactive");
@@ -19964,8 +20036,8 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19964
20036
  break;
19965
20037
  }
19966
20038
  case "move": {
19967
- let { state: e4 } = xM.current;
19968
- t2 = true, e4 !== "drag" && Q("hover"), assert(i2, 'Expected event to be defined for "move" action'), yM(i2);
20039
+ let { state: e4 } = UM.current;
20040
+ t2 = true, e4 !== "drag" && Q("hover"), assert(i2, 'Expected event to be defined for "move" action'), VM(i2);
19969
20041
  break;
19970
20042
  }
19971
20043
  case "up": {
@@ -19977,22 +20049,22 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
19977
20049
  }
19978
20050
  });
19979
20051
  }, [
19980
- SM,
20052
+ WM,
19981
20053
  A,
19982
20054
  n,
19983
- CM,
20055
+ GM,
19984
20056
  I,
19985
20057
  q,
19986
- yM,
20058
+ VM,
19987
20059
  z,
19988
20060
  U
19989
20061
  ]), useWindowSplitterResizeHandlerBehavior({
19990
20062
  disabled: n,
19991
20063
  handleId: q,
19992
- resizeHandler: yM,
20064
+ resizeHandler: VM,
19993
20065
  panelGroupElement: K
19994
20066
  });
19995
- let wM = {
20067
+ let KM = {
19996
20068
  touchAction: "none",
19997
20069
  userSelect: "none"
19998
20070
  };
@@ -20010,22 +20082,22 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20010
20082
  ref: w,
20011
20083
  role: "separator",
20012
20084
  style: {
20013
- ...wM,
20085
+ ...KM,
20014
20086
  ..._
20015
20087
  },
20016
20088
  tabIndex: v,
20017
20089
  [DATA_ATTRIBUTES.groupDirection]: A,
20018
20090
  [DATA_ATTRIBUTES.groupId]: M,
20019
20091
  [DATA_ATTRIBUTES.resizeHandle]: "",
20020
- [DATA_ATTRIBUTES.resizeHandleActive]: J === "drag" ? "pointer" : vM ? "keyboard" : void 0,
20092
+ [DATA_ATTRIBUTES.resizeHandleActive]: J === "drag" ? "pointer" : BM ? "keyboard" : void 0,
20021
20093
  [DATA_ATTRIBUTES.resizeHandleEnabled]: !n,
20022
20094
  [DATA_ATTRIBUTES.resizeHandleId]: q,
20023
20095
  [DATA_ATTRIBUTES.resizeHandleState]: J
20024
20096
  });
20025
20097
  }
20026
20098
  PanelResizeHandle.displayName = "PanelResizeHandle";
20027
- let import_compiler_runtime$19, toggleVariants;
20028
- import_compiler_runtime$19 = require_compiler_runtime();
20099
+ let import_compiler_runtime$20, toggleVariants;
20100
+ import_compiler_runtime$20 = require_compiler_runtime();
20029
20101
  toggleVariants = cva(cn("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", "data-[state=on]:bg-muted data-[state=on]:text-muted-foreground"), {
20030
20102
  variants: {
20031
20103
  variant: {
@@ -20045,7 +20117,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20045
20117
  }
20046
20118
  });
20047
20119
  Toggle = import_react.forwardRef((e, t) => {
20048
- let n = (0, import_compiler_runtime$19.c)(13), i, o, s, c;
20120
+ let n = (0, import_compiler_runtime$20.c)(13), i, o, s, c;
20049
20121
  n[0] === e ? (i = n[1], o = n[2], s = n[3], c = n[4]) : ({ className: i, variant: c, size: s, ...o } = e, n[0] = e, n[1] = i, n[2] = o, n[3] = s, n[4] = c);
20050
20122
  let d;
20051
20123
  n[5] !== i || n[6] !== s || n[7] !== c ? (d = cn(toggleVariants({
@@ -20072,14 +20144,14 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20072
20144
  contextAwarePanelOpen = atom(false);
20073
20145
  atom(false);
20074
20146
  isCellAwareAtom = atom(false);
20075
- var import_compiler_runtime$18 = require_compiler_runtime();
20147
+ var import_compiler_runtime$19 = require_compiler_runtime();
20076
20148
  let CellHoverTemplateFeature;
20077
20149
  PANEL_TYPES = {
20078
20150
  ROW_VIEWER: "row-viewer",
20079
20151
  COLUMN_EXPLORER: "column-explorer"
20080
20152
  };
20081
20153
  ContextAwarePanelItem = (e) => {
20082
- let t = (0, import_compiler_runtime$18.c)(2), { children: n } = e, i;
20154
+ let t = (0, import_compiler_runtime$19.c)(2), { children: n } = e, i;
20083
20155
  return t[0] === n ? i = t[1] : (i = (0, import_jsx_runtime.jsx)(ErrorBoundary, {
20084
20156
  children: (0, import_jsx_runtime.jsx)(Fill, {
20085
20157
  name: SlotNames.CONTEXT_AWARE_PANEL,
@@ -20174,62 +20246,648 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
20174
20246
  createColumn: (e, t) => {
20175
20247
  e.getCanCopy = () => t.options.enableCopyColumn ?? false;
20176
20248
  }
20177
- }, FilterPills = ({ filters: e, table: t }) => {
20178
- let n = $896ba0a80a8f4d36$export$85fd5fdf27bacc79({
20179
- hour: "2-digit",
20180
- minute: "2-digit",
20181
- second: "2-digit"
20182
- });
20183
- if (!e || e.length === 0) return null;
20184
- function i(e2) {
20185
- let i2 = formatValue(e2.value, n);
20186
- return i2 ? (0, import_jsx_runtime.jsxs)(Badge, {
20249
+ };
20250
+ var import_compiler_runtime$18 = require_compiler_runtime();
20251
+ let ComboboxContext;
20252
+ ComboboxContext = (0, import_react.createContext)({
20253
+ isSelected: () => false,
20254
+ onSelect: Functions.NOOP
20255
+ });
20256
+ Combobox = (e) => {
20257
+ let t = (0, import_compiler_runtime$18.c)(96), n, i, o, s, c, d, f, h, _, v, y, S, w, E, O, A, M, I, z, U, K, q;
20258
+ t[0] === e ? (n = t[1], i = t[2], o = t[3], s = t[4], c = t[5], d = t[6], f = t[7], h = t[8], _ = t[9], v = t[10], y = t[11], S = t[12], w = t[13], E = t[14], O = t[15], A = t[16], M = t[17], I = t[18], z = t[19], U = t[20], K = t[21], q = t[22]) : ({ children: n, displayValue: d, className: o, placeholder: E, value: q, defaultValue: c, onValueChange: S, multiple: M, shouldFilter: I, filterFn: f, open: w, defaultOpen: s, onOpenChange: v, inputPlaceholder: z, search: A, onSearchChange: y, emptyState: U, chips: K, chipsClassName: i, keepPopoverOpenOnSelect: _, id: h, ...O } = e, t[0] = e, t[1] = n, t[2] = i, t[3] = o, t[4] = s, t[5] = c, t[6] = d, t[7] = f, t[8] = h, t[9] = _, t[10] = v, t[11] = y, t[12] = S, t[13] = w, t[14] = E, t[15] = O, t[16] = A, t[17] = M, t[18] = I, t[19] = z, t[20] = U, t[21] = K, t[22] = q);
20259
+ let J = M === void 0 ? false : M, Q = I === void 0 ? true : I, BM = z === void 0 ? "Search..." : z, $ = U === void 0 ? "Nothing found." : U, VM = K === void 0 ? false : K, HM = s ?? false, UM;
20260
+ t[23] !== v || t[24] !== w || t[25] !== HM ? (UM = {
20261
+ prop: w,
20262
+ defaultProp: HM,
20263
+ onChange: v
20264
+ }, t[23] = v, t[24] = w, t[25] = HM, t[26] = UM) : UM = t[26];
20265
+ let [WM, GM] = useControllableState(UM), KM = WM === void 0 ? false : WM, qM;
20266
+ t[27] === S ? qM = t[28] : (qM = (e2) => {
20267
+ S == null ? void 0 : S(e2);
20268
+ }, t[27] = S, t[28] = qM);
20269
+ let JM;
20270
+ t[29] !== c || t[30] !== qM || t[31] !== q ? (JM = {
20271
+ prop: q,
20272
+ defaultProp: c,
20273
+ onChange: qM
20274
+ }, t[29] = c, t[30] = qM, t[31] = q, t[32] = JM) : JM = t[32];
20275
+ let [XM, ZM] = useControllableState(JM), QM;
20276
+ t[33] === XM ? QM = t[34] : (QM = (e2) => Array.isArray(XM) ? XM.includes(e2) : XM === e2, t[33] = XM, t[34] = QM);
20277
+ let $M = QM, eN;
20278
+ t[35] !== _ || t[36] !== J || t[37] !== GM || t[38] !== ZM || t[39] !== XM ? (eN = (e2) => {
20279
+ let t2 = e2;
20280
+ if (J) if (Array.isArray(XM)) if (XM.includes(t2)) {
20281
+ let n2 = XM.filter((t3) => t3 !== e2);
20282
+ t2 = n2.length > 0 ? n2 : [];
20283
+ } else t2 = [
20284
+ ...XM,
20285
+ t2
20286
+ ];
20287
+ else t2 = [
20288
+ t2
20289
+ ];
20290
+ else XM === e2 && (t2 = null);
20291
+ ZM(t2), (_ ?? J) || GM(false);
20292
+ }, t[35] = _, t[36] = J, t[37] = GM, t[38] = ZM, t[39] = XM, t[40] = eN) : eN = t[40];
20293
+ let tN = eN, nN;
20294
+ t[41] !== VM || t[42] !== d || t[43] !== J || t[44] !== E || t[45] !== XM ? (nN = () => J && VM && E ? E : XM == null ? E ?? "--" : Array.isArray(XM) ? XM.length === 0 ? E ?? "--" : XM.length === 1 && d !== void 0 ? d(XM[0]) : `${XM.length} selected` : d === void 0 ? E ?? "--" : d(XM), t[41] = VM, t[42] = d, t[43] = J, t[44] = E, t[45] = XM, t[46] = nN) : nN = t[46];
20295
+ let rN = nN, iN;
20296
+ t[47] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (iN = cn("relative"), t[47] = iN) : iN = t[47];
20297
+ let aN;
20298
+ t[48] === o ? aN = t[49] : (aN = cn("flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50", o), t[48] = o, t[49] = aN);
20299
+ let oN;
20300
+ t[50] === rN ? oN = t[51] : (oN = rN(), t[50] = rN, t[51] = oN);
20301
+ let sN;
20302
+ t[52] === oN ? sN = t[53] : (sN = (0, import_jsx_runtime.jsx)("span", {
20303
+ className: "truncate flex-1 min-w-0",
20304
+ children: oN
20305
+ }), t[52] = oN, t[53] = sN);
20306
+ let lN;
20307
+ t[54] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (lN = (0, import_jsx_runtime.jsx)(ChevronDown, {
20308
+ className: "ml-3 w-4 h-4 opacity-50 shrink-0"
20309
+ }), t[54] = lN) : lN = t[54];
20310
+ let dN;
20311
+ t[55] !== h || t[56] !== KM || t[57] !== aN || t[58] !== sN ? (dN = (0, import_jsx_runtime.jsx)(PopoverTrigger, {
20312
+ asChild: true,
20313
+ children: (0, import_jsx_runtime.jsxs)("div", {
20314
+ id: h,
20315
+ className: aN,
20316
+ "aria-expanded": KM,
20317
+ children: [
20318
+ sN,
20319
+ lN
20320
+ ]
20321
+ })
20322
+ }), t[55] = h, t[56] = KM, t[57] = aN, t[58] = sN, t[59] = dN) : dN = t[59];
20323
+ let fN;
20324
+ t[60] !== BM || t[61] !== y || t[62] !== A ? (fN = (0, import_jsx_runtime.jsx)(CommandInput, {
20325
+ placeholder: BM,
20326
+ rootClassName: "px-1 h-8",
20327
+ autoFocus: true,
20328
+ value: A,
20329
+ onValueChange: y
20330
+ }), t[60] = BM, t[61] = y, t[62] = A, t[63] = fN) : fN = t[63];
20331
+ let pN;
20332
+ t[64] === $ ? pN = t[65] : (pN = (0, import_jsx_runtime.jsx)(CommandEmpty, {
20333
+ children: $
20334
+ }), t[64] = $, t[65] = pN);
20335
+ let mN;
20336
+ t[66] !== tN || t[67] !== $M ? (mN = {
20337
+ isSelected: $M,
20338
+ onSelect: tN
20339
+ }, t[66] = tN, t[67] = $M, t[68] = mN) : mN = t[68];
20340
+ let hN;
20341
+ t[69] !== n || t[70] !== mN ? (hN = (0, import_jsx_runtime.jsx)(ComboboxContext, {
20342
+ value: mN,
20343
+ children: n
20344
+ }), t[69] = n, t[70] = mN, t[71] = hN) : hN = t[71];
20345
+ let gN;
20346
+ t[72] !== pN || t[73] !== hN ? (gN = (0, import_jsx_runtime.jsxs)(CommandList, {
20347
+ className: "max-h-60 py-.5",
20348
+ children: [
20349
+ pN,
20350
+ hN
20351
+ ]
20352
+ }), t[72] = pN, t[73] = hN, t[74] = gN) : gN = t[74];
20353
+ let _N;
20354
+ t[75] !== f || t[76] !== Q || t[77] !== fN || t[78] !== gN ? (_N = (0, import_jsx_runtime.jsx)(PopoverContent, {
20355
+ className: "w-full min-w-(--radix-popover-trigger-width) p-0",
20356
+ align: "start",
20357
+ children: (0, import_jsx_runtime.jsxs)(Command, {
20358
+ filter: f,
20359
+ shouldFilter: Q,
20360
+ children: [
20361
+ fN,
20362
+ gN
20363
+ ]
20364
+ })
20365
+ }), t[75] = f, t[76] = Q, t[77] = fN, t[78] = gN, t[79] = _N) : _N = t[79];
20366
+ let vN;
20367
+ t[80] !== KM || t[81] !== GM || t[82] !== dN || t[83] !== _N ? (vN = (0, import_jsx_runtime.jsxs)(Popover, {
20368
+ open: KM,
20369
+ onOpenChange: GM,
20370
+ children: [
20371
+ dN,
20372
+ _N
20373
+ ]
20374
+ }), t[80] = KM, t[81] = GM, t[82] = dN, t[83] = _N, t[84] = vN) : vN = t[84];
20375
+ let yN;
20376
+ t[85] !== VM || t[86] !== i || t[87] !== d || t[88] !== tN || t[89] !== J || t[90] !== XM ? (yN = J && VM && (0, import_jsx_runtime.jsx)("div", {
20377
+ className: cn("flex flex-col gap-1 items-start", i),
20378
+ children: Array.isArray(XM) && XM.map((e2) => e2 == null ? null : (0, import_jsx_runtime.jsxs)(Badge, {
20187
20379
  variant: "secondary",
20188
- className: "dark:invert",
20189
20380
  children: [
20190
- e2.id,
20191
- " ",
20192
- i2,
20193
- " ",
20194
- (0, import_jsx_runtime.jsx)("span", {
20195
- className: "cursor-pointer opacity-60 hover:opacity-100 pl-1 py-[2px]",
20381
+ (d == null ? void 0 : d(e2)) ?? String(e2),
20382
+ (0, import_jsx_runtime.jsx)(CircleX, {
20196
20383
  onClick: () => {
20197
- t.setColumnFilters((t2) => t2.filter((t3) => t3.id !== e2.id));
20384
+ tN(e2);
20198
20385
  },
20199
- children: (0, import_jsx_runtime.jsx)(X, {
20200
- className: "w-3.5 h-3.5"
20201
- })
20386
+ className: "w-3 h-3 opacity-50 hover:opacity-100 ml-1 cursor-pointer"
20202
20387
  })
20203
20388
  ]
20204
- }, e2.id) : null;
20389
+ }, String(e2)))
20390
+ }), t[85] = VM, t[86] = i, t[87] = d, t[88] = tN, t[89] = J, t[90] = XM, t[91] = yN) : yN = t[91];
20391
+ let bN;
20392
+ return t[92] !== O || t[93] !== vN || t[94] !== yN ? (bN = (0, import_jsx_runtime.jsxs)("div", {
20393
+ className: iN,
20394
+ ...O,
20395
+ children: [
20396
+ vN,
20397
+ yN
20398
+ ]
20399
+ }), t[92] = O, t[93] = vN, t[94] = yN, t[95] = bN) : bN = t[95], bN;
20400
+ };
20401
+ ComboboxItem = import_react.forwardRef((e, t) => {
20402
+ let n = (0, import_compiler_runtime$18.c)(17), { children: i, className: o, value: s, onSelect: c, disabled: d } = e, f = typeof s == "object" && "value" in s ? s.value : String(s), h = import_react.use(ComboboxContext), _;
20403
+ n[0] === o ? _ = n[1] : (_ = cn("pl-6 m-1 py-1", o), n[0] = o, n[1] = _);
20404
+ let v;
20405
+ n[2] !== h || n[3] !== c || n[4] !== s ? (v = () => {
20406
+ h.onSelect(s), c == null ? void 0 : c(s);
20407
+ }, n[2] = h, n[3] = c, n[4] = s, n[5] = v) : v = n[5];
20408
+ let y;
20409
+ n[6] !== h || n[7] !== s ? (y = h.isSelected(s) && (0, import_jsx_runtime.jsx)(Check, {
20410
+ className: "absolute left-1 h-4 w-4"
20411
+ }), n[6] = h, n[7] = s, n[8] = y) : y = n[8];
20412
+ let S;
20413
+ return n[9] !== i || n[10] !== d || n[11] !== t || n[12] !== _ || n[13] !== v || n[14] !== y || n[15] !== f ? (S = (0, import_jsx_runtime.jsxs)(CommandItem, {
20414
+ ref: t,
20415
+ className: _,
20416
+ role: "option",
20417
+ value: f,
20418
+ disabled: d,
20419
+ onSelect: v,
20420
+ children: [
20421
+ y,
20422
+ i
20423
+ ]
20424
+ }), n[9] = i, n[10] = d, n[11] = t, n[12] = _, n[13] = v, n[14] = y, n[15] = f, n[16] = S) : S = n[16], S;
20425
+ });
20426
+ ComboboxItem.displayName = "ComboboxItem";
20427
+ var OPERATORS_BY_TYPE = {
20428
+ number: [
20429
+ "between",
20430
+ "is_null",
20431
+ "is_not_null"
20432
+ ],
20433
+ text: [
20434
+ "contains",
20435
+ "is_null",
20436
+ "is_not_null"
20437
+ ],
20438
+ boolean: [
20439
+ "is_true",
20440
+ "is_false",
20441
+ "is_null",
20442
+ "is_not_null"
20443
+ ],
20444
+ select: [
20445
+ "in",
20446
+ "not_in"
20447
+ ]
20448
+ }, DEFAULT_OPERATOR = {
20449
+ number: "between",
20450
+ text: "contains",
20451
+ boolean: "is_true",
20452
+ select: "in"
20453
+ }, OPERATOR_LABELS = {
20454
+ between: "Between",
20455
+ contains: "Contains",
20456
+ is_true: "Is true",
20457
+ is_false: "Is false",
20458
+ is_null: "Is null",
20459
+ is_not_null: "Is not null",
20460
+ in: "Is in",
20461
+ not_in: "Not in"
20462
+ }, OPERATORS_WITHOUT_VALUE = /* @__PURE__ */ new Set([
20463
+ "is_true",
20464
+ "is_false",
20465
+ "is_null",
20466
+ "is_not_null"
20467
+ ]);
20468
+ const FilterPillEditor = ({ snapshot: e, table: t, calculateTopKRows: n, onClose: i }) => {
20469
+ let a = (0, import_react.useId)(), o = (0, import_react.useId)(), s = (0, import_react.useId)(), c = getEditableType(e.value), d = getUiOperator(e.value), h = toDraftValue(e.value), [_, v] = (0, import_react.useState)(e.columnId), [y, S] = (0, import_react.useState)(c), [w, E] = (0, import_react.useState)(d), [O, A] = (0, import_react.useState)(h), M = t.getAllColumns().filter((e2) => {
20470
+ var _a2;
20471
+ let t2 = (_a2 = e2.columnDef.meta) == null ? void 0 : _a2.filterType;
20472
+ return t2 === "number" || t2 === "text" || t2 === "boolean" || t2 === "select";
20473
+ }), I = (t2) => {
20474
+ t2.id === e.columnId && t2.type === c && t2.operator === d && A(h);
20475
+ }, z = (e2) => {
20476
+ var _a2, _b;
20477
+ if (!e2) return;
20478
+ let n2 = ((_b = (_a2 = t.getColumn(e2)) == null ? void 0 : _a2.columnDef.meta) == null ? void 0 : _b.filterType) ?? "text", i2 = w;
20479
+ n2 !== y && (i2 = DEFAULT_OPERATOR[n2], S(n2), E(i2), A({})), v(e2), I({
20480
+ id: e2,
20481
+ type: n2,
20482
+ operator: i2
20483
+ });
20484
+ }, K = (e2) => {
20485
+ E(e2), I({
20486
+ id: _,
20487
+ type: y,
20488
+ operator: e2
20489
+ });
20490
+ }, q = () => {
20491
+ let n2 = buildFilterValue({
20492
+ type: y,
20493
+ operator: w,
20494
+ draft: O
20495
+ });
20496
+ n2 && (t.setColumnFilters((t2) => {
20497
+ let i2 = /* @__PURE__ */ new Set([
20498
+ e.columnId,
20499
+ _
20500
+ ]);
20501
+ return [
20502
+ ...t2.filter((e2) => !i2.has(e2.id)),
20503
+ {
20504
+ id: _,
20505
+ value: n2
20506
+ }
20507
+ ];
20508
+ }), i());
20509
+ }, J = () => {
20510
+ t.setColumnFilters((t2) => t2.filter((t3) => t3.id !== e.columnId)), i();
20511
+ }, Q = !OPERATORS_WITHOUT_VALUE.has(w);
20512
+ return (0, import_jsx_runtime.jsxs)("div", {
20513
+ className: "flex flex-row gap-4 items-end p-3",
20514
+ children: [
20515
+ (0, import_jsx_runtime.jsxs)("div", {
20516
+ className: "flex flex-col gap-1",
20517
+ children: [
20518
+ (0, import_jsx_runtime.jsx)("label", {
20519
+ className: "text-xs text-muted-foreground",
20520
+ htmlFor: a,
20521
+ children: "Column"
20522
+ }),
20523
+ (0, import_jsx_runtime.jsx)(Combobox, {
20524
+ id: a,
20525
+ value: _,
20526
+ onValueChange: z,
20527
+ multiple: false,
20528
+ placeholder: "Select column\u2026",
20529
+ displayValue: (e2) => e2,
20530
+ children: M.map((e2) => (0, import_jsx_runtime.jsx)(ComboboxItem, {
20531
+ value: e2.id,
20532
+ children: e2.id
20533
+ }, e2.id))
20534
+ })
20535
+ ]
20536
+ }),
20537
+ (0, import_jsx_runtime.jsxs)("div", {
20538
+ className: "flex flex-col gap-1",
20539
+ children: [
20540
+ (0, import_jsx_runtime.jsx)("label", {
20541
+ htmlFor: o,
20542
+ className: "text-xs text-muted-foreground",
20543
+ children: "Operator"
20544
+ }),
20545
+ (0, import_jsx_runtime.jsxs)(Select, {
20546
+ value: w,
20547
+ onValueChange: (e2) => K(e2),
20548
+ children: [
20549
+ (0, import_jsx_runtime.jsx)(SelectTrigger, {
20550
+ id: o,
20551
+ className: "h-6 mb-1 bg-transparent",
20552
+ children: (0, import_jsx_runtime.jsx)(SelectValue, {})
20553
+ }),
20554
+ (0, import_jsx_runtime.jsx)(SelectContent, {
20555
+ children: OPERATORS_BY_TYPE[y].map((e2) => (0, import_jsx_runtime.jsx)(SelectItem, {
20556
+ value: e2,
20557
+ children: OPERATOR_LABELS[e2]
20558
+ }, e2))
20559
+ })
20560
+ ]
20561
+ })
20562
+ ]
20563
+ }),
20564
+ Q && (0, import_jsx_runtime.jsxs)("div", {
20565
+ className: "flex flex-col gap-1",
20566
+ children: [
20567
+ (0, import_jsx_runtime.jsx)("label", {
20568
+ htmlFor: s,
20569
+ className: "text-xs text-muted-foreground",
20570
+ children: "Value"
20571
+ }),
20572
+ (0, import_jsx_runtime.jsx)(ValueSlot, {
20573
+ id: s,
20574
+ type: y,
20575
+ value: O,
20576
+ onChange: A,
20577
+ column: t.getColumn(_) ?? null,
20578
+ calculateTopKRows: n
20579
+ })
20580
+ ]
20581
+ }),
20582
+ (0, import_jsx_runtime.jsxs)("div", {
20583
+ className: "flex gap-1 mb-1",
20584
+ children: [
20585
+ (0, import_jsx_runtime.jsx)(Tooltip, {
20586
+ content: "Apply filter",
20587
+ children: (0, import_jsx_runtime.jsx)(Button, {
20588
+ type: "button",
20589
+ size: "icon",
20590
+ variant: "ghost",
20591
+ className: "rounded-full text-primary hover:text-primary hover:bg-primary/10",
20592
+ onClick: q,
20593
+ "aria-label": "Apply filter",
20594
+ children: (0, import_jsx_runtime.jsx)(Check, {
20595
+ className: "h-3.5 w-3.5",
20596
+ "aria-hidden": true
20597
+ })
20598
+ })
20599
+ }),
20600
+ (0, import_jsx_runtime.jsx)(Tooltip, {
20601
+ content: "Close without saving",
20602
+ children: (0, import_jsx_runtime.jsx)(Button, {
20603
+ type: "button",
20604
+ size: "icon",
20605
+ variant: "ghost",
20606
+ className: "rounded-full text-muted-foreground hover:text-foreground hover:bg-muted",
20607
+ onClick: i,
20608
+ "aria-label": "Close without saving",
20609
+ children: (0, import_jsx_runtime.jsx)(X, {
20610
+ className: "h-3.5 w-3.5",
20611
+ "aria-hidden": true
20612
+ })
20613
+ })
20614
+ }),
20615
+ (0, import_jsx_runtime.jsx)(Tooltip, {
20616
+ content: "Remove filter",
20617
+ children: (0, import_jsx_runtime.jsx)(Button, {
20618
+ type: "button",
20619
+ size: "icon",
20620
+ variant: "ghost",
20621
+ className: "rounded-full text-destructive hover:text-destructive hover:bg-destructive/10",
20622
+ onClick: J,
20623
+ "aria-label": "Remove filter",
20624
+ children: (0, import_jsx_runtime.jsx)(Trash2, {
20625
+ className: "h-3.5 w-3.5",
20626
+ "aria-hidden": true
20627
+ })
20628
+ })
20629
+ })
20630
+ ]
20631
+ })
20632
+ ]
20633
+ });
20634
+ };
20635
+ var ValueSlot = ({ id: e, type: t, value: n, onChange: i, column: a, calculateTopKRows: o }) => t === "number" ? (0, import_jsx_runtime.jsxs)("div", {
20636
+ className: "flex gap-1 items-center w-48",
20637
+ children: [
20638
+ (0, import_jsx_runtime.jsx)(NumberField, {
20639
+ id: e,
20640
+ value: n.min,
20641
+ onChange: (e2) => i({
20642
+ ...n,
20643
+ min: e2
20644
+ }),
20645
+ "aria-label": "min",
20646
+ placeholder: "min",
20647
+ className: "border-input flex-1 min-w-0"
20648
+ }),
20649
+ (0, import_jsx_runtime.jsx)(Minus, {
20650
+ className: "h-5 w-5 text-muted-foreground shrink-0"
20651
+ }),
20652
+ (0, import_jsx_runtime.jsx)(NumberField, {
20653
+ value: n.max,
20654
+ onChange: (e2) => i({
20655
+ ...n,
20656
+ max: e2
20657
+ }),
20658
+ "aria-label": "max",
20659
+ placeholder: "max",
20660
+ className: "border-input flex-1 min-w-0"
20661
+ })
20662
+ ]
20663
+ }) : t === "text" ? (0, import_jsx_runtime.jsx)(Input, {
20664
+ id: e,
20665
+ type: "text",
20666
+ value: n.text ?? "",
20667
+ onChange: (e2) => i({
20668
+ ...n,
20669
+ text: e2.target.value
20670
+ }),
20671
+ placeholder: "Text\u2026",
20672
+ className: "border-input min-w-0"
20673
+ }) : t === "select" && a ? (0, import_jsx_runtime.jsx)("div", {
20674
+ className: "flex w-48",
20675
+ children: (0, import_jsx_runtime.jsx)(FilterByValuesPicker, {
20676
+ column: a,
20677
+ calculateTopKRows: o,
20678
+ chosenValues: n.options ?? [],
20679
+ onChange: (e2) => i({
20680
+ ...n,
20681
+ options: e2
20682
+ })
20683
+ })
20684
+ }) : null;
20685
+ function getEditableType(e) {
20686
+ return e.type === "number" ? "number" : e.type === "text" ? "text" : e.type === "boolean" ? "boolean" : e.type === "select" ? "select" : "text";
20687
+ }
20688
+ function getUiOperator(e) {
20689
+ return e.operator === "is_null" ? "is_null" : e.operator === "is_not_null" ? "is_not_null" : e.type === "number" ? "between" : e.type === "text" ? "contains" : e.type === "boolean" ? e.value ? "is_true" : "is_false" : e.type === "select" ? e.operator === "not_in" ? "not_in" : "in" : "contains";
20690
+ }
20691
+ function toDraftValue(e) {
20692
+ return e.type === "number" ? {
20693
+ min: e.min,
20694
+ max: e.max
20695
+ } : e.type === "text" ? {
20696
+ text: e.text
20697
+ } : e.type === "select" ? {
20698
+ options: [
20699
+ ...e.options
20700
+ ]
20701
+ } : {};
20702
+ }
20703
+ function buildFilterValue({ type: e, operator: t, draft: n }) {
20704
+ if (t === "is_null" || t === "is_not_null") {
20705
+ let n2 = t;
20706
+ return e === "number" ? Filter.number({
20707
+ operator: n2
20708
+ }) : e === "boolean" ? Filter.boolean({
20709
+ operator: n2
20710
+ }) : Filter.text({
20711
+ operator: n2
20712
+ });
20205
20713
  }
20206
- return (0, import_jsx_runtime.jsx)("div", {
20207
- className: "flex flex-wrap gap-2 px-1",
20208
- children: e.map(i)
20714
+ if (e === "number") return n.min === void 0 && n.max === void 0 ? void 0 : Filter.number({
20715
+ min: n.min,
20716
+ max: n.max
20717
+ });
20718
+ if (e === "text") return n.text ? Filter.text({
20719
+ text: n.text,
20720
+ operator: "contains"
20721
+ }) : void 0;
20722
+ if (e === "boolean") return t === "is_true" ? Filter.boolean({
20723
+ value: true,
20724
+ operator: "is_true"
20725
+ }) : t === "is_false" ? Filter.boolean({
20726
+ value: false,
20727
+ operator: "is_false"
20728
+ }) : void 0;
20729
+ if (e === "select") return !n.options || n.options.length === 0 ? void 0 : Filter.select({
20730
+ options: n.options,
20731
+ operator: t === "not_in" ? "not_in" : "in"
20732
+ });
20733
+ }
20734
+ const FilterPills = ({ filters: e, table: t, calculateTopKRows: n }) => {
20735
+ let i = $896ba0a80a8f4d36$export$85fd5fdf27bacc79({
20736
+ hour: "2-digit",
20737
+ minute: "2-digit",
20738
+ second: "2-digit"
20739
+ });
20740
+ return !e || e.length === 0 ? null : (0, import_jsx_runtime.jsx)("div", {
20741
+ part: "filter-pills",
20742
+ className: "flex flex-wrap gap-2 px-1 py-2",
20743
+ children: e.map((e2) => (0, import_jsx_runtime.jsx)(FilterPill, {
20744
+ columnId: e2.id,
20745
+ value: e2.value,
20746
+ timeFormatter: i,
20747
+ table: t,
20748
+ calculateTopKRows: n,
20749
+ onRemove: () => t.setColumnFilters((t2) => t2.filter((t3) => t3.id !== e2.id))
20750
+ }, e2.id))
20751
+ });
20752
+ };
20753
+ var FilterPill = ({ columnId: e, value: t, timeFormatter: n, table: i, calculateTopKRows: o, onRemove: s }) => {
20754
+ let [c, d] = (0, import_react.useState)(false), h = formatValue(t, n);
20755
+ if (!h) return null;
20756
+ let _ = "type" in t && (t.type === "date" || t.type === "datetime" || t.type === "time"), v = h.value === void 0, y = (e2) => {
20757
+ e2.stopPropagation(), s();
20758
+ }, S = (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
20759
+ children: [
20760
+ (0, import_jsx_runtime.jsx)("span", {
20761
+ className: "text-foreground",
20762
+ children: e
20763
+ }),
20764
+ (0, import_jsx_runtime.jsx)(Separator, {}),
20765
+ (0, import_jsx_runtime.jsx)("span", {
20766
+ className: cn("font-normal", v ? "text-foreground" : "text-foreground/70"),
20767
+ children: h.operator
20768
+ }),
20769
+ !v && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
20770
+ children: [
20771
+ (0, import_jsx_runtime.jsx)(Separator, {}),
20772
+ (0, import_jsx_runtime.jsx)("span", {
20773
+ className: "text-foreground",
20774
+ children: h.value
20775
+ })
20776
+ ]
20777
+ })
20778
+ ]
20779
+ }), w = (0, import_jsx_runtime.jsx)(Button, {
20780
+ type: "button",
20781
+ size: "icon",
20782
+ variant: "ghost",
20783
+ className: "ml-1 rounded-full text-destructive/60 hover:text-destructive hover:shadow-none hover:bg-transparent",
20784
+ onClick: y,
20785
+ "aria-label": "Remove filter",
20786
+ children: (0, import_jsx_runtime.jsx)(X, {
20787
+ className: "h-3.5 w-3.5",
20788
+ "aria-hidden": true
20789
+ })
20790
+ });
20791
+ return _ ? (0, import_jsx_runtime.jsxs)(Badge, {
20792
+ variant: "outline",
20793
+ className: "bg-background border-border text-foreground",
20794
+ children: [
20795
+ S,
20796
+ w
20797
+ ]
20798
+ }) : (0, import_jsx_runtime.jsxs)(Popover, {
20799
+ open: c,
20800
+ onOpenChange: d,
20801
+ modal: true,
20802
+ children: [
20803
+ (0, import_jsx_runtime.jsxs)(Badge, {
20804
+ variant: "outline",
20805
+ className: cn("bg-background border-border text-foreground", "hover:bg-accent hover:text-accent-foreground", "has-data-[state=open]:bg-accent has-data-[state=open]:text-accent-foreground", "transition-colors"),
20806
+ children: [
20807
+ (0, import_jsx_runtime.jsx)(PopoverTrigger, {
20808
+ asChild: true,
20809
+ children: (0, import_jsx_runtime.jsx)("button", {
20810
+ type: "button",
20811
+ className: "inline-flex items-center cursor-pointer bg-transparent border-0 p-0 [font:inherit] text-inherit",
20812
+ "aria-label": `Edit filter on ${e}`,
20813
+ children: S
20814
+ })
20815
+ }),
20816
+ w
20817
+ ]
20818
+ }),
20819
+ (0, import_jsx_runtime.jsx)(PopoverContent, {
20820
+ className: "w-auto p-0",
20821
+ align: "start",
20822
+ alignOffset: -10,
20823
+ sideOffset: 10,
20824
+ avoidCollisions: true,
20825
+ onOpenAutoFocus: (e2) => e2.preventDefault(),
20826
+ children: (0, import_jsx_runtime.jsx)(FilterPillEditor, {
20827
+ snapshot: {
20828
+ columnId: e,
20829
+ value: t
20830
+ },
20831
+ table: i,
20832
+ calculateTopKRows: o,
20833
+ onClose: () => d(false)
20834
+ })
20835
+ })
20836
+ ]
20209
20837
  });
20210
20838
  };
20839
+ function Separator() {
20840
+ return (0, import_jsx_runtime.jsx)("span", {
20841
+ "aria-hidden": true,
20842
+ className: "mx-1.5 w-px h-3 bg-foreground/30"
20843
+ });
20844
+ }
20211
20845
  function formatValue(e, t) {
20212
20846
  var _a2, _b, _c, _d;
20213
20847
  if ("type" in e) {
20214
- if (e.operator === "is_null") return "is null";
20215
- if (e.operator === "is_not_null") return "is not null";
20848
+ if (e.operator === "is_null") return {
20849
+ operator: "is null"
20850
+ };
20851
+ if (e.operator === "is_not_null") return {
20852
+ operator: "is not null"
20853
+ };
20216
20854
  if (e.type === "number") return formatMinMax(e.min, e.max);
20217
20855
  if (e.type === "date") return formatMinMax((_a2 = e.min) == null ? void 0 : _a2.toISOString(), (_b = e.max) == null ? void 0 : _b.toISOString());
20218
20856
  if (e.type === "time") return formatMinMax(e.min ? t.format(e.min) : void 0, e.max ? t.format(e.max) : void 0);
20219
20857
  if (e.type === "datetime") return formatMinMax((_c = e.min) == null ? void 0 : _c.toISOString(), (_d = e.max) == null ? void 0 : _d.toISOString());
20220
- if (e.type === "boolean") return `is ${e.value ? "True" : "False"}`;
20858
+ if (e.type === "boolean") return {
20859
+ operator: `is ${e.value ? "True" : "False"}`
20860
+ };
20221
20861
  if (e.type === "select") {
20222
20862
  let t2 = e.options.map((e2) => stringifyUnknownValue({
20223
20863
  value: e2
20224
20864
  }));
20225
- return `${e.operator === "in" ? "is in" : "not in"} [${t2.join(", ")}]`;
20865
+ return {
20866
+ operator: e.operator === "in" ? "is in" : "not in",
20867
+ value: `[${t2.join(", ")}]`
20868
+ };
20226
20869
  }
20227
- if (e.type === "text") return `contains "${e.text}"`;
20870
+ if (e.type === "text") return {
20871
+ operator: "contains",
20872
+ value: `"${e.text}"`
20873
+ };
20228
20874
  logNever(e);
20229
20875
  }
20230
20876
  }
20231
20877
  function formatMinMax(e, t) {
20232
- if (!(e === void 0 && t === void 0)) return e === t ? `== ${e}` : e === void 0 ? `<= ${t}` : t === void 0 ? `>= ${e}` : `${e} - ${t}`;
20878
+ if (!(e === void 0 && t === void 0)) return e === t ? {
20879
+ operator: "==",
20880
+ value: String(e)
20881
+ } : e === void 0 ? {
20882
+ operator: "<=",
20883
+ value: String(t)
20884
+ } : t === void 0 ? {
20885
+ operator: ">=",
20886
+ value: String(e)
20887
+ } : {
20888
+ operator: "between",
20889
+ value: `${e} - ${t}`
20890
+ };
20233
20891
  }
20234
20892
  const FocusRowFeature = {
20235
20893
  getInitialState: (e) => ({
@@ -22749,7 +23407,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
22749
23407
  filename: i2.filename
22750
23408
  };
22751
23409
  }, t[5] = e, t[6] = v);
22752
- let y = v, E, O, A, M, I, z, U, K, q, J, Q, vM, $;
23410
+ let y = v, E, O, A, M, I, z, U, K, q, J, Q, BM, $;
22753
23411
  if (t[7] !== _ || t[8] !== n || t[9] !== i || t[10] !== y) {
22754
23412
  let e2 = async (t2) => {
22755
23413
  let n2 = await y(t2, () => {
@@ -22799,7 +23457,7 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
22799
23457
  }), t[26] = s2, t[27] = c2, t[28] = K) : K = t[28], E = DropdownMenuContent, q = "bottom", J = "print:hidden", t[29] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (Q = (0, import_jsx_runtime.jsx)(DropdownMenuLabel, {
22800
23458
  className: "text-xs text-muted-foreground",
22801
23459
  children: "Download"
22802
- }), t[29] = Q) : Q = t[29], vM = downloadOptions.map((t2) => (0, import_jsx_runtime.jsxs)(DropdownMenuItem, {
23460
+ }), t[29] = Q) : Q = t[29], BM = downloadOptions.map((t2) => (0, import_jsx_runtime.jsxs)(DropdownMenuItem, {
22803
23461
  onSelect: () => {
22804
23462
  e2(t2.format);
22805
23463
  },
@@ -22852,30 +23510,30 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
22852
23510
  ]
22853
23511
  })
22854
23512
  ]
22855
- }, e3.label)), t[7] = _, t[8] = n, t[9] = i, t[10] = y, t[11] = E, t[12] = O, t[13] = A, t[14] = M, t[15] = I, t[16] = z, t[17] = U, t[18] = K, t[19] = q, t[20] = J, t[21] = Q, t[22] = vM, t[23] = $;
22856
- } else E = t[11], O = t[12], A = t[13], M = t[14], I = t[15], z = t[16], U = t[17], K = t[18], q = t[19], J = t[20], Q = t[21], vM = t[22], $ = t[23];
22857
- let yM;
22858
- t[32] !== E || t[33] !== A || t[34] !== M || t[35] !== q || t[36] !== J || t[37] !== Q || t[38] !== vM || t[39] !== $ ? (yM = (0, import_jsx_runtime.jsxs)(E, {
23513
+ }, e3.label)), t[7] = _, t[8] = n, t[9] = i, t[10] = y, t[11] = E, t[12] = O, t[13] = A, t[14] = M, t[15] = I, t[16] = z, t[17] = U, t[18] = K, t[19] = q, t[20] = J, t[21] = Q, t[22] = BM, t[23] = $;
23514
+ } else E = t[11], O = t[12], A = t[13], M = t[14], I = t[15], z = t[16], U = t[17], K = t[18], q = t[19], J = t[20], Q = t[21], BM = t[22], $ = t[23];
23515
+ let VM;
23516
+ t[32] !== E || t[33] !== A || t[34] !== M || t[35] !== q || t[36] !== J || t[37] !== Q || t[38] !== BM || t[39] !== $ ? (VM = (0, import_jsx_runtime.jsxs)(E, {
22859
23517
  side: q,
22860
23518
  className: J,
22861
23519
  children: [
22862
23520
  Q,
22863
- vM,
23521
+ BM,
22864
23522
  $,
22865
23523
  A,
22866
23524
  M
22867
23525
  ]
22868
- }), t[32] = E, t[33] = A, t[34] = M, t[35] = q, t[36] = J, t[37] = Q, t[38] = vM, t[39] = $, t[40] = yM) : yM = t[40];
22869
- let bM;
22870
- return t[41] !== O || t[42] !== I || t[43] !== z || t[44] !== U || t[45] !== K || t[46] !== yM ? (bM = (0, import_jsx_runtime.jsxs)(O, {
23526
+ }), t[32] = E, t[33] = A, t[34] = M, t[35] = q, t[36] = J, t[37] = Q, t[38] = BM, t[39] = $, t[40] = VM) : VM = t[40];
23527
+ let HM;
23528
+ return t[41] !== O || t[42] !== I || t[43] !== z || t[44] !== U || t[45] !== K || t[46] !== VM ? (HM = (0, import_jsx_runtime.jsxs)(O, {
22871
23529
  modal: I,
22872
23530
  open: z,
22873
23531
  onOpenChange: U,
22874
23532
  children: [
22875
23533
  K,
22876
- yM
23534
+ VM
22877
23535
  ]
22878
- }), t[41] = O, t[42] = I, t[43] = z, t[44] = U, t[45] = K, t[46] = yM, t[47] = bM) : bM = t[47], bM;
23536
+ }), t[41] = O, t[42] = I, t[43] = z, t[44] = U, t[45] = K, t[46] = VM, t[47] = HM) : HM = t[47], HM;
22879
23537
  };
22880
23538
  function fetchJson(e) {
22881
23539
  return fetchText(e).then(jsonParseWithSpecialChar);
@@ -22966,22 +23624,22 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
22966
23624
  ]
22967
23625
  }) : null;
22968
23626
  };
22969
- DataTable = (0, import_react.memo)(({ wrapperClassName: e, className: t, maxHeight: n, columns: i, data: o, rawData: s, selection: c, totalColumns: d, totalRows: f, manualSorting: h = false, sorting: _, setSorting: v, rowSelection: y, cellSelection: S, cellStyling: w, hoverTemplate: E, cellHoverTexts: O, paginationState: A, setPaginationState: M, downloadAs: I, manualPagination: z = false, pagination: U = false, onRowSelectionChange: K, onCellSelectionChange: q, getRowIds: J, enableSearch: Q = false, searchQuery: vM, onSearchQueryChange: $, showFilters: yM = false, filters: bM, onFiltersChange: xM, reloading: SM, freezeColumnsLeft: CM, freezeColumnsRight: wM, toggleDisplayHeader: TM, showChartBuilder: EM, isChartBuilderOpen: DM, showPageSizeSelector: OM, showTableExplorer: kM, togglePanel: AM, isPanelOpen: jM, isAnyPanelOpen: MM, viewedRowIdx: NM, onViewedRowChange: PM }) => {
22970
- let [FM, IM] = import_react.useState(false), { locale: LM } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), { columnPinning: RM, setColumnPinning: zM } = useColumnPinning(CM, wM);
23627
+ DataTable = (0, import_react.memo)(({ wrapperClassName: e, className: t, maxHeight: n, columns: i, data: o, rawData: s, selection: c, totalColumns: d, totalRows: f, manualSorting: h = false, sorting: _, setSorting: v, rowSelection: y, cellSelection: S, cellStyling: w, hoverTemplate: E, cellHoverTexts: O, paginationState: A, setPaginationState: M, downloadAs: I, manualPagination: z = false, pagination: U = false, onRowSelectionChange: K, onCellSelectionChange: q, getRowIds: J, enableSearch: Q = false, searchQuery: BM, onSearchQueryChange: $, showFilters: VM = false, filters: HM, onFiltersChange: UM, calculateTopKRows: WM, reloading: GM, freezeColumnsLeft: KM, freezeColumnsRight: qM, toggleDisplayHeader: JM, showChartBuilder: YM, isChartBuilderOpen: XM, showPageSizeSelector: ZM, showTableExplorer: QM, togglePanel: $M, isPanelOpen: eN, isAnyPanelOpen: tN, viewedRowIdx: nN, onViewedRowChange: rN }) => {
23628
+ let [iN, aN] = import_react.useState(false), { locale: oN } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), { columnPinning: sN, setColumnPinning: cN } = useColumnPinning(KM, qM);
22971
23629
  import_react.useEffect(() => {
22972
23630
  let e2;
22973
- return SM ? e2 = setTimeout(() => {
22974
- IM(true);
22975
- }, 300) : IM(false), () => {
23631
+ return GM ? e2 = setTimeout(() => {
23632
+ aN(true);
23633
+ }, 300) : aN(false), () => {
22976
23634
  e2 && clearTimeout(e2);
22977
23635
  };
22978
23636
  }, [
22979
- SM
23637
+ GM
22980
23638
  ]);
22981
- function BM(e2, t2) {
23639
+ function lN(e2, t2) {
22982
23640
  return A ? t2 + (z ? A.pageIndex * A.pageSize : 0) : t2;
22983
23641
  }
22984
- let VM = useReactTable({
23642
+ let uN = useReactTable({
22985
23643
  _features: [
22986
23644
  ColumnPinning,
22987
23645
  ColumnWrappingFeature,
@@ -23005,11 +23663,11 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23005
23663
  getRowId: (e2, t2) => {
23006
23664
  let n2 = getStableRowId(e2);
23007
23665
  if (n2) return n2;
23008
- let i2 = BM(e2, t2);
23666
+ let i2 = lN(e2, t2);
23009
23667
  return String(i2);
23010
23668
  }
23011
23669
  } : {},
23012
- locale: LM,
23670
+ locale: oN,
23013
23671
  manualPagination: z,
23014
23672
  getPaginationRowModel: getPaginationRowModel(),
23015
23673
  ...v ? {
@@ -23019,21 +23677,21 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23019
23677
  enableMultiSort: true,
23020
23678
  getSortedRowModel: getSortedRowModel(),
23021
23679
  manualFiltering: true,
23022
- enableColumnFilters: yM,
23680
+ enableColumnFilters: VM,
23023
23681
  getFilteredRowModel: getFilteredRowModel(),
23024
- onColumnFiltersChange: xM,
23682
+ onColumnFiltersChange: UM,
23025
23683
  onRowSelectionChange: K,
23026
23684
  onCellSelectionChange: q,
23027
23685
  enableCellSelection: c === "single-cell" || c === "multi-cell",
23028
23686
  enableMultiCellSelection: c === "multi-cell",
23029
- onColumnPinningChange: zM,
23687
+ onColumnPinningChange: cN,
23030
23688
  enableFocusRow: true,
23031
- onFocusRowChange: PM,
23689
+ onFocusRowChange: rN,
23032
23690
  state: {
23033
23691
  ..._ ? {
23034
23692
  sorting: _
23035
23693
  } : {},
23036
- columnFilters: bM,
23694
+ columnFilters: HM,
23037
23695
  ...A ? {
23038
23696
  pagination: A
23039
23697
  } : U && !A ? {} : {
@@ -23045,20 +23703,21 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23045
23703
  rowSelection: y ?? {},
23046
23704
  cellSelection: S ?? [],
23047
23705
  cellStyling: w,
23048
- columnPinning: RM,
23706
+ columnPinning: sN,
23049
23707
  cellHoverTemplate: E,
23050
23708
  cellHoverTexts: O ?? {}
23051
23709
  }
23052
- }), HM = (jM == null ? void 0 : jM(PANEL_TYPES.ROW_VIEWER)) ?? false, UM = !U && o.length > 100, WM = useScrollContainerHeight({
23710
+ }), dN = (eN == null ? void 0 : eN(PANEL_TYPES.ROW_VIEWER)) ?? false, fN = !U && o.length > 100, pN = useScrollContainerHeight({
23053
23711
  maxHeight: n,
23054
- virtualize: UM
23712
+ virtualize: fN
23055
23713
  });
23056
23714
  return (0, import_jsx_runtime.jsxs)("div", {
23057
23715
  className: cn(e, "flex flex-col space-y-1"),
23058
23716
  children: [
23059
23717
  (0, import_jsx_runtime.jsx)(FilterPills, {
23060
- filters: bM,
23061
- table: VM
23718
+ filters: HM,
23719
+ table: uN,
23720
+ calculateTopKRows: WM
23062
23721
  }),
23063
23722
  (0, import_jsx_runtime.jsx)(CellSelectionProvider, {
23064
23723
  children: (0, import_jsx_runtime.jsxs)("div", {
@@ -23067,32 +23726,32 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23067
23726
  children: [
23068
23727
  (0, import_jsx_runtime.jsx)(TableTopBar, {
23069
23728
  enableSearch: Q,
23070
- searchQuery: vM,
23729
+ searchQuery: BM,
23071
23730
  onSearchQueryChange: $,
23072
- reloading: SM,
23073
- showChartBuilder: EM,
23074
- isChartBuilderOpen: DM,
23075
- toggleDisplayHeader: TM,
23076
- showTableExplorer: kM,
23077
- togglePanel: AM,
23078
- isAnyPanelOpen: MM,
23731
+ reloading: GM,
23732
+ showChartBuilder: YM,
23733
+ isChartBuilderOpen: XM,
23734
+ toggleDisplayHeader: JM,
23735
+ showTableExplorer: QM,
23736
+ togglePanel: $M,
23737
+ isAnyPanelOpen: tN,
23079
23738
  downloadAs: I
23080
23739
  }),
23081
23740
  (0, import_jsx_runtime.jsxs)(Table, {
23082
23741
  className: cn("relative", i.length <= 4 ? "w-auto" : "w-full"),
23083
- ref: WM,
23742
+ ref: pN,
23084
23743
  children: [
23085
- FM && (0, import_jsx_runtime.jsx)("thead", {
23744
+ iN && (0, import_jsx_runtime.jsx)("thead", {
23086
23745
  className: "absolute top-0 left-0 h-[3px] w-1/2 bg-primary animate-slide"
23087
23746
  }),
23088
- renderTableHeader(VM, UM || !!n),
23747
+ renderTableHeader(uN, fN || !!n),
23089
23748
  (0, import_jsx_runtime.jsx)(DataTableBody, {
23090
- table: VM,
23749
+ table: uN,
23091
23750
  columns: i,
23092
- rowViewerPanelOpen: HM,
23093
- getRowIndex: BM,
23094
- viewedRowIdx: NM,
23095
- virtualize: UM
23751
+ rowViewerPanelOpen: dN,
23752
+ getRowIndex: lN,
23753
+ viewedRowIdx: nN,
23754
+ virtualize: fN
23096
23755
  })
23097
23756
  ]
23098
23757
  }),
@@ -23103,10 +23762,10 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23103
23762
  pagination: U,
23104
23763
  selection: c,
23105
23764
  onRowSelectionChange: K,
23106
- table: VM,
23765
+ table: uN,
23107
23766
  getRowIds: J,
23108
- showPageSizeSelector: OM,
23109
- tableLoading: SM
23767
+ showPageSizeSelector: ZM,
23768
+ tableLoading: GM
23110
23769
  })
23111
23770
  ]
23112
23771
  })
@@ -23187,76 +23846,76 @@ Database schema: ${n}`), (_a3 = t2.aiFix) == null ? void 0 : _a3.setAiCompletion
23187
23846
  t[4] !== o || t[5] !== E ? (O = E && E.kind === "cell" && !isWasm() && !isStaticNotebook() && o !== "__scratch__", t[4] = o, t[5] = E, t[6] = O) : O = t[6];
23188
23847
  let A = O, M;
23189
23848
  t[7] !== v || t[8] !== n ? (M = n && v && !isStaticNotebook(), t[7] = v, t[8] = n, t[9] = M) : M = t[9];
23190
- let z = M, U = !isStaticNotebook(), K = (e2) => {
23849
+ let I = M, U = !isStaticNotebook(), K = (e2) => {
23191
23850
  n == null ? void 0 : n({
23192
23851
  prompt: `My code gives the following error:
23193
23852
 
23194
23853
  ${_}`,
23195
23854
  triggerImmediately: e2
23196
23855
  });
23197
- }, [J, Q] = _.split(":", 2), vM = d ? KEY : "", $;
23856
+ }, [q, J] = _.split(":", 2), Q = d ? KEY : "", $;
23198
23857
  t[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? ($ = () => h(_temp$2), t[10] = $) : $ = t[10];
23199
- let yM = d ? "rotate-180" : "rotate-0", bM;
23200
- t[11] === yM ? bM = t[12] : (bM = cn("h-4 w-4 text-muted-foreground transition-transform duration-200 shrink-0", yM), t[11] = yM, t[12] = bM);
23201
- let xM;
23202
- t[13] === bM ? xM = t[14] : (xM = (0, import_jsx_runtime.jsx)(ChevronDown, {
23203
- className: bM
23204
- }), t[13] = bM, t[14] = xM);
23205
- let SM = J || "Error", wM;
23206
- t[15] === SM ? wM = t[16] : (wM = (0, import_jsx_runtime.jsxs)("span", {
23858
+ let VM = d ? "rotate-180" : "rotate-0", HM;
23859
+ t[11] === VM ? HM = t[12] : (HM = cn("h-4 w-4 text-muted-foreground transition-transform duration-200 shrink-0", VM), t[11] = VM, t[12] = HM);
23860
+ let UM;
23861
+ t[13] === HM ? UM = t[14] : (UM = (0, import_jsx_runtime.jsx)(ChevronDown, {
23862
+ className: HM
23863
+ }), t[13] = HM, t[14] = UM);
23864
+ let WM = q || "Error", GM;
23865
+ t[15] === WM ? GM = t[16] : (GM = (0, import_jsx_runtime.jsxs)("span", {
23207
23866
  className: "text-destructive",
23208
23867
  children: [
23209
- SM,
23868
+ WM,
23210
23869
  ":"
23211
23870
  ]
23212
- }), t[15] = SM, t[16] = wM);
23213
- let TM;
23214
- t[17] !== Q || t[18] !== wM ? (TM = (0, import_jsx_runtime.jsxs)("div", {
23871
+ }), t[15] = WM, t[16] = GM);
23872
+ let KM;
23873
+ t[17] !== J || t[18] !== GM ? (KM = (0, import_jsx_runtime.jsxs)("div", {
23215
23874
  className: "text-sm inline font-mono",
23216
23875
  children: [
23217
- wM,
23876
+ GM,
23218
23877
  " ",
23219
- Q
23878
+ J
23220
23879
  ]
23221
- }), t[17] = Q, t[18] = wM, t[19] = TM) : TM = t[19];
23222
- let DM;
23223
- t[20] !== TM || t[21] !== xM ? (DM = (0, import_jsx_runtime.jsxs)("div", {
23880
+ }), t[17] = J, t[18] = GM, t[19] = KM) : KM = t[19];
23881
+ let JM;
23882
+ t[20] !== KM || t[21] !== UM ? (JM = (0, import_jsx_runtime.jsxs)("div", {
23224
23883
  className: "flex gap-2 h-10 px-2 hover:bg-muted rounded-sm select-none items-center cursor-pointer transition-all",
23225
23884
  onClick: $,
23226
23885
  children: [
23227
- xM,
23228
- TM
23886
+ UM,
23887
+ KM
23229
23888
  ]
23230
- }), t[20] = TM, t[21] = xM, t[22] = DM) : DM = t[22];
23231
- let OM;
23232
- t[23] === c ? OM = t[24] : (OM = (0, import_jsx_runtime.jsx)(AccordionContent, {
23889
+ }), t[20] = KM, t[21] = UM, t[22] = JM) : JM = t[22];
23890
+ let YM;
23891
+ t[23] === c ? YM = t[24] : (YM = (0, import_jsx_runtime.jsx)(AccordionContent, {
23233
23892
  className: "text-muted-foreground px-4 pt-2 text-xs overflow-auto",
23234
23893
  children: c
23235
- }), t[23] = c, t[24] = OM);
23236
- let kM;
23237
- t[25] !== DM || t[26] !== OM ? (kM = (0, import_jsx_runtime.jsxs)(AccordionItem, {
23894
+ }), t[23] = c, t[24] = YM);
23895
+ let ZM;
23896
+ t[25] !== JM || t[26] !== YM ? (ZM = (0, import_jsx_runtime.jsxs)(AccordionItem, {
23238
23897
  value: KEY,
23239
23898
  className: "border-none",
23240
23899
  children: [
23241
- DM,
23242
- OM
23900
+ JM,
23901
+ YM
23243
23902
  ]
23244
- }), t[25] = DM, t[26] = OM, t[27] = kM) : kM = t[27];
23245
- let jM;
23246
- t[28] !== kM || t[29] !== vM ? (jM = (0, import_jsx_runtime.jsx)(Accordion, {
23903
+ }), t[25] = JM, t[26] = YM, t[27] = ZM) : ZM = t[27];
23904
+ let QM;
23905
+ t[28] !== ZM || t[29] !== Q ? (QM = (0, import_jsx_runtime.jsx)(Accordion, {
23247
23906
  type: "single",
23248
23907
  collapsible: true,
23249
- value: vM,
23250
- children: kM
23251
- }), t[28] = kM, t[29] = vM, t[30] = jM) : jM = t[30];
23252
- let MM;
23253
- t[31] !== K || t[32] !== z ? (MM = z && (0, import_jsx_runtime.jsx)(AIFixButton, {
23908
+ value: Q,
23909
+ children: ZM
23910
+ }), t[28] = ZM, t[29] = Q, t[30] = QM) : QM = t[30];
23911
+ let $M;
23912
+ t[31] !== K || t[32] !== I ? ($M = I && (0, import_jsx_runtime.jsx)(AIFixButton, {
23254
23913
  tooltip: "Fix with AI",
23255
23914
  openPrompt: () => K(false),
23256
23915
  applyAutofix: () => K(true)
23257
- }), t[31] = K, t[32] = z, t[33] = MM) : MM = t[33];
23258
- let NM;
23259
- t[34] !== A || t[35] !== E ? (NM = A && (0, import_jsx_runtime.jsx)(Tooltip, {
23916
+ }), t[31] = K, t[32] = I, t[33] = $M) : $M = t[33];
23917
+ let tN;
23918
+ t[34] !== A || t[35] !== E ? (tN = A && (0, import_jsx_runtime.jsx)(Tooltip, {
23260
23919
  content: "Attach pdb to the exception point.",
23261
23920
  children: (0, import_jsx_runtime.jsxs)(Button, {
23262
23921
  size: "xs",
@@ -23273,9 +23932,9 @@ ${_}`,
23273
23932
  "Launch debugger"
23274
23933
  ]
23275
23934
  })
23276
- }), t[34] = A, t[35] = E, t[36] = NM) : NM = t[36];
23277
- let PM;
23278
- t[37] !== _ || t[38] !== i ? (PM = U && (0, import_jsx_runtime.jsxs)(DropdownMenu, {
23935
+ }), t[34] = A, t[35] = E, t[36] = tN) : tN = t[36];
23936
+ let nN;
23937
+ t[37] !== _ || t[38] !== i ? (nN = U && (0, import_jsx_runtime.jsxs)(DropdownMenu, {
23279
23938
  children: [
23280
23939
  (0, import_jsx_runtime.jsx)(DropdownMenuTrigger, {
23281
23940
  asChild: true,
@@ -23343,24 +24002,24 @@ ${_}`,
23343
24002
  ]
23344
24003
  })
23345
24004
  ]
23346
- }), t[37] = _, t[38] = i, t[39] = PM) : PM = t[39];
23347
- let FM;
23348
- t[40] !== MM || t[41] !== NM || t[42] !== PM ? (FM = (0, import_jsx_runtime.jsxs)("div", {
24005
+ }), t[37] = _, t[38] = i, t[39] = nN) : nN = t[39];
24006
+ let rN;
24007
+ t[40] !== $M || t[41] !== tN || t[42] !== nN ? (rN = (0, import_jsx_runtime.jsxs)("div", {
23349
24008
  className: "flex gap-2",
23350
24009
  children: [
23351
- MM,
23352
- NM,
23353
- PM
24010
+ $M,
24011
+ tN,
24012
+ nN
23354
24013
  ]
23355
- }), t[40] = MM, t[41] = NM, t[42] = PM, t[43] = FM) : FM = t[43];
23356
- let IM;
23357
- return t[44] !== jM || t[45] !== FM ? (IM = (0, import_jsx_runtime.jsxs)("div", {
24014
+ }), t[40] = $M, t[41] = tN, t[42] = nN, t[43] = rN) : rN = t[43];
24015
+ let iN;
24016
+ return t[44] !== QM || t[45] !== rN ? (iN = (0, import_jsx_runtime.jsxs)("div", {
23358
24017
  className: "flex flex-col gap-2 min-w-full w-fit",
23359
24018
  children: [
23360
- jM,
23361
- FM
24019
+ QM,
24020
+ rN
23362
24021
  ]
23363
- }), t[44] = jM, t[45] = FM, t[46] = IM) : IM = t[46], IM;
24022
+ }), t[44] = QM, t[45] = rN, t[46] = iN) : iN = t[46], iN;
23364
24023
  };
23365
24024
  function lastLine(e) {
23366
24025
  var _a2, _b;
@@ -24669,95 +25328,97 @@ ${_}`,
24669
25328
  }
24670
25329
  });
24671
25330
  export {
24672
- toFieldTypes as $,
24673
- Fill as A,
24674
- Download as At,
24675
- inferFieldTypes as B,
24676
- contextAwarePanelOpen as C,
24677
- isStaticNotebook as Ct,
24678
- SlotNames as D,
24679
- EyeOff as Dt,
24680
- isCellAwareAtom as E,
24681
- Funnel as Et,
24682
- TableHead as F,
24683
- ChevronLeft as Ft,
24684
- useIntersectionObserver as G,
24685
- ColumnChartContext as H,
24686
- TableHeader as I,
24687
- ArrowDownWideNarrow as It,
24688
- loadTableAndRawData as J,
24689
- usePrevious as K,
24690
- TableRow as L,
24691
- Table as M,
24692
- ChevronsRight as Mt,
24693
- TableBody as N,
24694
- ChevronsLeft as Nt,
24695
- slotsController as O,
24696
- Expand as Ot,
24697
- TableCell as P,
24698
- ChevronsDownUp as Pt,
24699
- TOO_MANY_ROWS as Q,
24700
- NAMELESS_COLUMN_PREFIX as R,
24701
- PANEL_TYPES as S,
24702
- getStaticVirtualFiles as St,
24703
- contextAwarePanelType as T,
24704
- GripHorizontal as Tt,
24705
- ColumnChartSpecModel as U,
24706
- renderCellValue as V,
24707
- DelayMount as W,
24708
- INDEX_COLUMN_NAME as X,
24709
- loadTableData as Y,
24710
- SELECT_COLUMN_ID as Z,
25331
+ INDEX_COLUMN_NAME as $,
25332
+ slotsController as A,
25333
+ Expand as At,
25334
+ NAMELESS_COLUMN_PREFIX as B,
25335
+ ContextAwarePanelItem as C,
25336
+ EmotionCacheProvider as Ct,
25337
+ contextAwarePanelType as D,
25338
+ GripHorizontal as Dt,
25339
+ contextAwarePanelOwner as E,
25340
+ TextWrap as Et,
25341
+ TableBody as F,
25342
+ ChevronsLeft as Ft,
25343
+ ColumnChartSpecModel as G,
25344
+ inferFieldTypes as H,
25345
+ TableCell as I,
25346
+ ChevronsDownUp as It,
25347
+ usePrevious as J,
25348
+ DelayMount as K,
25349
+ TableHead as L,
25350
+ ChevronLeft as Lt,
25351
+ Fill as M,
25352
+ Download as Mt,
25353
+ Provider$1 as N,
25354
+ ChevronsUpDown as Nt,
25355
+ isCellAwareAtom as O,
25356
+ Funnel as Ot,
25357
+ Table as P,
25358
+ ChevronsRight as Pt,
25359
+ loadTableData as Q,
25360
+ TableHeader as R,
25361
+ ArrowDownWideNarrow as Rt,
25362
+ ComboboxItem as S,
25363
+ HtmlOutput as St,
25364
+ contextAwarePanelOpen as T,
25365
+ isStaticNotebook as Tt,
25366
+ renderCellValue as U,
25367
+ generateColumns as V,
25368
+ ColumnChartContext as W,
25369
+ getPageIndexForRow as X,
25370
+ filtersToFilterGroup as Y,
25371
+ loadTableAndRawData as Z,
24711
25372
  Filenames as _,
24712
25373
  __tla,
24713
- useOverflowDetection as _t,
25374
+ ChartLoadingState as _t,
24714
25375
  Slide as a,
24715
- CommandItem as at,
25376
+ CommandEmpty as at,
24716
25377
  useInternalStateWithSync as b,
24717
- HtmlOutput as bt,
25378
+ RenderTextWithLinks as bt,
24718
25379
  JsonOutput as c,
24719
- Maps as ct,
25380
+ CommandList as ct,
24720
25381
  DataTable as d,
24721
- TabsList as dt,
24722
- getMimeValues as et,
25382
+ Tabs as dt,
25383
+ SELECT_COLUMN_ID as et,
24723
25384
  InstallPackageButton as f,
24724
- TabsTrigger as ft,
25385
+ TabsContent as ft,
24725
25386
  downloadHTMLAsImage as g,
24726
- LazyVegaEmbed as gt,
25387
+ ChartInfoState as gt,
24727
25388
  downloadByURL as h,
24728
- ChartLoadingState as ht,
25389
+ ChartErrorState as ht,
24729
25390
  SlideSidebar as i,
24730
- CommandInput as it,
24731
- Provider$1 as j,
24732
- ChevronsUpDown as jt,
24733
- Toggle as k,
24734
- Ellipsis as kt,
25391
+ Command as it,
25392
+ Toggle as j,
25393
+ Ellipsis as jt,
25394
+ SlotNames as k,
25395
+ EyeOff as kt,
24735
25396
  OutputArea as l,
24736
- Tabs as lt,
25397
+ CommandSeparator as lt,
24737
25398
  downloadBlob as m,
24738
- ChartInfoState as mt,
25399
+ TabsTrigger as mt,
24739
25400
  DEFAULT_SLIDE_TYPE as n,
24740
- Command as nt,
25401
+ toFieldTypes as nt,
24741
25402
  RadioGroup as o,
24742
- CommandList as ot,
25403
+ CommandInput as ot,
24743
25404
  ADD_PRINTING_CLASS as p,
24744
- ChartErrorState as pt,
24745
- getPageIndexForRow as q,
25405
+ TabsList as pt,
25406
+ useIntersectionObserver as q,
24746
25407
  SLIDE_TYPE_OPTIONS_BY_VALUE as r,
24747
- CommandEmpty as rt,
25408
+ getMimeValues as rt,
24748
25409
  RadioGroupItem as s,
24749
- CommandSeparator as st,
25410
+ CommandItem as st,
24750
25411
  DEFAULT_DECK_TRANSITION as t,
24751
- filtersToFilterGroup as tt,
25412
+ TOO_MANY_ROWS as tt,
24752
25413
  OutputRenderer as u,
24753
- TabsContent as ut,
25414
+ Maps as ut,
24754
25415
  prettifyRowColumnCount as v,
24755
- RenderTextWithLinks as vt,
24756
- contextAwarePanelOwner as w,
24757
- TextWrap as wt,
24758
- ContextAwarePanelItem as x,
24759
- EmotionCacheProvider as xt,
25416
+ LazyVegaEmbed as vt,
25417
+ PANEL_TYPES as w,
25418
+ getStaticVirtualFiles as wt,
25419
+ Combobox as x,
25420
+ Kbd as xt,
24760
25421
  prettifyRowCount as y,
24761
- Kbd as yt,
24762
- generateColumns as z
25422
+ useOverflowDetection as yt,
25423
+ TableRow as z
24763
25424
  };