@marimo-team/frontend 0.25.1-dev16 → 0.25.1-dev18

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 (117) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-C88h4lNt.js → ConnectedDataExplorerComponent-C2uC5lJf.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DiVAOuIu.js → ErrorBoundary-BVJqkhwk.js} +2 -2
  3. package/dist/assets/{LazyAnyLanguageCodeMirror-CkatLiPl.js → LazyAnyLanguageCodeMirror-BqNgl9tZ.js} +2 -2
  4. package/dist/assets/{RunButton-CUNPkj6f.js → RunButton-adYpTAaW.js} +7 -7
  5. package/dist/assets/{abnfDiagram-VCTEODGH-Bu_tX3p0.js → abnfDiagram-VCTEODGH-Daqziwy1.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-Cy3EWZ0o.js → add-cell-with-ai-CjPxSVh0.js} +10 -10
  7. package/dist/assets/{agent-panel-swPAoSNP.js → agent-panel-mRH4isVn.js} +4 -4
  8. package/dist/assets/{ai-model-dropdown-DMLd7Ok7.js → ai-model-dropdown-BZNUB6Iv.js} +1 -1
  9. package/dist/assets/{any-language-editor-DPDwgVWc.js → any-language-editor-DRf07PJG.js} +1 -1
  10. package/dist/assets/{app-config-button-BgkqErn7.js → app-config-button-Cc7EMA4I.js} +1 -1
  11. package/dist/assets/{architectureDiagram-5GKGNRK7-9Q5iChpn.js → architectureDiagram-5GKGNRK7-YBlh_63B.js} +1 -1
  12. package/dist/assets/{blockDiagram-I7D4REHJ-D47vsx_7.js → blockDiagram-I7D4REHJ-Ci6Gslkc.js} +1 -1
  13. package/dist/assets/{cache-panel-C9dxBcWT.js → cache-panel-BBQ7HY25.js} +1 -1
  14. package/dist/assets/{cells-Cu3p4E4U.js → cells-B3WiM6w3.js} +3 -3
  15. package/dist/assets/{chat-display-DobIxXep.js → chat-display-ChsJwSGb.js} +1 -1
  16. package/dist/assets/{chat-panel-Ev94a9aD.js → chat-panel-tXybKozg.js} +1 -1
  17. package/dist/assets/{chat-ui-DIc6DoGG.js → chat-ui-Dj4a0ZyX.js} +1 -1
  18. package/dist/assets/{chunk-IMKFNOWR-DRUNgD5B.js → chunk-IMKFNOWR-CVUGMMR5.js} +1 -1
  19. package/dist/assets/{chunk-SHT3W25Y-BKFQDWQj.js → chunk-SHT3W25Y-V-OZGYmC.js} +1 -1
  20. package/dist/assets/{chunk-SVP7TREG-BR7XpR63.js → chunk-SVP7TREG-NYpzvObK.js} +1 -1
  21. package/dist/assets/{chunk-TICWLB2K-CPOfaVwm.js → chunk-TICWLB2K-DAmEhpdA.js} +1 -1
  22. package/dist/assets/{classDiagram-ZZMXUADV-C0jDVe7U.js → classDiagram-ZZMXUADV-DmHJAfc5.js} +1 -1
  23. package/dist/assets/{classDiagram-v2-VYDZK3BY-C0jDVe7U.js → classDiagram-v2-VYDZK3BY-DmHJAfc5.js} +1 -1
  24. package/dist/assets/{code-visibility-D1cfOivN.js → code-visibility-DEaFLO3A.js} +1 -1
  25. package/dist/assets/{command-palette-CfaWFdS5.js → command-palette-CERIrl2Z.js} +1 -1
  26. package/dist/assets/{common-ER8tZQOB.js → common-DBH2dPfd.js} +1 -1
  27. package/dist/assets/{components-CQp_u_qU.js → components-Chs3VCBR.js} +1 -1
  28. package/dist/assets/{components-Bzlif-Xy.js → components-CuWdJDJ8.js} +1 -1
  29. package/dist/assets/{cynefinDiagram-5FMLGOSQ-xxaZ3oY1.js → cynefinDiagram-5FMLGOSQ-DTjbXw-r.js} +1 -1
  30. package/dist/assets/{dagre-BxiUqoXs.js → dagre-4szy_3ND.js} +1 -1
  31. package/dist/assets/{dagre-GXQ25YYZ-DjsT6A0_.js → dagre-GXQ25YYZ-BLLPL51D.js} +1 -1
  32. package/dist/assets/{data-grid-overlay-editor-BMDpaQHy.js → data-grid-overlay-editor-CD6nx7Jc.js} +1 -1
  33. package/dist/assets/{dependency-graph-panel-BN1v8eqX.js → dependency-graph-panel-Dsa9_1CE.js} +1 -1
  34. package/dist/assets/{diagram-S7CK7UJ4-qn3M7v_r.js → diagram-S7CK7UJ4-BEOWs3DZ.js} +1 -1
  35. package/dist/assets/{diagram-UQ7AKVKN-DjJKRGSt.js → diagram-UQ7AKVKN-DhcB9YNh.js} +1 -1
  36. package/dist/assets/{diagram-VX7I27RA-Dx0eaNGE.js → diagram-VX7I27RA-BZS6D99M.js} +1 -1
  37. package/dist/assets/{diagram-Z3DM3KII-BtD5Tvot.js → diagram-Z3DM3KII-Df9yG0Dr.js} +1 -1
  38. package/dist/assets/{documentation-panel-C1k9zWpE.js → documentation-panel-cgPFYBCG.js} +1 -1
  39. package/dist/assets/{ebnfDiagram-PWID7BFC-CUDaB3xm.js → ebnfDiagram-PWID7BFC-D44ZGUpd.js} +1 -1
  40. package/dist/assets/{edit-page-BgBPK9rm.js → edit-page-5BoxMdRg.js} +8 -8
  41. package/dist/assets/{erDiagram-RLTQ6QDP-D5QfyITG.js → erDiagram-RLTQ6QDP-wMbCu1k0.js} +1 -1
  42. package/dist/assets/{error-entries-BUsiy4Fq.js → error-entries-BpXezjVq.js} +1 -1
  43. package/dist/assets/{error-panel-fDWrtqWJ.js → error-panel-BQkG8Owp.js} +1 -1
  44. package/dist/assets/{feedback-button-DKnF4IZg.js → feedback-button-L9wRkYQK.js} +1 -1
  45. package/dist/assets/{file-explorer-panel-D5b5pQm0.js → file-explorer-panel-BqbyZB-C.js} +1 -1
  46. package/dist/assets/{file-name-input-6E-vGC4V.js → file-name-input-BIU5kyHZ.js} +1 -1
  47. package/dist/assets/{flowDiagram-HODETNUW-3hwuEHTh.js → flowDiagram-HODETNUW-DXu8WHYs.js} +1 -1
  48. package/dist/assets/{gallery-page-OvrQB8WT.js → gallery-page-CfV7ZAmL.js} +1 -1
  49. package/dist/assets/{glide-data-editor-DEc95Jky.js → glide-data-editor-0wu6GiLW.js} +4 -4
  50. package/dist/assets/{graphlib-CLd3V0ts.js → graphlib-CTJqVmKw.js} +1 -1
  51. package/dist/assets/has-CGywqNo7.js +1 -0
  52. package/dist/assets/{home-page-B7W1L-OK.js → home-page-BpvVdseG.js} +1 -1
  53. package/dist/assets/{index-CFkhNhbS.js → index-D0aUt523.js} +31 -31
  54. package/dist/assets/{infoDiagram-27XIBGKW-DN3dObkS.js → infoDiagram-27XIBGKW-Cdc1u3v9.js} +1 -1
  55. package/dist/assets/{ishikawaDiagram-5VMMS53U-Cax2OAWY.js → ishikawaDiagram-5VMMS53U-CBLHwkrk.js} +1 -1
  56. package/dist/assets/{kanban-definition-UXKFOSKX-B_oBDTKt.js → kanban-definition-UXKFOSKX-B9VLtQSr.js} +1 -1
  57. package/dist/assets/{logs-panel-D6BBECr0.js → logs-panel-bEm9k3zD.js} +1 -1
  58. package/dist/assets/{mermaid-EX7AbpFE.js → mermaid-3TiKkcPE.js} +4 -4
  59. package/dist/assets/{mindmap-definition-YA3MSWOX-qe19Ch3D.js → mindmap-definition-YA3MSWOX-wGOfhH41.js} +1 -1
  60. package/dist/assets/{number-overlay-editor-D81yKd3F.js → number-overlay-editor-K9e5ZWrL.js} +1 -1
  61. package/dist/assets/{outline-panel-BQBJjsUS.js → outline-panel-CffssgnN.js} +1 -1
  62. package/dist/assets/{packages-panel-BSVIZyMQ.js → packages-panel-CKmdUILr.js} +1 -1
  63. package/dist/assets/{panels-BreVgQOP.js → panels-14vO4F3h.js} +6 -6
  64. package/dist/assets/{pegDiagram-XKGWAZYB-Cl13AdW_.js → pegDiagram-XKGWAZYB-BCEdVP7M.js} +1 -1
  65. package/dist/assets/{pieDiagram-E7YTZNPT-Bnd8KxW8.js → pieDiagram-E7YTZNPT-C8l_dDam.js} +1 -1
  66. package/dist/assets/{process-output-B9QFfnai.js → process-output-ZDYA_DfN.js} +1 -1
  67. package/dist/assets/{railroadDiagram-O6MQD6OU-Bad0FlEg.js → railroadDiagram-O6MQD6OU-t5SV0Qh9.js} +1 -1
  68. package/dist/assets/{requirementDiagram-BXWQKSXE-34nf0NrD.js → requirementDiagram-BXWQKSXE-CQaLae__.js} +1 -1
  69. package/dist/assets/{reveal-component-BegUwJVp.js → reveal-component-Ce4laJYz.js} +1 -1
  70. package/dist/assets/run-page-BFPh-t5N.js +1 -0
  71. package/dist/assets/{scratchpad-panel-S1y3VnQO.js → scratchpad-panel--eaSPPbI.js} +1 -1
  72. package/dist/assets/{secrets-panel-G2Aj9SWg.js → secrets-panel-D5VC4iGd.js} +1 -1
  73. package/dist/assets/{sequenceDiagram-WJ2MYXX4-ClHJhNso.js → sequenceDiagram-WJ2MYXX4-BdUEvoNa.js} +1 -1
  74. package/dist/assets/session-panel-C4xjKL7P.js +1 -0
  75. package/dist/assets/snippets-panel-D5IV2SYF.js +1 -0
  76. package/dist/assets/{stateDiagram-D77RDMKH-BeZHwiLL.js → stateDiagram-D77RDMKH-BxQBCmyb.js} +1 -1
  77. package/dist/assets/{stateDiagram-v2-MP3YSRHH-D59SiroM.js → stateDiagram-v2-MP3YSRHH-ldBZz7Qk.js} +1 -1
  78. package/dist/assets/{swimlanes-42K2YHIH-CEHZ_wNP.js → swimlanes-42K2YHIH-DyeulHZ_.js} +1 -1
  79. package/dist/assets/{swimlanesDiagram-VR7AAH4N-CksbNI_5.js → swimlanesDiagram-VR7AAH4N-DtS183IV.js} +1 -1
  80. package/dist/assets/{swiper-component-BwuajfC4.js → swiper-component-IXbGG3F9.js} +1 -1
  81. package/dist/assets/{terminal-nQemI-ox.js → terminal-B0l9hsf7.js} +1 -1
  82. package/dist/assets/{timeline-definition-24CTP7MA-CO91WfCC.js → timeline-definition-24CTP7MA-Do_68DsI.js} +1 -1
  83. package/dist/assets/tooltip-PLkI_UfK.js +61 -0
  84. package/dist/assets/{tracing-DyWIgk_H.js → tracing-CKx0JpOw.js} +1 -1
  85. package/dist/assets/{tracing-panel-ByWvTIr8.js → tracing-panel-CSkFln9f.js} +2 -2
  86. package/dist/assets/{useCellActionButton-BZe-h0kJ.js → useCellActionButton-YroFjW8i.js} +1 -1
  87. package/dist/assets/{vega-component-Cjh3h2aI.js → vega-component-B_nXcaF8.js} +1 -1
  88. package/dist/assets/{vega-embed-container-DfPdbYzv.js → vega-embed-container-Bwqt153O.js} +1 -1
  89. package/dist/assets/{vennDiagram-4TSXK5OY-CCnDWK9v.js → vennDiagram-4TSXK5OY-DkrPIenW.js} +1 -1
  90. package/dist/assets/{wardleyDiagram-VM6X3IG4-DnS2_ZhP.js → wardleyDiagram-VM6X3IG4-Bx7dpVo2.js} +1 -1
  91. package/dist/assets/{write-secret-modal-CBUZw27N.js → write-secret-modal-BiG2tahJ.js} +1 -1
  92. package/dist/assets/{xychartDiagram-S5SC5T6Z-BJ7l1D92.js → xychartDiagram-S5SC5T6Z-BDpyRtk7.js} +1 -1
  93. package/dist/index.html +6 -6
  94. package/package.json +1 -1
  95. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +286 -0
  96. package/src/components/data-table/charts/charts.tsx +26 -13
  97. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +6 -1
  98. package/src/components/editor/notebook-cell.tsx +2 -2
  99. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  100. package/src/components/editor/output/VideoOutput.tsx +1 -1
  101. package/src/components/editor/output/ansi-reduce.ts +8 -4
  102. package/src/components/editor/output/console/text-rendering.tsx +3 -1
  103. package/src/components/home/components.tsx +1 -0
  104. package/src/components/pages/run-page.tsx +1 -0
  105. package/src/components/static-html/share-modal.tsx +2 -1
  106. package/src/components/static-html/static-banner.tsx +2 -1
  107. package/src/components/ui/links.tsx +6 -1
  108. package/src/plugins/impl/vega/__tests__/utils.test.ts +16 -1
  109. package/src/plugins/impl/vega/__tests__/vega.test.ts +37 -0
  110. package/src/plugins/impl/vega/loader.ts +23 -1
  111. package/src/plugins/impl/vega/utils.ts +5 -4
  112. package/src/plugins/layout/RoutesPlugin.tsx +4 -6
  113. package/dist/assets/has-Kf_VdF2W.js +0 -1
  114. package/dist/assets/run-page-C7WH_ujp.js +0 -1
  115. package/dist/assets/session-panel-Dz904qg0.js +0 -1
  116. package/dist/assets/snippets-panel-ClVDVtd1.js +0 -1
  117. package/dist/assets/tooltip-B1vGi-z4.js +0 -61
@@ -1,7 +1,22 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import { describe, expect, it } from "vitest";
4
- import { getContainerWidth } from "../utils";
4
+ import { getContainerWidth, getVegaFieldTypes } from "../utils";
5
+
6
+ describe("getVegaFieldTypes", () => {
7
+ it("preserves date strings unless the caller requests date parsing", () => {
8
+ expect(getVegaFieldTypes({ day: "date", timestamp: "datetime" })).toEqual({
9
+ day: "string",
10
+ timestamp: "date",
11
+ });
12
+ expect(
13
+ getVegaFieldTypes(
14
+ { day: "date", timestamp: "datetime" },
15
+ { parseDates: true },
16
+ ),
17
+ ).toEqual({ day: "date", timestamp: "date" });
18
+ });
19
+ });
5
20
 
6
21
  describe("getContainerWidth", () => {
7
22
  it('should return "container" when spec width is "container"', () => {
@@ -13,6 +13,43 @@ const { ZERO_WIDTH_SPACE, replacePeriodsInColumnNames, uniquifyColumnNames } =
13
13
  exportedForTesting;
14
14
 
15
15
  describe("vega loader", () => {
16
+ it("parses infinities only in explicitly numeric CSV fields", async () => {
17
+ vi.spyOn(vegaLoader, "load").mockResolvedValue(
18
+ "value,label,id\ninf,inf,1\n-inf,-inf,2\n+inf,+inf,3\n2.5,002.5,4\n,,5\nNaN,NaN,6\n",
19
+ );
20
+
21
+ const data = await vegaLoadData("chart.csv", {
22
+ type: "csv",
23
+ parse: { value: "number", label: "string", id: "integer" },
24
+ });
25
+
26
+ expect(data).toEqual([
27
+ { value: Infinity, label: "inf", id: 1 },
28
+ { value: -Infinity, label: "-inf", id: 2 },
29
+ { value: Infinity, label: "+inf", id: 3 },
30
+ { value: 2.5, label: "002.5", id: 4 },
31
+ { value: null, label: null, id: 5 },
32
+ { value: Number.NaN, label: "NaN", id: 6 },
33
+ ]);
34
+ });
35
+
36
+ it("preserves the table's large integer and infinity handling", async () => {
37
+ vi.spyOn(vegaLoader, "load").mockResolvedValue(
38
+ "id,value\n9007199254740993,inf\n9007199254740995,-inf\n",
39
+ );
40
+
41
+ const data = await vegaLoadData(
42
+ "table.csv",
43
+ { type: "csv", parse: { id: "integer", value: "number" } },
44
+ { handleBigIntAndNumberLike: true },
45
+ );
46
+
47
+ expect(data).toEqual([
48
+ { id: BigInt("9007199254740993"), value: "inf" },
49
+ { id: BigInt("9007199254740995"), value: "-inf" },
50
+ ]);
51
+ });
52
+
16
53
  it("should parse csv data with dates", async () => {
17
54
  const csvData = `
18
55
  active,username,id
@@ -16,6 +16,26 @@ const previousNumberParser = typeParsers.number;
16
16
  const previousDateParser = typeParsers.date;
17
17
  const previousBooleanParser = typeParsers.boolean;
18
18
 
19
+ const NUMBER_MIDDLEWARE: Middleware = () => {
20
+ const parseNumber = (value: string) => {
21
+ if (value === "inf" || value === "+inf") {
22
+ return Number.POSITIVE_INFINITY;
23
+ }
24
+ if (value === "-inf") {
25
+ return Number.NEGATIVE_INFINITY;
26
+ }
27
+ return previousNumberParser(value);
28
+ };
29
+
30
+ typeParsers.integer = parseNumber;
31
+ typeParsers.number = parseNumber;
32
+
33
+ return () => {
34
+ typeParsers.integer = previousIntegerParser;
35
+ typeParsers.number = previousNumberParser;
36
+ };
37
+ };
38
+
19
39
  const BIG_INT_MIDDLEWARE: Middleware = () => {
20
40
  // Custom parser to:
21
41
  // - handle BigInt
@@ -159,6 +179,8 @@ export async function vegaLoadData<T = object>(
159
179
  const middleware: Middleware[] = [DATE_MIDDLEWARE];
160
180
  if (handleBigIntAndNumberLike) {
161
181
  middleware.push(BIG_INT_MIDDLEWARE);
182
+ } else {
183
+ middleware.push(NUMBER_MIDDLEWARE);
162
184
  }
163
185
 
164
186
  let unsubscribes: Unsubscribe[] = [];
@@ -216,7 +238,7 @@ export async function vegaLoadData<T = object>(
216
238
 
217
239
  // Apply middleware
218
240
  unsubscribes = middleware.map((m) => m());
219
- // Always set parse to auto for csv data, to be able to parse dates and floats
241
+ // CSV defaults to inference when no explicit column types are available.
220
242
  const results = isCsv
221
243
  ? // csv -> json
222
244
  read(csvOrJsonData, {
@@ -45,21 +45,22 @@ function toArray<T>(value: T | T[] | undefined): T[] {
45
45
 
46
46
  export function getVegaFieldTypes(
47
47
  types: Record<string, DataType> | undefined | null,
48
+ { parseDates = false }: { parseDates?: boolean } = {},
48
49
  ): FieldTypes | "auto" {
49
50
  if (!types || Object.keys(types).length === 0) {
50
51
  // If fieldTypes is provided, use it to parse the data
51
52
  // Otherwise, infer the data types
52
53
  return "auto";
53
54
  }
54
- // Convert all 'date' to 'string', because dates don't format back to
55
- // the correct formatting. For example, a date like '2024-01-01' will
56
- // be formatted to '2024-01-01T00:00:00.000Z'.
55
+ // Preserve date-only strings for callers such as the data editor.
56
+ // Parsing creates Date objects that JSON serializes as full timestamps.
57
+ // Charts opt into date parsing for temporal axes.
57
58
  return Objects.mapValues(types, (type): VegaDataType => {
58
59
  if (type === "geometry") {
59
60
  return "string";
60
61
  }
61
62
  if (type === "date") {
62
- return "string";
63
+ return parseDates ? "date" : "string";
63
64
  }
64
65
  if (type === "time") {
65
66
  return "string";
@@ -1,6 +1,5 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  import React, {
3
- type JSX,
4
3
  type PropsWithChildren,
5
4
  useEffect,
6
5
  useMemo,
@@ -28,7 +27,7 @@ export class RoutesPlugin implements IStatelessPlugin<Data> {
28
27
  routes: z.array(z.string()),
29
28
  });
30
29
 
31
- render(props: IStatelessPluginProps<Data>): JSX.Element {
30
+ render(props: IStatelessPluginProps<Data>): React.ReactElement {
32
31
  return <RoutesComponent {...props.data}>{props.children}</RoutesComponent>;
33
32
  }
34
33
  }
@@ -36,7 +35,7 @@ export class RoutesPlugin implements IStatelessPlugin<Data> {
36
35
  const RoutesComponent = ({
37
36
  routes,
38
37
  children,
39
- }: PropsWithChildren<Data>): JSX.Element => {
38
+ }: PropsWithChildren<Data>): React.ReactNode => {
40
39
  const childCount = React.Children.count(children);
41
40
  if (childCount !== routes.length) {
42
41
  throw new Error(
@@ -69,12 +68,11 @@ const RoutesComponent = ({
69
68
  }, [handleFindMatch]);
70
69
 
71
70
  if (!matched) {
72
- // oxlint-disable-next-line react/jsx-no-useless-fragment
73
- return <></>;
71
+ return null;
74
72
  }
75
73
 
76
74
  const matchedIndex = routes.indexOf(matched);
77
75
  const child = React.Children.toArray(children)[matchedIndex];
78
76
 
79
- return <>{child}</>;
77
+ return child;
80
78
  };
@@ -1 +0,0 @@
1
- import{Ga as e}from"./index-CFkhNhbS.js";var t=Object.prototype.hasOwnProperty;function n(e,n){return e!=null&&t.call(e,n)}function r(t,r){return t!=null&&e(t,r,n)}export{r as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r}from"./useEvent-Dc9HkKI2.js";import{t as i}from"./react-CUdNIagt.js";import{D as a,La as o,g as s,oo as c,x as l}from"./cells-Cu3p4E4U.js";import{t as u}from"./compiler-runtime-BQ9S8nyo.js";import{C as d}from"./config-BxZgoFvi.js";import{r as f}from"./utils-B4K466FK.js";import{t as p}from"./session-DXKMv4Bs.js";import{T as m,_ as h,l as g,p as _}from"./config-DpGPGznL.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{a as b,c as x,i as S,l as C,n as w,s as T,t as E}from"./alert-dialog-CeE3i3Qa.js";import{n as D,t as O}from"./button-BoklZTGL.js";import{n as k}from"./paths-CzfpItSz.js";import{a as A,c as j,et as ee,it as M,n as N,o as P,q as F,s as I,st as L,t as R}from"./panels-BreVgQOP.js";import{t as z}from"./copy-RyCOE8jo.js";import{Gt as te,Ut as ne,Wt as re,Xt as ie,Zt as ae,qt as B}from"./input-BDakodZ2.js";import{n as V}from"./copy-BhJktFeI.js";import{t as H}from"./use-toast-CC89xOwH.js";import{r as U}from"./requests-yTHMxhVa.js";import{Ci as W,In as G,Ln as K,Rn as q,Ti as J,ar as oe,dn as se,ei as ce,hn as le,ja as ue,mn as de,ui as fe,zn as Y,zt as pe}from"./index-CFkhNhbS.js";import{n as X}from"./code-visibility-D1cfOivN.js";import{n as me,t as he}from"./marimo-icons-B_1oPpIE.js";var ge=e(i(),1),Z=u(),Q=y(),_e=()=>{let e=(0,Z.c)(25),[n,r]=t(F);if(n===null)return null;let i;e[0]===n?i=e[1]:(i=async()=>{try{await navigator.clipboard.writeText(n),H({title:`Copied to clipboard`,description:`Error details have been copied to your clipboard.`})}catch{H({title:`Failed to copy`,description:`Could not copy to clipboard.`,variant:`danger`})}},e[0]=n,e[1]=i);let a=i,o;e[2]===r?o=e[3]:(o=()=>{r(null)},e[2]=r,e[3]=o);let s=o,l=ve,u;e[4]===s?u=e[5]:(u=e=>!e&&s(),e[4]=s,e[5]=u);let d;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsxs)(x,{children:[(0,Q.jsxs)(C,{className:`flex items-center gap-2 text-destructive`,children:[(0,Q.jsx)(c,{className:`h-5 w-5`}),`Kernel Startup Failed`]}),(0,Q.jsx)(b,{children:`The kernel failed to start. This usually happens when the package manager can't install your notebook's dependencies.`})]}),e[6]=d):d=e[6];let f;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground`,children:`Error Details`}),e[7]=f):f=e[7];let p;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(z,{className:`h-3 w-3`}),e[8]=p):p=e[8];let m;e[9]===a?m=e[10]:(m=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[f,(0,Q.jsxs)(O,{variant:`outline`,size:`xs`,onClick:a,className:`flex items-center gap-1`,children:[p,`Copy`]})]}),e[9]=a,e[10]=m);let h;e[11]===n?h=e[12]:(h=(0,Q.jsx)(`pre`,{className:`bg-muted p-4 rounded-md text-sm font-mono overflow-auto max-h-80`,children:n}),e[11]=n,e[12]=h);let g;e[13]!==m||e[14]!==h?(g=(0,Q.jsxs)(`div`,{className:`my-4 overflow-hidden`,children:[m,h]}),e[13]=m,e[14]=h,e[15]=g):g=e[15];let _;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Q.jsxs)(O,{variant:`outline`,onClick:l,className:`flex items-center gap-2`,children:[(0,Q.jsx)(M,{className:`h-4 w-4`}),`Return to Home`]}),e[16]=_):_=e[16];let v;e[17]===s?v=e[18]:(v=(0,Q.jsxs)(T,{children:[_,(0,Q.jsx)(w,{onClick:s,children:`Dismiss`})]}),e[17]=s,e[18]=v);let y;e[19]!==v||e[20]!==g?(y=(0,Q.jsxs)(S,{className:`max-w-2xl`,children:[d,g,v]}),e[19]=v,e[20]=g,e[21]=y):y=e[21];let D;return e[22]!==y||e[23]!==u?(D=(0,Q.jsx)(E,{open:!0,onOpenChange:u,children:y}),e[22]=y,e[23]=u,e[24]=D):D=e[24],D};function ve(){let e=document.baseURI.split(`?`)[0];window.open(e,`_self`)}var ye=e=>{let t=(0,Z.c)(2),{reason:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{className:`font-mono text-center text-base text-(--red-11)`,children:(0,Q.jsx)(`p`,{children:n})}),t[0]=n,t[1]=r),r},be=e=>{let t=(0,Z.c)(7),{connection:n,className:r,children:i}=e,a;t[0]!==n.reason||t[1]!==n.state?(a=n.state===m.CLOSED&&(0,Q.jsx)(ye,{reason:n.reason}),t[0]=n.reason,t[1]=n.state,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==r||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:r,children:[i,a]}),t[3]=i,t[4]=r,t[5]=a,t[6]=o):o=t[6],o},xe=n(e=>e(s)||!_(e(h).state)),Se=e=>{let t=(0,Z.c)(22),{appConfig:n,hideHeader:i}=e,{setCells:o}=a(),{sendComponentValues:s}=U(),c;t[0]===s?c=t[1]:(c=()=>(A.INSTANCE.start(s),Ce),t[0]=s,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[2]=u):u=t[2],(0,ge.useEffect)(c,u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=p(),t[3]=d):d=t[3];let f;t[4]===o?f=t[5]:(f={autoInstantiate:!0,setCells:o,sessionId:d},t[4]=o,t[5]=f);let{connection:m,reconnect:h}=N(f),g=r(l),_;if(t[6]===Symbol.for(`react.memo_cache_sentinel`)){bb0:{if(typeof window>`u`){_=null;break bb0}let e=new URL(window.location.href);if(!e.searchParams.has(`file`)){_=null;break bb0}e.searchParams.delete(`file`);let t=e.searchParams.toString();_=t?`${e.pathname}?${t}`:e.pathname}t[6]=_}else _=t[6];let y=_,b;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(_e,{}),t[7]=b):b=t[7];let x=i?`hidden`:`sm:pt-8`,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=y&&(0,Q.jsx)(`div`,{className:`flex items-center px-6 pt-4 sm:-mt-8`,children:(0,Q.jsxs)(`a`,{href:y,"aria-label":`Back to gallery`,className:v(D({variant:`text`,size:`sm`}),`gap-2 px-0 text-muted-foreground hover:text-foreground`),children:[(0,Q.jsx)(L,{className:`size-4`,"aria-hidden":!0}),(0,Q.jsx)(`span`,{children:`Back`})]})}),t[8]=S):S=t[8];let C;t[9]!==m||t[10]!==x?(C=(0,Q.jsx)(be,{connection:m,className:x,children:S}),t[9]=m,t[10]=x,t[11]=C):C=t[11];let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ce,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:`text-center text-sm text-muted-foreground mt-2`,children:`Connecting...`})]}),t[12]=w):w=t[12];let T;t[13]===n?T=t[14]:(T=(0,Q.jsx)(j,{requires:xe,delay:2e3,fallback:w,children:(0,Q.jsx)(P,{appConfig:n,mode:`read`})}),t[13]=n,t[14]=T);let E;return t[15]!==n.width||t[16]!==m||t[17]!==g||t[18]!==h||t[19]!==T||t[20]!==C?(E=(0,Q.jsxs)(I,{connection:m,isRunning:g,width:n.width,onReconnect:h,children:[b,C,T]}),t[15]=n.width,t[16]=m,t[17]=g,t[18]=h,t[19]=T,t[20]=C,t[21]=E):E=t[21],E};function Ce(){A.INSTANCE.stop()}var we=()=>{let e=(0,Z.c)(3),t=r(o);if(!g()||!t)return null;let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(`span`,{children:[`Static`,` `,(0,Q.jsx)(`a`,{href:f.githubPage,target:`_blank`,className:`text-(--sky-11) font-medium underline`,children:`marimo`}),` `,`notebook - Run or edit for full interactivity`]}),e[0]=n):n=e[0];let i;return e[1]===t?i=e[2]:(i=(0,Q.jsxs)(`div`,{className:`px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm`,"data-testid":`static-notebook-banner`,children:[n,(0,Q.jsx)(`span`,{className:`shrink-0`,children:(0,Q.jsx)(Te,{code:t})})]}),e[1]=t,e[2]=i),i},Te=e=>{let t=(0,Z.c)(44),{code:n}=e,r=k.basename(oe()||`notebook.py`),[i]=d(),a=i.sharing?.molab??!0,o=Ee(window.location.href,r),s=o!==r,c=ee(o),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(ae,{asChild:!0,children:(0,Q.jsx)(O,{"data-testid":`static-notebook-dialog-trigger`,variant:`outline`,size:`xs`,children:`Run or Edit`})}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=(0,Q.jsx)(ie,{children:r}),t[1]=r,t[2]=u);let p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(`a`,{href:f.githubPage,target:`_blank`,className:`text-(--sky-11) hover:underline font-medium`,children:`marimo`}),t[3]=p):p=t[3];let m=s?`Run it`:`Download it, then run it`,h;t[4]===m?h=t[5]:(h=(0,Q.jsxs)(`p`,{children:[`This is a static`,` `,p,` `,`notebook. `,m,` `,`locally for full interactivity.`]}),t[4]=m,t[5]=h);let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsxs)(q,{"aria-label":`Package manager`,children:[(0,Q.jsx)(Y,{value:`uv`,children:`uv`}),(0,Q.jsx)(Y,{value:`pip`,children:`pip`}),(0,Q.jsx)(Y,{value:`conda`,children:`conda`})]}),t[6]=g):g=t[6];let _=`uvx marimo edit --sandbox ${c}`,v;t[7]===_?v=t[8]:(v=(0,Q.jsx)(K,{value:`uv`,children:(0,Q.jsx)($,{command:_})}),t[7]=_,t[8]=v);let y=`pip install marimo\nmarimo edit ${c}`,b;t[9]===y?b=t[10]:(b=(0,Q.jsx)(K,{value:`pip`,children:(0,Q.jsx)($,{command:y})}),t[9]=y,t[10]=b);let x=`conda install -c conda-forge marimo\nmarimo edit ${c}`,S;t[11]===x?S=t[12]:(S=(0,Q.jsx)(K,{value:`conda`,children:(0,Q.jsx)($,{command:x})}),t[11]=x,t[12]=S);let C;t[13]!==b||t[14]!==S||t[15]!==v?(C=(0,Q.jsxs)(G,{defaultValue:`uv`,children:[g,v,b,S]}),t[13]=b,t[14]=S,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==a?(w=a&&(0,Q.jsx)(De,{code:n}),t[17]=n,t[18]=a,t[19]=w):w=t[19];let T;t[20]!==C||t[21]!==w||t[22]!==h?(T=(0,Q.jsx)(te,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:`pt-3 text-left space-y-3`,children:[h,C,w]})}),t[20]=C,t[21]=w,t[22]=h,t[23]=T):T=t[23];let E;t[24]!==T||t[25]!==u?(E=(0,Q.jsxs)(B,{children:[u,T]}),t[24]=T,t[25]=u,t[26]=E):E=t[26];let D;t[27]===n?D=t[28]:(D=async()=>{await V(n),H({title:`Copied to clipboard`})},t[27]=n,t[28]=D);let A;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Q.jsx)(z,{className:`w-3 h-3 mr-2`}),t[29]=A):A=t[29];let j;t[30]===D?j=t[31]:(j=(0,Q.jsxs)(O,{"data-testid":`copy-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:D,children:[A,`Copy code`]}),t[30]=D,t[31]=j);let M;t[32]!==n||t[33]!==r?(M=()=>{pe(new Blob([n],{type:`text/plain`}),r)},t[32]=n,t[33]=r,t[34]=M):M=t[34];let N;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Q.jsx)(ue,{className:`w-3 h-3 mr-2`}),t[35]=N):N=t[35];let P;t[36]===M?P=t[37]:(P=(0,Q.jsxs)(O,{"data-testid":`download-static-notebook-dialog-button`,variant:`outline`,size:`sm`,onClick:M,children:[N,`Download`]}),t[36]=M,t[37]=P);let F;t[38]!==j||t[39]!==P?(F=(0,Q.jsxs)(`div`,{className:`flex gap-3 pt-2`,children:[j,P]}),t[38]=j,t[39]=P,t[40]=F):F=t[40];let I;return t[41]!==E||t[42]!==F?(I=(0,Q.jsxs)(ne,{children:[l,(0,Q.jsxs)(re,{children:[E,F]})]}),t[41]=E,t[42]=F,t[43]=I):I=t[43],I};function Ee(e,t){let n=new URL(e);if(n.protocol!==`http:`&&n.protocol!==`https:`)return t;let r=n.pathname.endsWith(`.html`)&&n.search===``,i=n.protocol===`https:`&&(n.hostname===`marimo.app`||n.hostname===`links.marimo.app`||n.hostname===`static.marimo.app`&&n.pathname.startsWith(`/static`)||n.pathname.includes(`/notebooks/nb`));return!r&&!i?t:(n.hash=``,n.href)}var $=e=>{let t=(0,Z.c)(10),{command:n}=e,r;t[0]===n?r=t[1]:(r=(0,Q.jsx)(`pre`,{className:`p-3 pr-10 font-mono text-(--sky-11) leading-relaxed whitespace-pre-wrap break-all`,children:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=async()=>{await V(n),H({title:`Command copied to clipboard`})},t[2]=n,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(z,{className:`w-3.5 h-3.5`}),t[4]=a):a=t[4];let o;t[5]===i?o=t[6]:(o=(0,Q.jsx)(O,{"aria-label":`Copy command`,className:`absolute right-2 top-2`,variant:`ghost`,size:`icon`,onClick:i,children:a}),t[5]=i,t[6]=o);let s;return t[7]!==r||t[8]!==o?(s=(0,Q.jsxs)(`div`,{className:`relative rounded-lg border bg-(--sky-2) border-(--sky-7)`,children:[r,o]}),t[7]=r,t[8]=o,t[9]=s):s=t[9],s},De=e=>{let t=(0,Z.c)(8),{code:n}=e,r;t[0]===n?r=t[1]:(r=fe({code:n,baseUrl:`${f.molab}/new`}),t[0]=n,t[1]=r);let i=r,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(me,{size:12,strokeWidth:1.5,className:`mr-1.5 mt-px text-(--grass-11)`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Q.jsx)(O,{asChild:!0,variant:`outline`,size:`xs`,className:`shrink-0`,children:(0,Q.jsxs)(`a`,{href:i,target:`_blank`,rel:`noopener noreferrer`,children:[a,`Open in molab`]})}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsxs)(`p`,{className:`text-sm text-(--sky-12)`,children:[`Run this notebook in `,(0,Q.jsx)(`span`,{className:`font-semibold`,children:`molab`}),`, marimo's cloud-hosted notebook platform.`]}),t[5]=s):s=t[5];let c;return t[6]===o?c=t[7]:(c=(0,Q.jsxs)(`div`,{className:`pt-3 border-t flex gap-2 items-center`,children:[o,s]}),t[6]=o,t[7]=c),c},Oe=e=>{let t=(0,Z.c)(17),n=r(X).kind,i=n===`static`||n===`wasm`,{selectedLayout:a}=J(),o;t[0]===a?o=t[1]:(o=W({selectedLayout:a,isReading:!0,searchParams:new URLSearchParams(window.location.search)}),t[0]=a,t[1]=o);let s=i&&o===`slides`,c;t[2]===s?c=t[3]:(c=!s&&(0,Q.jsx)(we,{}),t[2]=s,t[3]=c);let l;t[4]!==s||t[5]!==e.appConfig?(l=(0,Q.jsx)(Se,{appConfig:e.appConfig,hideHeader:s}),t[4]=s,t[5]=e.appConfig,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==s?(u=i&&!s&&(0,Q.jsx)(ke,{}),t[7]=i,t[8]=s,t[9]=u):u=t[9];let d;t[10]!==c||t[11]!==l||t[12]!==u?(d=(0,Q.jsxs)(de,{children:[c,l,u]}),t[10]=c,t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(se,{}),t[14]=f):f=t[14];let p;return t[15]===d?p=t[16]:(p=(0,Q.jsx)(R,{children:(0,Q.jsxs)(le,{direction:`horizontal`,autoSaveId:`marimo:chrome:v1:run1`,children:[d,f]})}),t[15]=d,t[16]=p),p},ke=()=>{let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`fixed bottom-0 right-0 z-50 print:hidden`,"data-testid":`watermark`,children:(0,Q.jsxs)(`a`,{href:f.githubPage,target:`_blank`,className:`text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{children:`made with marimo`}),(0,Q.jsx)(he,{className:`h-4 w-auto`})]})}),e[0]=t):t=e[0],t};export{Oe as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,u as i}from"./useEvent-Dc9HkKI2.js";import{t as a}from"./react-CUdNIagt.js";import{$r as o,Ai as s,Bi as c,Bt as l,Cn as u,D as d,Gn as f,Ha as p,Hi as m,Ii as h,Ji as g,Ki as _,Kn as v,Li as y,M as b,Mi as x,P as S,Qr as C,Ri as w,Rn as T,Rt as E,Ui as D,Wa as O,Wi as k,Xi as A,Yi as j,Zi as M,_n as ee,c as N,fn as P,gn as F,i as I,jn as L,qi as R,qn as z,ro as te,ti as ne,to as re,yr as ie,yt as B,zi as V}from"./cells-Cu3p4E4U.js";import{t as H}from"./compiler-runtime-BQ9S8nyo.js";import{s as ae}from"./config-BxZgoFvi.js";import{O as U}from"./config-DpGPGznL.js";import{t as W}from"./ErrorBoundary-DiVAOuIu.js";import{t as oe}from"./cn-ldLVeaqm.js";import{t as G}from"./jsx-runtime-B74pBk57.js";import{r as se}from"./config-B4VJJibu.js";import{t as ce}from"./tooltip-DR2Z2N4w.js";import{r as le,t as ue}from"./button-BoklZTGL.js";import{t as K}from"./createLucideIcon-rHn2EdoM.js";import{i as q}from"./paths-CzfpItSz.js";import{r as J}from"./useNumberFormatter-C4-_TnkF.js";import{R as de,j as fe}from"./RunButton-CUNPkj6f.js";import{a as pe}from"./input-BDakodZ2.js";import{t as me}from"./copy-icon-DFhUGBjO.js";import{l as he}from"./arrays-BqUx5USx.js";import{i as ge}from"./strings-BHZPE0Mc.js";import{r as _e}from"./requests-yTHMxhVa.js";import{t as ve}from"./context-BFOBKCJB.js";import{n as ye}from"./useAsyncData-DucTwMkf.js";import{$t as be,An as xe,Jt as Se,Mn as Ce,Nn as we,On as Te,Qt as Ee,S as De,Sn as Oe,Xt as ke,Yt as Ae,Zt as je,_ as Me,_n as Ne,bn as Pe,da as Fe,in as Ie,jn as Le,k as Re,kn as ze,nn as Be,nr as Ve,v as He,vn as Ue,xn as We,yn as Ge}from"./index-CFkhNhbS.js";import{t as Ke}from"./empty-state-CzxjZqGW.js";import{n as qe,t as Je}from"./common-ER8tZQOB.js";import{a as Ye,i as Xe,n as Ze,o as Qe,r as $e,s as et,t as tt}from"./components-Bzlif-Xy.js";var nt=K(`square-equal`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 10h10`,key:`1101jm`}],[`path`,{d:`M7 14h10`,key:`1mhdw3`}]]),Y=H(),X=e(a(),1),Z=G(),rt=1;function it(e){return 1.75+e*rt}function at(e){return 3+e*rt}function ot(e){return 3.25+e*rt}var Q={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function $(e){return{paddingLeft:`${e}rem`}}var st=n(e=>{let t=e(w),n=e(ne),r=e(I);return he(t,e=>{if(!e.variable_name)return-1;let t=Object.values(n).find(t=>t.name===e.variable_name);if(!t)return 0;let i=r.inOrderIds.indexOf(t.declaredBy[0]);return i===-1?0:i})}),ct=U(`marimo:datasources:hideEmpty`,!1,C,{getOnInit:!0});function lt(e){let t=!1,n=[];for(let r of e){if(!k(r)||!m(r)){n.push(r);continue}let e=r.child_schemas??[],i=lt(e);if(r.tables.length===0&&i.length===0){t=!0;continue}if(i===e){n.push(r);continue}t=!0,n.push({...r,child_schemas:i})}return t?n:e}function ut(e){let t=!1,n=[];for(let r of e){if(D(r)&&r.schemas.length===0){t=!0;continue}if(r.schemas.length===0){n.push(r);continue}let e=lt(r.schemas);if(e.length===0){t=!0;continue}if(e===r.schemas){n.push(r);continue}t=!0,n.push({...r,schemas:e})}return t?n:e}var dt=()=>{let e=(0,Y.c)(42),[n,a]=X.useState(``),[o,s]=t(ct),c=i(y),l=r(st),d=r(x),f;bb0:{if(!o){f=d;break bb0}let t,n;e[0]===d?(t=e[1],n=e[2]):(t=!1,n=d.map(e=>{let n=ut(e.databases);return n===e.databases?e:(t=!0,{...e,databases:n})}),e[0]=d,e[1]=t,e[2]=n),f=t?n:d}let p=f;if(l.length===0&&p.length===0){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(Ke,{title:`No tables found`,description:`Any datasets/dataframes in the global scope will be shown here.`,action:(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,variant:`outline`,size:`sm`}),icon:(0,Z.jsx)(q,{})}),e[3]=t):t=e[3],t}let m;e[4]===n?m=e[5]:(m=n.trim(),e[4]=n,e[5]=m);let h=!!m,g;e[6]===c?g=e[7]:(g=e=>{c(e.length>0),a(e)},e[6]=c,e[7]=g);let _;e[8]!==n||e[9]!==g?(_=(0,Z.jsx)(F,{placeholder:`Search tables...`,className:`h-6 m-1`,value:n,onValueChange:g,rootClassName:`flex-1 border-r border-b-0`}),e[8]=n,e[9]=g,e[10]=_):_=e[10];let v;e[11]===h?v=e[12]:(v=h&&(0,Z.jsx)(`button`,{type:`button`,className:`float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,onClick:()=>a(``),children:(0,Z.jsx)(J,{className:`h-4 w-4`})}),e[11]=h,e[12]=v);let b=!o,S;e[13]!==o||e[14]!==s?(S=()=>s(!o),e[13]=o,e[14]=s,e[15]=S):S=e[15];let C;e[16]!==b||e[17]!==S?(C=(0,Z.jsx)(Ie,{"data-testid":`datasources-hide-empty-button`,isVisible:b,onToggle:S,showTooltip:`Show empty schemas and databases`,hideTooltip:`Hide empty schemas and databases`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[16]=b,e[17]=S,e[18]=C):C=e[18];let w;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(Qe,{group:`database`,label:`Add database or catalog`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 rounded-none focus-visible:outline-hidden`}),e[19]=w):w=e[19];let T;e[20]!==_||e[21]!==v||e[22]!==C?(T=(0,Z.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[_,v,C,w]}),e[20]=_,e[21]=v,e[22]=C,e[23]=T):T=e[23];let E;if(e[24]!==p||e[25]!==n){let t;e[27]===n?t=e[28]:(t=e=>(0,Z.jsx)(ft,{connection:e,hasChildren:e.databases.length>0,children:e.databases.map(t=>(0,Z.jsx)(gt,{connection:e,database:t,searchValue:n},t.name))},e.name),e[27]=n,e[28]=t),E=p.map(t),e[24]=p,e[25]=n,e[26]=E}else E=e[26];let D;e[29]!==p.length||e[30]!==l.length?(D=p.length>0&&l.length>0&&(0,Z.jsxs)(Ae,{className:`pr-2`,style:$(Q.engine),children:[(0,Z.jsx)(Re,{className:`h-4 w-4 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:`text-xs`,children:`Python`})]}),e[29]=p.length,e[30]=l.length,e[31]=D):D=e[31];let O;e[32]!==n||e[33]!==l?(O=l.length>0&&(0,Z.jsx)(bt,{tables:l,searchValue:n}),e[32]=n,e[33]=l,e[34]=O):O=e[34];let k;e[35]!==E||e[36]!==D||e[37]!==O?(k=(0,Z.jsxs)(u,{className:`flex flex-col`,children:[E,D,O]}),e[35]=E,e[36]=D,e[37]=O,e[38]=k):k=e[38];let A;return e[39]!==k||e[40]!==T?(A=(0,Z.jsxs)(P,{className:`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden`,shouldFilter:!1,children:[T,k]}),e[39]=k,e[40]=T,e[41]=A):A=e[41],A},ft=e=>{let t=(0,Y.c)(26),{connection:n,children:r,hasChildren:i}=e,a=n.name===M,o=a?`In-Memory`:n.name,{previewDataSourceConnection:c}=_e(),l;t[0]!==n.name||t[1]!==c?(l=async()=>{await c({engine:n.name})},t[0]=n.name,t[1]=c,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=$(Q.engine),t[3]=d):d=t[3];let f;t[4]===n.dialect?f=t[5]:(f=(0,Z.jsx)(L,{className:`h-4 w-4 text-muted-foreground`,name:n.dialect}),t[4]=n.dialect,t[5]=f);let p;t[6]===n.dialect?p=t[7]:(p=s(n.dialect),t[6]=n.dialect,t[7]=p);let m;t[8]===p?m=t[9]:(m=(0,Z.jsx)(`span`,{className:`text-xs`,children:p}),t[8]=p,t[9]=m);let h=o,g;t[10]===h?g=t[11]:(g=(0,Z.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,(0,Z.jsx)(et,{variableName:h}),`)`]}),t[10]=h,t[11]=g);let _;t[12]!==u||t[13]!==a?(_=!a&&(0,Z.jsx)(Be,{onClick:u,tooltip:`Refresh connection`,className:`ml-auto h-4 p-0`,iconClassName:`h-3.5 w-3.5`}),t[12]=u,t[13]=a,t[14]=_):_=t[14];let v;t[15]!==f||t[16]!==m||t[17]!==g||t[18]!==_?(v=(0,Z.jsxs)(Ae,{className:`pr-2`,style:d,children:[f,m,g,_]}),t[15]=f,t[16]=m,t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==r||t[21]!==i?(y=i?r:(0,Z.jsx)(ke,{content:`No databases available`,style:$(Q.engineEmpty)}),t[20]=r,t[21]=i,t[22]=y):y=t[22];let b;return t[23]!==y||t[24]!==v?(b=(0,Z.jsxs)(Z.Fragment,{children:[v,y]}),t[23]=y,t[24]=v,t[25]=b):b=t[25],b},pt=X.createContext(null);function mt(){let e=X.useContext(pt);if(e==null)throw Error(`useDataSourceTree must be used within a DataSourceTreeContext.Provider`);return e}function ht(e,{schema:t,schemaPath:n}){return{engine:e.engineName,database:e.databaseName,schema:t,schemaPath:n,defaultSchema:e.defaultSchema,defaultDatabase:e.defaultDatabase,dialect:e.dialect}}var gt=e=>{let t=(0,Y.c)(21),{connection:n,database:r,searchValue:i}=e,a;t[0]!==n.default_database||t[1]!==n.default_schema||t[2]!==n.dialect||t[3]!==n.name||t[4]!==r.name||t[5]!==i?(a={engineName:n.name,databaseName:r.name,dialect:n.dialect,defaultSchema:n.default_schema,defaultDatabase:n.default_database,searchValue:i},t[0]=n.default_database,t[1]=n.default_schema,t[2]=n.dialect,t[3]=n.name,t[4]=r.name,t[5]=i,t[6]=a):a=t[6];let o=a,s=n.name,c=r.schemas,l;t[7]===r?l=t[8]:(l=D(r),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],t[9]=u):u=t[9];let d;t[10]!==r.schemas||t[11]!==l?(d=(0,Z.jsx)(vt,{schemas:c,schemasResolved:l,schemaPath:u,depth:0}),t[10]=r.schemas,t[11]=l,t[12]=d):d=t[12];let f;t[13]!==d||t[14]!==o?(f=(0,Z.jsx)(pt.Provider,{value:o,children:d}),t[13]=d,t[14]=o,t[15]=f):f=t[15];let p;return t[16]!==n.name||t[17]!==r||t[18]!==i||t[19]!==f?(p=(0,Z.jsx)(_t,{engineName:s,database:r,searchValue:i,children:f}),t[16]=n.name,t[17]=r,t[18]=i,t[19]=f,t[20]=p):p=t[20],p},_t=e=>{let t=(0,Y.c)(29),{searchValue:n,engineName:r,database:i,children:a}=e,o;t[0]!==i||t[1]!==n?(o=g(i,n),t[0]=i,t[1]=n,t[2]=o):o=t[2];let s=o,[c,l]=X.useState(s),[u,d]=X.useState(!1),[f,p]=X.useState(n),[m,h]=X.useState(s);(f!==n||m!==s)&&(p(n),h(s),l(s));let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=$(Q.database),t[3]=_):_=t[3];let v;t[4]!==c||t[5]!==u?(v=()=>{l(!c),d(!u)},t[4]=c,t[5]=u,t[6]=v):v=t[6];let y=`${r}:${i.name}`,b;t[7]===c?b=t[8]:(b=(0,Z.jsx)(be,{isExpanded:c}),t[7]=c,t[8]=b);let x=u&&c?`text-foreground`:`text-muted-foreground`,S;t[9]===x?S=t[10]:(S=oe(`h-4 w-4`,x),t[9]=x,t[10]=S);let C;t[11]===S?C=t[12]:(C=(0,Z.jsx)(q,{className:S}),t[11]=S,t[12]=C);let w=u&&c&&`font-semibold`,T;t[13]===w?T=t[14]:(T=oe(w),t[13]=w,t[14]=T);let E;t[15]===i.name?E=t[16]:(E=i.name===``?(0,Z.jsx)(`i`,{children:`Not connected`}):i.name,t[15]=i.name,t[16]=E);let D;t[17]!==T||t[18]!==E?(D=(0,Z.jsx)(`span`,{className:T,children:E}),t[17]=T,t[18]=E,t[19]=D):D=t[19];let O;t[20]!==D||t[21]!==v||t[22]!==y||t[23]!==b||t[24]!==C?(O=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:_,onSelect:v,value:y,children:[b,C,D]}),t[20]=D,t[21]=v,t[22]=y,t[23]=b,t[24]=C,t[25]=O):O=t[25];let k=c&&a,A;return t[26]!==O||t[27]!==k?(A=(0,Z.jsxs)(Z.Fragment,{children:[O,k]}),t[26]=O,t[27]=k,t[28]=A):A=t[28],A},vt=e=>{let{schemas:t,schemasResolved:n,depth:r}=e,i=mt(),{engineName:a,databaseName:o,searchValue:s}=i,{addSchemaList:c}=h(),l=Me(e.schemaPath),[u,d]=X.useState(!1),{isPending:p,error:m}=ye(async()=>{if(!n&&a){d(!0);try{let e=await f.request({engine:a,database:o,schemaPath:l});c({schemas:e.schemas??[],sqlSchemaContext:{engine:a,database:o,schemaPath:l}})}finally{d(!1)}}},[n,a,o,l]),g=$(it(r));return p||u?(0,Z.jsx)(Ee,{message:`Loading schemas...`,style:g}):m?(0,Z.jsx)(je,{error:m,style:g}):t.length===0?(0,Z.jsx)(ke,{content:`No schemas available`,style:g}):(0,Z.jsx)(Z.Fragment,{children:t.map(e=>_(e.name)?(0,Z.jsx)(bt,{tables:e.tables,tablesResolved:k(e),searchValue:s,sqlTableContext:ht(i,{schema:e.name,schemaPath:l})},e.name):(0,Z.jsx)(yt,{schema:e,schemaPath:[...l,e.name],depth:r},e.name))})},yt=e=>{let t=(0,Y.c)(41),{schema:n,schemaPath:r,depth:i}=e,a=mt(),{databaseName:o,searchValue:s}=a,c;t[0]!==n||t[1]!==s?(c=R(n,s),t[0]=n,t[1]=s,t[2]=c):c=t[2];let l=c,[u,d]=X.useState(l),[f,p]=X.useState(!1),[h,g]=X.useState(s),[_,v]=X.useState(l),y;t[3]===r?y=t[4]:(y=r.join(`.`),t[3]=r,t[4]=y);let b=`${o}:${y}`,x;t[5]===n.child_schemas?x=t[6]:(x=n.child_schemas??[],t[5]=n.child_schemas,t[6]=x);let S=x;(h!==s||_!==l)&&(g(s),v(l),d(l));let C;t[7]===i?C=t[8]:(C=$(it(i)),t[7]=i,t[8]=C);let w;t[9]!==u||t[10]!==f?(w=()=>{d(!u),p(!f)},t[9]=u,t[10]=f,t[11]=w):w=t[11];let T;t[12]===u?T=t[13]:(T=(0,Z.jsx)(be,{isExpanded:u}),t[12]=u,t[13]=T);let E=f&&u&&`text-foreground`,D;t[14]===E?D=t[15]:(D=oe(`h-4 w-4 text-muted-foreground`,E),t[14]=E,t[15]=D);let O;t[16]===D?O=t[17]:(O=(0,Z.jsx)(re,{className:D}),t[16]=D,t[17]=O);let A=f&&u&&`font-semibold`,j;t[18]===A?j=t[19]:(j=oe(A),t[18]=A,t[19]=j);let M;t[20]!==n.name||t[21]!==j?(M=(0,Z.jsx)(`span`,{className:j,children:n.name}),t[20]=n.name,t[21]=j,t[22]=M):M=t[22];let N;t[23]!==M||t[24]!==C||t[25]!==w||t[26]!==T||t[27]!==O||t[28]!==b?(N=(0,Z.jsxs)(ee,{className:`text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none`,style:C,onSelect:w,value:b,children:[T,O,M]}),t[23]=M,t[24]=C,t[25]=w,t[26]=T,t[27]=O,t[28]=b,t[29]=N):N=t[29];let P;t[30]!==S||t[31]!==i||t[32]!==u||t[33]!==n||t[34]!==r||t[35]!==s||t[36]!==a?(P=u&&(0,Z.jsxs)(Z.Fragment,{children:[(S.length>0||!m(n))&&(0,Z.jsx)(vt,{schemas:S,schemasResolved:m(n),schemaPath:r,depth:i+1}),(0,Z.jsx)(bt,{tables:n.tables,tablesResolved:k(n),searchValue:s,tableIndentRem:at(i),columnIndentRem:ot(i),sqlTableContext:ht(a,{schema:n.name,schemaPath:r})})]}),t[30]=S,t[31]=i,t[32]=u,t[33]=n,t[34]=r,t[35]=s,t[36]=a,t[37]=P):P=t[37];let F;return t[38]!==N||t[39]!==P?(F=(0,Z.jsxs)(Z.Fragment,{children:[N,P]}),t[38]=N,t[39]=P,t[40]=F):F=t[40],F},bt=e=>{let t=(0,Y.c)(31),{tables:n,sqlTableContext:r,searchValue:i,tablesResolved:a,tableIndentRem:o,columnIndentRem:s}=e,c=a===void 0||a,{addTableList:l}=h(),[u,d]=X.useState(!1),f;t[0]!==l||t[1]!==r||t[2]!==c?(f=async()=>{if(!c&&r){d(!0);let{engine:e,database:t,schema:n,schemaPath:i}=r,a=await z.request({engine:e,database:t,schema:n,schemaPath:i??[]});if(!a?.tables)throw d(!1),Error(`No tables available`);l({tables:a.tables,sqlTableContext:r}),d(!1)}},t[0]=l,t[1]=r,t[2]=c,t[3]=f):f=t[3];let p;t[4]!==r||t[5]!==c?(p=[c,r],t[4]=r,t[5]=c,t[6]=p):p=t[6];let{isPending:m,error:g}=ye(f,p),_=o??Q.tableLoading,v;t[7]===_?v=t[8]:(v=$(_),t[7]=_,t[8]=v);let y=v;if(m||u){let e;return t[9]===y?e=t[10]:(e=(0,Z.jsx)(Ee,{message:`Loading tables...`,style:y}),t[9]=y,t[10]=e),e}if(g){let e;return t[11]!==g||t[12]!==y?(e=(0,Z.jsx)(je,{error:g,style:y}),t[11]=g,t[12]=y,t[13]=e):e=t[13],e}if(n.length===0){let e;return t[14]===y?e=t[15]:(e=(0,Z.jsx)(ke,{content:`No tables found`,style:y}),t[14]=y,t[15]=e),e}let b;if(t[16]!==s||t[17]!==i||t[18]!==r||t[19]!==o||t[20]!==n){let e;t[22]===i?e=t[23]:(e=e=>!i||e.name.toLowerCase().includes(i.toLowerCase()),t[22]=i,t[23]=e);let a=n.filter(e),c;t[24]!==s||t[25]!==i||t[26]!==r||t[27]!==o?(c=e=>(0,Z.jsx)(xt,{table:e,sqlTableContext:r,isSearching:!!i,tableIndentRem:o,columnIndentRem:s},e.name),t[24]=s,t[25]=i,t[26]=r,t[27]=o,t[28]=c):c=t[28],b=a.map(c),t[16]=s,t[17]=i,t[18]=r,t[19]=o,t[20]=n,t[21]=b}else b=t[21];let x;return t[29]===b?x=t[30]:(x=(0,Z.jsx)(Z.Fragment,{children:b}),t[29]=b,t[30]=x),x},xt=e=>{let t=(0,Y.c)(69),{table:n,sqlTableContext:i,isSearching:a,tableIndentRem:o,columnIndentRem:s}=e,{addTable:c}=h(),[u,f]=X.useState(!1),p=n.columns.length>0,m;t[0]!==c||t[1]!==u||t[2]!==i||t[3]!==n.name||t[4]!==p?(m=async()=>{if(u&&!p&&i){let{engine:e,database:t,schema:r,schemaPath:a}=i,o=await v.request({engine:e,database:t,schema:r,tableName:n.name,schemaPath:a??[]});if(!o?.table)throw Error(`No table details available`);c({table:o.table,sqlTableContext:i})}},t[0]=c,t[1]=u,t[2]=i,t[3]=n.name,t[4]=p,t[5]=m):m=t[5];let g;t[6]!==u||t[7]!==p?(g=[u,p],t[6]=u,t[7]=p,t[8]=g):g=t[8];let{isFetching:_,isPending:y,error:b}=ye(m,g),x=r(ae),S=E(),{createNewCell:C}=d(),w=De(),T;t[9]!==w||t[10]!==x||t[11]!==C||t[12]!==S||t[13]!==i||t[14]!==n?(T=()=>{l({autoInstantiate:x,createNewCell:C,fromCellId:S}),w((()=>{if(n.source_type===`catalog`){let e=i?.database?[i.database,...i.schemaPath??[],n.name].join(`.`):n.name;return`${n.engine}.load_table("${e}")`}if(i)return j({table:n,columnName:`*`,sqlTableContext:i});switch(n.source_type){case`local`:return`mo.ui.table(${n.name})`;case`duckdb`:case`connection`:return j({table:n,columnName:`*`,sqlTableContext:i});default:return ge(n.source_type),``}})())},t[9]=w,t[10]=x,t[11]=C,t[12]=S,t[13]=i,t[14]=n,t[15]=T):T=t[15];let D=T,k;t[16]!==n.num_columns||t[17]!==n.num_rows?(k=()=>{let e=[];return n.num_rows!=null&&e.push(`${n.num_rows} rows`),n.num_columns!=null&&e.push(`${n.num_columns} columns`),e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-row gap-2 items-center pl-6 group-hover:hidden`,children:(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.join(`, `)})})},t[16]=n.num_columns,t[17]=n.num_rows,t[18]=k):k=t[18];let M=k,N;t[19]!==s||t[20]!==b||t[21]!==_||t[22]!==y||t[23]!==i||t[24]!==n?(N=()=>{let e=$(s??Q.tableLoading);if(y||_)return(0,Z.jsx)(Ee,{message:`Loading columns...`,style:e});if(b)return(0,Z.jsx)(je,{error:b,style:e});let t=n.columns;return t.length===0?(0,Z.jsx)(ke,{content:`No columns found`,style:e}):t.map(e=>(0,Z.jsx)(St,{table:n,column:e,sqlTableContext:i,columnIndentRem:s},e.name))},t[19]=s,t[20]=b,t[21]=_,t[22]=y,t[23]=i,t[24]=n,t[25]=N):N=t[25];let P=N,F;t[26]!==u||t[27]!==a||t[28]!==n.source_type||t[29]!==n.type?(F=()=>{if(n.source_type===`local`)return;let e=n.type===`table`?O:te;return(0,Z.jsx)(e,{className:`h-3 w-3`,strokeWidth:u||a?2.5:void 0})},t[26]=u,t[27]=a,t[28]=n.source_type,t[29]=n.type,t[30]=F):F=t[30];let I=F,L;t[31]!==i||t[32]!==n.name?(L=A(i,n.name),t[31]=i,t[32]=n.name,t[33]=L):L=t[33];let R=L,z=o??(i?Q.tableSchemaless:0),ne=(u||a)&&`font-semibold`,re;t[34]===ne?re=t[35]:(re=oe(`rounded-none group h-8 cursor-pointer`,ne),t[34]=ne,t[35]=re);let ie;t[36]===z?ie=t[37]:(ie=$(z),t[36]=z,t[37]=ie);let B;t[38]===u?B=t[39]:(B=()=>f(!u),t[38]=u,t[39]=B);let V;t[40]===I?V=t[41]:(V=I(),t[40]=I,t[41]=V);let H;t[42]===n.name?H=t[43]:(H=(0,Z.jsx)(`span`,{className:`text-sm`,children:n.name}),t[42]=n.name,t[43]=H);let U;t[44]!==V||t[45]!==H?(U=(0,Z.jsxs)(`div`,{className:`flex gap-2 items-center flex-1 pl-1`,children:[V,H]}),t[44]=V,t[45]=H,t[46]=U):U=t[46];let W;t[47]===M?W=t[48]:(W=M(),t[47]=M,t[48]=W);let G;t[49]===D?G=t[50]:(G=le.stopPropagation(()=>D()),t[49]=D,t[50]=G);let se;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,Z.jsx)(Fe,{className:`h-3 w-3`}),t[51]=se):se=t[51];let K;t[52]===G?K=t[53]:(K=(0,Z.jsx)(ce,{content:`Add table to notebook`,delayDuration:400,children:(0,Z.jsx)(ue,{className:`group-hover:inline-flex hidden`,variant:`text`,size:`icon`,onClick:G,children:se})}),t[52]=G,t[53]=K);let q;t[54]!==u||t[55]!==ie||t[56]!==B||t[57]!==U||t[58]!==W||t[59]!==K||t[60]!==re||t[61]!==R?(q=(0,Z.jsxs)(ee,{className:re,style:ie,value:R,"aria-selected":u,forceMount:!0,onSelect:B,children:[U,W,K]}),t[54]=u,t[55]=ie,t[56]=B,t[57]=U,t[58]=W,t[59]=K,t[60]=re,t[61]=R,t[62]=q):q=t[62];let J;t[63]!==u||t[64]!==P?(J=u&&P(),t[63]=u,t[64]=P,t[65]=J):J=t[65];let de;return t[66]!==q||t[67]!==J?(de=(0,Z.jsxs)(Z.Fragment,{children:[q,J]}),t[66]=q,t[67]=J,t[68]=de):de=t[68],de},St=e=>{let t=(0,Y.c)(51),{table:n,column:a,sqlTableContext:o,columnIndentRem:s}=e,[l,u]=X.useState(!1),d=r(y),f=i(V);d&&l&&u(!1),f(l?e=>new Set([...e,`${n.name}:${a.name}`]):e=>(e.delete(`${n.name}:${a.name}`),new Set(e)));let p=De(),{columnsPreviews:m}=c(),h;t[0]!==a.name||t[1]!==n.primary_keys?(h=n.primary_keys?.includes(a.name)||!1,t[0]=a.name,t[1]=n.primary_keys,t[2]=h):h=t[2];let g=h,_;t[3]!==a.name||t[4]!==n.indexes?(_=n.indexes?.includes(a.name)||!1,t[3]=a.name,t[4]=n.indexes,t[5]=_):_=t[5];let v=_,b;t[6]===p?b=t[7]:(b=e=>{p(e)},t[6]=p,t[7]=b);let x=b,S=Ct,C=l?`font-semibold`:``,w;t[8]!==a.name||t[9]!==C?(w=(0,Z.jsx)(`span`,{className:C,children:a.name}),t[8]=a.name,t[9]=C,t[10]=w):w=t[10];let T=w,E=`${n.name}.${a.name}`,D=`${n.name}.${a.name}`,O;t[11]===l?O=t[12]:(O=()=>u(!l),t[11]=l,t[12]=O);let k;t[13]!==s||t[14]!==o?(k=s??(o?ot(0):Q.columnLocal),t[13]=s,t[14]=o,t[15]=k):k=t[15];let A;t[16]===k?A=t[17]:(A=$(k),t[16]=k,t[17]=A);let j;t[18]!==a.type||t[19]!==T?(j=(0,Z.jsx)(Se,{columnName:T,dataType:a.type}),t[18]=a.type,t[19]=T,t[20]=j):j=t[20];let M;t[21]===g?M=t[22]:(M=g&&S({tooltipContent:`Primary key`,content:`PK`}),t[21]=g,t[22]=M);let N;t[23]===v?N=t[24]:(N=v&&S({tooltipContent:`Indexed`,content:`IDX`}),t[23]=v,t[24]=N);let P;t[25]!==A||t[26]!==j||t[27]!==M||t[28]!==N?(P=(0,Z.jsxs)(`div`,{className:`flex flex-row gap-2 items-center flex-1`,style:A,children:[j,M,N]}),t[25]=A,t[26]=j,t[27]=M,t[28]=N,t[29]=P):P=t[29];let F;t[30]===a.name?F=t[31]:(F=(0,Z.jsx)(ce,{content:`Copy column name`,delayDuration:400,children:(0,Z.jsx)(ue,{variant:`text`,size:`icon`,className:`group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground`,children:(0,Z.jsx)(me,{tooltip:!1,value:a.name,className:`h-3 w-3`})})}),t[30]=a.name,t[31]=F);let I;t[32]===a.external_type?I=t[33]:(I=(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:a.external_type}),t[32]=a.external_type,t[33]=I);let L;t[34]!==P||t[35]!==F||t[36]!==I||t[37]!==E||t[38]!==D||t[39]!==O?(L=(0,Z.jsxs)(ee,{className:`rounded-none py-1 group cursor-pointer`,value:D,onSelect:O,children:[P,F,I]},E),t[34]=P,t[35]=F,t[36]=I,t[37]=E,t[38]=D,t[39]=O,t[40]=L):L=t[40];let R;t[41]!==a||t[42]!==m||t[43]!==x||t[44]!==l||t[45]!==o||t[46]!==n?(R=l&&(0,Z.jsx)(`div`,{className:`pr-2 py-2 bg-(--slate-1) shadow-inner border-b`,style:$(Q.columnPreview),children:(0,Z.jsx)(W,{children:(0,Z.jsx)(He,{table:n,column:a,onAddColumnChart:x,preview:m.get(o?`${o.database}.${o.schema}.${n.name}:${a.name}`:`${n.name}:${a.name}`),sqlTableContext:o})})}),t[41]=a,t[42]=m,t[43]=x,t[44]=l,t[45]=o,t[46]=n,t[47]=R):R=t[47];let z;return t[48]!==L||t[49]!==R?(z=(0,Z.jsxs)(Z.Fragment,{children:[L,R]}),t[48]=L,t[49]=R,t[50]=z):z=t[50],z};function Ct(e){let{tooltipContent:t,content:n}=e;return(0,Z.jsx)(ce,{content:t,delayDuration:100,children:(0,Z.jsx)(`span`,{className:`text-xs text-black bg-gray-100 dark:invert rounded px-1`,children:n})})}function wt(e){return e}var Tt={name:`name`,type:`type-value`,defs:`defs-refs`},Et=[wt({id:Tt.name,accessorFn:e=>[e.name,e.declaredBy],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(Te,{header:`Name`,column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsx)(Je,{name:t,declaredBy:n})}}),wt({id:Tt.type,accessorFn:e=>[e.dataType,e.value],enableSorting:!0,sortingFn:`alphanumeric`,header:({column:e})=>(0,Z.jsx)(Te,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Type`}),(0,Z.jsx)(`span`,{children:`Value`})]}),column:e}),cell:({getValue:e})=>{let[t,n]=e();return(0,Z.jsxs)(`div`,{className:`max-w-[150px]`,children:[(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs`,children:t}),(0,Z.jsx)(`div`,{className:`text-ellipsis overflow-hidden whitespace-nowrap`,title:n??``,children:n})]})}}),wt({id:Tt.defs,accessorFn:e=>[e.declaredBy,e.usedBy,e.name,e.declaredByNames,e.usedByNames],enableSorting:!0,sortingFn:`basic`,header:({column:e})=>(0,Z.jsx)(Te,{header:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Z.jsx)(`span`,{children:`Declared By`}),(0,Z.jsx)(`span`,{children:`Used By`})]}),column:e}),cell:({getValue:e})=>{let[t,n,r]=e(),i=e=>{let t=N(e);t&&ie(t,r)};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1 py-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-center`,children:[(0,Z.jsx)(`span`,{title:`Declared by`,children:(0,Z.jsx)(nt,{className:`w-3.5 h-3.5 text-muted-foreground`})}),t.length===1?(0,Z.jsx)(Ve,{variant:`focus`,cellId:t[0],skipScroll:!0,onClick:()=>i(t[0])}):(0,Z.jsx)(`div`,{className:`text-destructive flex flex-row gap-2`,children:t.slice(0,3).map((e,n)=>(0,Z.jsxs)(`span`,{className:`flex`,children:[(0,Z.jsx)(Ve,{variant:`focus`,cellId:e,skipScroll:!0,className:`whitespace-nowrap text-destructive`,onClick:()=>i(e)},e),n<t.length-1&&`, `]},e))})]}),(0,Z.jsxs)(`div`,{className:`flex flex-row overflow-auto gap-2 items-baseline`,children:[(0,Z.jsx)(`span`,{title:`Used by`,children:(0,Z.jsx)(de,{className:`w-3.5 h-3.5 text-muted-foreground`})}),(0,Z.jsx)(qe,{maxCount:3,cellIds:n,skipScroll:!0,onClick:i})]})]})}})];function Dt({variables:e,sort:t,cellIdToIndex:n}){t||={id:Tt.defs,desc:!1};let r=[];switch(t.id){case Tt.name:r=he(e,e=>e.name);break;case Tt.type:r=he(e,e=>e.dataType);break;case Tt.defs:r=he(e,e=>n.get(e.declaredBy[0]))}return t.desc?r.toReversed():r}var Ot=(0,X.memo)(({className:e,cellIds:t,variables:n})=>{let[r,i]=X.useState([]),[a,o]=X.useState(``),s=S(),{locale:c}=ve(),l=(0,X.useMemo)(()=>{let e=e=>{let n=s[e];return T(n)?`cell-${t.indexOf(e)}`:n??`cell-${t.indexOf(e)}`};return Object.values(n).map(t=>({...t,declaredByNames:t.declaredBy.map(e),usedByNames:t.usedBy.map(e)}))},[n,s,t]),u=(0,X.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),Dt({variables:l,sort:r[0],cellIdToIndex:e})},[l,r,t]),d=xe({data:u,columns:Et,getCoreRowModel:Le(),onGlobalFilterChange:o,getFilteredRowModel:Ce(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(e){return e.columnDef.enableGlobalFilter??!0},globalFilterFn:`auto`,manualSorting:!0,locale:c,onSortingChange:i,getSortedRowModel:we(),state:{sorting:r,globalFilter:a}});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(pe,{className:`w-full`,placeholder:`Search`,value:a,onChange:e=>o(e.target.value)}),(0,Z.jsxs)(Ne,{className:oe(`w-full text-sm flex-1 border-separate border-spacing-0`,e),children:[(0,Z.jsx)(We,{children:(0,Z.jsx)(Oe,{className:`whitespace-nowrap text-xs`,children:d.getFlatHeaders().map(e=>(0,Z.jsx)(Pe,{className:`sticky top-0 bg-background border-b`,children:ze(e.column.columnDef.header,e.getContext())},e.id))})}),(0,Z.jsx)(Ue,{children:d.getRowModel().rows.map(e=>(0,Z.jsx)(Oe,{className:`hover:bg-accent`,children:e.getVisibleCells().map(e=>(0,Z.jsx)(Ge,{className:`border-b`,children:ze(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})]})});Ot.displayName=`VariableTable`;var kt=()=>{let e=(0,Y.c)(30),n=o(),i=b(),a=r(w),s=r(x),c=B(`database`),[l,u]=t(fe),d=a.length+s.length,f;e[0]!==d||e[1]!==l.hasUserInteracted||e[2]!==l.openSections?(f=!l.hasUserInteracted&&d>0?[...new Set([...l.openSections,`datasources`])]:l.openSections,e[0]=d,e[1]=l.hasUserInteracted,e[2]=l.openSections,e[3]=f):f=e[3];let m=f,h;e[4]===u?h=e[5]:(h=e=>{u({openSections:e,hasUserInteracted:!0})},e[4]=u,e[5]=h);let g=h,_;e[6]===m?_=e[7]:(_=m.includes(`datasources`),e[6]=m,e[7]=_);let v=!_&&d>0,y=c.length>0,S;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(q,{className:`w-4 h-4`}),e[8]=S):S=e[8];let C;e[9]!==d||e[10]!==v?(C=v&&(0,Z.jsx)(Ye,{children:d}),e[9]=d,e[10]=v,e[11]=C):C=e[11];let T;e[12]!==c.length||e[13]!==y?(T=y&&(0,Z.jsx)(tt,{count:c.length,type:`database`}),e[12]=c.length,e[13]=y,e[14]=T):T=e[14];let E;e[15]!==C||e[16]!==T?(E=(0,Z.jsxs)(Xe,{children:[S,`Data sources`,C,T]}),e[15]=C,e[16]=T,e[17]=E):E=e[17];let D;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(Ze,{children:(0,Z.jsx)(dt,{})}),e[18]=D):D=e[18];let O;e[19]===E?O=e[20]:(O=(0,Z.jsxs)($e,{value:`datasources`,children:[E,D]}),e[19]=E,e[20]=O);let k;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(Xe,{children:[(0,Z.jsx)(p,{className:`w-4 h-4`}),`Variables`]}),e[21]=k):k=e[21];let A;e[22]!==i||e[23]!==n?(A=(0,Z.jsxs)($e,{value:`variables`,lastItem:!0,children:[k,(0,Z.jsx)(Ze,{children:Object.keys(n).length===0?(0,Z.jsx)(`div`,{className:`px-3 py-4 text-sm text-muted-foreground`,children:`No variables defined`}):(0,Z.jsx)(Ot,{cellIds:i.inOrderIds,variables:n})})]}),e[22]=i,e[23]=n,e[24]=A):A=e[24];let j;return e[25]!==g||e[26]!==m||e[27]!==A||e[28]!==O?(j=(0,Z.jsxs)(se,{type:`multiple`,value:m,onValueChange:g,className:`flex flex-col h-full overflow-auto`,children:[O,A]}),e[25]=g,e[26]=m,e[27]=A,e[28]=O,e[29]=j):j=e[29],j};export{kt as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{Cn as n,D as r,Rt as i,_n as a,fn as o,gn as s,mn as c}from"./cells-Cu3p4E4U.js";import{t as l}from"./compiler-runtime-BQ9S8nyo.js";import{n as u}from"./useEventListener-BdZUApHd.js";import{r as d}from"./utils-B4K466FK.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{t as m}from"./tooltip-DR2Z2N4w.js";import{t as h}from"./button-BoklZTGL.js";import{m as g}from"./panels-BreVgQOP.js";import{n as _,t as v}from"./LazyAnyLanguageCodeMirror-CkatLiPl.js";import{r as y}from"./useNumberFormatter-C4-_TnkF.js";import{b}from"./write-secret-modal-CBUZw27N.js";import{t as x}from"./plus-gbN72xHe.js";import{Gt as S,Kt as C,Wt as w,Xt as T,qt as E}from"./input-BDakodZ2.js";import{st as D}from"./dist-BczecT6V.js";import{r as O}from"./requests-yTHMxhVa.js";import{r as k}from"./useTheme-DcnXlv0_.js";import{n as A}from"./useAsyncData-DucTwMkf.js";import{Hn as j,Oi as M,ei as N,gn as P,hn as F,mn as I}from"./index-CFkhNhbS.js";import{t as L}from"./empty-state-CzxjZqGW.js";import{n as R,r as z}from"./panel-context-BPaQeOuV.js";import{i as B}from"./edit-page-BgBPK9rm.js";var V=e(t(),1),H=l(),U=p(),W=u,G=e=>{let t=(0,H.c)(6),{children:n}=e,{openModal:r,closeModal:i}=b(),a;t[0]!==i||t[1]!==r?(a=()=>r((0,U.jsx)(K,{onClose:i})),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==a?(o=(0,U.jsx)(W,{onClick:a,children:n}),t[3]=n,t[4]=a,t[5]=o):o=t[5],o},K=e=>{let t=(0,H.c)(4),{onClose:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,U.jsx)(T,{children:`Contribute a Snippet`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(E,{children:[r,(0,U.jsxs)(S,{children:[`Have a useful snippet you want to share with the community? Make a pull request`,` `,(0,U.jsx)(`a`,{href:d.githubPage,target:`_blank`,className:`underline`,children:`on GitHub`}),`.`]})]}),t[1]=i):i=t[1];let a;return t[2]===n?a=t[3]:(a=(0,U.jsxs)(w,{className:`max-w-md`,children:[i,(0,U.jsx)(C,{children:(0,U.jsx)(h,{"data-testid":`snippet-close-button`,variant:`default`,onClick:n,children:`Close`})})]}),t[2]=n,t[3]=a),a},q=[D.lineWrapping],J=()=>{let e=(0,H.c)(24),{readSnippets:t}=O(),[n,r]=V.useState(),i=R(),a=z(),l;e[0]===t?l=e[1]:(l=()=>t(),e[0]=t,e[1]=l);let u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[2]=u):u=e[2];let{data:d,error:p,isPending:m}=A(l,u);if(p){let t;return e[3]===p?t=e[4]:(t=(0,U.jsx)(j,{error:p}),e[3]=p,e[4]=t),t}if(m||!d){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(N,{size:`medium`,centered:!0}),e[5]=t):t=e[5],t}let h=i===`vertical`,g;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,U.jsx)(s,{placeholder:`Search snippets...`,className:`h-6 m-1`,rootClassName:`flex-1 border-r`}),e[6]=g):g=e[6];let _,v;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,U.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[g,(0,U.jsx)(G,{children:(0,U.jsx)(`button`,{className:`float-right px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground`,children:(0,U.jsx)(x,{className:`h-4 w-4`})})})]}),v=(0,U.jsx)(c,{children:`No results`}),e[7]=_,e[8]=v):(_=e[7],v=e[8]);let y;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>r(e),e[9]=y):y=e[9];let b;e[10]===d.snippets?b=e[11]:(b=(0,U.jsx)(I,{defaultSize:40,minSize:20,maxSize:70,children:(0,U.jsxs)(o,{className:`h-full rounded-none`,children:[_,v,(0,U.jsx)(X,{onSelect:y,snippets:d.snippets})]})}),e[10]=d.snippets,e[11]=b);let S=h?`h-1`:`w-1`,C;e[12]===S?C=e[13]:(C=f(`bg-border hover:bg-primary/50 transition-colors`,S),e[12]=S,e[13]=C);let w;e[14]===C?w=e[15]:(w=(0,U.jsx)(P,{className:C}),e[14]=C,e[15]=w);let T;e[16]===n?T=e[17]:(T=(0,U.jsx)(I,{defaultSize:60,minSize:20,children:(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(`div`,{className:`h-full snippet-viewer flex flex-col overflow-hidden`,children:n?(0,U.jsx)(Y,{snippet:n,onClose:()=>r(void 0)},n.title):(0,U.jsx)(L,{title:``,description:`Click on a snippet to view its content.`})})})}),e[16]=n,e[17]=T);let E;return e[18]!==i||e[19]!==a||e[20]!==T||e[21]!==b||e[22]!==w?(E=(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden h-full`,children:(0,U.jsxs)(F,{direction:i,className:`h-full`,children:[b,w,T]},a)}),e[18]=i,e[19]=a,e[20]=T,e[21]=b,e[22]=w,e[23]=E):E=e[23],E},Y=e=>{let t=(0,H.c)(33),{snippet:n,onClose:a}=e,{theme:o}=k(),{createNewCell:s}=r(),c=i(),l;t[0]!==s||t[1]!==c||t[2]!==n.sections?(l=()=>{for(let e of n.sections.toReversed())e.code&&s({code:e.code,before:!1,cellId:c??`__end__`,skipIfCodeExists:!0})},t[0]=s,t[1]=c,t[2]=n.sections,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c?(d=e=>{s({code:e,before:!1,cellId:c??`__end__`})},t[4]=s,t[5]=c,t[6]=d):d=t[6];let f=d,p;t[7]===n.title?p=t[8]:(p=(0,U.jsx)(`span`,{children:n.title}),t[7]=n.title,t[8]=p);let b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,U.jsx)(y,{className:`h-4 w-4`}),t[9]=b):b=t[9];let x;t[10]===a?x=t[11]:(x=(0,U.jsx)(h,{size:`sm`,variant:`ghost`,onClick:a,className:`h-6 w-6 p-0 hover:bg-muted-foreground/10`,children:b}),t[10]=a,t[11]=x);let S;t[12]!==p||t[13]!==x?(S=(0,U.jsxs)(`div`,{className:`text-sm font-semibold bg-muted border-y px-2 py-1 flex justify-between items-center`,children:[p,x]}),t[12]=p,t[13]=x,t[14]=S):S=t[14];let C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,U.jsx)(_,{className:`ml-2 h-4 w-4`}),t[15]=C):C=t[15];let w;t[16]===u?w=t[17]:(w=(0,U.jsx)(`div`,{className:`flex justify-end`,children:(0,U.jsx)(B,{children:(0,U.jsxs)(h,{className:`float-right`,size:`xs`,variant:`outline`,onClick:u,children:[`Insert snippet`,C]})})}),t[16]=u,t[17]=w);let T;if(t[18]!==f||t[19]!==n.sections||t[20]!==n.title||t[21]!==o){let e;t[23]!==f||t[24]!==n.title||t[25]!==o?(e=e=>{let{code:t,html:r,id:i}=e;if(r)return(0,U.jsx)(`div`,{children:M({html:r})},`${n.title}-${i}`);if(!t)return null;let{language:a,code:s}=g(t);return(0,U.jsxs)(`div`,{className:`relative hover-actions-parent pr-2`,children:[(0,U.jsx)(B,{children:(0,U.jsx)(m,{content:`Insert snippet`,children:(0,U.jsx)(h,{className:`absolute -top-2 -right-1 z-10 hover-action px-2 bg-background`,size:`sm`,variant:`outline`,onClick:()=>{f(t)},children:(0,U.jsx)(_,{className:`h-5 w-5`})})})}),(0,U.jsx)(V.Suspense,{children:(0,U.jsx)(v,{theme:o===`dark`?`dark`:`light`,language:a,className:`cm border rounded overflow-hidden`,extensions:q,value:s,readOnly:!0},`${n.title}-${i}`)})]},`${n.title}-${i}`)},t[23]=f,t[24]=n.title,t[25]=o,t[26]=e):e=t[26],T=n.sections.map(e),t[18]=f,t[19]=n.sections,t[20]=n.title,t[21]=o,t[22]=T}else T=t[22];let E;t[27]!==w||t[28]!==T?(E=(0,U.jsxs)(`div`,{className:`px-2 py-2 space-y-4 overflow-auto flex-1`,children:[w,T]}),t[27]=w,t[28]=T,t[29]=E):E=t[29];let D;return t[30]!==E||t[31]!==S?(D=(0,U.jsxs)(U.Fragment,{children:[S,E]}),t[30]=E,t[31]=S,t[32]=D):D=t[32],D},X=e=>{let t=(0,H.c)(7),{snippets:r,onSelect:i}=e,o;if(t[0]!==i||t[1]!==r){let e;t[3]===i?e=t[4]:(e=e=>(0,U.jsx)(a,{className:`rounded-none`,onSelect:()=>i(e),children:(0,U.jsx)(`div`,{className:`flex flex-row gap-2 items-center`,children:(0,U.jsx)(`span`,{className:`mt-1 text-accent-foreground`,children:e.title})})},e.title),t[3]=i,t[4]=e),o=r.map(e),t[0]=i,t[1]=r,t[2]=o}else o=t[2];let s;return t[5]===o?s=t[6]:(s=(0,U.jsx)(n,{className:`flex flex-col overflow-auto`,children:o}),t[5]=o,t[6]=s),s};export{J as default};
@@ -1,61 +0,0 @@
1
- import{g as e}from"./useEventListener-BdZUApHd.js";import{t}from"./objects-snlMn4yk.js";import{a as n,c as r,et as i,o as a,tt as o,z as s}from"./vega-loader.browser-CLRkNgm7.js";var c=Uint8Array.of(65,82,82,79,87,49),l={V1:0,V2:1,V3:2,V4:3,V5:4},u={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},d={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},f={HALF:0,SINGLE:1,DOUBLE:2},p={DAY:0,MILLISECOND:1},m={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},h={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},g={Sparse:0,Dense:1},ee=Uint8Array,te=Uint16Array,ne=Uint32Array,re=BigUint64Array,ie=Int8Array,ae=Int16Array,_=Int32Array,v=BigInt64Array,oe=Float32Array,y=Float64Array;function se(e,t){let n=Math.log2(e)-3;return(t?[ie,ae,_,v]:[ee,te,ne,re])[n]}Object.getPrototypeOf(Int8Array);function b(e,t){let n=0,r=e.length;if(r<=2147483648)do{let i=n+r>>>1;e[i]<=t?n=i+1:r=i}while(n<r);else do{let i=Math.trunc((n+r)/2);e[i]<=t?n=i+1:r=i}while(n<r);return n}function x(e,t,n){if(t(e))return e;throw Error(n(e))}function S(e,t,n){return t=Array.isArray(t)?t:Object.values(t),x(e,e=>t.includes(e),n??(()=>`${e} must be one of ${t}`))}function ce(e,t){for(let[n,r]of Object.entries(e))if(r===t)return n;return`<Unknown>`}var C=e=>`Unsupported data type: "${ce(d,e)}" (id ${e})`,le=(e,t,n=!0,r=null)=>({name:e,type:t,nullable:n,metadata:r});function ue(e){return Object.hasOwn(e,`name`)&&de(e.type)}function de(e){return typeof e?.typeId==`number`}function w(e,t=``,n=!0){return ue(e)?e:le(t,x(e,de,()=>`Data type expected.`),n)}var fe=(e,t,n=!1,r=-1)=>({typeId:d.Dictionary,id:r,dictionary:e,indices:t||me(),ordered:n}),pe=(e=32,t=!0)=>({typeId:d.Int,bitWidth:S(e,[8,16,32,64]),signed:t,values:se(e,t)}),me=()=>pe(32),he=(e=2)=>({typeId:d.Float,precision:S(e,f),values:[te,oe,y][e]}),ge=()=>({typeId:d.Binary,offsets:_}),_e=()=>({typeId:d.Utf8,offsets:_}),ve=(e,t,n=128)=>({typeId:d.Decimal,precision:e,scale:t,bitWidth:S(n,[128,256]),values:re}),ye=e=>({typeId:d.Date,unit:S(e,p),values:e===p.DAY?_:v}),be=(e=m.MILLISECOND,t=32)=>({typeId:d.Time,unit:S(e,m),bitWidth:S(t,[32,64]),values:t===32?_:v}),xe=(e=m.MILLISECOND,t=null)=>({typeId:d.Timestamp,unit:S(e,m),timezone:t,values:v}),Se=(e=h.MONTH_DAY_NANO)=>({typeId:d.Interval,unit:S(e,h),values:e===h.MONTH_DAY_NANO?void 0:_}),Ce=e=>({typeId:d.List,children:[w(e)],offsets:_}),we=e=>({typeId:d.Struct,children:Array.isArray(e)&&ue(e[0])?e:Object.entries(e).map(([e,t])=>le(e,t))}),Te=(e,t,n,r)=>(n??=t.map((e,t)=>t),{typeId:d.Union,mode:S(e,g),typeIds:n,typeMap:n.reduce((e,t,n)=>(e[t]=n,e),{}),children:t.map((e,t)=>w(e,`_${t}`)),typeIdForValue:r,offsets:_}),Ee=e=>({typeId:d.FixedSizeBinary,stride:e}),De=(e,t)=>({typeId:d.FixedSizeList,stride:t,children:[w(e)]}),Oe=(e,t)=>({typeId:d.Map,keysSorted:e,children:[t],offsets:_}),ke=(e=m.MILLISECOND)=>({typeId:d.Duration,unit:S(e,m),values:v}),Ae=()=>({typeId:d.LargeBinary,offsets:v}),je=()=>({typeId:d.LargeUtf8,offsets:v}),Me=e=>({typeId:d.LargeList,children:[w(e)],offsets:v}),Ne=(e,t)=>({typeId:d.RunEndEncoded,children:[x(w(e,`run_ends`),e=>e.type.typeId===d.Int,()=>`Run-ends must have an integer type.`),w(t,`values`)]}),Pe=e=>({typeId:d.ListView,children:[w(e,`value`)],offsets:_}),Fe=e=>({typeId:d.LargeListView,children:[w(e,`value`)],offsets:v}),T=new y(2).buffer;new v(T),new ne(T),new _(T),new ee(T);function E(e){if(e>2**53-1||e<-(2**53-1))throw Error(`BigInt exceeds integer number representation: ${e}`);return Number(e)}function D(e,t){return Number(e/t)+Number(e%t)/Number(t)}var O=e=>BigInt.asUintN(64,e);function Ie(e,t){let n=t<<1,r;return BigInt.asIntN(64,e[n+1])<0?(r=O(~e[n])|O(~e[n+1])<<64n,r=-(r+1n)):r=e[n]|e[n+1]<<64n,r}function Le(e,t){let n=t<<2,r;return BigInt.asIntN(64,e[n+3])<0?(r=O(~e[n])|O(~e[n+1])<<64n|O(~e[n+2])<<128n|O(~e[n+3])<<192n,r=-(r+1n)):r=e[n]|e[n+1]<<64n|e[n+2]<<128n|e[n+3]<<192n,r}var Re=new TextDecoder(`utf-8`);new TextEncoder;function k(e){return Re.decode(e)}function ze(e,t){return!!(e[t>>3]&1<<t%8)}function A(e,t){let n=t+F(e,t),r=n-F(e,n),i=P(e,r);return(t,a,o=null)=>{if(t<i){let i=P(e,r+t);if(i)return a(e,n+i)}return o}}function j(e,t){return t}function M(e,t){return!!Be(e,t)}function Be(e,t){return N(e,t)<<24>>24}function N(e,t){return e[t]}function P(e,t){return Ve(e,t)<<16>>16}function Ve(e,t){return e[t]|e[t+1]<<8}function F(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function He(e,t){return F(e,t)>>>0}function I(e,t){return E(BigInt.asIntN(64,BigInt(He(e,t))+(BigInt(He(e,t+4))<<32n)))}function L(e,t){let n=t+F(e,t),r=F(e,n);return n+=4,k(e.subarray(n,n+r))}function R(e,t,n,r){if(!t)return[];let i=t+F(e,t);return Array.from({length:F(e,i)},(t,a)=>r(e,i+4+a*n))}var z=Symbol(`rowIndex`);function B(e,t){class n{constructor(e){this[z]=e}toJSON(){return We(e,t,this[z])}}let r=n.prototype;for(let n=0;n<e.length;++n){if(Object.hasOwn(r,e[n]))continue;let i=t[n];Object.defineProperty(r,e[n],{get(){return i.at(this[z])},enumerable:!0})}return e=>new n(e)}function Ue(e,t){return n=>We(e,t,n)}function We(e,t,n){let r={};for(let i=0;i<e.length;++i)r[e[i]]=t[i].at(n);return r}function Ge(e){return e instanceof H}var V=class{static ArrayType=null;constructor({length:e,nullCount:t,type:n,validity:r,values:i,offsets:a,sizes:o,children:s}){this.length=e,this.nullCount=t,this.type=n,this.validity=r,this.values=i,this.offsets=a,this.sizes=o,this.children=s,(!t||!this.validity)&&(this.at=e=>this.value(e))}get[Symbol.toStringTag](){return`Batch`}at(e){return this.isValid(e)?this.value(e):null}isValid(e){return ze(this.validity,e)}value(e){return this.values[e]}slice(e,t){let n=t-e,r=Array(n);for(let t=0;t<n;++t)r[t]=this.at(e+t);return r}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.at(e)}},H=class extends V{constructor(e){super(e);let{length:t,values:n}=this;this.values=n.subarray(0,t)}slice(e,t){return this.nullCount?super.slice(e,t):this.values.subarray(e,t)}[Symbol.iterator](){return this.nullCount?super[Symbol.iterator]():this.values[Symbol.iterator]()}},U=class extends V{static ArrayType=y},W=class extends V{static ArrayType=Array},Ke=class extends W{value(e){return null}},G=class extends U{value(e){return E(this.values[e])}},qe=class extends U{value(e){let t=this.values[e],n=(t&31744)>>10,r=(t&1023)/1024,i=(-1)**((t&32768)>>15);switch(n){case 31:return i*(r?NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*2**(n-15)*(1+r)}},Je=class extends W{value(e){return ze(this.values,e)}},Ye=class extends V{constructor(e){super(e);let{bitWidth:t,scale:n}=this.type;this.decimal=t===128?Ie:Le,this.scale=10n**BigInt(n)}},Xe=class extends Ye{static ArrayType=y;value(e){return D(this.decimal(this.values,e),this.scale)}},Ze=class extends Ye{static ArrayType=Array;value(e){return this.decimal(this.values,e)}},Qe=class extends W{constructor(e){super(e),this.source=e}value(e){return new Date(this.source.value(e))}},$e=class extends U{value(e){return 864e5*this.values[e]}},et=G,tt=class extends G{value(e){return super.value(e)*1e3}},nt=G,rt=class extends G{value(e){return D(this.values[e],1000n)}},it=class extends G{value(e){return D(this.values[e],1000000n)}},at=class extends W{value(e){return this.values.subarray(e<<1,e+1<<1)}},ot=class extends W{value(e){let t=this.values,n=e<<4;return Float64Array.of(F(t,n),F(t,n+4),I(t,n+8))}},st=({values:e,offsets:t},n)=>e.subarray(t[n],t[n+1]),ct=({values:e,offsets:t},n)=>e.subarray(E(t[n]),E(t[n+1])),lt=class extends W{value(e){return st(this,e)}},ut=class extends W{value(e){return ct(this,e)}},dt=class extends W{value(e){return k(st(this,e))}},ft=class extends W{value(e){return k(ct(this,e))}},pt=class extends W{value(e){let t=this.offsets;return this.children[0].slice(t[e],t[e+1])}},mt=class extends W{value(e){let t=this.offsets;return this.children[0].slice(E(t[e]),E(t[e+1]))}},ht=class extends W{value(e){let t=this.offsets[e],n=t+this.sizes[e];return this.children[0].slice(t,n)}},gt=class extends W{value(e){let t=this.offsets[e],n=t+this.sizes[e];return this.children[0].slice(E(t),E(n))}},_t=class extends W{constructor(e){super(e),this.stride=this.type.stride}},vt=class extends _t{value(e){let{stride:t,values:n}=this;return n.subarray(e*t,(e+1)*t)}},yt=class extends _t{value(e){let{children:t,stride:n}=this;return t[0].slice(e*n,(e+1)*n)}};function bt({children:e,offsets:t},n){let[r,i]=e[0].children,a=t[n],o=t[n+1],s=[];for(let e=a;e<o;++e)s.push([r.at(e),i.at(e)]);return s}var xt=class extends W{value(e){return bt(this,e)}},St=class extends W{value(e){return new Map(bt(this,e))}},Ct=class extends W{constructor({typeIds:e,...t}){super(t),this.typeIds=e,this.typeMap=this.type.typeMap}value(e,t=e){let{typeIds:n,children:r,typeMap:i}=this;return r[i[n[e]]].at(t)}},wt=class extends Ct{value(e){return super.value(e,this.offsets[e])}},Tt=class extends W{constructor(e,t=Ue){super(e),this.names=this.type.children.map(e=>e.name),this.factory=t(this.names,this.children)}value(e){return this.factory(e)}},Et=class extends Tt{constructor(e){super(e,B)}},Dt=class extends W{value(e){let[{values:t},n]=this.children;return n.at(b(t,e))}},Ot=class extends W{setDictionary(e){return this.dictionary=e,this.cache=e.cache(),this}value(e){return this.cache[this.key(e)]}key(e){return this.values[e]}},kt=class extends W{constructor({data:e,...t}){super(t),this.data=e}view(e){let{values:t,data:n}=this,r=e<<4,i=r+4,a=t,o=F(a,r);return o>12&&(i=F(a,r+12),a=n[F(a,r+8)]),a.subarray(i,i+o)}},At=class extends kt{value(e){return this.view(e)}},jt=class extends kt{value(e){return k(this.view(e))}};function K(e){let t=[];return{add(e){return t.push(e),this},clear:()=>t=[],done:()=>new Mt(t,e)}}var Mt=class{constructor(e,t=e[0]?.type){this.type=t,this.length=e.reduce((e,t)=>e+t.length,0),this.nullCount=e.reduce((e,t)=>e+t.nullCount,0),this.data=e;let n=e.length,r=new Int32Array(n+1);if(n===1){let[t]=e;r[1]=t.length,this.at=e=>t.at(e)}else for(let t=0,i=0;t<n;++t)r[t+1]=i+=e[t].length;this.offsets=r}get[Symbol.toStringTag](){return`Column`}[Symbol.iterator](){let e=this.data;return e.length===1?e[0][Symbol.iterator]():Nt(e)}at(e){let{data:t,offsets:n}=this,r=b(n,e)-1;return t[r]?.at(e-n[r])}get(e){return this.at(e)}toArray(){let{length:e,nullCount:t,data:n}=this,r=!t&&Ge(n[0]),i=n.length;if(r&&i===1)return n[0].values;let a=new(!i||t>0?Array:n[0].constructor.ArrayType??n[0].values.constructor)(e);return r?Pt(a,n):Ft(a,n)}cache(){return this._cache??=this.toArray()}};function*Nt(e){for(let t=0;t<e.length;++t){let n=e[t][Symbol.iterator]();for(let e=n.next();!e.done;e=n.next())yield e.value}}function Pt(e,t){for(let n=0,r=0;n<t.length;++n){let{values:i}=t[n];e.set(i,r),r+=i.length}return e}function Ft(e,t){let n=-1;for(let r=0;r<t.length;++r){let i=t[r];for(let t=0;t<i.length;++t)e[++n]=i.at(t)}return e}var It=class e{constructor(e,t,n=!1){let r=e.fields.map(e=>e.name);this.schema=e,this.names=r,this.children=t,this.factory=n?B:Ue;let i=[];this.getFactory=e=>i[e]??(i[e]=this.factory(r,t.map(t=>t.data[e])))}get[Symbol.toStringTag](){return`Table`}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(e){return this.children[e]}getChild(e){let t=this.names.findIndex(t=>t===e);return t>-1?this.children[t]:void 0}selectAt(t,n=[]){let{children:r,factory:i,schema:a}=this,{fields:o}=a;return new e({...a,fields:t.map((e,t)=>Lt(o[e],n[t]))},t.map(e=>r[e]),i===B)}select(e,t){let n=this.names,r=e.map(e=>n.indexOf(e));return this.selectAt(r,t)}toColumns(){let{children:e,names:t}=this,n={};return t.forEach((t,r)=>n[t]=e[r]?.toArray()??[]),n}toArray(){let{children:e,getFactory:t,numRows:n}=this,r=e[0]?.data??[],i=Array(n);for(let e=0,n=-1;e<r.length;++e){let a=t(e);for(let t=0;t<r[e].length;++t)i[++n]=a(t)}return i}*[Symbol.iterator](){let{children:e,getFactory:t}=this,n=e[0]?.data??[];for(let e=0;e<n.length;++e){let r=t(e);for(let t=0;t<n[e].length;++t)yield r(t)}}at(e){let{children:t,getFactory:n,numRows:r}=this;if(e<0||e>=r)return null;let[{offsets:i}]=t,a=b(i,e)-1;return n(a)(e-i[a])}get(e){return this.at(e)}};function Lt(e,t){return t!=null&&t!==e.name?{...e,name:t}:e}function Rt(e,t={}){let{typeId:n,bitWidth:r,precision:i,unit:a}=e,{useBigInt:o,useDate:s,useDecimalBigInt:c,useMap:l,useProxy:u}=t;switch(n){case d.Null:return Ke;case d.Bool:return Je;case d.Int:case d.Time:case d.Duration:return o||r<64?H:G;case d.Float:return i?H:qe;case d.Date:return zt(a===p.DAY?$e:et,s&&Qe);case d.Timestamp:return zt(a===m.SECOND?tt:a===m.MILLISECOND?nt:a===m.MICROSECOND?rt:it,s&&Qe);case d.Decimal:return c?Ze:Xe;case d.Interval:return a===h.DAY_TIME?at:a===h.YEAR_MONTH?H:ot;case d.FixedSizeBinary:return vt;case d.Utf8:return dt;case d.LargeUtf8:return ft;case d.Binary:return lt;case d.LargeBinary:return ut;case d.BinaryView:return At;case d.Utf8View:return jt;case d.List:return pt;case d.LargeList:return mt;case d.Map:return l?St:xt;case d.ListView:return ht;case d.LargeListView:return gt;case d.FixedSizeList:return yt;case d.Struct:return u?Et:Tt;case d.RunEndEncoded:return Dt;case d.Dictionary:return Ot;case d.Union:return e.mode?wt:Ct}throw Error(C(n))}function zt(e,t){return t?class extends t{constructor(t){super(new e(t))}}:e}function Bt(e,t){return{offset:I(e,t),metadataLength:F(e,t+8),bodyLength:I(e,t+16)}}function Vt(e,t){return R(e,t,24,Bt)}function Ht(e,t,n){let r=A(e,t);if(r(10,j,0))throw Error(`Record batch compression not implemented`);let i=n<l.V4?8:0;return{length:r(4,I,0),nodes:R(e,r(6,j),16,(e,t)=>({length:I(e,t),nullCount:I(e,t+8)})),regions:R(e,r(8,j),16+i,(e,t)=>({offset:I(e,t+i),length:I(e,t+i+8)})),variadic:R(e,r(12,j),8,I)}}function Ut(e,t,n){let r=A(e,t);return{id:r(4,I,0),data:r(6,(e,t)=>Ht(e,t,n)),isDelta:r(8,M,!1)}}function Wt(e,t,n,r){S(n,d,C);let i=A(e,t);switch(n){case d.Binary:return ge();case d.Utf8:return _e();case d.LargeBinary:return Ae();case d.LargeUtf8:return je();case d.List:return Ce(r[0]);case d.ListView:return Pe(r[0]);case d.LargeList:return Me(r[0]);case d.LargeListView:return Fe(r[0]);case d.Struct:return we(r);case d.RunEndEncoded:return Ne(r[0],r[1]);case d.Int:return pe(i(4,F,0),i(6,M,!1));case d.Float:return he(i(4,P,f.HALF));case d.Decimal:return ve(i(4,F,0),i(6,F,0),i(8,F,128));case d.Date:return ye(i(4,P,p.MILLISECOND));case d.Time:return be(i(4,P,m.MILLISECOND),i(6,F,32));case d.Timestamp:return xe(i(4,P,m.SECOND),i(6,L));case d.Interval:return Se(i(4,P,h.YEAR_MONTH));case d.Duration:return ke(i(4,P,m.MILLISECOND));case d.FixedSizeBinary:return Ee(i(4,F,0));case d.FixedSizeList:return De(r[0],i(4,F,0));case d.Map:return Oe(i(4,M,!1),r[0]);case d.Union:return Te(i(4,P,g.Sparse),r,R(e,i(6,j),4,F))}return{typeId:n}}function q(e,t){let n=R(e,t,4,(e,t)=>{let n=A(e,t);return[n(4,L),n(6,L)]});return n.length?new Map(n):null}function Gt(e,t,n){let r=A(e,t);return{version:n,endianness:r(4,P,0),fields:r(6,Kt,[]),metadata:r(8,q)}}function Kt(e,t){return R(e,t,4,qt)}function qt(e,t){let n=A(e,t),r=n(8,N,d.NONE),i=n(10,j,0),a=n(12,Yt),o=Wt(e,i,r,n(14,(e,t)=>Jt(e,t)));return a&&(a.dictionary=o,o=a),{name:n(4,L),type:o,nullable:n(6,M,!1),metadata:n(16,q)}}function Jt(e,t){let n=R(e,t,4,qt);return n.length?n:null}function Yt(e,t){if(!t)return null;let n=A(e,t);return fe(null,n(6,Xt,me()),n(8,M,!1),n(4,I,0))}function Xt(e,t){return Wt(e,t,d.Int)}var Zt=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,Qt=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,$t=e=>`Unsupported message type: ${e} (${ce(u,e)})`;function J(e,t){let n=F(e,t)||0;if(t+=4,n===-1&&(n=F(e,t)||0,t+=4),n===0)return null;let r=e.subarray(t,t+=n);if(r.byteLength<n)throw Error(Zt(n,r.byteLength));let i=A(r,0),a=i(4,P,l.V1),o=i(6,N,u.NONE),s=i(8,j,0),c=i(10,I,0),d;if(s){let n=o===u.Schema?Gt:o===u.DictionaryBatch?Ut:o===u.RecordBatch?Ht:null;if(!n)throw Error($t(o));if(d=n(r,s,a),c>0){let n=e.subarray(t,t+=c);if(n.byteLength<c)throw Error(Qt(c,n.byteLength));d.body=n}}return{version:a,type:o,index:t,content:d}}function en(e){let t=e instanceof ArrayBuffer?new Uint8Array(e):e;return t instanceof Uint8Array&&tn(t)?rn(t):nn(t)}function tn(e){if(!e||e.length<4)return!1;for(let t=0;t<6;++t)if(c[t]!==e[t])return!1;return!0}function nn(e){let t=[e].flat(),n,r=[],i=[];for(let e of t){if(!(e instanceof Uint8Array))throw Error(`IPC data batch was not a Uint8Array.`);let t=0;for(;;){let a=J(e,t);if(a===null)break;if(t=a.index,a.content)switch(a.type){case u.Schema:n||=a.content;break;case u.RecordBatch:r.push(a.content);break;case u.DictionaryBatch:i.push(a.content)}}}return{schema:n,dictionaries:i,records:r,metadata:null}}function rn(e){let t=e.byteLength-(c.length+4),n=A(e,t-F(e,t)),r=n(4,P,l.V1),i=n(8,Vt,[]),a=n(10,Vt,[]);return{schema:n(6,(e,t)=>Gt(e,t,r)),dictionaries:i.map(({offset:t})=>J(e,t).content),records:a.map(({offset:t})=>J(e,t).content),metadata:n(12,q)}}function Y(e,t){return an(en(e),t)}function an(e,t={}){let{schema:n={fields:[]},dictionaries:r,records:i}=e,{version:a,fields:o}=n,s=new Map,c=sn(t,a,s),l=new Map;on(n,e=>{let t=e.type;t.typeId===d.Dictionary&&l.set(t.id,t.dictionary)});let u=new Map;for(let e of r){let{id:t,data:n,isDelta:r,body:i}=e,a=l.get(t),o=X(a,c({...n,body:i}));if(u.has(t)){let e=u.get(t);r||e.clear(),e.add(o)}else{if(r)throw Error(`Delta update can not be first dictionary batch.`);u.set(t,K(a).add(o))}}u.forEach((e,t)=>s.set(t,e.done()));let f=o.map(e=>K(e.type));for(let e of i){let t=c(e);o.forEach((e,n)=>f[n].add(X(e.type,t)))}return new It(n,f.map(e=>e.done()),t.useProxy)}function on(e,t){e.fields.forEach(function e(n){t(n),n.type.dictionary?.children?.forEach(e),n.type.children?.forEach(e)})}function sn(e,t,n){let r={version:t,options:e,dictionary:e=>n.get(e)};return e=>{let{length:t,nodes:n,regions:i,variadic:a,body:o}=e,s=-1,c=-1,l=-1;return{...r,length:t,node:()=>n[++s],buffer:e=>{let{length:t,offset:n}=i[++c];return e?new e(o.buffer,o.byteOffset+n,t/e.BYTES_PER_ELEMENT):o.subarray(n,n+t)},variadic:()=>a[++l],visit(e){return e.map(e=>X(e.type,this))}}}}function X(e,t){let{typeId:n}=e,{length:r,options:i,node:a,buffer:o,variadic:s,version:c}=t,u=Rt(e,i);if(n===d.Null)return new u({length:r,nullCount:r,type:e});let f={...a(),type:e};switch(n){case d.Bool:case d.Int:case d.Time:case d.Duration:case d.Float:case d.Decimal:case d.Date:case d.Timestamp:case d.Interval:case d.FixedSizeBinary:return new u({...f,validity:o(),values:o(e.values)});case d.Utf8:case d.LargeUtf8:case d.Binary:case d.LargeBinary:return new u({...f,validity:o(),offsets:o(e.offsets),values:o()});case d.BinaryView:case d.Utf8View:return new u({...f,validity:o(),values:o(),data:Array.from({length:s()},()=>o())});case d.List:case d.LargeList:case d.Map:return new u({...f,validity:o(),offsets:o(e.offsets),children:t.visit(e.children)});case d.ListView:case d.LargeListView:return new u({...f,validity:o(),offsets:o(e.offsets),sizes:o(e.offsets),children:t.visit(e.children)});case d.FixedSizeList:case d.Struct:return new u({...f,validity:o(),children:t.visit(e.children)});case d.RunEndEncoded:return new u({...f,children:t.visit(e.children)});case d.Dictionary:{let{id:n,indices:r}=e;return new u({...f,validity:o(),values:o(r.values)}).setDictionary(t.dictionary(n))}case d.Union:return c<l.V5&&o(),new u({...f,typeIds:o(ie),offsets:e.mode===g.Sparse?null:o(e.offsets),children:t.visit(e.children)});default:throw Error(C(n))}}new Uint16Array(new Uint8Array([1,0]).buffer)[0];function Z(e,t){let n=new Map;return(...r)=>{let i=t(...r);if(n.has(i))return n.get(i);let a=e(...r).finally(()=>{n.delete(i)});return n.set(i,a),a}}function Q(e,t){return a(e,t)}function cn(){return n()}var $=r;function ln(){let e=un(cn()),t=e=>JSON.stringify(e);return{load:Z(e.load.bind(e),t),sanitize:Z(e.sanitize.bind(e),t),http:Z(e.http.bind(e),t),file:Z(e.file.bind(e),t)}}function un(e){return{...e,async load(t,n){return t.endsWith(`.arrow`)?Y(await dn(t),{useProxy:!1}).toArray():e.load(t,n)}}}var dn=Z(e=>fetch(e).then(e=>e.arrayBuffer()),e=>e),fn=$.integer,pn=$.number,mn=$.date,hn=$.boolean,gn=()=>($.integer=e=>{if(e===``)return``;if(e===`-inf`||e===`inf`)return e;function t(e){let t=fn(e);return Number.isNaN(t)?e:t}let n=Number.parseInt(e,10);if(Number.isNaN(n))return e;if(!(Math.abs(n)>2**53-1))return t(e);try{return BigInt(e)}catch{return t(e)}},$.number=e=>{if(e===`-inf`||e===`inf`)return e;let t=pn(e);return Number.isNaN(t)?e:t},()=>{$.integer=fn,$.number=pn}),_n=()=>($.date=t=>{if(t===``)return``;if(t==null)return null;if(!/^\d{4}-\d{2}-\d{2}(T[\d.:]+(Z|[+-]\d{2}:?\d{2})?)?$/.test(t))return t;try{let e=new Date(t);return Number.isNaN(e.getTime())?t:e}catch{return e.warn(`Failed to parse date: ${t}`),t}},()=>{$.date=mn});$.boolean=e=>e===`True`||e!==`False`&&hn(e);var vn=ln();async function yn(e,n,r={}){let{handleBigIntAndNumberLike:i=!1,replacePeriod:a=!1}=r;if(e.endsWith(`.arrow`)||n?.type===`arrow`)return Y(await dn(e),{useProxy:!0,useDate:!0,useBigInt:i}).toArray();let o=[_n];i&&o.push(gn);let s=[];try{let r=await vn.load(e);if(!n){if(typeof r==`string`)try{JSON.parse(r),n={type:`json`}}catch{n={type:`csv`,parse:`auto`}}typeof r==`object`&&(n={type:`json`})}let i=n?.type===`csv`;i&&typeof r==`string`&&(r=xn(r)),i&&typeof r==`string`&&a&&(r=Sn(r));let c=n?.parse||`auto`;return typeof c==`object`&&(c=t.mapValues(c,e=>e===`time`?`string`:e===`datetime`?`date`:e)),s=o.map(e=>e()),i?Q(r,{...n,parse:c}):Q(r,n)}finally{s.forEach(e=>e())}}function bn(e,t=!0){let n=[_n];t&&n.push(gn);let r=n.map(e=>e()),i=Q(e,{type:`csv`,parse:`auto`});return r.forEach(e=>e()),i}function xn(e){return e?.includes(`,`)?Cn(e,e=>{let t=new Set;return e.map(e=>{let n=Tn(e,t);return t.add(n),n})}):e}function Sn(e){return e?.includes(`.`)?Cn(e,e=>e.map(e=>e.replaceAll(`.`,`․`))):e}function Cn(e,t){let n=e.split(`
2
- `);return n[0]=t(n[0].split(`,`)).join(`,`),n.join(`
3
- `)}var wn=`​`;function Tn(e,t){let n=e,r=1;for(;t.has(n);)n=`${e}${wn.repeat(r)}`,r++;return n}var En={version:`1.1.0`};function Dn(e,t,n,r){if(o(e))return`[${e.map(e=>t(s(e)?e:kn(e,n))).join(`, `)}]`;if(i(e)){let a=``,{title:o,image:s,...c}=e;o&&(a+=`<h2>${t(o)}</h2>`),s&&(a+=`<img src="${new URL(t(s),r||location.href).href}">`);let l=Object.keys(c);if(l.length>0){a+=`<table>`;for(let e of l){let r=c[e];r!==void 0&&(i(r)&&(r=kn(r,n)),a+=`<tr><td class="key">${t(e)}</td><td class="value">${t(r)}</td></tr>`)}a+=`</table>`}return a||`{}`}return t(e)}function On(e){let t=[];return function(n,r){if(typeof r!=`object`||!r)return r;let i=t.indexOf(this)+1;return t.length=i,t.length>e?`[Object]`:t.indexOf(r)>=0?`[Circular]`:(t.push(r),r)}}function kn(e,t){return JSON.stringify(e,On(t))}var An=`#vg-tooltip-element {
4
- visibility: hidden;
5
- padding: 8px;
6
- position: fixed;
7
- z-index: 1000;
8
- font-family: sans-serif;
9
- font-size: 11px;
10
- border-radius: 3px;
11
- box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
12
- white-space: pre-line;
13
- }
14
- #vg-tooltip-element.visible {
15
- visibility: visible;
16
- }
17
- #vg-tooltip-element h2 {
18
- margin-top: 0;
19
- margin-bottom: 10px;
20
- font-size: 13px;
21
- }
22
- #vg-tooltip-element table {
23
- border-spacing: 0;
24
- }
25
- #vg-tooltip-element table tr {
26
- border: none;
27
- }
28
- #vg-tooltip-element table tr td {
29
- overflow: hidden;
30
- text-overflow: ellipsis;
31
- padding-top: 2px;
32
- padding-bottom: 2px;
33
- vertical-align: text-top;
34
- }
35
- #vg-tooltip-element table tr td.key {
36
- color: #808080;
37
- max-width: 150px;
38
- text-align: right;
39
- padding-right: 4px;
40
- }
41
- #vg-tooltip-element table tr td.value {
42
- display: block;
43
- max-width: 300px;
44
- max-height: 7em;
45
- text-align: left;
46
- }
47
- #vg-tooltip-element {
48
- /* The default theme is the light theme. */
49
- background-color: rgba(255, 255, 255, 0.95);
50
- border: 1px solid #d9d9d9;
51
- color: black;
52
- }
53
- #vg-tooltip-element.dark-theme {
54
- background-color: rgba(32, 32, 32, 0.9);
55
- border: 1px solid #f5f5f5;
56
- color: white;
57
- }
58
- #vg-tooltip-element.dark-theme td.key {
59
- color: #bfbfbf;
60
- }
61
- `,jn=`vg-tooltip-element`,Mn={offsetX:10,offsetY:10,id:jn,styleId:`vega-tooltip-style`,theme:`light`,disableDefaultStyle:!1,sanitize:Nn,maxDepth:2,formatTooltip:Dn,baseURL:``,anchor:`cursor`,position:[`top`,`bottom`,`left`,`right`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]};function Nn(e){return String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`)}function Pn(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error(`Invalid HTML ID`);return An.toString().replaceAll(jn,e)}function Fn(e,t,{offsetX:n,offsetY:r}){let i=Rn({x1:e.clientX,x2:e.clientX,y1:e.clientY,y2:e.clientY},t,n,r);for(let e of[`bottom-right`,`bottom-left`,`top-right`,`top-left`])if(zn(i[e],t))return i[e];return i[`top-left`]}function In(e,t,n,r,i){let{position:a,offsetX:o,offsetY:s}=i,c=e._el.getBoundingClientRect(),l=e._origin,u=Rn(Ln(c,l,n),r,o,s),d=Array.isArray(a)?a:[a];for(let e of d)if(zn(u[e],r)&&!Bn(t,u[e],r))return u[e];return Fn(t,r,i)}function Ln(e,t,n){let r=n.isVoronoi?n.datum.bounds:n.bounds,i=e.left+t[0]+r.x1,a=e.top+t[1]+r.y1,o=n;for(;o.mark.group;)o=o.mark.group,i+=o.x??0,a+=o.y??0;let s=r.x2-r.x1,c=r.y2-r.y1;return{x1:i,x2:i+s,y1:a,y2:a+c}}function Rn(e,t,n,r){let i=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,o=e.x1-t.width-n,s=i-t.width/2,c=e.x2+n,l=e.y1-t.height-r,u=a-t.height/2,d=e.y2+r;return{top:{x:s,y:l},bottom:{x:s,y:d},left:{x:o,y:u},right:{x:c,y:u},"top-left":{x:o,y:l},"top-right":{x:c,y:l},"bottom-left":{x:o,y:d},"bottom-right":{x:c,y:d}}}function zn(e,t){return e.x>=0&&e.y>=0&&e.x+t.width<=window.innerWidth&&e.y+t.height<=window.innerHeight}function Bn(e,t,n){return e.clientX>=t.x&&e.clientX<=t.x+n.width&&e.clientY>=t.y&&e.clientY<=t.y+n.height}var Vn=class{call;options;el;constructor(e){this.options={...Mn,...e};let t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){let e=document.createElement(`style`);e.setAttribute(`id`,this.options.styleId),e.innerHTML=Pn(t);let n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}}tooltipHandler(e,t,n,r){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement(`div`),this.el.setAttribute(`id`,this.options.id),this.el.classList.add(`vg-tooltip`),(document.fullscreenElement??document.body).appendChild(this.el)),r==null||r===``){this.el.classList.remove(`visible`,`${this.options.theme}-theme`);return}this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add(`visible`,`${this.options.theme}-theme`);let{x:i,y:a}=this.options.anchor===`mark`?In(e,t,n,this.el.getBoundingClientRect(),this.options):Fn(t,this.el.getBoundingClientRect(),this.options);this.el.style.top=`${a}px`,this.el.style.left=`${i}px`}};En.version;var Hn=new Vn;export{ln as a,vn as i,bn as n,Y as o,yn as r,Hn as t};