@marimo-team/islands 0.21.2-dev3 → 0.21.2-dev31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/{any-language-editor-DlsjUw_l.js → any-language-editor-BRpxklRq.js} +1 -1
  2. package/dist/{copy-DIK6DiIA.js → copy-BjkXCUxP.js} +12 -2
  3. package/dist/{esm-BLobyqMs.js → esm-No_6eSQS.js} +1 -1
  4. package/dist/{glide-data-editor-pZyd9UJ_.js → glide-data-editor-858wsVkd.js} +1 -1
  5. package/dist/main.js +546 -399
  6. package/dist/style.css +1 -1
  7. package/package.json +1 -1
  8. package/src/components/app-config/user-config-form.tsx +5 -4
  9. package/src/components/data-table/__tests__/utils.test.ts +138 -1
  10. package/src/components/data-table/context-menu.tsx +9 -5
  11. package/src/components/data-table/data-table.tsx +3 -0
  12. package/src/components/data-table/range-focus/__tests__/atoms.test.ts +8 -2
  13. package/src/components/data-table/range-focus/__tests__/test-utils.ts +2 -0
  14. package/src/components/data-table/range-focus/__tests__/utils.test.ts +82 -8
  15. package/src/components/data-table/range-focus/atoms.ts +2 -2
  16. package/src/components/data-table/range-focus/utils.ts +50 -12
  17. package/src/components/data-table/types.ts +7 -0
  18. package/src/components/data-table/utils.ts +87 -0
  19. package/src/components/ui/range-slider.tsx +108 -1
  20. package/src/core/codemirror/lsp/notebook-lsp.ts +28 -2
  21. package/src/css/md.css +7 -0
  22. package/src/plugins/core/sanitize-html.ts +25 -18
  23. package/src/plugins/impl/DataTablePlugin.tsx +23 -2
  24. package/src/plugins/impl/SliderPlugin.tsx +1 -3
  25. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +120 -0
  26. package/src/utils/__tests__/download.test.tsx +2 -2
  27. package/src/utils/copy.ts +18 -5
  28. package/src/utils/download.ts +4 -3
  29. package/src/utils/html-to-image.ts +6 -0
package/dist/main.js CHANGED
@@ -20,7 +20,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20
20
  import { a as __toCommonJS, n as __esmMin, o as __toDynamicImportESM, r as __export$1, s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
21
21
  import { t as require_react } from "./react-Bs6Z0kvn.js";
22
22
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
23
- import { n as Copy, r as toast, t as copyToClipboard } from "./copy-DIK6DiIA.js";
23
+ import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BjkXCUxP.js";
24
24
  import { _ as require_cjs$1, c as markdownLineEnding, d as SKIP, f as visitParents, g as s$2, h as h$1, l as longestStreak, m as webNamespaces, o as xn$1, p as convert$1, s as factorySpace, u as ok, __tla as __tla_0 } from "./chunk-5FQGJX7Z-BkzUmppO.js";
25
25
  import { a as Content$3, c as useSize, i as Arrow, l as createLucideIcon, o as Root2$6, r as Anchor, s as createPopperScope, t as Root$5 } from "./dist-C0Rnbr-_.js";
26
26
  import { A as useOnMount, B as Table$1, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, F as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, G as ChartColumn, H as ListFilter, I as $fb18d541ea1ad717$export$ad991b66133851cf, K as Calendar, L as $5a387cc49350e6db$export$722debc0e56fea39, M as Badge, N as createReducerAndAtoms, O as TIME_UNIT_DESCRIPTIONS, P as startCase_default, R as Type, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, U as Hash, V as SquareFunction, W as ChartPie, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as useOnUnmount, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON, z as ToggleLeft } from "./spec-Bfvf9Hre.js";
@@ -34,7 +34,7 @@ import { $ as __awaiter, A as custom, B as record, C as ZodUnion$1, D as any, E
34
34
  import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
35
35
  import { t as require_react_dom } from "./react-dom-CqtLRVZP.js";
36
36
  import { a as TooltipRoot, i as TooltipProvider, n as TooltipContent, o as TooltipTrigger, r as TooltipPortal, s as TooltipProvider$1, t as Tooltip } from "./tooltip-CKG75XQa.js";
37
- import { a as _extends$5, c as setDiagnostics, d as insertTab, f as CopyClipboardIcon, i as minimalSetup, l as history, o as forEachDiagnostic, r as esm_default, s as linter, t as langs, u as historyField } from "./esm-BLobyqMs.js";
37
+ import { a as _extends$5, c as setDiagnostics, d as insertTab, f as CopyClipboardIcon, i as minimalSetup, l as history, o as forEachDiagnostic, r as esm_default, s as linter, t as langs, u as historyField } from "./esm-No_6eSQS.js";
38
38
  import { i as toInteger_default, n as _baseSet_default } from "./_basePickBy-pTDW2_2A.js";
39
39
  import { i as get_default } from "./hasIn-B9AbGLj3.js";
40
40
  import { n as pick_default, t as range_default } from "./range-BKaWvVUE.js";
@@ -29325,6 +29325,8 @@ ${c.sqlString}
29325
29325
  var NotebookLanguageServerClient = (_a = class {
29326
29326
  constructor(e, r, c = defaultGetNotebookEditors) {
29327
29327
  __publicField(this, "completionItemCache", new LRUCache(10));
29328
+ __publicField(this, "latestDiagnosticsVersion", null);
29329
+ __publicField(this, "forwardedDiagnosticsVersion", 0);
29328
29330
  this.documentUri = getLSPDocument(), this.getNotebookEditors = c, this.initialSettings = r, this.client = e, this.patchProcessNotification(), this.initializePromise.then(() => {
29329
29331
  invariant(isClientWithNotify(this.client), "notify is not a method on the client"), this.client.notify("workspace/didChangeConfiguration", {
29330
29332
  settings: r
@@ -29372,7 +29374,7 @@ ${c.sqlString}
29372
29374
  settings: this.initialSettings
29373
29375
  });
29374
29376
  let { lens: e, version: r } = this.snapshotter.snapshot();
29375
- await this.client.textDocumentDidOpen({
29377
+ this.latestDiagnosticsVersion = null, this.forwardedDiagnosticsVersion = 0, await this.client.textDocumentDidOpen({
29376
29378
  textDocument: {
29377
29379
  languageId: "python",
29378
29380
  text: e.mergedText,
@@ -29570,39 +29572,49 @@ ${c.sqlString}
29570
29572
  invariant("processNotification" in this.client, "processNotification is not a method on the client");
29571
29573
  let r = this.client.processNotification.bind(this.client), c = (c2) => {
29572
29574
  if (c2.method === "textDocument/publishDiagnostics") {
29575
+ let d = c2.params.version;
29576
+ if (d != null) {
29577
+ let e = this.latestDiagnosticsVersion;
29578
+ if (e !== null && Number.isFinite(d) && d < e) {
29579
+ Logger.debug("[lsp] dropping stale diagnostics notification", c2);
29580
+ return;
29581
+ }
29582
+ this.latestDiagnosticsVersion = d;
29583
+ }
29573
29584
  Logger.debug("[lsp] handling diagnostics", c2);
29574
- let d = this.snapshotter.getLatestSnapshot(), f = c2.params.diagnostics, { lens: _, version: v } = d, y = /* @__PURE__ */ new Map();
29575
- for (let e of f) for (let r2 of _.cellIds) if (_.isInRange(e.range, r2)) {
29576
- y.has(r2) || y.set(r2, []);
29585
+ let f = this.snapshotter.getLatestSnapshot(), _ = c2.params.diagnostics, { lens: v } = f, y = ++this.forwardedDiagnosticsVersion, S = /* @__PURE__ */ new Map();
29586
+ for (let e of _) for (let r2 of v.cellIds) if (v.isInRange(e.range, r2)) {
29587
+ S.has(r2) || S.set(r2, []);
29577
29588
  let c3 = {
29578
29589
  ...e,
29579
- range: _.reverseRange(e.range, r2)
29590
+ range: v.reverseRange(e.range, r2)
29580
29591
  };
29581
- y.get(r2).push(c3);
29592
+ S.get(r2).push(c3);
29582
29593
  break;
29583
29594
  }
29584
- let S = new Set(_.cellIds);
29585
- _a.pruneSeenCellUris(S);
29586
- let w = new Set(_a.SEEN_CELL_DOCUMENT_URIS);
29587
- for (let [e, d2] of y.entries()) {
29595
+ let w = new Set(v.cellIds);
29596
+ _a.pruneSeenCellUris(w);
29597
+ let E = new Set(_a.SEEN_CELL_DOCUMENT_URIS);
29598
+ for (let [e, d2] of S.entries()) {
29588
29599
  Logger.debug("[lsp] diagnostics for cell", e, d2);
29589
29600
  let f2 = CellDocumentUri.of(e);
29590
- w.delete(f2), r({
29601
+ E.delete(f2), r({
29591
29602
  ...c2,
29592
29603
  params: {
29593
29604
  ...c2.params,
29594
29605
  uri: f2,
29595
- version: v,
29606
+ version: y,
29596
29607
  diagnostics: d2
29597
29608
  }
29598
29609
  });
29599
29610
  }
29600
- if (w.size > 0) {
29601
- Logger.debug("[lsp] clearing diagnostics", w);
29602
- for (let e of w) r({
29611
+ if (E.size > 0) {
29612
+ Logger.debug("[lsp] clearing diagnostics", E);
29613
+ for (let e of E) r({
29603
29614
  method: "textDocument/publishDiagnostics",
29604
29615
  params: {
29605
29616
  uri: e,
29617
+ version: y,
29606
29618
  diagnostics: []
29607
29619
  }
29608
29620
  });
@@ -32264,12 +32276,14 @@ ${c.sqlString}
32264
32276
  afterCursorCode: getEditorCodeAsPython(e, v)
32265
32277
  };
32266
32278
  }
32267
- var TEMPORARY_ATTRIBUTE = "data-temp-href-target";
32268
- purify.addHook("beforeSanitizeAttributes", (e) => {
32269
- e.tagName === "A" && (e.hasAttribute("target") || e.setAttribute("target", "_self"), e.hasAttribute("target") && e.setAttribute(TEMPORARY_ATTRIBUTE, e.getAttribute("target") || ""));
32270
- }), purify.addHook("afterSanitizeAttributes", (e) => {
32271
- e.tagName === "A" && e.hasAttribute(TEMPORARY_ATTRIBUTE) && (e.setAttribute("target", e.getAttribute(TEMPORARY_ATTRIBUTE) || ""), e.removeAttribute(TEMPORARY_ATTRIBUTE), e.getAttribute("target") === "_blank" && e.setAttribute("rel", "noopener noreferrer"));
32272
- });
32279
+ if (typeof document < "u") {
32280
+ let e = "data-temp-href-target";
32281
+ purify.addHook("beforeSanitizeAttributes", (r) => {
32282
+ r.tagName === "A" && (r.hasAttribute("target") || r.setAttribute("target", "_self"), r.hasAttribute("target") && r.setAttribute(e, r.getAttribute("target") || ""));
32283
+ }), purify.addHook("afterSanitizeAttributes", (r) => {
32284
+ r.tagName === "A" && r.hasAttribute(e) && (r.setAttribute("target", r.getAttribute(e) || ""), r.removeAttribute(e), r.getAttribute("target") === "_blank" && r.setAttribute("rel", "noopener noreferrer"));
32285
+ });
32286
+ }
32273
32287
  function sanitizeHtml(e) {
32274
32288
  let r = {
32275
32289
  USE_PROFILES: {
@@ -53723,6 +53737,40 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
53723
53737
  ]
53724
53738
  }), r[5] = _, r[6] = v, r[7] = y) : y = r[7], y;
53725
53739
  };
53740
+ var import_compiler_runtime$122 = require_compiler_runtime();
53741
+ const MimeCell = (e) => {
53742
+ let r = (0, import_compiler_runtime$122.c)(6), { value: c } = e, d;
53743
+ r[0] !== c.data || r[1] !== c.mimetype ? (d = {
53744
+ channel: "output",
53745
+ data: c.data,
53746
+ mimetype: c.mimetype,
53747
+ timestamp: 0
53748
+ }, r[0] = c.data, r[1] = c.mimetype, r[2] = d) : d = r[2];
53749
+ let f = d, _;
53750
+ r[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = cn("flex items-center space-x-2"), r[3] = _) : _ = r[3];
53751
+ let v;
53752
+ return r[4] === f ? v = r[5] : (v = (0, import_jsx_runtime.jsx)("div", {
53753
+ className: _,
53754
+ children: (0, import_jsx_runtime.jsx)(OutputRenderer, {
53755
+ message: f
53756
+ })
53757
+ }), r[4] = f, r[5] = v), v;
53758
+ };
53759
+ function isMimeValue(e) {
53760
+ return typeof e == "object" && !!e && "mimetype" in e && "data" in e;
53761
+ }
53762
+ function getMimeValues(e) {
53763
+ if (isMimeValue(e)) return [
53764
+ e
53765
+ ];
53766
+ if (typeof e == "object" && e && ("_serialized_mime_bundle" in e || "serialized_mime_bundle" in e)) {
53767
+ let r = e, c = r._serialized_mime_bundle || r.serialized_mime_bundle;
53768
+ if (isMimeValue(c)) return [
53769
+ c
53770
+ ];
53771
+ }
53772
+ if (Array.isArray(e) && e.every(isMimeValue)) return e.map((e2) => e2);
53773
+ }
53726
53774
  function toFieldTypes(e) {
53727
53775
  return Objects.collect(e, ([e2]) => e2, ([, [e2]]) => e2);
53728
53776
  }
@@ -53738,6 +53786,15 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
53738
53786
  handleBigIntAndNumberLike: true
53739
53787
  }), e);
53740
53788
  }
53789
+ async function loadTableAndRawData(e, r) {
53790
+ return r ? Promise.all([
53791
+ loadTableData(e),
53792
+ loadTableData(r)
53793
+ ]) : [
53794
+ await loadTableData(e),
53795
+ void 0
53796
+ ];
53797
+ }
53741
53798
  function getStableRowId(e) {
53742
53799
  if (e && typeof e == "object" && "_marimo_row_id" in e) return String(e[INDEX_COLUMN_NAME]);
53743
53800
  }
@@ -53749,6 +53806,41 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
53749
53806
  let { value: r, nullAsEmptyString: c = false } = e;
53750
53807
  return typeof r == "object" && r ? JSON.stringify(r) : r === null && c ? "" : String(r);
53751
53808
  }
53809
+ function stripHtml(e) {
53810
+ let r = document.createElement("div");
53811
+ return r.innerHTML = e, (r.textContent || r.innerText || "").trim() || e;
53812
+ }
53813
+ var HTML_MIMETYPES = /* @__PURE__ */ new Set([
53814
+ "text/html",
53815
+ "text/markdown"
53816
+ ]);
53817
+ function isRecord(e) {
53818
+ return typeof e == "object" && !!e && !Array.isArray(e);
53819
+ }
53820
+ function getClipboardContent(e, r) {
53821
+ let c = typeof r == "object" && r ? getMimeValues(r) : void 0, d;
53822
+ if (c) {
53823
+ let e2 = c.filter((e3) => HTML_MIMETYPES.has(e3.mimetype)).map((e3) => e3.data);
53824
+ d = e2.length > 0 ? e2.join("") : void 0;
53825
+ }
53826
+ let f;
53827
+ return f = e !== void 0 && e !== r ? stringifyUnknownValue({
53828
+ value: e
53829
+ }) : c ? c.map((e2) => HTML_MIMETYPES.has(e2.mimetype) ? stripHtml(e2.data) : e2.data).join(", ") : stringifyUnknownValue({
53830
+ value: r
53831
+ }), {
53832
+ text: f,
53833
+ html: d
53834
+ };
53835
+ }
53836
+ function getRawValue(e, r, c) {
53837
+ var _a3;
53838
+ let d = (_a3 = e.options.meta) == null ? void 0 : _a3.rawData;
53839
+ if (d) {
53840
+ let e2 = d[r];
53841
+ if (isRecord(e2)) return e2[c];
53842
+ }
53843
+ }
53752
53844
  var TOP_K_ROWS = 30;
53753
53845
  const DataTableColumnHeader = ({ column: e, header: r, justify: c, className: d, calculateTopKRows: f, table: _ }) => {
53754
53846
  let [v, y] = (0, import_react.useState)(false), { locale: S } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
@@ -54231,9 +54323,9 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54231
54323
  let [r, c] = import_react.useState(e), [d, f] = import_react.useState(null);
54232
54324
  return e !== r && (f(r), c(e)), d;
54233
54325
  }
54234
- var import_compiler_runtime$122 = require_compiler_runtime();
54326
+ var import_compiler_runtime$121 = require_compiler_runtime();
54235
54327
  const DelayMount = (e) => {
54236
- let r = (0, import_compiler_runtime$122.c)(13), { milliseconds: c, children: d, fallback: f, visibility: _, threshold: v, rootMargin: y } = e, S = _ === void 0 ? false : _, w = v === void 0 ? 0 : v, E = y === void 0 ? "0px" : y, [O, M] = (0, import_react.useState)(false), [I, z] = (0, import_react.useState)(false), G;
54328
+ let r = (0, import_compiler_runtime$121.c)(13), { milliseconds: c, children: d, fallback: f, visibility: _, threshold: v, rootMargin: y } = e, S = _ === void 0 ? false : _, w = v === void 0 ? 0 : v, E = y === void 0 ? "0px" : y, [O, M] = (0, import_react.useState)(false), [I, z] = (0, import_react.useState)(false), G;
54237
54329
  r[0] !== E || r[1] !== w ? (G = {
54238
54330
  threshold: w,
54239
54331
  root: null,
@@ -54264,9 +54356,9 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54264
54356
  children: WY
54265
54357
  }), r[10] = UY, r[11] = WY, r[12] = GY) : GY = r[12], GY;
54266
54358
  };
54267
- var import_compiler_runtime$121 = require_compiler_runtime();
54359
+ var import_compiler_runtime$120 = require_compiler_runtime();
54268
54360
  const DatePopover = (e) => {
54269
- let r = (0, import_compiler_runtime$121.c)(15), { date: c, type: d, children: f } = e;
54361
+ let r = (0, import_compiler_runtime$120.c)(15), { date: c, type: d, children: f } = e;
54270
54362
  if (!c || Number.isNaN(new Date(c).getTime())) return f;
54271
54363
  let _;
54272
54364
  r[0] === c ? _ = r[1] : (_ = new Date(c), r[0] = c, r[1] = _);
@@ -54306,7 +54398,7 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54306
54398
  }), r[12] = E, r[13] = O, r[14] = M) : M = r[14], M;
54307
54399
  };
54308
54400
  var TimezoneDisplay = (e) => {
54309
- let r = (0, import_compiler_runtime$121.c)(26), { date: c } = e, { locale: d } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), f;
54401
+ let r = (0, import_compiler_runtime$120.c)(26), { date: c } = e, { locale: d } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), f;
54310
54402
  r[0] === d ? f = r[1] : (f = Intl.DateTimeFormat(d).resolvedOptions(), r[0] = d, r[1] = f);
54311
54403
  let _ = f.timeZone, v = c.getUTCMilliseconds() !== 0, y;
54312
54404
  r[2] === v ? y = r[3] : (y = v ? {
@@ -54382,7 +54474,7 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54382
54474
  ]
54383
54475
  }), r[23] = IY, r[24] = I, r[25] = LY) : LY = r[25], LY;
54384
54476
  }, DateDisplay = (e) => {
54385
- let r = (0, import_compiler_runtime$121.c)(6), { date: c } = e, d;
54477
+ let r = (0, import_compiler_runtime$120.c)(6), { date: c } = e, d;
54386
54478
  r[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (d = {
54387
54479
  timeZone: "UTC",
54388
54480
  dateStyle: "long"
@@ -54394,7 +54486,7 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54394
54486
  children: _
54395
54487
  }), r[4] = _, r[5] = v), v;
54396
54488
  }, RelativeTime = (e) => {
54397
- let r = (0, import_compiler_runtime$121.c)(6), { date: c } = e, { locale: d } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), f, _;
54489
+ let r = (0, import_compiler_runtime$120.c)(6), { date: c } = e, { locale: d } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), f, _;
54398
54490
  if (r[0] !== c || r[1] !== d) {
54399
54491
  _ = /* @__PURE__ */ Symbol.for("react.early_return_sentinel");
54400
54492
  bb0: {
@@ -54446,7 +54538,7 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54446
54538
  return r[4] === f ? v = r[5] : (v = (0, import_jsx_runtime.jsx)("span", {
54447
54539
  children: f
54448
54540
  }), r[4] = f, r[5] = v), v;
54449
- }, import_compiler_runtime$120 = require_compiler_runtime(), hashString = (e) => {
54541
+ }, import_compiler_runtime$119 = require_compiler_runtime(), hashString = (e) => {
54450
54542
  let r = 0;
54451
54543
  for (let c = 0; c < e.length; c++) {
54452
54544
  let d = e.charCodeAt(c);
@@ -54463,7 +54555,7 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
54463
54555
  return d;
54464
54556
  };
54465
54557
  const ChartSkeleton = (e) => {
54466
- let r = (0, import_compiler_runtime$120.c)(11), { seed: c, width: d, height: f } = e, _ = d / 9, v = f - 15, y;
54558
+ let r = (0, import_compiler_runtime$119.c)(11), { seed: c, width: d, height: f } = e, _ = d / 9, v = f - 15, y;
54467
54559
  if (r[0] !== _ || r[1] !== f || r[2] !== c || r[3] !== v || r[4] !== d) {
54468
54560
  let e2 = generateHeights({
54469
54561
  numBars: 9,
@@ -55468,11 +55560,11 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
55468
55560
  }
55469
55561
  }, __publicField(_j, "EMPTY", new _j([], {}, {}, {}, {}, {
55470
55562
  includeCharts: false
55471
- })), _j), import_compiler_runtime$119 = require_compiler_runtime();
55563
+ })), _j), import_compiler_runtime$118 = require_compiler_runtime();
55472
55564
  const ColumnChartContext = import_react.createContext(ColumnChartSpecModel.EMPTY);
55473
55565
  var batchedLoader = createBatchedLoader();
55474
55566
  const TableColumnSummary = (e) => {
55475
- let r = (0, import_compiler_runtime$119.c)(21), { columnId: c } = e, { locale: d } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), f = import_react.use(ColumnChartContext), { theme: _ } = useTheme(), v, y, S;
55567
+ let r = (0, import_compiler_runtime$118.c)(21), { columnId: c } = e, { locale: d } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), f = import_react.use(ColumnChartContext), { theme: _ } = useTheme(), v, y, S;
55476
55568
  if (r[0] !== f || r[1] !== c || r[2] !== d || r[3] !== _) {
55477
55569
  let { spec: e2, type: w2, stats: E } = f.getHeaderSummary(c), O = null;
55478
55570
  if (e2) {
@@ -55673,40 +55765,6 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
55673
55765
  };
55674
55766
  }
55675
55767
  };
55676
- var import_compiler_runtime$118 = require_compiler_runtime();
55677
- const MimeCell = (e) => {
55678
- let r = (0, import_compiler_runtime$118.c)(6), { value: c } = e, d;
55679
- r[0] !== c.data || r[1] !== c.mimetype ? (d = {
55680
- channel: "output",
55681
- data: c.data,
55682
- mimetype: c.mimetype,
55683
- timestamp: 0
55684
- }, r[0] = c.data, r[1] = c.mimetype, r[2] = d) : d = r[2];
55685
- let f = d, _;
55686
- r[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = cn("flex items-center space-x-2"), r[3] = _) : _ = r[3];
55687
- let v;
55688
- return r[4] === f ? v = r[5] : (v = (0, import_jsx_runtime.jsx)("div", {
55689
- className: _,
55690
- children: (0, import_jsx_runtime.jsx)(OutputRenderer, {
55691
- message: f
55692
- })
55693
- }), r[4] = f, r[5] = v), v;
55694
- };
55695
- function isMimeValue(e) {
55696
- return typeof e == "object" && !!e && "mimetype" in e && "data" in e;
55697
- }
55698
- function getMimeValues(e) {
55699
- if (isMimeValue(e)) return [
55700
- e
55701
- ];
55702
- if (typeof e == "object" && e && ("_serialized_mime_bundle" in e || "serialized_mime_bundle" in e)) {
55703
- let r = e, c = r._serialized_mime_bundle || r.serialized_mime_bundle;
55704
- if (isMimeValue(c)) return [
55705
- c
55706
- ];
55707
- }
55708
- if (Array.isArray(e) && e.every(isMimeValue)) return e.map((e2) => e2);
55709
- }
55710
55768
  function uniformSample(e, r) {
55711
55769
  if (e.length <= r) return e;
55712
55770
  let c = [], d = e.length / r;
@@ -56411,7 +56469,7 @@ Database schema: ${c}`), (_a4 = r2.aiFix) == null ? void 0 : _a4.setAiCompletion
56411
56469
  hasConsoleOutput: (v == null ? void 0 : v.consoleOutputs) != null
56412
56470
  };
56413
56471
  }
56414
- const LazyAnyLanguageCodeMirror = (0, import_react.lazy)(() => import("./any-language-editor-DlsjUw_l.js"));
56472
+ const LazyAnyLanguageCodeMirror = (0, import_react.lazy)(() => import("./any-language-editor-BRpxklRq.js"));
56415
56473
  var import_compiler_runtime$117 = require_compiler_runtime(), extensions = [
56416
56474
  EditorView.lineWrapping
56417
56475
  ];
@@ -57305,22 +57363,30 @@ ${r}
57305
57363
  ];
57306
57364
  }
57307
57365
  function getCellValues(e, r) {
57308
- let c = /* @__PURE__ */ new Map();
57309
- for (let d of r) {
57310
- if (d.includes("__select__")) continue;
57311
- let { rowId: r2, columnId: f } = getRowAndColumnId(d), _ = e.getRow(r2);
57312
- if (!_) continue;
57313
- let v = _.getValue(f), y = c.get(r2) ?? [];
57314
- y.push(stringifyUnknownValue({
57315
- value: v
57316
- })), c.set(r2, y);
57366
+ let c = /* @__PURE__ */ new Map(), d = false;
57367
+ for (let f2 of r) {
57368
+ if (f2.includes("__select__")) continue;
57369
+ let { rowId: r2, columnId: _2 } = getRowAndColumnId(f2), v2 = e.getRow(r2);
57370
+ if (!v2) continue;
57371
+ let { text: y, html: S } = getClipboardContent(getRawValue(e, v2.index, _2), v2.getValue(_2));
57372
+ S && (d = true);
57373
+ let w = c.get(r2) ?? [];
57374
+ w.push({
57375
+ text: y,
57376
+ html: S
57377
+ }), c.set(r2, w);
57317
57378
  }
57318
- return getTabSeparatedValues([
57379
+ let f = [
57319
57380
  ...c.values()
57320
- ]);
57381
+ ], _ = f.map((e2) => e2.map((e3) => e3.text).join(" ")).join("\n"), v;
57382
+ return d && (v = `<table>${f.map((e2) => `<tr>${e2.map((e3) => `<td>${e3.html ?? escapeHtml(e3.text)}</td>`).join("")}</tr>`).join("")}</table>`), {
57383
+ text: _,
57384
+ html: v
57385
+ };
57321
57386
  }
57322
- function getTabSeparatedValues(e) {
57323
- return e.map((e2) => e2.join(" ")).join("\n");
57387
+ function escapeHtml(e) {
57388
+ let r = document.createElement("div");
57389
+ return r.textContent = e, r.innerHTML;
57324
57390
  }
57325
57391
  function countDataCellsInSelection(e) {
57326
57392
  let r = 0;
@@ -57333,7 +57399,7 @@ ${r}
57333
57399
  if (d.includes("__select__")) continue;
57334
57400
  let { rowId: r2, columnId: f } = getRowAndColumnId(d), _ = e.getRow(r2);
57335
57401
  if (!_) continue;
57336
- let v = _.getValue(f), y;
57402
+ let v = getRawValue(e, _.index, f) ?? _.getValue(f), y;
57337
57403
  if (typeof v == "number") y = v;
57338
57404
  else if (typeof v == "string") {
57339
57405
  if (v.trim() === "") continue;
@@ -57450,10 +57516,12 @@ ${r}
57450
57516
  },
57451
57517
  handleCopy: (e, { table: r, onCopyComplete: c }) => {
57452
57518
  let d = window.getSelection();
57453
- return d && d.toString().length > 0 ? e : (copyToClipboard(getCellValues(r, e.selectedCells)), c(), {
57519
+ if (d && d.toString().length > 0) return e;
57520
+ let { text: f, html: _ } = getCellValues(r, e.selectedCells);
57521
+ return copyToClipboard(f, _), c(), {
57454
57522
  ...e,
57455
57523
  copiedCells: e.selectedCells
57456
- });
57524
+ };
57457
57525
  },
57458
57526
  navigate: (e, { direction: r, isShiftKey: c, table: d }) => {
57459
57527
  let f = e.focusedCell ?? e.selectedStartCell;
@@ -58403,18 +58471,17 @@ ${r}
58403
58471
  Logger.error("No cell found in context menu");
58404
58472
  return;
58405
58473
  }
58406
- let f = () => {
58474
+ let f = d.getContext().table, _ = d.getValue(), v = getRawValue(f, d.row.index, d.column.id) ?? _, y = () => {
58407
58475
  try {
58408
- copyToClipboard(stringifyUnknownValue({
58409
- value: d.getValue()
58410
- }));
58476
+ let { text: e2, html: r2 } = getClipboardContent(v, _);
58477
+ copyToClipboard(e2, r2);
58411
58478
  } catch (e2) {
58412
58479
  Logger.error("Failed to copy context menu cell", e2);
58413
58480
  }
58414
- }, _ = d.column, v = _.getCanFilter() && ((_a3 = _.columnDef.meta) == null ? void 0 : _a3.filterType), y = (e2) => {
58415
- _.setFilterValue(Filter.select({
58481
+ }, w = d.column, O = w.getCanFilter() && ((_a3 = w.columnDef.meta) == null ? void 0 : _a3.filterType), M = (e2) => {
58482
+ w.setFilterValue(Filter.select({
58416
58483
  options: [
58417
- d.getValue()
58484
+ v
58418
58485
  ],
58419
58486
  operator: e2
58420
58487
  }));
@@ -58422,7 +58489,7 @@ ${r}
58422
58489
  return (0, import_jsx_runtime.jsxs)(ContextMenuContent, {
58423
58490
  children: [
58424
58491
  (0, import_jsx_runtime.jsxs)(ContextMenuItem, {
58425
- onClick: f,
58492
+ onClick: y,
58426
58493
  children: [
58427
58494
  (0, import_jsx_runtime.jsx)(Copy, {
58428
58495
  className: "mo-dropdown-icon h-3 w-3"
@@ -58439,11 +58506,11 @@ ${r}
58439
58506
  "Copy selected cells"
58440
58507
  ]
58441
58508
  }),
58442
- v && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
58509
+ O && (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
58443
58510
  children: [
58444
58511
  (0, import_jsx_runtime.jsx)(ContextMenuSeparator, {}),
58445
58512
  (0, import_jsx_runtime.jsxs)(ContextMenuItem, {
58446
- onClick: () => y("in"),
58513
+ onClick: () => M("in"),
58447
58514
  children: [
58448
58515
  (0, import_jsx_runtime.jsx)(Funnel, {
58449
58516
  className: "mo-dropdown-icon h-3 w-3"
@@ -58452,7 +58519,7 @@ ${r}
58452
58519
  ]
58453
58520
  }),
58454
58521
  (0, import_jsx_runtime.jsxs)(ContextMenuItem, {
58455
- onClick: () => y("not_in"),
58522
+ onClick: () => M("not_in"),
58456
58523
  children: [
58457
58524
  (0, import_jsx_runtime.jsx)(Funnel, {
58458
58525
  className: "mo-dropdown-icon h-3 w-3"
@@ -58976,9 +59043,16 @@ ${r}
58976
59043
  }
58977
59044
  var isSlotElement = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", isSVGElement = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
58978
59045
  async function cloneChildren(e, r, c) {
59046
+ var _a3;
58979
59047
  if (isSVGElement(r)) return r;
58980
59048
  let d = [];
58981
- return d = isSlotElement(e) && e.assignedNodes ? toArray(e.assignedNodes()) : toArray((e.shadowRoot ?? e).childNodes), d.length === 0 || isInstanceOfElement(e, HTMLVideoElement) || await d.reduce((e2, d2) => e2.then(() => cloneNode(d2, c)).then((e3) => {
59049
+ if (isSlotElement(e) && e.assignedNodes) d = toArray(e.assignedNodes());
59050
+ else if (isInstanceOfElement(e, HTMLIFrameElement)) try {
59051
+ ((_a3 = e.contentDocument) == null ? void 0 : _a3.body) && (d = toArray(e.contentDocument.body.childNodes));
59052
+ } catch {
59053
+ }
59054
+ else d = toArray((e.shadowRoot ?? e).childNodes);
59055
+ return d.length === 0 || isInstanceOfElement(e, HTMLVideoElement) || await d.reduce((e2, d2) => e2.then(() => cloneNode(d2, c)).then((e3) => {
58982
59056
  e3 && r.appendChild(e3);
58983
59057
  }), Promise.resolve()), r;
58984
59058
  }
@@ -59190,12 +59264,13 @@ ${r}
59190
59264
  return getWebFontRules(await getCSSRules(toArray(e.ownerDocument.styleSheets), r));
59191
59265
  }
59192
59266
  function normalizeFontFamily(e) {
59193
- return e.trim().replace(/["']/g, "");
59267
+ return (e || "").trim().replace(/["']/g, "");
59194
59268
  }
59195
59269
  function getUsedFonts(e) {
59196
59270
  let r = /* @__PURE__ */ new Set();
59197
59271
  function c(e2) {
59198
- (e2.style.fontFamily || getComputedStyle(e2).fontFamily).split(",").forEach((e3) => {
59272
+ let d = e2.style.fontFamily || getComputedStyle(e2).fontFamily;
59273
+ d && d.split(",").forEach((e3) => {
59199
59274
  r.add(normalizeFontFamily(e3));
59200
59275
  }), Array.from(e2.children).forEach((e3) => {
59201
59276
  e3 instanceof HTMLElement && c(e3);
@@ -59211,7 +59286,7 @@ ${r}
59211
59286
  }))).join("\n");
59212
59287
  }
59213
59288
  async function embedWebFonts(e, r) {
59214
- let c = r.fontEmbedCSS == null ? r.skipFonts ? null : await getWebFontCSS(e, r) : r.fontEmbedCSS, d = r.extraStyleContent == null ? c : r.extraStyleContent.concat(c || "");
59289
+ let c = r.fontEmbedCSS == null ? r.skipFonts ? null : await getWebFontCSS(e, r) : r.fontEmbedCSS, d = r.extraStyleContent == null ? c : (c || "").concat(r.extraStyleContent);
59215
59290
  if (d) {
59216
59291
  let r2 = document.createElement("style"), c2 = document.createTextNode(d);
59217
59292
  r2.appendChild(c2), e.firstChild ? e.insertBefore(r2, e.firstChild) : e.appendChild(r2);
@@ -59240,6 +59315,7 @@ ${r}
59240
59315
  return Logger.error("Error filtering node:", e2), true;
59241
59316
  }
59242
59317
  },
59318
+ imagePlaceholder: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQI12NgAAIABQABNjN9GQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAA0lEQVQI12P4z8BQDwAEgAF/QualIQAAAABJRU5ErkJggg==",
59243
59319
  onImageErrorHandler: (e) => {
59244
59320
  Logger.error("Error loading image:", e);
59245
59321
  },
@@ -59423,10 +59499,10 @@ Defaulting to \`null\`.`;
59423
59499
  d && (v = d(r));
59424
59500
  try {
59425
59501
  downloadByURL(await toPng(r), Filenames.toPNG(c));
59426
- } catch {
59427
- toast({
59428
- title: "Error",
59429
- description: "Failed to download as PNG.",
59502
+ } catch (e2) {
59503
+ Logger.error("Error downloading as PNG", e2), toast({
59504
+ title: "Failed to download as PNG",
59505
+ description: prettyError(e2),
59430
59506
  variant: "danger"
59431
59507
  });
59432
59508
  } finally {
@@ -60063,22 +60139,22 @@ Defaulting to \`null\`.`;
60063
60139
  })
60064
60140
  })
60065
60141
  ]
60066
- }), DataTable = (0, import_react.memo)(({ wrapperClassName: e, className: r, maxHeight: c, columns: d, data: f, selection: _, totalColumns: v, totalRows: y, manualSorting: S = false, sorting: w, setSorting: E, rowSelection: O, cellSelection: M, cellStyling: I, hoverTemplate: z, cellHoverTexts: G, paginationState: q, setPaginationState: IY, downloadAs: LY, downloadFileName: RY, manualPagination: zY = false, pagination: BY = false, onRowSelectionChange: VY, onCellSelectionChange: HY, getRowIds: UY, enableSearch: WY = false, searchQuery: GY, onSearchQueryChange: KY, showFilters: qY = false, filters: JY, onFiltersChange: YY, reloading: XY, freezeColumnsLeft: ZY, freezeColumnsRight: QY, toggleDisplayHeader: $Y, showChartBuilder: eX, showPageSizeSelector: tX, showColumnExplorer: nX, showRowExplorer: rX, togglePanel: iX, isPanelOpen: aX, viewedRowIdx: oX, onViewedRowChange: sX }) => {
60067
- let [cX, lX] = import_react.useState(false), [uX, dX] = import_react.useState(false), { locale: fX } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), { columnPinning: pX, setColumnPinning: mX } = useColumnPinning(ZY, QY);
60142
+ }), DataTable = (0, import_react.memo)(({ wrapperClassName: e, className: r, maxHeight: c, columns: d, data: f, rawData: _, selection: v, totalColumns: y, totalRows: S, manualSorting: w = false, sorting: E, setSorting: O, rowSelection: M, cellSelection: I, cellStyling: z, hoverTemplate: G, cellHoverTexts: q, paginationState: IY, setPaginationState: LY, downloadAs: RY, downloadFileName: zY, manualPagination: BY = false, pagination: VY = false, onRowSelectionChange: HY, onCellSelectionChange: UY, getRowIds: WY, enableSearch: GY = false, searchQuery: KY, onSearchQueryChange: qY, showFilters: JY = false, filters: YY, onFiltersChange: XY, reloading: ZY, freezeColumnsLeft: QY, freezeColumnsRight: $Y, toggleDisplayHeader: eX, showChartBuilder: tX, showPageSizeSelector: nX, showColumnExplorer: rX, showRowExplorer: iX, togglePanel: aX, isPanelOpen: oX, viewedRowIdx: sX, onViewedRowChange: cX }) => {
60143
+ let [lX, uX] = import_react.useState(false), [dX, fX] = import_react.useState(false), { locale: pX } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), { columnPinning: mX, setColumnPinning: hX } = useColumnPinning(QY, $Y);
60068
60144
  import_react.useEffect(() => {
60069
60145
  let e2;
60070
- return XY ? e2 = setTimeout(() => {
60071
- dX(true);
60072
- }, 300) : dX(false), () => {
60146
+ return ZY ? e2 = setTimeout(() => {
60147
+ fX(true);
60148
+ }, 300) : fX(false), () => {
60073
60149
  e2 && clearTimeout(e2);
60074
60150
  };
60075
60151
  }, [
60076
- XY
60152
+ ZY
60077
60153
  ]);
60078
- function hX(e2, r2) {
60079
- return q ? r2 + (zY ? q.pageIndex * q.pageSize : 0) : r2;
60154
+ function gX(e2, r2) {
60155
+ return IY ? r2 + (BY ? IY.pageIndex * IY.pageSize : 0) : r2;
60080
60156
  }
60081
- let gX = useReactTable({
60157
+ let _X = useReactTable({
60082
60158
  _features: [
60083
60159
  ColumnPinning,
60084
60160
  ColumnWrappingFeature,
@@ -60092,61 +60168,64 @@ Defaulting to \`null\`.`;
60092
60168
  ],
60093
60169
  data: f,
60094
60170
  columns: d,
60171
+ meta: {
60172
+ rawData: _
60173
+ },
60095
60174
  getCoreRowModel: getCoreRowModel(),
60096
- rowCount: y === "too_many" ? void 0 : y,
60097
- ...IY ? {
60098
- onPaginationChange: IY,
60175
+ rowCount: S === "too_many" ? void 0 : S,
60176
+ ...LY ? {
60177
+ onPaginationChange: LY,
60099
60178
  getRowId: (e2, r2) => {
60100
60179
  let c2 = getStableRowId(e2);
60101
60180
  if (c2) return c2;
60102
- let d2 = hX(e2, r2);
60181
+ let d2 = gX(e2, r2);
60103
60182
  return String(d2);
60104
60183
  }
60105
60184
  } : {},
60106
- locale: fX,
60107
- manualPagination: zY,
60185
+ locale: pX,
60186
+ manualPagination: BY,
60108
60187
  getPaginationRowModel: getPaginationRowModel(),
60109
- ...E ? {
60110
- onSortingChange: E
60188
+ ...O ? {
60189
+ onSortingChange: O
60111
60190
  } : {},
60112
- manualSorting: S,
60191
+ manualSorting: w,
60113
60192
  enableMultiSort: true,
60114
60193
  getSortedRowModel: getSortedRowModel(),
60115
60194
  manualFiltering: true,
60116
- enableColumnFilters: qY,
60195
+ enableColumnFilters: JY,
60117
60196
  getFilteredRowModel: getFilteredRowModel(),
60118
- onColumnFiltersChange: YY,
60119
- onRowSelectionChange: VY,
60120
- onCellSelectionChange: HY,
60121
- enableCellSelection: _ === "single-cell" || _ === "multi-cell",
60122
- enableMultiCellSelection: _ === "multi-cell",
60123
- onColumnPinningChange: mX,
60197
+ onColumnFiltersChange: XY,
60198
+ onRowSelectionChange: HY,
60199
+ onCellSelectionChange: UY,
60200
+ enableCellSelection: v === "single-cell" || v === "multi-cell",
60201
+ enableMultiCellSelection: v === "multi-cell",
60202
+ onColumnPinningChange: hX,
60124
60203
  enableFocusRow: true,
60125
- onFocusRowChange: sX,
60204
+ onFocusRowChange: cX,
60126
60205
  state: {
60127
- ...w ? {
60128
- sorting: w
60206
+ ...E ? {
60207
+ sorting: E
60129
60208
  } : {},
60130
- columnFilters: JY,
60131
- ...q ? {
60132
- pagination: q
60133
- } : BY && !q ? {} : {
60209
+ columnFilters: YY,
60210
+ ...IY ? {
60211
+ pagination: IY
60212
+ } : VY && !IY ? {} : {
60134
60213
  pagination: {
60135
60214
  pageIndex: 0,
60136
60215
  pageSize: f.length
60137
60216
  }
60138
60217
  },
60139
- rowSelection: O ?? {},
60140
- cellSelection: M ?? [],
60141
- cellStyling: I,
60142
- columnPinning: pX,
60143
- cellHoverTemplate: z,
60144
- cellHoverTexts: G ?? {}
60145
- }
60146
- }), _X = (aX == null ? void 0 : aX("row-viewer")) ?? false, vX = import_react.useRef(null);
60218
+ rowSelection: M ?? {},
60219
+ cellSelection: I ?? [],
60220
+ cellStyling: z,
60221
+ columnPinning: mX,
60222
+ cellHoverTemplate: G,
60223
+ cellHoverTexts: q ?? {}
60224
+ }
60225
+ }), vX = (oX == null ? void 0 : oX("row-viewer")) ?? false, yX = import_react.useRef(null);
60147
60226
  return import_react.useEffect(() => {
60148
- if (!vX.current) return;
60149
- let e2 = vX.current.parentElement;
60227
+ if (!yX.current) return;
60228
+ let e2 = yX.current.parentElement;
60150
60229
  e2 && (c ? (e2.style.maxHeight = `${c}px`, e2.style.overflow || (e2.style.overflow = "auto")) : e2.style.removeProperty("max-height"));
60151
60230
  }, [
60152
60231
  c
@@ -60154,67 +60233,67 @@ Defaulting to \`null\`.`;
60154
60233
  className: cn(e, "flex flex-col space-y-1"),
60155
60234
  children: [
60156
60235
  (0, import_jsx_runtime.jsx)(FilterPills, {
60157
- filters: JY,
60158
- table: gX
60236
+ filters: YY,
60237
+ table: _X
60159
60238
  }),
60160
60239
  (0, import_jsx_runtime.jsxs)(CellSelectionProvider, {
60161
60240
  children: [
60162
60241
  (0, import_jsx_runtime.jsxs)("div", {
60163
60242
  className: cn(r || "rounded-md border overflow-hidden"),
60164
60243
  children: [
60165
- KY && WY && (0, import_jsx_runtime.jsx)(SearchBar, {
60166
- value: GY || "",
60167
- onHide: () => lX(false),
60168
- handleSearch: KY,
60169
- hidden: !cX,
60170
- reloading: XY
60244
+ qY && GY && (0, import_jsx_runtime.jsx)(SearchBar, {
60245
+ value: KY || "",
60246
+ onHide: () => uX(false),
60247
+ handleSearch: qY,
60248
+ hidden: !lX,
60249
+ reloading: ZY
60171
60250
  }),
60172
60251
  (0, import_jsx_runtime.jsxs)(Table, {
60173
60252
  className: "relative",
60174
- ref: vX,
60253
+ ref: yX,
60175
60254
  children: [
60176
- uX && (0, import_jsx_runtime.jsx)("thead", {
60255
+ dX && (0, import_jsx_runtime.jsx)("thead", {
60177
60256
  className: "absolute top-0 left-0 h-[3px] w-1/2 bg-primary animate-slide"
60178
60257
  }),
60179
- renderTableHeader(gX, !!c),
60258
+ renderTableHeader(_X, !!c),
60180
60259
  (0, import_jsx_runtime.jsx)(DataTableBody, {
60181
- table: gX,
60260
+ table: _X,
60182
60261
  columns: d,
60183
- rowViewerPanelOpen: _X,
60184
- getRowIndex: hX,
60185
- viewedRowIdx: oX
60262
+ rowViewerPanelOpen: vX,
60263
+ getRowIndex: gX,
60264
+ viewedRowIdx: sX
60186
60265
  })
60187
60266
  ]
60188
60267
  })
60189
60268
  ]
60190
60269
  }),
60191
60270
  (0, import_jsx_runtime.jsx)(CellSelectionStats, {
60192
- table: gX,
60271
+ table: _X,
60193
60272
  className: "px-2 pt-1 ml-auto"
60194
60273
  })
60195
60274
  ]
60196
60275
  }),
60197
60276
  (0, import_jsx_runtime.jsx)(TableActions, {
60198
- enableSearch: WY,
60199
- totalColumns: v,
60200
- onSearchQueryChange: KY,
60201
- isSearchEnabled: cX,
60202
- setIsSearchEnabled: lX,
60203
- pagination: BY,
60204
- selection: _,
60205
- onRowSelectionChange: VY,
60206
- table: gX,
60207
- downloadAs: LY,
60208
- downloadFileName: RY,
60209
- getRowIds: UY,
60210
- toggleDisplayHeader: $Y,
60211
- showChartBuilder: eX,
60212
- showPageSizeSelector: tX,
60213
- showColumnExplorer: nX,
60214
- showRowExplorer: rX,
60215
- togglePanel: iX,
60216
- isPanelOpen: aX,
60217
- tableLoading: XY
60277
+ enableSearch: GY,
60278
+ totalColumns: y,
60279
+ onSearchQueryChange: qY,
60280
+ isSearchEnabled: lX,
60281
+ setIsSearchEnabled: uX,
60282
+ pagination: VY,
60283
+ selection: v,
60284
+ onRowSelectionChange: HY,
60285
+ table: _X,
60286
+ downloadAs: RY,
60287
+ downloadFileName: zY,
60288
+ getRowIds: WY,
60289
+ toggleDisplayHeader: eX,
60290
+ showChartBuilder: tX,
60291
+ showPageSizeSelector: nX,
60292
+ showColumnExplorer: rX,
60293
+ showRowExplorer: iX,
60294
+ togglePanel: aX,
60295
+ isPanelOpen: oX,
60296
+ tableLoading: ZY
60218
60297
  })
60219
60298
  ]
60220
60299
  });
@@ -70777,7 +70856,7 @@ Image URL: ${r.imageUrl}`)), contextToXml({
70777
70856
  return Logger.warn("Failed to get version from mount config"), null;
70778
70857
  }
70779
70858
  }
70780
- const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.21.2-dev3"), showCodeInRunModeAtom = atom(true);
70859
+ const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.21.2-dev31"), showCodeInRunModeAtom = atom(true);
70781
70860
  atom(null);
70782
70861
  var import_compiler_runtime$89 = require_compiler_runtime();
70783
70862
  function useKeydownOnElement(e, r) {
@@ -72336,7 +72415,7 @@ Image URL: ${r.imageUrl}`)), contextToXml({
72336
72415
  "time",
72337
72416
  "unknown"
72338
72417
  ];
72339
- var import_compiler_runtime$82 = require_compiler_runtime(), LazyDataEditor = import_react.lazy(() => import("./glide-data-editor-pZyd9UJ_.js").then(async (m2) => {
72418
+ var import_compiler_runtime$82 = require_compiler_runtime(), LazyDataEditor = import_react.lazy(() => import("./glide-data-editor-858wsVkd.js").then(async (m2) => {
72340
72419
  await m2.__tla;
72341
72420
  return m2;
72342
72421
  }));
@@ -80984,6 +81063,10 @@ ${c}
80984
81063
  string(),
80985
81064
  array(object$1({}).passthrough())
80986
81065
  ]),
81066
+ rawData: union([
81067
+ string(),
81068
+ array(looseObject({}))
81069
+ ]).nullish(),
80987
81070
  totalRows: union([
80988
81071
  number(),
80989
81072
  literal(TOO_MANY_ROWS)
@@ -81067,7 +81150,11 @@ ${c}
81067
81150
  literal(TOO_MANY_ROWS)
81068
81151
  ]),
81069
81152
  cell_styles: record(string(), record(string(), object$1({}).passthrough())).nullable(),
81070
- cell_hover_texts: cellHoverTextSchema.nullable()
81153
+ cell_hover_texts: cellHoverTextSchema.nullable(),
81154
+ raw_data: union([
81155
+ string(),
81156
+ array(looseObject({}))
81157
+ ]).nullish()
81071
81158
  })),
81072
81159
  get_row_ids: rpc.input(object$1({}).passthrough()).output(object$1({
81073
81160
  row_ids: array(number()),
@@ -81161,7 +81248,7 @@ ${c}
81161
81248
  return d;
81162
81249
  };
81163
81250
  const LoadingDataTableComponent = (0, import_react.memo)((e) => {
81164
- let r = (0, import_compiler_runtime$58.c)(101), c;
81251
+ let r = (0, import_compiler_runtime$58.c)(103), c;
81165
81252
  r[0] === e.host ? c = r[1] : (c = findCellId(e.host), r[0] = e.host, r[1] = c);
81166
81253
  let d = c, f = e.search, _ = e.setValue, v;
81167
81254
  r[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (v = [], r[2] = v) : v = r[2];
@@ -81196,33 +81283,35 @@ ${c}
81196
81283
  e.pageSize
81197
81284
  ], r[18] = e.pageSize, r[19] = VY, r[20] = HY), (0, import_react.useEffect)(VY, HY);
81198
81285
  let UY;
81199
- r[21] !== G || r[22] !== E.pageIndex || r[23] !== E.pageSize || r[24] !== e.cellHoverTexts || r[25] !== e.cellStyles || r[26] !== e.data || r[27] !== e.lazy || r[28] !== e.pageSize || r[29] !== e.totalRows || r[30] !== f || r[31] !== M || r[32] !== y ? (UY = async () => {
81286
+ r[21] !== G || r[22] !== E.pageIndex || r[23] !== E.pageSize || r[24] !== e.cellHoverTexts || r[25] !== e.cellStyles || r[26] !== e.data || r[27] !== e.lazy || r[28] !== e.pageSize || r[29] !== e.rawData || r[30] !== e.totalRows || r[31] !== f || r[32] !== M || r[33] !== y ? (UY = async () => {
81200
81287
  if (e.totalRows === 0) return {
81201
81288
  rows: Arrays.EMPTY,
81202
81289
  totalRows: 0,
81203
81290
  cellStyles: {}
81204
81291
  };
81205
- let r2 = e.data, c2 = e.totalRows, d2 = e.cellStyles, _2 = e.cellHoverTexts, v2 = E.pageSize !== e.pageSize, S2 = M === "" && E.pageIndex === 0 && G.length === 0 && y.length === 0 && !e.lazy && !v2, w2 = f({
81292
+ let r2 = e.data, c2 = e.rawData, d2 = e.totalRows, _2 = e.cellStyles, v2 = e.cellHoverTexts, S2 = E.pageSize !== e.pageSize, w2 = M === "" && E.pageIndex === 0 && G.length === 0 && y.length === 0 && !e.lazy && !S2, O2 = f({
81206
81293
  sort: y.length > 0 ? y.map(_temp$19) : void 0,
81207
81294
  query: M,
81208
81295
  page_number: E.pageIndex,
81209
81296
  page_size: E.pageSize,
81210
81297
  filters: G.flatMap(_temp2$15)
81211
81298
  });
81212
- if (S2) w2.catch(_temp3$10);
81299
+ if (w2) O2.catch(_temp3$10);
81213
81300
  else {
81214
- let e2 = await w2;
81215
- r2 = e2.data, c2 = e2.total_rows, d2 = e2.cell_styles || {}, _2 = e2.cell_hover_texts || {};
81301
+ let e2 = await O2;
81302
+ r2 = e2.data, c2 = e2.raw_data, d2 = e2.total_rows, _2 = e2.cell_styles || {}, v2 = e2.cell_hover_texts || {};
81216
81303
  }
81217
- return r2 = await loadTableData(r2), {
81304
+ let [I2, z2] = await loadTableAndRawData(r2, c2);
81305
+ return r2 = I2, {
81218
81306
  rows: r2,
81219
- totalRows: c2,
81220
- cellStyles: d2,
81221
- cellHoverTexts: _2
81307
+ rawRows: z2,
81308
+ totalRows: d2,
81309
+ cellStyles: _2,
81310
+ cellHoverTexts: v2
81222
81311
  };
81223
- }, r[21] = G, r[22] = E.pageIndex, r[23] = E.pageSize, r[24] = e.cellHoverTexts, r[25] = e.cellStyles, r[26] = e.data, r[27] = e.lazy, r[28] = e.pageSize, r[29] = e.totalRows, r[30] = f, r[31] = M, r[32] = y, r[33] = UY) : UY = r[33];
81312
+ }, r[21] = G, r[22] = E.pageIndex, r[23] = E.pageSize, r[24] = e.cellHoverTexts, r[25] = e.cellStyles, r[26] = e.data, r[27] = e.lazy, r[28] = e.pageSize, r[29] = e.rawData, r[30] = e.totalRows, r[31] = f, r[32] = M, r[33] = y, r[34] = UY) : UY = r[34];
81224
81313
  let WY = useDeepCompareMemoize(e.fieldTypes), GY;
81225
- r[34] !== G || r[35] !== E.pageIndex || r[36] !== E.pageSize || r[37] !== e.cellHoverTexts || r[38] !== e.cellStyles || r[39] !== e.data || r[40] !== e.lazy || r[41] !== e.totalRows || r[42] !== f || r[43] !== M || r[44] !== y || r[45] !== WY ? (GY = [
81314
+ r[35] !== G || r[36] !== E.pageIndex || r[37] !== E.pageSize || r[38] !== e.cellHoverTexts || r[39] !== e.cellStyles || r[40] !== e.data || r[41] !== e.lazy || r[42] !== e.totalRows || r[43] !== f || r[44] !== M || r[45] !== y || r[46] !== WY ? (GY = [
81226
81315
  y,
81227
81316
  f,
81228
81317
  G,
@@ -81235,9 +81324,9 @@ ${c}
81235
81324
  e.cellStyles,
81236
81325
  E.pageSize,
81237
81326
  E.pageIndex
81238
- ], r[34] = G, r[35] = E.pageIndex, r[36] = E.pageSize, r[37] = e.cellHoverTexts, r[38] = e.cellStyles, r[39] = e.data, r[40] = e.lazy, r[41] = e.totalRows, r[42] = f, r[43] = M, r[44] = y, r[45] = WY, r[46] = GY) : GY = r[46];
81327
+ ], r[35] = G, r[36] = E.pageIndex, r[37] = E.pageSize, r[38] = e.cellHoverTexts, r[39] = e.cellStyles, r[40] = e.data, r[41] = e.lazy, r[42] = e.totalRows, r[43] = f, r[44] = M, r[45] = y, r[46] = WY, r[47] = GY) : GY = r[47];
81239
81328
  let { data: KY, error: qY, isPending: JY, isFetching: YY } = useAsyncData(UY, GY), XY;
81240
- r[47] !== G || r[48] !== f || r[49] !== M || r[50] !== y ? (XY = async (e2) => ({
81329
+ r[48] !== G || r[49] !== f || r[50] !== M || r[51] !== y ? (XY = async (e2) => ({
81241
81330
  rows: await loadTableData((await f({
81242
81331
  page_number: e2,
81243
81332
  page_size: 1,
@@ -81246,51 +81335,51 @@ ${c}
81246
81335
  filters: G.flatMap(_temp5$5),
81247
81336
  max_columns: null
81248
81337
  })).data)
81249
- }), r[47] = G, r[48] = f, r[49] = M, r[50] = y, r[51] = XY) : XY = r[51];
81338
+ }), r[48] = G, r[49] = f, r[50] = M, r[51] = y, r[52] = XY) : XY = r[52];
81250
81339
  let ZY = XY, QY;
81251
- r[52] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (QY = () => {
81340
+ r[53] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (QY = () => {
81252
81341
  O(_temp6$4);
81253
- }, r[52] = QY) : QY = r[52];
81342
+ }, r[53] = QY) : QY = r[53];
81254
81343
  let $Y = KY == null ? void 0 : KY.totalRows, eX;
81255
- r[53] === $Y ? eX = r[54] : (eX = [
81344
+ r[54] === $Y ? eX = r[55] : (eX = [
81256
81345
  $Y
81257
- ], r[53] = $Y, r[54] = eX), (0, import_react.useEffect)(QY, eX);
81346
+ ], r[54] = $Y, r[55] = eX), (0, import_react.useEffect)(QY, eX);
81258
81347
  let tX;
81259
- r[55] === e ? tX = r[56] : (tX = async () => e.totalRows === 0 || !e.showColumnSummaries ? {
81348
+ r[56] === e ? tX = r[57] : (tX = async () => e.totalRows === 0 || !e.showColumnSummaries ? {
81260
81349
  data: null,
81261
81350
  stats: {},
81262
81351
  bin_values: {},
81263
81352
  value_counts: {},
81264
81353
  show_charts: false
81265
- } : e.get_column_summaries({}), r[55] = e, r[56] = tX);
81354
+ } : e.get_column_summaries({}), r[56] = e, r[57] = tX);
81266
81355
  let nX;
81267
- r[57] !== G || r[58] !== e.data || r[59] !== e.get_column_summaries || r[60] !== e.showColumnSummaries || r[61] !== e.totalRows || r[62] !== M ? (nX = [
81356
+ r[58] !== G || r[59] !== e.data || r[60] !== e.get_column_summaries || r[61] !== e.showColumnSummaries || r[62] !== e.totalRows || r[63] !== M ? (nX = [
81268
81357
  e.get_column_summaries,
81269
81358
  e.showColumnSummaries,
81270
81359
  G,
81271
81360
  M,
81272
81361
  e.totalRows,
81273
81362
  e.data
81274
- ], r[57] = G, r[58] = e.data, r[59] = e.get_column_summaries, r[60] = e.showColumnSummaries, r[61] = e.totalRows, r[62] = M, r[63] = nX) : nX = r[63];
81363
+ ], r[58] = G, r[59] = e.data, r[60] = e.get_column_summaries, r[61] = e.showColumnSummaries, r[62] = e.totalRows, r[63] = M, r[64] = nX) : nX = r[64];
81275
81364
  let { data: rX, error: iX } = useAsyncData(tX, nX), aX, oX;
81276
- if (r[64] === iX ? (aX = r[65], oX = r[66]) : (aX = () => {
81365
+ if (r[65] === iX ? (aX = r[66], oX = r[67]) : (aX = () => {
81277
81366
  iX && Logger.error(iX);
81278
81367
  }, oX = [
81279
81368
  iX
81280
- ], r[64] = iX, r[65] = aX, r[66] = oX), (0, import_react.useEffect)(aX, oX), JY) {
81369
+ ], r[65] = iX, r[66] = aX, r[67] = oX), (0, import_react.useEffect)(aX, oX), JY) {
81281
81370
  let c2 = e.totalRows !== "too_many" && e.totalRows > 0 ? e.totalRows : e.pageSize, d2;
81282
- return r[67] === c2 ? d2 = r[68] : (d2 = (0, import_jsx_runtime.jsx)(DelayMount, {
81371
+ return r[68] === c2 ? d2 = r[69] : (d2 = (0, import_jsx_runtime.jsx)(DelayMount, {
81283
81372
  milliseconds: 200,
81284
81373
  children: (0, import_jsx_runtime.jsx)(LoadingTable, {
81285
81374
  pageSize: c2
81286
81375
  })
81287
- }), r[67] = c2, r[68] = d2), d2;
81376
+ }), r[68] = c2, r[69] = d2), d2;
81288
81377
  }
81289
81378
  let sX = null;
81290
81379
  if (qY) {
81291
81380
  Logger.error(qY);
81292
81381
  let e2;
81293
- r[69] === qY ? e2 = r[70] : (e2 = !isStaticNotebook() && (0, import_jsx_runtime.jsxs)(Alert, {
81382
+ r[70] === qY ? e2 = r[71] : (e2 = !isStaticNotebook() && (0, import_jsx_runtime.jsxs)(Alert, {
81294
81383
  variant: "destructive",
81295
81384
  className: "mb-2",
81296
81385
  children: [
@@ -81302,16 +81391,17 @@ ${c}
81302
81391
  children: qY.message || "An unknown error occurred"
81303
81392
  })
81304
81393
  ]
81305
- }), r[69] = qY, r[70] = e2), sX = e2;
81394
+ }), r[70] = qY, r[71] = e2), sX = e2;
81306
81395
  }
81307
81396
  let cX;
81308
- r[71] === LY ? cX = r[72] : (cX = () => {
81397
+ r[72] === LY ? cX = r[73] : (cX = () => {
81309
81398
  RY(!LY);
81310
- }, r[71] = LY, r[72] = cX);
81311
- let lX = cX, uX = (KY == null ? void 0 : KY.rows) ?? Arrays.EMPTY, dX = YY && !JY, fX = (KY == null ? void 0 : KY.totalRows) ?? e.totalRows, pX = (KY == null ? void 0 : KY.cellStyles) ?? e.cellStyles, mX = (KY == null ? void 0 : KY.cellHoverTexts) ?? e.cellHoverTexts, hX;
81312
- r[73] !== d || r[74] !== rX || r[75] !== G || r[76] !== ZY || r[77] !== E || r[78] !== e || r[79] !== M || r[80] !== y || r[81] !== uX || r[82] !== dX || r[83] !== fX || r[84] !== pX || r[85] !== mX || r[86] !== lX ? (hX = (0, import_jsx_runtime.jsx)(DataTableComponent, {
81399
+ }, r[72] = LY, r[73] = cX);
81400
+ let lX = cX, uX = (KY == null ? void 0 : KY.rows) ?? Arrays.EMPTY, dX = KY == null ? void 0 : KY.rawRows, fX = YY && !JY, pX = (KY == null ? void 0 : KY.totalRows) ?? e.totalRows, mX = (KY == null ? void 0 : KY.cellStyles) ?? e.cellStyles, hX = (KY == null ? void 0 : KY.cellHoverTexts) ?? e.cellHoverTexts, gX;
81401
+ r[74] !== d || r[75] !== rX || r[76] !== G || r[77] !== ZY || r[78] !== E || r[79] !== e || r[80] !== M || r[81] !== y || r[82] !== uX || r[83] !== dX || r[84] !== fX || r[85] !== pX || r[86] !== mX || r[87] !== hX || r[88] !== lX ? (gX = (0, import_jsx_runtime.jsx)(DataTableComponent, {
81313
81402
  ...e,
81314
81403
  data: uX,
81404
+ rawData: dX,
81315
81405
  columnSummaries: rX,
81316
81406
  sorting: y,
81317
81407
  setSorting: S,
@@ -81319,190 +81409,191 @@ ${c}
81319
81409
  setSearchQuery: I,
81320
81410
  filters: G,
81321
81411
  setFilters: q,
81322
- reloading: dX,
81323
- totalRows: fX,
81412
+ reloading: fX,
81413
+ totalRows: pX,
81324
81414
  paginationState: E,
81325
81415
  setPaginationState: O,
81326
- cellStyles: pX,
81327
- cellHoverTexts: mX,
81416
+ cellStyles: mX,
81417
+ cellHoverTexts: hX,
81328
81418
  toggleDisplayHeader: lX,
81329
81419
  getRow: ZY,
81330
81420
  cellId: d,
81331
81421
  maxHeight: e.maxHeight
81332
- }), r[73] = d, r[74] = rX, r[75] = G, r[76] = ZY, r[77] = E, r[78] = e, r[79] = M, r[80] = y, r[81] = uX, r[82] = dX, r[83] = fX, r[84] = pX, r[85] = mX, r[86] = lX, r[87] = hX) : hX = r[87];
81333
- let gX = hX, _X;
81334
- r[88] !== d || r[89] !== (KY == null ? void 0 : KY.rows) || r[90] !== gX || r[91] !== LY || r[92] !== e.fieldTypes || r[93] !== e.get_data_url || r[94] !== e.showChartBuilder || r[95] !== e.totalColumns || r[96] !== e.totalRows ? (_X = e.showChartBuilder ? (0, import_jsx_runtime.jsx)(TablePanel, {
81422
+ }), r[74] = d, r[75] = rX, r[76] = G, r[77] = ZY, r[78] = E, r[79] = e, r[80] = M, r[81] = y, r[82] = uX, r[83] = dX, r[84] = fX, r[85] = pX, r[86] = mX, r[87] = hX, r[88] = lX, r[89] = gX) : gX = r[89];
81423
+ let _X = gX, vX;
81424
+ r[90] !== d || r[91] !== _X || r[92] !== (KY == null ? void 0 : KY.rows) || r[93] !== LY || r[94] !== e.fieldTypes || r[95] !== e.get_data_url || r[96] !== e.showChartBuilder || r[97] !== e.totalColumns || r[98] !== e.totalRows ? (vX = e.showChartBuilder ? (0, import_jsx_runtime.jsx)(TablePanel, {
81335
81425
  displayHeader: LY,
81336
81426
  data: (KY == null ? void 0 : KY.rows) || [],
81337
81427
  columns: e.totalColumns,
81338
81428
  totalRows: e.totalRows,
81339
- dataTable: gX,
81429
+ dataTable: _X,
81340
81430
  getDataUrl: e.get_data_url,
81341
81431
  fieldTypes: e.fieldTypes,
81342
81432
  cellId: d
81343
- }) : gX, r[88] = d, r[89] = KY == null ? void 0 : KY.rows, r[90] = gX, r[91] = LY, r[92] = e.fieldTypes, r[93] = e.get_data_url, r[94] = e.showChartBuilder, r[95] = e.totalColumns, r[96] = e.totalRows, r[97] = _X) : _X = r[97];
81344
- let vX;
81345
- return r[98] !== sX || r[99] !== _X ? (vX = (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
81433
+ }) : _X, r[90] = d, r[91] = _X, r[92] = KY == null ? void 0 : KY.rows, r[93] = LY, r[94] = e.fieldTypes, r[95] = e.get_data_url, r[96] = e.showChartBuilder, r[97] = e.totalColumns, r[98] = e.totalRows, r[99] = vX) : vX = r[99];
81434
+ let yX;
81435
+ return r[100] !== sX || r[101] !== vX ? (yX = (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
81346
81436
  children: [
81347
81437
  sX,
81348
- _X
81438
+ vX
81349
81439
  ]
81350
- }), r[98] = sX, r[99] = _X, r[100] = vX) : vX = r[100], vX;
81440
+ }), r[100] = sX, r[101] = vX, r[102] = yX) : yX = r[102], yX;
81351
81441
  });
81352
81442
  LoadingDataTableComponent.displayName = "LoadingDataTableComponent";
81353
- var DataTableComponent = ({ label: e, data: r, totalRows: c, maxColumns: d, pagination: f, selection: _, value: v, showFilters: y, showDownload: S, showPageSizeSelector: w, showColumnExplorer: E, showRowExplorer: O, showChartBuilder: M, showDataTypes: I, rowHeaders: z, fieldTypes: G, paginationState: q, setPaginationState: IY, download_as: LY, columnSummaries: RY, className: zY, setValue: BY, sorting: VY, setSorting: HY, enableSearch: UY, searchQuery: WY, setSearchQuery: GY, filters: KY, setFilters: qY, reloading: JY, freezeColumnsLeft: YY, freezeColumnsRight: XY, textJustifyColumns: ZY, wrappedColumns: QY, headerTooltip: $Y, totalColumns: eX, get_row_ids: tX, cellStyles: nX, hoverTemplate: rX, cellHoverTexts: iX, downloadFileName: aX, toggleDisplayHeader: oX, calculate_top_k_rows: sX, preview_column: cX, getRow: lX, cellId: uX, maxHeight: dX }) => {
81354
- let fX = (0, import_react.useId)(), [pX, mX] = (0, import_react.useState)(0), { isPanelOpen: hX, togglePanel: gX } = usePanelOwnership(fX, uX), _X = (0, import_react.useMemo)(() => {
81355
- if (!RY || !G || !RY.stats) return ColumnChartSpecModel.EMPTY;
81356
- let e2 = toFieldTypes(G);
81357
- return new ColumnChartSpecModel(RY.data || [], e2, RY.stats, RY.bin_values, RY.value_counts, {
81358
- includeCharts: RY.show_charts
81443
+ var DataTableComponent = ({ label: e, data: r, rawData: c, totalRows: d, maxColumns: f, pagination: _, selection: v, value: y, showFilters: S, showDownload: w, showPageSizeSelector: E, showColumnExplorer: O, showRowExplorer: M, showChartBuilder: I, showDataTypes: z, rowHeaders: G, fieldTypes: q, paginationState: IY, setPaginationState: LY, download_as: RY, columnSummaries: zY, className: BY, setValue: VY, sorting: HY, setSorting: UY, enableSearch: WY, searchQuery: GY, setSearchQuery: KY, filters: qY, setFilters: JY, reloading: YY, freezeColumnsLeft: XY, freezeColumnsRight: ZY, textJustifyColumns: QY, wrappedColumns: $Y, headerTooltip: eX, totalColumns: tX, get_row_ids: nX, cellStyles: rX, hoverTemplate: iX, cellHoverTexts: aX, downloadFileName: oX, toggleDisplayHeader: sX, calculate_top_k_rows: cX, preview_column: lX, getRow: uX, cellId: dX, maxHeight: fX }) => {
81444
+ let pX = (0, import_react.useId)(), [mX, hX] = (0, import_react.useState)(0), { isPanelOpen: gX, togglePanel: _X } = usePanelOwnership(pX, dX), vX = (0, import_react.useMemo)(() => {
81445
+ if (!zY || !q || !zY.stats) return ColumnChartSpecModel.EMPTY;
81446
+ let e2 = toFieldTypes(q);
81447
+ return new ColumnChartSpecModel(zY.data || [], e2, zY.stats, zY.bin_values, zY.value_counts, {
81448
+ includeCharts: zY.show_charts
81359
81449
  });
81360
81450
  }, [
81361
- G,
81362
- RY
81363
- ]), vX = useDeepCompareMemoize(G ?? inferFieldTypes(r)), yX = (0, import_react.useMemo)(() => d === "all" ? vX : vX.slice(0, d), [
81364
- d,
81365
- vX
81366
- ]), bX = useDeepCompareMemoize(z), xX = useDeepCompareMemoize(ZY), SX = useDeepCompareMemoize(QY), CX = useDeepCompareMemoize(_X), wX = yX.length;
81367
- G || (I = false);
81368
- let TX = (0, import_react.useMemo)(() => generateColumns({
81369
- rowHeaders: bX,
81370
- selection: _,
81371
- chartSpecModel: CX,
81372
- fieldTypes: yX,
81373
- textJustifyColumns: xX,
81374
- wrappedColumns: SX,
81375
- headerTooltip: $Y,
81376
- showDataTypes: I,
81377
- calculateTopKRows: sX
81451
+ q,
81452
+ zY
81453
+ ]), yX = useDeepCompareMemoize(q ?? inferFieldTypes(r)), bX = (0, import_react.useMemo)(() => f === "all" ? yX : yX.slice(0, f), [
81454
+ f,
81455
+ yX
81456
+ ]), xX = useDeepCompareMemoize(G), SX = useDeepCompareMemoize(QY), CX = useDeepCompareMemoize($Y), wX = useDeepCompareMemoize(vX), TX = bX.length;
81457
+ q || (z = false);
81458
+ let EX = (0, import_react.useMemo)(() => generateColumns({
81459
+ rowHeaders: xX,
81460
+ selection: v,
81461
+ chartSpecModel: wX,
81462
+ fieldTypes: bX,
81463
+ textJustifyColumns: SX,
81464
+ wrappedColumns: CX,
81465
+ headerTooltip: eX,
81466
+ showDataTypes: z,
81467
+ calculateTopKRows: cX
81378
81468
  }), [
81379
- _,
81380
- I,
81381
- CX,
81382
- bX,
81383
- yX,
81469
+ v,
81470
+ z,
81471
+ wX,
81384
81472
  xX,
81473
+ bX,
81385
81474
  SX,
81386
- $Y,
81387
- sX
81388
- ]), EX = (0, import_react.useMemo)(() => Object.fromEntries((v || []).map((e2) => [
81475
+ CX,
81476
+ eX,
81477
+ cX
81478
+ ]), DX = (0, import_react.useMemo)(() => Object.fromEntries((y || []).map((e2) => [
81389
81479
  e2,
81390
81480
  true
81391
81481
  ])), [
81392
- v
81393
- ]), DX = useEvent_default((e2) => {
81394
- if (_ === "single") {
81482
+ y
81483
+ ]), OX = useEvent_default((e2) => {
81484
+ if (v === "single") {
81395
81485
  let r2 = Functions.asUpdater(e2)({});
81396
- BY(Object.keys(r2).slice(0, 1));
81486
+ VY(Object.keys(r2).slice(0, 1));
81397
81487
  }
81398
- if (_ === "multi") {
81399
- let r2 = Functions.asUpdater(e2)(EX);
81400
- BY(Object.keys(r2));
81488
+ if (v === "multi") {
81489
+ let r2 = Functions.asUpdater(e2)(DX);
81490
+ VY(Object.keys(r2));
81401
81491
  }
81402
- }), OX = useEvent_default((e2) => {
81403
- if (mX(e2), e2 < 0 || typeof c == "number" && e2 >= c || c === "too_many") return;
81404
- let r2 = getPageIndexForRow(e2, q.pageIndex, q.pageSize);
81405
- r2 !== null && IY((e3) => ({
81492
+ }), kX = useEvent_default((e2) => {
81493
+ if (hX(e2), e2 < 0 || typeof d == "number" && e2 >= d || d === "too_many") return;
81494
+ let r2 = getPageIndexForRow(e2, IY.pageIndex, IY.pageSize);
81495
+ r2 !== null && LY((e3) => ({
81406
81496
  ...e3,
81407
81497
  pageIndex: r2
81408
81498
  }));
81409
- }), kX = v.filter((e2) => e2 instanceof Object && e2.columnName !== void 0), AX = useEvent_default((e2) => {
81410
- _ === "single-cell" && BY(Functions.asUpdater(e2)(kX).slice(0, 1)), _ === "multi-cell" && BY(Functions.asUpdater(e2)(kX));
81411
- }), jX = _ === "multi" || _ === "single", MX = E && cX && hX("column-explorer"), NX = isInVscodeExtension();
81499
+ }), AX = y.filter((e2) => e2 instanceof Object && e2.columnName !== void 0), jX = useEvent_default((e2) => {
81500
+ v === "single-cell" && VY(Functions.asUpdater(e2)(AX).slice(0, 1)), v === "multi-cell" && VY(Functions.asUpdater(e2)(AX));
81501
+ }), MX = v === "multi" || v === "single", NX = O && lX && gX("column-explorer"), PX = isInVscodeExtension();
81412
81502
  return (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
81413
81503
  children: [
81414
- c === "too_many" && q.pageSize === r.length && (0, import_jsx_runtime.jsxs)(Banner, {
81504
+ d === "too_many" && IY.pageSize === r.length && (0, import_jsx_runtime.jsxs)(Banner, {
81415
81505
  className: "mb-1 rounded",
81416
81506
  children: [
81417
81507
  "Previewing the first ",
81418
- q.pageSize,
81508
+ IY.pageSize,
81419
81509
  " rows."
81420
81510
  ]
81421
81511
  }),
81422
- wX < eX && wX > 0 && (0, import_jsx_runtime.jsxs)(Banner, {
81512
+ TX < tX && TX > 0 && (0, import_jsx_runtime.jsxs)(Banner, {
81423
81513
  className: "mb-1 rounded",
81424
81514
  children: [
81425
81515
  "Result clipped. Showing ",
81426
- wX,
81516
+ TX,
81427
81517
  " of ",
81428
- eX,
81518
+ tX,
81429
81519
  " columns."
81430
81520
  ]
81431
81521
  }),
81432
- (RY == null ? void 0 : RY.is_disabled) && (0, import_jsx_runtime.jsx)(Banner, {
81522
+ (zY == null ? void 0 : zY.is_disabled) && (0, import_jsx_runtime.jsx)(Banner, {
81433
81523
  className: "mb-1 rounded",
81434
81524
  children: "Column summaries are unavailable. Filter your data to fewer than 1,000,000 rows."
81435
81525
  }),
81436
- hX("row-viewer") && (0, import_jsx_runtime.jsx)(ContextAwarePanelItem, {
81526
+ gX("row-viewer") && (0, import_jsx_runtime.jsx)(ContextAwarePanelItem, {
81437
81527
  children: (0, import_jsx_runtime.jsx)(RowViewerPanel, {
81438
- getRow: lX,
81439
- fieldTypes: vX,
81440
- totalRows: c,
81441
- rowIdx: pX,
81442
- setRowIdx: OX,
81443
- isSelectable: jX,
81444
- isRowSelected: EX[pX],
81445
- handleRowSelectionChange: DX
81528
+ getRow: uX,
81529
+ fieldTypes: yX,
81530
+ totalRows: d,
81531
+ rowIdx: mX,
81532
+ setRowIdx: kX,
81533
+ isSelectable: MX,
81534
+ isRowSelected: DX[mX],
81535
+ handleRowSelectionChange: OX
81446
81536
  })
81447
81537
  }),
81448
- MX && (0, import_jsx_runtime.jsx)(ContextAwarePanelItem, {
81538
+ NX && (0, import_jsx_runtime.jsx)(ContextAwarePanelItem, {
81449
81539
  children: (0, import_jsx_runtime.jsx)(ColumnExplorerPanel, {
81450
- previewColumn: cX,
81451
- fieldTypes: vX,
81452
- totalRows: c,
81453
- totalColumns: eX,
81454
- tableId: fX
81540
+ previewColumn: lX,
81541
+ fieldTypes: yX,
81542
+ totalRows: d,
81543
+ totalColumns: tX,
81544
+ tableId: pX
81455
81545
  })
81456
81546
  }),
81457
81547
  (0, import_jsx_runtime.jsx)(ColumnChartContext, {
81458
- value: _X,
81548
+ value: vX,
81459
81549
  children: (0, import_jsx_runtime.jsx)(Labeled, {
81460
81550
  label: e,
81461
81551
  align: "top",
81462
81552
  fullWidth: true,
81463
81553
  children: (0, import_jsx_runtime.jsx)(DataTable, {
81464
81554
  data: r,
81465
- columns: TX,
81466
- className: zY,
81467
- maxHeight: dX,
81468
- sorting: VY,
81469
- totalRows: c,
81470
- totalColumns: eX,
81555
+ rawData: c,
81556
+ columns: EX,
81557
+ className: BY,
81558
+ maxHeight: fX,
81559
+ sorting: HY,
81560
+ totalRows: d,
81561
+ totalColumns: tX,
81471
81562
  manualSorting: true,
81472
- setSorting: HY,
81473
- pagination: f,
81563
+ setSorting: UY,
81564
+ pagination: _,
81474
81565
  manualPagination: true,
81475
- selection: _,
81476
- paginationState: q,
81477
- setPaginationState: IY,
81478
- rowSelection: EX,
81479
- cellSelection: kX,
81480
- cellStyling: nX,
81481
- hoverTemplate: rX,
81482
- cellHoverTexts: iX,
81483
- downloadAs: S ? LY : void 0,
81484
- downloadFileName: aX,
81485
- enableSearch: UY,
81486
- searchQuery: WY,
81487
- onSearchQueryChange: GY,
81488
- showFilters: y,
81489
- filters: KY,
81490
- onFiltersChange: qY,
81491
- reloading: JY,
81492
- onRowSelectionChange: DX,
81493
- freezeColumnsLeft: YY,
81494
- freezeColumnsRight: XY,
81495
- onCellSelectionChange: AX,
81496
- getRowIds: tX,
81497
- toggleDisplayHeader: oX,
81498
- showChartBuilder: M,
81499
- showPageSizeSelector: w,
81500
- showColumnExplorer: E && !NX,
81501
- showRowExplorer: O && !NX,
81502
- togglePanel: gX,
81503
- isPanelOpen: hX,
81504
- viewedRowIdx: pX,
81505
- onViewedRowChange: (e2) => mX(e2)
81566
+ selection: v,
81567
+ paginationState: IY,
81568
+ setPaginationState: LY,
81569
+ rowSelection: DX,
81570
+ cellSelection: AX,
81571
+ cellStyling: rX,
81572
+ hoverTemplate: iX,
81573
+ cellHoverTexts: aX,
81574
+ downloadAs: w ? RY : void 0,
81575
+ downloadFileName: oX,
81576
+ enableSearch: WY,
81577
+ searchQuery: GY,
81578
+ onSearchQueryChange: KY,
81579
+ showFilters: S,
81580
+ filters: qY,
81581
+ onFiltersChange: JY,
81582
+ reloading: YY,
81583
+ onRowSelectionChange: OX,
81584
+ freezeColumnsLeft: XY,
81585
+ freezeColumnsRight: ZY,
81586
+ onCellSelectionChange: jX,
81587
+ getRowIds: nX,
81588
+ toggleDisplayHeader: sX,
81589
+ showChartBuilder: I,
81590
+ showPageSizeSelector: E,
81591
+ showColumnExplorer: O && !PX,
81592
+ showRowExplorer: M && !PX,
81593
+ togglePanel: _X,
81594
+ isPanelOpen: gX,
81595
+ viewedRowIdx: mX,
81596
+ onViewedRowChange: (e2) => hX(e2)
81506
81597
  })
81507
81598
  })
81508
81599
  })
@@ -92685,21 +92776,75 @@ ${c}
92685
92776
  }), r[13] = c, r[14] = e.label, r[15] = f, r[16] = O, r[17] = M) : M = r[17], M;
92686
92777
  };
92687
92778
  var import_compiler_runtime$28 = require_compiler_runtime(), RangeSlider = import_react.forwardRef((e, r) => {
92688
- let c = (0, import_compiler_runtime$28.c)(35), { className: d, valueMap: f, ..._ } = e, [v, y] = useBoolean(false), { locale: S } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), w = dist_exports, E;
92689
- c[0] === d ? E = c[1] : (E = cn("relative flex touch-none select-none hover:cursor-pointer", "data-[orientation=horizontal]:w-full data-[orientation=horizontal]:items-center", "data-[orientation=vertical]:h-full data-[orientation=vertical]:justify-center", "data-disabled:cursor-not-allowed", d), c[0] = d, c[1] = E);
92690
- let O;
92691
- c[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = cn("relative grow overflow-hidden rounded-full bg-slate-200 dark:bg-accent/60", "data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:w-full", "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2"), c[2] = O) : O = c[2];
92692
- let M;
92693
- c[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (M = (0, import_jsx_runtime.jsx)(Track, {
92779
+ let c = (0, import_compiler_runtime$28.c)(56), d, f, _;
92780
+ c[0] === e ? (d = c[1], f = c[2], _ = c[3]) : ({ className: d, valueMap: _, ...f } = e, c[0] = e, c[1] = d, c[2] = f, c[3] = _);
92781
+ let [v, y] = useBoolean(false), { locale: S } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), w = import_react.useRef(false), E = import_react.useRef(0), O = import_react.useRef(0), M;
92782
+ c[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (M = [], c[4] = M) : M = c[4];
92783
+ let I = import_react.useRef(M), z;
92784
+ c[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (z = [], c[5] = z) : z = c[5];
92785
+ let G = import_react.useRef(z), q = import_react.useRef(null), IY = import_react.useRef(null), LY = import_react.useRef(null), RY;
92786
+ c[6] === r ? RY = c[7] : (RY = (e2) => {
92787
+ q.current = e2, typeof r == "function" ? r(e2) : r && (r.current = e2);
92788
+ }, c[6] = r, c[7] = RY);
92789
+ let zY = RY, BY;
92790
+ c[8] !== f.disabled || c[9] !== f.value ? (BY = (e2) => {
92791
+ var _a3;
92792
+ !f.value || f.value.length !== 2 || f.disabled || (e2.preventDefault(), e2.stopPropagation(), w.current = true, E.current = e2.clientX, O.current = e2.clientY, I.current = [
92793
+ ...f.value
92794
+ ], G.current = [
92795
+ ...f.value
92796
+ ], LY.current = ((_a3 = IY.current) == null ? void 0 : _a3.getBoundingClientRect()) ?? null, e2.currentTarget.setPointerCapture(e2.pointerId));
92797
+ }, c[8] = f.disabled, c[9] = f.value, c[10] = BY) : BY = c[10];
92798
+ let VY = BY, HY;
92799
+ c[11] === f ? HY = c[12] : (HY = (e2) => {
92800
+ var _a3;
92801
+ if (!w.current) return;
92802
+ e2.stopPropagation();
92803
+ let r2 = LY.current;
92804
+ if (!r2) return;
92805
+ let c2 = f.orientation === "vertical", d2 = f.min ?? 0, _2 = f.max ?? 100, v2 = _2 - d2, y2;
92806
+ if (c2) {
92807
+ let c3 = r2.height;
92808
+ y2 = -((e2.clientY - O.current) / c3) * v2;
92809
+ } else {
92810
+ let c3 = r2.width;
92811
+ y2 = (e2.clientX - E.current) / c3 * v2;
92812
+ }
92813
+ let [S2, M2] = I.current, z2 = M2 - S2, q2 = f.steps, IY2 = q2 && q2.length > 1 ? Math.min(...q2.slice(1).map((e3, r3) => e3 - q2[r3])) : f.step ?? 1, RY2 = Math.round(y2 / IY2) * IY2, zY2 = S2 + Math.max(d2 - S2, Math.min(_2 - M2, RY2)), BY2 = zY2 + z2;
92814
+ G.current = [
92815
+ zY2,
92816
+ BY2
92817
+ ], (_a3 = f.onValueChange) == null ? void 0 : _a3.call(f, [
92818
+ zY2,
92819
+ BY2
92820
+ ]);
92821
+ }, c[11] = f, c[12] = HY);
92822
+ let UY = HY, WY;
92823
+ c[13] === f ? WY = c[14] : (WY = (e2) => {
92824
+ var _a3;
92825
+ w.current && (e2.currentTarget.releasePointerCapture(e2.pointerId), w.current = false, G.current.length === 2 && ((_a3 = f.onValueCommit) == null ? void 0 : _a3.call(f, G.current)));
92826
+ }, c[13] = f, c[14] = WY);
92827
+ let GY = WY, KY;
92828
+ c[15] === d ? KY = c[16] : (KY = cn("relative flex touch-none select-none hover:cursor-pointer", "data-[orientation=horizontal]:w-full data-[orientation=horizontal]:items-center", "data-[orientation=vertical]:h-full data-[orientation=vertical]:justify-center", "data-disabled:cursor-not-allowed", d), c[15] = d, c[16] = KY);
92829
+ let qY;
92830
+ c[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (qY = cn("relative grow overflow-hidden rounded-full bg-slate-200 dark:bg-accent/60", "data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:w-full", "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2"), c[17] = qY) : qY = c[17];
92831
+ let JY;
92832
+ c[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (JY = cn("absolute bg-blue-500 dark:bg-primary", "data-[orientation=horizontal]:h-full", "data-[orientation=vertical]:w-full", "data-disabled:opacity-50", "hover:cursor-grab active:cursor-grabbing"), c[18] = JY) : JY = c[18];
92833
+ let YY;
92834
+ c[19] !== VY || c[20] !== UY || c[21] !== GY ? (YY = (0, import_jsx_runtime.jsx)(Track, {
92835
+ ref: IY,
92694
92836
  "data-testid": "track",
92695
- className: O,
92837
+ className: qY,
92696
92838
  children: (0, import_jsx_runtime.jsx)(Range, {
92697
92839
  "data-testid": "range",
92698
- className: cn("absolute bg-blue-500 dark:bg-primary", "data-[orientation=horizontal]:h-full", "data-[orientation=vertical]:w-full", "data-disabled:opacity-50")
92840
+ className: JY,
92841
+ onPointerDown: VY,
92842
+ onPointerMove: UY,
92843
+ onPointerUp: GY
92699
92844
  })
92700
- }), c[3] = M) : M = c[3];
92701
- let I;
92702
- c[4] !== y.setFalse || c[5] !== y.setTrue ? (I = (0, import_jsx_runtime.jsx)(TooltipTrigger, {
92845
+ }), c[19] = VY, c[20] = UY, c[21] = GY, c[22] = YY) : YY = c[22];
92846
+ let XY;
92847
+ c[23] !== y.setFalse || c[24] !== y.setTrue ? (XY = (0, import_jsx_runtime.jsx)(TooltipTrigger, {
92703
92848
  asChild: true,
92704
92849
  children: (0, import_jsx_runtime.jsx)(Thumb, {
92705
92850
  "data-testid": "thumb",
@@ -92709,28 +92854,30 @@ ${c}
92709
92854
  onMouseEnter: y.setTrue,
92710
92855
  onMouseLeave: y.setFalse
92711
92856
  })
92712
- }), c[4] = y.setFalse, c[5] = y.setTrue, c[6] = I) : I = c[6];
92713
- let z = _.value != null && _.value.length === 2 && (0, import_jsx_runtime.jsx)(TooltipContent, {
92714
- children: prettyScientificNumber(f(_.value[0]), {
92857
+ }), c[23] = y.setFalse, c[24] = y.setTrue, c[25] = XY) : XY = c[25];
92858
+ let ZY;
92859
+ c[26] !== S || c[27] !== f.value || c[28] !== _ ? (ZY = f.value != null && f.value.length === 2 && (0, import_jsx_runtime.jsx)(TooltipContent, {
92860
+ children: prettyScientificNumber(_(f.value[0]), {
92715
92861
  locale: S
92716
92862
  })
92717
- }, _.value[0]), G;
92718
- c[7] === z ? G = c[8] : (G = (0, import_jsx_runtime.jsx)(TooltipPortal, {
92719
- children: z
92720
- }), c[7] = z, c[8] = G);
92721
- let q;
92722
- c[9] !== v || c[10] !== I || c[11] !== G ? (q = (0, import_jsx_runtime.jsx)(TooltipProvider, {
92863
+ }, f.value[0]), c[26] = S, c[27] = f.value, c[28] = _, c[29] = ZY) : ZY = c[29];
92864
+ let QY;
92865
+ c[30] === ZY ? QY = c[31] : (QY = (0, import_jsx_runtime.jsx)(TooltipPortal, {
92866
+ children: ZY
92867
+ }), c[30] = ZY, c[31] = QY);
92868
+ let $Y;
92869
+ c[32] !== v || c[33] !== XY || c[34] !== QY ? ($Y = (0, import_jsx_runtime.jsx)(TooltipProvider, {
92723
92870
  children: (0, import_jsx_runtime.jsxs)(TooltipRoot, {
92724
92871
  delayDuration: 0,
92725
92872
  open: v,
92726
92873
  children: [
92727
- I,
92728
- G
92874
+ XY,
92875
+ QY
92729
92876
  ]
92730
92877
  })
92731
- }), c[9] = v, c[10] = I, c[11] = G, c[12] = q) : q = c[12];
92732
- let IY = TooltipProvider, LY = TooltipRoot, RY;
92733
- c[13] !== y.setFalse || c[14] !== y.setTrue ? (RY = (0, import_jsx_runtime.jsx)(TooltipTrigger, {
92878
+ }), c[32] = v, c[33] = XY, c[34] = QY, c[35] = $Y) : $Y = c[35];
92879
+ let eX;
92880
+ c[36] !== y.setFalse || c[37] !== y.setTrue ? (eX = (0, import_jsx_runtime.jsx)(TooltipTrigger, {
92734
92881
  asChild: true,
92735
92882
  children: (0, import_jsx_runtime.jsx)(Thumb, {
92736
92883
  "data-testid": "thumb",
@@ -92740,39 +92887,39 @@ ${c}
92740
92887
  onMouseEnter: y.setTrue,
92741
92888
  onMouseLeave: y.setFalse
92742
92889
  })
92743
- }), c[13] = y.setFalse, c[14] = y.setTrue, c[15] = RY) : RY = c[15];
92744
- let zY = TooltipPortal, BY = _.value != null && _.value.length === 2 && (0, import_jsx_runtime.jsx)(TooltipContent, {
92745
- children: prettyScientificNumber(f(_.value[1]), {
92890
+ }), c[36] = y.setFalse, c[37] = y.setTrue, c[38] = eX) : eX = c[38];
92891
+ let tX;
92892
+ c[39] !== S || c[40] !== f.value || c[41] !== _ ? (tX = f.value != null && f.value.length === 2 && (0, import_jsx_runtime.jsx)(TooltipContent, {
92893
+ children: prettyScientificNumber(_(f.value[1]), {
92746
92894
  locale: S
92747
92895
  })
92748
- }, _.value[1]), VY;
92749
- c[16] !== zY || c[17] !== BY ? (VY = (0, import_jsx_runtime.jsx)(zY, {
92750
- children: BY
92751
- }), c[16] = zY, c[17] = BY, c[18] = VY) : VY = c[18];
92752
- let HY;
92753
- c[19] !== LY || c[20] !== v || c[21] !== RY || c[22] !== VY ? (HY = (0, import_jsx_runtime.jsxs)(LY, {
92754
- delayDuration: 0,
92755
- open: v,
92756
- children: [
92757
- RY,
92758
- VY
92759
- ]
92760
- }), c[19] = LY, c[20] = v, c[21] = RY, c[22] = VY, c[23] = HY) : HY = c[23];
92761
- let UY;
92762
- c[24] !== IY || c[25] !== HY ? (UY = (0, import_jsx_runtime.jsx)(IY, {
92763
- children: HY
92764
- }), c[24] = IY, c[25] = HY, c[26] = UY) : UY = c[26];
92765
- let WY;
92766
- return c[27] !== _ || c[28] !== r || c[29] !== w.Root || c[30] !== UY || c[31] !== E || c[32] !== M || c[33] !== q ? (WY = (0, import_jsx_runtime.jsxs)(w.Root, {
92767
- ref: r,
92768
- className: E,
92769
- ..._,
92896
+ }, f.value[1]), c[39] = S, c[40] = f.value, c[41] = _, c[42] = tX) : tX = c[42];
92897
+ let nX;
92898
+ c[43] === tX ? nX = c[44] : (nX = (0, import_jsx_runtime.jsx)(TooltipPortal, {
92899
+ children: tX
92900
+ }), c[43] = tX, c[44] = nX);
92901
+ let rX;
92902
+ c[45] !== v || c[46] !== eX || c[47] !== nX ? (rX = (0, import_jsx_runtime.jsx)(TooltipProvider, {
92903
+ children: (0, import_jsx_runtime.jsxs)(TooltipRoot, {
92904
+ delayDuration: 0,
92905
+ open: v,
92906
+ children: [
92907
+ eX,
92908
+ nX
92909
+ ]
92910
+ })
92911
+ }), c[45] = v, c[46] = eX, c[47] = nX, c[48] = rX) : rX = c[48];
92912
+ let iX;
92913
+ return c[49] !== zY || c[50] !== f || c[51] !== YY || c[52] !== $Y || c[53] !== rX || c[54] !== KY ? (iX = (0, import_jsx_runtime.jsxs)(Root$1, {
92914
+ ref: zY,
92915
+ className: KY,
92916
+ ...f,
92770
92917
  children: [
92771
- M,
92772
- q,
92773
- UY
92918
+ YY,
92919
+ $Y,
92920
+ rX
92774
92921
  ]
92775
- }), c[27] = _, c[28] = r, c[29] = w.Root, c[30] = UY, c[31] = E, c[32] = M, c[33] = q, c[34] = WY) : WY = c[34], WY;
92922
+ }), c[49] = zY, c[50] = f, c[51] = YY, c[52] = $Y, c[53] = rX, c[54] = KY, c[55] = iX) : iX = c[55], iX;
92776
92923
  });
92777
92924
  RangeSlider.displayName = Root$1.displayName;
92778
92925
  var import_compiler_runtime$27 = require_compiler_runtime(), RangeSliderPlugin = class {
@@ -93082,7 +93229,7 @@ ${c}
93082
93229
  });
93083
93230
  }
93084
93231
  }, SliderComponent = (e) => {
93085
- let r = (0, import_compiler_runtime$26.c)(55), { label: c, setValue: d, value: f, start: _, stop: v, step: y, debounce: S, orientation: w, showValue: E, fullWidth: O, valueMap: M, includeInput: I, disabled: z } = e, G = (0, import_react.useId)(), { locale: q } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), [IY, LY] = (0, import_react.useState)(f), RY, zY;
93232
+ let r = (0, import_compiler_runtime$26.c)(54), { label: c, setValue: d, value: f, start: _, stop: v, step: y, debounce: S, orientation: w, showValue: E, fullWidth: O, valueMap: M, includeInput: I, disabled: z } = e, G = (0, import_react.useId)(), { locale: q } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7(), [IY, LY] = (0, import_react.useState)(f), RY, zY;
93086
93233
  r[0] === f ? (RY = r[1], zY = r[2]) : (RY = () => {
93087
93234
  LY(f);
93088
93235
  }, zY = [
@@ -93128,10 +93275,10 @@ ${c}
93128
93275
  })
93129
93276
  }), r[27] = IY, r[28] = q, r[29] = E, r[30] = M, r[31] = ZY) : ZY = r[31];
93130
93277
  let QY;
93131
- r[32] !== S || r[33] !== z || r[34] !== I || r[35] !== IY || r[36] !== c || r[37] !== d || r[38] !== _ || r[39] !== y || r[40] !== v || r[41] !== M ? (QY = I && (0, import_jsx_runtime.jsx)(NumberField, {
93278
+ r[32] !== z || r[33] !== I || r[34] !== IY || r[35] !== c || r[36] !== d || r[37] !== _ || r[38] !== y || r[39] !== v || r[40] !== M ? (QY = I && (0, import_jsx_runtime.jsx)(NumberField, {
93132
93279
  value: M(IY),
93133
93280
  onChange: (e2) => {
93134
- (e2 == null || Number.isNaN(e2)) && (e2 = Number(_)), LY(e2), S || d(e2);
93281
+ (e2 == null || Number.isNaN(e2)) && (e2 = Number(_)), LY(e2), d(e2);
93135
93282
  },
93136
93283
  minValue: _,
93137
93284
  maxValue: v,
@@ -93139,25 +93286,25 @@ ${c}
93139
93286
  className: "w-24",
93140
93287
  "aria-label": `${c || "Slider"} value input`,
93141
93288
  isDisabled: z
93142
- }), r[32] = S, r[33] = z, r[34] = I, r[35] = IY, r[36] = c, r[37] = d, r[38] = _, r[39] = y, r[40] = v, r[41] = M, r[42] = QY) : QY = r[42];
93289
+ }), r[32] = z, r[33] = I, r[34] = IY, r[35] = c, r[36] = d, r[37] = _, r[38] = y, r[39] = v, r[40] = M, r[41] = QY) : QY = r[41];
93143
93290
  let $Y;
93144
- r[43] !== XY || r[44] !== ZY || r[45] !== QY || r[46] !== WY ? ($Y = (0, import_jsx_runtime.jsxs)("div", {
93291
+ r[42] !== XY || r[43] !== ZY || r[44] !== QY || r[45] !== WY ? ($Y = (0, import_jsx_runtime.jsxs)("div", {
93145
93292
  className: WY,
93146
93293
  children: [
93147
93294
  XY,
93148
93295
  ZY,
93149
93296
  QY
93150
93297
  ]
93151
- }), r[43] = XY, r[44] = ZY, r[45] = QY, r[46] = WY, r[47] = $Y) : $Y = r[47];
93298
+ }), r[42] = XY, r[43] = ZY, r[44] = QY, r[45] = WY, r[46] = $Y) : $Y = r[46];
93152
93299
  let eX;
93153
- return r[48] !== O || r[49] !== G || r[50] !== c || r[51] !== $Y || r[52] !== BY || r[53] !== HY ? (eX = (0, import_jsx_runtime.jsx)(Labeled, {
93300
+ return r[47] !== O || r[48] !== G || r[49] !== c || r[50] !== $Y || r[51] !== BY || r[52] !== HY ? (eX = (0, import_jsx_runtime.jsx)(Labeled, {
93154
93301
  label: c,
93155
93302
  id: G,
93156
93303
  align: BY,
93157
93304
  fullWidth: O,
93158
93305
  className: HY,
93159
93306
  children: $Y
93160
- }), r[48] = O, r[49] = G, r[50] = c, r[51] = $Y, r[52] = BY, r[53] = HY, r[54] = eX) : eX = r[54], eX;
93307
+ }), r[47] = O, r[48] = G, r[49] = c, r[50] = $Y, r[51] = BY, r[52] = HY, r[53] = eX) : eX = r[53], eX;
93161
93308
  }, import_compiler_runtime$25 = require_compiler_runtime(), SwitchPlugin = class {
93162
93309
  constructor() {
93163
93310
  __publicField(this, "tagName", "marimo-switch");