@pixerate/editor 0.272.0 → 0.273.0

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 (65) hide show
  1. package/dist/agent/index.cjs +34 -32
  2. package/dist/agent/index.js +10 -8
  3. package/dist/chart/contract.d.cts +95 -0
  4. package/dist/chart/contract.d.ts +95 -0
  5. package/dist/chart/controller.d.cts +4 -0
  6. package/dist/chart/controller.d.ts +4 -0
  7. package/dist/chart/index.cjs +492 -26
  8. package/dist/chart/index.d.cts +1 -0
  9. package/dist/chart/index.d.ts +1 -0
  10. package/dist/chart/index.js +476 -10
  11. package/dist/chart/tools.d.cts +3 -0
  12. package/dist/chart/tools.d.ts +3 -0
  13. package/dist/chart-maps/index.cjs +4 -64
  14. package/dist/chart-maps/index.js +3 -63
  15. package/dist/chunk-2A5IKZMU.js +557 -0
  16. package/dist/{chunk-NMZQMPFZ.js → chunk-4LZQO5Y7.js} +2 -0
  17. package/dist/chunk-5UGRMVNE.js +328 -0
  18. package/dist/{chunk-X4FTNFIA.js → chunk-7MGPW2OV.js} +1 -1
  19. package/dist/{chunk-DGITFN73.cjs → chunk-BWJBZAUE.cjs} +8 -8
  20. package/dist/chunk-CHZYVNXZ.js +336 -0
  21. package/dist/chunk-DRMZ5R3S.cjs +67 -0
  22. package/dist/chunk-EI5GFTKG.js +67 -0
  23. package/dist/chunk-JV7DKLMX.js +1073 -0
  24. package/dist/chunk-MFBUQC67.cjs +328 -0
  25. package/dist/{chunk-IBXEQOGI.js → chunk-PYHB2EHE.js} +2 -324
  26. package/dist/chunk-QEUI6OGE.cjs +336 -0
  27. package/dist/{chunk-6ZSFRRJI.js → chunk-RSF6BT34.js} +1 -1
  28. package/dist/chunk-T2HUQBRC.cjs +1073 -0
  29. package/dist/{chunk-GSLOH2IN.cjs → chunk-VF6ODSYX.cjs} +2 -0
  30. package/dist/{chunk-NQUKTRKN.cjs → chunk-WZLNNGG3.cjs} +45 -45
  31. package/dist/{chunk-NRBGAEFI.cjs → chunk-Y3RUYOOW.cjs} +8 -330
  32. package/dist/chunk-YH6SKC7P.cjs +557 -0
  33. package/dist/commands/index.cjs +7 -323
  34. package/dist/commands/index.js +5 -321
  35. package/dist/extensions/index.cjs +4 -4
  36. package/dist/extensions/index.js +3 -3
  37. package/dist/index.cjs +9 -9
  38. package/dist/index.js +3 -3
  39. package/dist/paint-editor/controller.d.cts +86 -0
  40. package/dist/paint-editor/controller.d.ts +86 -0
  41. package/dist/paint-editor/document.d.cts +1 -1
  42. package/dist/paint-editor/document.d.ts +1 -1
  43. package/dist/paint-editor/index.cjs +559 -166
  44. package/dist/paint-editor/index.d.cts +1 -0
  45. package/dist/paint-editor/index.d.ts +1 -0
  46. package/dist/paint-editor/index.js +397 -4
  47. package/dist/paint-editor/presence.d.cts +5 -1
  48. package/dist/paint-editor/presence.d.ts +5 -1
  49. package/dist/paint-editor/ui.d.cts +5 -2
  50. package/dist/paint-editor/ui.d.ts +5 -2
  51. package/dist/persistence/index.cjs +24 -1042
  52. package/dist/persistence/index.js +22 -1040
  53. package/dist/raster/fill.d.cts +85 -0
  54. package/dist/raster/fill.d.ts +85 -0
  55. package/dist/raster/index.cjs +9 -1
  56. package/dist/raster/index.d.cts +1 -0
  57. package/dist/raster/index.d.ts +1 -0
  58. package/dist/raster/index.js +8 -0
  59. package/dist/tools/index.cjs +5 -3
  60. package/dist/tools/index.js +8 -6
  61. package/package.json +1 -1
  62. package/skills/pixerate-paint-editor/SKILL.md +19 -43
  63. package/skills/pixerate-paint-editor/references/evolution.md +27 -0
  64. package/skills/pixerate-paint-sketch-to-finish/SKILL.md +16 -5
  65. package/skills/pixerate-paint-sketch-to-finish/evals/flats-under-ink.json +2 -3
@@ -1,4 +1,13 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2;
2
+
3
+ var _chunkDRMZ5R3Scjs = require('../chunk-DRMZ5R3S.cjs');
4
+ require('../chunk-QEUI6OGE.cjs');
5
+
6
+
7
+
8
+ var _chunkKIJIONZFcjs = require('../chunk-KIJIONZF.cjs');
9
+ require('../chunk-T2HUQBRC.cjs');
10
+
2
11
 
3
12
 
4
13
 
@@ -18,6 +27,18 @@
18
27
 
19
28
 
20
29
  var _chunkG23BTQA5cjs = require('../chunk-G23BTQA5.cjs');
30
+ require('../chunk-QEVLRLUN.cjs');
31
+ require('../chunk-E2Z4UARJ.cjs');
32
+ require('../chunk-QJVOJUTD.cjs');
33
+
34
+
35
+
36
+ var _chunkMFBUQC67cjs = require('../chunk-MFBUQC67.cjs');
37
+
38
+
39
+ var _chunk7TD63DZPcjs = require('../chunk-7TD63DZP.cjs');
40
+ require('../chunk-3SLBXKAW.cjs');
41
+ require('../chunk-VCL7CB56.cjs');
21
42
 
22
43
 
23
44
 
@@ -47,7 +68,7 @@ var _chunkM2HG5DJ2cjs = require('../chunk-M2HG5DJ2.cjs');
47
68
 
48
69
 
49
70
 
50
- var _chunkGSLOH2INcjs = require('../chunk-GSLOH2IN.cjs');
71
+ var _chunkVF6ODSYXcjs = require('../chunk-VF6ODSYX.cjs');
51
72
  require('../chunk-TTCJPX4U.cjs');
52
73
 
53
74
 
@@ -208,14 +229,19 @@ var _chunkN3KJFGXTcjs = require('../chunk-N3KJFGXT.cjs');
208
229
 
209
230
 
210
231
  var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
232
+ require('../chunk-WOFXZ3XU.cjs');
211
233
 
212
234
 
213
235
  var _chunkALNIFK5Gcjs = require('../chunk-ALNIFK5G.cjs');
214
236
 
215
237
 
238
+
239
+
216
240
  var _chunkSJ2CPTQCcjs = require('../chunk-SJ2CPTQC.cjs');
217
241
  require('../chunk-2BSBFBOA.cjs');
218
- require('../chunk-WPLGZBNE.cjs');
242
+
243
+
244
+ var _chunkWPLGZBNEcjs = require('../chunk-WPLGZBNE.cjs');
219
245
  require('../chunk-I3Y2Q3PM.cjs');
220
246
  require('../chunk-MEGSQUQO.cjs');
221
247
  require('../chunk-MLLTWAXH.cjs');
@@ -331,7 +357,7 @@ function chartFileName(spec, extension) {
331
357
  }
332
358
  async function downloadChartPng(spec, options = {}) {
333
359
  const { width = 800, height = 450, filename = chartFileName(spec, "png"), theme, ...raster } = options;
334
- const svg = _chunkGSLOH2INcjs.chartToSvg.call(void 0, spec, { width, height, theme });
360
+ const svg = _chunkVF6ODSYXcjs.chartToSvg.call(void 0, spec, { width, height, theme });
335
361
  const { url, width: w, height: h } = await svgToPngDataUrl(svg, { ...raster, width, height });
336
362
  const doc = _nullishCoalesce(raster.document, () => ( globalThis.document));
337
363
  const link = doc.createElement("a");
@@ -513,7 +539,7 @@ function createChartCommands(controller, options = {}) {
513
539
  params: object({ width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }),
514
540
  run: (_ctx, params = {}) => {
515
541
  const spec = controller.getSpec();
516
- return { spec: controller.toJSON(), table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, spec), summary: _chunkGSLOH2INcjs.summarizeChart.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _25 => _25.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _26 => _26.height]), () => ( 400)) }), issues: controller.getState().issues };
542
+ return { spec: controller.toJSON(), table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, spec), summary: _chunkVF6ODSYXcjs.summarizeChart.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _25 => _25.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _26 => _26.height]), () => ( 400)), measureText: controller.measureText }), issues: controller.getState().issues };
517
543
  }
518
544
  },
519
545
  {
@@ -987,8 +1013,8 @@ function createChartCommands(controller, options = {}) {
987
1013
  keywords: ["chart", "quick layout", "style", "colours", "colors", "monochrome", "theme"],
988
1014
  description: "Applies a quick layout and / or colour scheme as one undo step.",
989
1015
  params: object({
990
- layout: { type: "string", enum: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
991
- colors: { type: "string", enum: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
1016
+ layout: { type: "string", enum: _chunkVF6ODSYXcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
1017
+ colors: { type: "string", enum: _chunkVF6ODSYXcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
992
1018
  }),
993
1019
  run: (_ctx, params = {}) => {
994
1020
  check(controller.applyPreset(_nullishCoalesce(params, () => ( {}))));
@@ -1034,7 +1060,7 @@ function createChartCommands(controller, options = {}) {
1034
1060
  description: "Replaces the chart with Mermaid xychart-beta, pie, radar-beta, sankey-beta or treemap-beta text (one undo step). Unreadable lines are listed with line numbers.",
1035
1061
  params: object({ mermaid: { type: "string", description: "Mermaid text." } }, ["mermaid"]),
1036
1062
  run: (_ctx, params) => {
1037
- const read = _chunkGSLOH2INcjs.chartFromMermaid.call(void 0, params.mermaid);
1063
+ const read = _chunkVF6ODSYXcjs.chartFromMermaid.call(void 0, params.mermaid);
1038
1064
  if (!read.family) fail(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie, radar-beta, sankey-beta or treemap-beta.");
1039
1065
  check(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
1040
1066
  return { spec: controller.toJSON(), issues: read.issues };
@@ -1048,7 +1074,7 @@ function createChartCommands(controller, options = {}) {
1048
1074
  keywords: ["chart", "mermaid", "markdown", "export"],
1049
1075
  description: "Returns the chart as Mermaid text (with a round-trip comment unless meta is false).",
1050
1076
  params: object({ meta: { type: "boolean", description: "Include the %% @pixerate round-trip comment (default true)." } }),
1051
- run: (_ctx, params = {}) => ({ mermaid: _chunkGSLOH2INcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _39 => _39.meta]) }) })
1077
+ run: (_ctx, params = {}) => ({ mermaid: _chunkVF6ODSYXcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _39 => _39.meta]) }) })
1052
1078
  },
1053
1079
  {
1054
1080
  ...base,
@@ -1068,7 +1094,7 @@ function createChartCommands(controller, options = {}) {
1068
1094
  description: "Returns the chart drawn as a standalone, accessible SVG string (with <title> and <desc>).",
1069
1095
  params: object({ width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }),
1070
1096
  run: (_ctx, params = {}) => ({
1071
- svg: _chunkGSLOH2INcjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _40 => _40.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _41 => _41.height]), () => ( 400)) })
1097
+ svg: _chunkVF6ODSYXcjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _40 => _40.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _41 => _41.height]), () => ( 400)), measureText: controller.measureText })
1072
1098
  })
1073
1099
  },
1074
1100
  {
@@ -1686,6 +1712,7 @@ function resolve(result) {
1686
1712
  }
1687
1713
  function createChartToolProvider(controller, options = {}) {
1688
1714
  const size = _nullishCoalesce(options.size, () => ( { width: 640, height: 400 }));
1715
+ const measureText = _nullishCoalesce(options.measureText, () => ( controller.measureText));
1689
1716
  const readOnlyReason = () => {
1690
1717
  const r = typeof options.readOnly === "function" ? options.readOnly() : options.readOnly;
1691
1718
  if (!r) return null;
@@ -1741,7 +1768,7 @@ function createChartToolProvider(controller, options = {}) {
1741
1768
  spec: controller.toJSON(),
1742
1769
  table: table(),
1743
1770
  selection: controller.getState().selection,
1744
- summary: _chunkGSLOH2INcjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1771
+ summary: _chunkVF6ODSYXcjs.summarizeChart.call(void 0, controller.toJSON(), { width, height, measureText }),
1745
1772
  ...spec().tree.length ? { treeTable: treeTable() } : {},
1746
1773
  issues: controller.getState().issues,
1747
1774
  ...reason ? { readOnly: reason } : {}
@@ -1766,8 +1793,8 @@ function createChartToolProvider(controller, options = {}) {
1766
1793
  handler: async ({ width = size.width, height = size.height, format = "svg", time }) => {
1767
1794
  const json = controller.toJSON();
1768
1795
  const raceFrame = time !== void 0 ? raceFrameOf(time) : controller.getState().raceFrame;
1769
- const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, json, { width, height, selection: null, raceFrame });
1770
- const svg = _chunkGSLOH2INcjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkGSLOH2INcjs.describeChart.call(void 0, json) });
1796
+ const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, json, { width, height, selection: null, raceFrame, measureText });
1797
+ const svg = _chunkVF6ODSYXcjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkVF6ODSYXcjs.describeChart.call(void 0, json) });
1771
1798
  const warnings = scene.warnings;
1772
1799
  if (format === "png") {
1773
1800
  if (!options.rasterize) fail2('This host cannot rasterize charts; call render_chart with format "svg", or get_chart for the layout warnings.');
@@ -1893,8 +1920,8 @@ function createChartToolProvider(controller, options = {}) {
1893
1920
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
1894
1921
  annotations: { title: "List chart presets", ...READ },
1895
1922
  handler: () => ({
1896
- layouts: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1897
- colorSchemes: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1923
+ layouts: _chunkVF6ODSYXcjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1924
+ colorSchemes: _chunkVF6ODSYXcjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1898
1925
  })
1899
1926
  };
1900
1927
  const exportMermaid = {
@@ -1903,7 +1930,7 @@ function createChartToolProvider(controller, options = {}) {
1903
1930
  description: 'Returns the chart as Mermaid text for Markdown or chat: xychart-beta, pie or radar-beta, sankey-beta for Sankey diagrams with flows, treemap-beta for treemaps and sunbursts (with their levels). With meta (default true) one "%% @pixerate {\u2026}" comment keeps what Mermaid cannot express, so import_chart_mermaid gets the chart back exactly.',
1904
1931
  inputSchema: { type: "object", properties: { meta: { type: "boolean", description: "Include the round-trip comment (default true)." } }, additionalProperties: false },
1905
1932
  annotations: { title: "Export chart as Mermaid", ...READ },
1906
- handler: ({ meta = true }) => ({ mermaid: _chunkGSLOH2INcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1933
+ handler: ({ meta = true }) => ({ mermaid: _chunkVF6ODSYXcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1907
1934
  };
1908
1935
  const exportOoxml = {
1909
1936
  name: "export_chart_ooxml",
@@ -2092,7 +2119,7 @@ function createChartToolProvider(controller, options = {}) {
2092
2119
  annotations: { title: "Import a Mermaid chart", ...DESTRUCTIVE },
2093
2120
  handler: ({ mermaid }) => {
2094
2121
  const fenced = /```(?:mermaid)?\s*\n([\s\S]*?)```/.exec(mermaid);
2095
- const read = _chunkGSLOH2INcjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
2122
+ const read = _chunkVF6ODSYXcjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
2096
2123
  if (!read.family) fail2(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie, radar-beta, sankey-beta or treemap-beta.");
2097
2124
  resolve(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
2098
2125
  return { spec: controller.toJSON(), issues: read.issues };
@@ -2408,8 +2435,8 @@ function createChartToolProvider(controller, options = {}) {
2408
2435
  inputSchema: {
2409
2436
  type: "object",
2410
2437
  properties: {
2411
- layout: { type: "string", enum: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
2412
- colors: { type: "string", enum: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
2438
+ layout: { type: "string", enum: _chunkVF6ODSYXcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
2439
+ colors: { type: "string", enum: _chunkVF6ODSYXcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
2413
2440
  },
2414
2441
  additionalProperties: false
2415
2442
  },
@@ -2505,9 +2532,9 @@ function createChartToolProvider(controller, options = {}) {
2505
2532
  },
2506
2533
  annotations: { title: "Drag a chart point", ...WRITE },
2507
2534
  handler: ({ from, to, fine, lockAxis, width = size.width, height = size.height }) => {
2508
- const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), { width, height });
2535
+ const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), { width, height, measureText });
2509
2536
  const start = { x: from.x * width, y: from.y * height };
2510
- const target = chartHitTest(scene, start);
2537
+ const target = chartHitTest(scene, start, measureText);
2511
2538
  if (_optionalChain([target, 'optionalAccess', _118 => _118.kind]) !== "point") fail2(`There is no bar or point at (${from.x}, ${from.y}); ${target ? `that is the ${target.kind}` : "that is outside the chart"}. Use render_chart to find marks.`);
2512
2539
  const t = target;
2513
2540
  const before = _nullishCoalesce(_optionalChain([controller, 'access', _119 => _119.getSeries, 'call', _120 => _120(t.seriesId), 'optionalAccess', _121 => _121.values, 'access', _122 => _122[t.index]]), () => ( null));
@@ -2535,7 +2562,7 @@ function createChartToolProvider(controller, options = {}) {
2535
2562
  },
2536
2563
  annotations: { title: "Press a key on the chart", ...DESTRUCTIVE },
2537
2564
  handler: ({ key: k, shift, alt }) => {
2538
- const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), size);
2565
+ const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), { ...size, measureText });
2539
2566
  const used = handleChartKey(controller, scene, { key: k, shiftKey: shift, altKey: alt });
2540
2567
  const sel = controller.getState().selection;
2541
2568
  const value = _optionalChain([sel, 'optionalAccess', _123 => _123.kind]) === "point" ? _nullishCoalesce(_optionalChain([controller, 'access', _124 => _124.getSeries, 'call', _125 => _125(sel.seriesId), 'optionalAccess', _126 => _126.values, 'access', _127 => _127[sel.index]]), () => ( null)) : void 0;
@@ -2691,7 +2718,7 @@ var ChartStream = (_class = class {
2691
2718
  issues = complete ? read.issues : [];
2692
2719
  }
2693
2720
  } else {
2694
- const read = _chunkGSLOH2INcjs.chartFromMermaid.call(void 0, text, { partial: !complete });
2721
+ const read = _chunkVF6ODSYXcjs.chartFromMermaid.call(void 0, text, { partial: !complete });
2695
2722
  if (read.family) {
2696
2723
  spec = read.spec;
2697
2724
  issues = complete ? read.issues : [];
@@ -3214,8 +3241,8 @@ var chartStyleDomain = {
3214
3241
  type: "object",
3215
3242
  properties: {
3216
3243
  palette: { type: "array", items: COLOR, minItems: 1, description: "Series colours in order." },
3217
- colorSchemes: { type: "array", items: { type: "string", enum: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map((s) => s.id) }, description: "Colour scheme ids allowed besides the palette (empty: none)." },
3218
- layouts: { type: "array", items: { type: "string", enum: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map((p) => p.id) }, description: "Layout preset ids allowed." },
3244
+ colorSchemes: { type: "array", items: { type: "string", enum: _chunkVF6ODSYXcjs.CHART_COLOR_SCHEMES.map((s) => s.id) }, description: "Colour scheme ids allowed besides the palette (empty: none)." },
3245
+ layouts: { type: "array", items: { type: "string", enum: _chunkVF6ODSYXcjs.CHART_LAYOUT_PRESETS.map((p) => p.id) }, description: "Layout preset ids allowed." },
3219
3246
  theme: {
3220
3247
  type: "object",
3221
3248
  properties: {
@@ -3284,6 +3311,445 @@ function createChartStyleToolProvider(controller, styles, options = {}) {
3284
3311
  };
3285
3312
  }
3286
3313
 
3314
+ // src/chart/contract.ts
3315
+ var CHART_CONTRACT_FORMAT_VERSION = 1;
3316
+ var conformanceChartTextMeasure = _chunkMDLEGVENcjs.estimateChartTextWidth;
3317
+ var NULLABLE_NUMBER_ARRAY = {
3318
+ type: "array",
3319
+ items: { type: ["number", "null"] }
3320
+ };
3321
+ var CHART_TRENDLINE_JSON_SCHEMA = {
3322
+ type: "object",
3323
+ properties: _chunkG23BTQA5cjs.TRENDLINE_PROPS,
3324
+ required: ["type"],
3325
+ additionalProperties: false
3326
+ };
3327
+ var CHART_LINK_JSON_SCHEMA = {
3328
+ type: "object",
3329
+ properties: _chunkG23BTQA5cjs.LINK_PROPS,
3330
+ required: ["source", "target", "value"],
3331
+ additionalProperties: false
3332
+ };
3333
+ var CHART_SERIES_JSON_SCHEMA = {
3334
+ type: "object",
3335
+ required: ["id", "name", "values"],
3336
+ additionalProperties: false,
3337
+ properties: {
3338
+ id: { type: "string", minLength: 1, description: "Unique series id (`series-1`, `series-2`, \u2026)." },
3339
+ ..._chunkG23BTQA5cjs.SERIES_PROPS,
3340
+ values: { ...NULLABLE_NUMBER_ARRAY, description: _chunkG23BTQA5cjs.SERIES_PROPS.values.description },
3341
+ x: { ...NULLABLE_NUMBER_ARRAY, description: _chunkG23BTQA5cjs.SERIES_PROPS.x.description },
3342
+ sizes: { ...NULLABLE_NUMBER_ARRAY, description: _chunkG23BTQA5cjs.SERIES_PROPS.sizes.description },
3343
+ trendlines: {
3344
+ type: "array",
3345
+ items: CHART_TRENDLINE_JSON_SCHEMA,
3346
+ description: "Fitted trendlines drawn over the series."
3347
+ }
3348
+ }
3349
+ };
3350
+ var CHART_SPEC_PROPERTIES = {
3351
+ version: { type: "integer", const: 1, description: "Always 1." },
3352
+ ..._chunkG23BTQA5cjs.CHART_UPDATE_PROPERTIES,
3353
+ categories: {
3354
+ type: "array",
3355
+ items: { type: "string" },
3356
+ description: "Category labels along the x axis (or slice / time-point labels)."
3357
+ },
3358
+ series: {
3359
+ type: "array",
3360
+ items: CHART_SERIES_JSON_SCHEMA,
3361
+ description: "Data series."
3362
+ },
3363
+ tree: {
3364
+ type: "array",
3365
+ items: { $ref: "#/$defs/chartTreeNode" },
3366
+ description: "Hierarchical nodes for treemap and sunburst charts."
3367
+ },
3368
+ links: {
3369
+ type: "array",
3370
+ items: CHART_LINK_JSON_SCHEMA,
3371
+ description: "Directed weighted links for sankey charts."
3372
+ }
3373
+ };
3374
+ var CHART_DOCUMENT_JSON_SCHEMA = {
3375
+ type: "object",
3376
+ description: "A saved chart document, as the chart editor's save tools and autosave write it.",
3377
+ $defs: _chunkG23BTQA5cjs.TREE_DEFS,
3378
+ properties: {
3379
+ format: { type: "string", const: _chunkSJ2CPTQCcjs.EDITOR_DOCUMENT_FORMAT, description: `Always "${_chunkSJ2CPTQCcjs.EDITOR_DOCUMENT_FORMAT}".` },
3380
+ kind: { type: "string", const: "chart", description: 'Always "chart".' },
3381
+ formatVersion: { type: "integer", minimum: 1, description: "Version of the envelope for this kind; readers migrate older ones." },
3382
+ name: { type: "string", description: "Display name, when it has one." },
3383
+ document: {
3384
+ type: "object",
3385
+ description: "The chart (`ChartSpec`, as get_chart returns it in `spec`).",
3386
+ properties: CHART_SPEC_PROPERTIES,
3387
+ required: Object.keys(CHART_SPEC_PROPERTIES),
3388
+ additionalProperties: false
3389
+ }
3390
+ },
3391
+ required: ["format", "kind", "formatVersion", "document"],
3392
+ additionalProperties: false
3393
+ };
3394
+ var XML_ENTITIES = {
3395
+ lt: "<",
3396
+ gt: ">",
3397
+ amp: "&",
3398
+ quot: '"',
3399
+ apos: "'"
3400
+ };
3401
+ function decodeXmlEntities(raw) {
3402
+ return raw.replace(/&(#x[0-9a-fA-F]+|#[0-9]+|[a-zA-Z]+);/g, (match, code) => {
3403
+ if (code.startsWith("#x") || code.startsWith("#X")) return String.fromCodePoint(parseInt(code.slice(2), 16));
3404
+ if (code.startsWith("#")) return String.fromCodePoint(parseInt(code.slice(1), 10));
3405
+ return _nullishCoalesce(XML_ENTITIES[code], () => ( match));
3406
+ });
3407
+ }
3408
+ var MiniXmlElement = (_class2 = class {
3409
+ __init4() {this.nodeType = 1}
3410
+
3411
+
3412
+
3413
+
3414
+ __init5() {this.parentElement = null}
3415
+ __init6() {this.childNodes = []}
3416
+ __init7() {this.attributes = []}
3417
+ constructor(tagName, localName, prefix, namespaceURI) {;_class2.prototype.__init4.call(this);_class2.prototype.__init5.call(this);_class2.prototype.__init6.call(this);_class2.prototype.__init7.call(this);
3418
+ this.tagName = tagName;
3419
+ this.localName = localName;
3420
+ this.prefix = prefix;
3421
+ this.namespaceURI = namespaceURI;
3422
+ }
3423
+ get children() {
3424
+ return this.childNodes.filter((n) => n.nodeType === 1);
3425
+ }
3426
+ get textContent() {
3427
+ return this.childNodes.map((n) => n.textContent).join("");
3428
+ }
3429
+ getAttribute(name) {
3430
+ const found = this.attributes.find((a) => a.name === name);
3431
+ return found ? found.value : null;
3432
+ }
3433
+ getElementsByTagName(name) {
3434
+ const out = [];
3435
+ const visit = (el) => {
3436
+ for (const child of el.children) {
3437
+ if (name === "*" || child.tagName === name || child.localName === name) out.push(child);
3438
+ visit(child);
3439
+ }
3440
+ };
3441
+ visit(this);
3442
+ return out;
3443
+ }
3444
+ getElementsByTagNameNS(ns, localName) {
3445
+ const out = [];
3446
+ const visit = (el) => {
3447
+ for (const child of el.children) {
3448
+ const nsMatch = ns === "*" || child.namespaceURI === ns;
3449
+ const nameMatch = localName === "*" || child.localName === localName;
3450
+ if (nsMatch && nameMatch) out.push(child);
3451
+ visit(child);
3452
+ }
3453
+ };
3454
+ visit(this);
3455
+ return out;
3456
+ }
3457
+ }, _class2);
3458
+ var FallbackXmlDomParser = class {
3459
+ parseFromString(xml, _type) {
3460
+ const stripped = xml.replace(/^\uFEFF/, "").replace(/<\?[\s\S]*?\?>/g, "").replace(/<!--[\s\S]*?-->/g, "").replace(/<!DOCTYPE[^>]*>/gi, "").trim();
3461
+ const tokenRe = /<!\[CDATA\[([\s\S]*?)\]\]>|<\/([A-Za-z_][\w:.-]*)\s*>|<([A-Za-z_][\w:.-]*)((?:\s+[A-Za-z_][\w:.-]*\s*=\s*(?:"[^"]*"|'[^']*'))*)\s*(\/?)>|([^<]+)/g;
3462
+ const stack = [];
3463
+ let root = null;
3464
+ let hasError = false;
3465
+ let lastIndex = 0;
3466
+ for (let m = tokenRe.exec(stripped); m !== null; m = tokenRe.exec(stripped)) {
3467
+ if (m.index !== lastIndex) {
3468
+ hasError = true;
3469
+ break;
3470
+ }
3471
+ lastIndex = tokenRe.lastIndex;
3472
+ const [, cdata, closeName, openName, attrText, selfClose, text] = m;
3473
+ if (cdata !== void 0) {
3474
+ const top = stack[stack.length - 1];
3475
+ if (top) top.el.childNodes.push({ nodeType: 3, textContent: cdata });
3476
+ } else if (closeName !== void 0) {
3477
+ const popped = stack.pop();
3478
+ if (!popped || popped.el.tagName !== closeName) {
3479
+ hasError = true;
3480
+ break;
3481
+ }
3482
+ } else if (openName !== void 0) {
3483
+ const parent = stack[stack.length - 1];
3484
+ const ns = new Map(parent ? parent.ns : [["xml", "http://www.w3.org/XML/1998/namespace"]]);
3485
+ const rawAttrs = [];
3486
+ const attrRe = /([A-Za-z_][\w:.-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;
3487
+ for (let am = attrRe.exec(_nullishCoalesce(attrText, () => ( ""))); am !== null; am = attrRe.exec(_nullishCoalesce(attrText, () => ( "")))) {
3488
+ const name = am[1];
3489
+ const val = decodeXmlEntities(_nullishCoalesce(_nullishCoalesce(am[2], () => ( am[3])), () => ( "")));
3490
+ rawAttrs.push([name, val]);
3491
+ if (name === "xmlns") ns.set("", val);
3492
+ else if (name.startsWith("xmlns:")) ns.set(name.slice(6), val);
3493
+ }
3494
+ const colon = openName.indexOf(":");
3495
+ const prefix = colon >= 0 ? openName.slice(0, colon) : null;
3496
+ const localName = colon >= 0 ? openName.slice(colon + 1) : openName;
3497
+ const namespaceURI = prefix ? _nullishCoalesce(ns.get(prefix), () => ( null)) : _nullishCoalesce(ns.get(""), () => ( null));
3498
+ const el = new MiniXmlElement(openName, localName, prefix, namespaceURI);
3499
+ for (const [name, value] of rawAttrs) {
3500
+ const ac = name.indexOf(":");
3501
+ const ap = ac >= 0 ? name.slice(0, ac) : null;
3502
+ const al = ac >= 0 ? name.slice(ac + 1) : name;
3503
+ const ans = name === "xmlns" || ap === "xmlns" ? "http://www.w3.org/2000/xmlns/" : ap ? _nullishCoalesce(ns.get(ap), () => ( null)) : null;
3504
+ el.attributes.push({ name, localName: al, prefix: ap, namespaceURI: ans, value });
3505
+ }
3506
+ if (parent) {
3507
+ el.parentElement = parent.el;
3508
+ parent.el.childNodes.push(el);
3509
+ } else if (!root) {
3510
+ root = el;
3511
+ } else {
3512
+ hasError = true;
3513
+ break;
3514
+ }
3515
+ if (!selfClose) stack.push({ el, ns });
3516
+ } else if (text !== void 0) {
3517
+ const top = stack[stack.length - 1];
3518
+ if (top) top.el.childNodes.push({ nodeType: 3, textContent: decodeXmlEntities(text) });
3519
+ else if (text.trim() !== "") {
3520
+ hasError = true;
3521
+ break;
3522
+ }
3523
+ }
3524
+ }
3525
+ if (lastIndex !== stripped.length || !root || stack.length > 0) hasError = true;
3526
+ const errorEl = new MiniXmlElement("parsererror", "parsererror", null, null);
3527
+ const doc = {
3528
+ documentElement: root,
3529
+ getElementsByTagName(name) {
3530
+ if (name === "parsererror") return hasError ? [errorEl] : [];
3531
+ if (!root) return [];
3532
+ const own = name === "*" || root.tagName === name || root.localName === name ? [root] : [];
3533
+ return [...own, ...root.getElementsByTagName(name)];
3534
+ },
3535
+ getElementsByTagNameNS(ns, localName) {
3536
+ if (!root) return [];
3537
+ const nsMatch = ns === "*" || root.namespaceURI === ns;
3538
+ const nameMatch = localName === "*" || root.localName === localName;
3539
+ const own = nsMatch && nameMatch ? [root] : [];
3540
+ return [...own, ...root.getElementsByTagNameNS(ns, localName)];
3541
+ }
3542
+ };
3543
+ return doc;
3544
+ }
3545
+ };
3546
+ function defaultDomParser() {
3547
+ return _nullishCoalesce(globalThis.DOMParser, () => ( FallbackXmlDomParser));
3548
+ }
3549
+ function toolList(provider) {
3550
+ const tools = typeof provider.tools === "function" ? provider.tools() : provider.tools;
3551
+ return {
3552
+ id: provider.id,
3553
+ title: provider.title,
3554
+ ...provider.skill ? { skill: provider.skill } : {},
3555
+ tools: tools.map((t) => ({ name: t.name, title: t.title, description: t.description, inputSchema: t.inputSchema, annotations: t.annotations }))
3556
+ };
3557
+ }
3558
+ function uiTables() {
3559
+ return {
3560
+ layoutPresets: _chunkVF6ODSYXcjs.CHART_LAYOUT_PRESETS,
3561
+ colorSchemes: _chunkVF6ODSYXcjs.CHART_COLOR_SCHEMES,
3562
+ errorBars: {
3563
+ types: _chunkP6WYDBTHcjs.CHART_ERROR_BAR_TYPES,
3564
+ directions: _chunkP6WYDBTHcjs.CHART_ERROR_BAR_DIRECTIONS,
3565
+ labels: _chunkP6WYDBTHcjs.CHART_ERROR_BAR_LABELS
3566
+ },
3567
+ paletteShades: _chunkP6WYDBTHcjs.CHART_PALETTE_SHADES,
3568
+ dateSteps: _chunkMDLEGVENcjs.CHART_DATE_STEPS,
3569
+ types: _chunkP6WYDBTHcjs.CHART_TYPES,
3570
+ typeLabels: _chunkP6WYDBTHcjs.CHART_TYPE_LABELS,
3571
+ seriesTypes: _chunkP6WYDBTHcjs.CHART_SERIES_TYPES,
3572
+ stackings: _chunkP6WYDBTHcjs.CHART_STACKINGS,
3573
+ orientations: _chunkP6WYDBTHcjs.CHART_ORIENTATIONS,
3574
+ curves: _chunkP6WYDBTHcjs.CHART_CURVES,
3575
+ markers: _chunkP6WYDBTHcjs.CHART_MARKERS,
3576
+ labelPositions: _chunkP6WYDBTHcjs.CHART_LABEL_POSITIONS,
3577
+ legendPositions: _chunkP6WYDBTHcjs.CHART_LEGEND_POSITIONS,
3578
+ numberStyles: _chunkP6WYDBTHcjs.CHART_NUMBER_STYLES,
3579
+ trendlineTypes: _chunkP6WYDBTHcjs.CHART_TRENDLINE_TYPES,
3580
+ axisKinds: _chunkP6WYDBTHcjs.CHART_AXIS_KINDS,
3581
+ axisScales: _chunkP6WYDBTHcjs.CHART_AXIS_SCALES,
3582
+ radarGraticules: _chunkP6WYDBTHcjs.CHART_RADAR_GRATICULES,
3583
+ likertNeutrals: _chunkP6WYDBTHcjs.CHART_LIKERT_NEUTRALS,
3584
+ likertSorts: _chunkP6WYDBTHcjs.CHART_LIKERT_SORTS,
3585
+ sankeyLinkColors: _chunkP6WYDBTHcjs.CHART_SANKEY_LINK_COLORS,
3586
+ referenceAxes: _chunkP6WYDBTHcjs.CHART_REFERENCE_AXES,
3587
+ defaultPalette: _chunkP6WYDBTHcjs.DEFAULT_CHART_PALETTE,
3588
+ defaultTheme: _chunkP6WYDBTHcjs.DEFAULT_CHART_THEME,
3589
+ textMeasure: {
3590
+ normalEm: 0.56,
3591
+ boldEm: 0.6,
3592
+ boldWeight: 600,
3593
+ formula: "text.length * size * (weight >= 600 ? 0.6 : 0.56)"
3594
+ }
3595
+ };
3596
+ }
3597
+ function chartContracts() {
3598
+ const controller = new (0, _chunkVF6ODSYXcjs.ChartController)({ measureText: conformanceChartTextMeasure });
3599
+ const specs = createChartCommands(controller);
3600
+ const styles = _chunkMFBUQC67cjs.createStyleResolver.call(void 0, {
3601
+ layers: [{ id: "org", store: _chunkMFBUQC67cjs.memoryStyleStore.call(void 0, ) }],
3602
+ domains: [chartStyleDomain]
3603
+ });
3604
+ const DOMParser = defaultDomParser();
3605
+ const providers = [
3606
+ createChartToolProvider(controller, { namespace: "", DOMParser, measureText: conformanceChartTextMeasure }),
3607
+ createChartStyleToolProvider(controller, styles, { namespace: "" }),
3608
+ createOfficeChartToolProvider({ namespace: "", files: () => [], controller, DOMParser })
3609
+ ].map(toolList);
3610
+ const document = createChartEditorDocument(controller);
3611
+ const files = {
3612
+ "document.schema.json": { $schema: "https://json-schema.org/draft/2020-12/schema", $id: "document.schema.json", ...CHART_DOCUMENT_JSON_SCHEMA },
3613
+ "tools.json": { providers },
3614
+ "commands.json": specs.map((s) => ({
3615
+ id: s.id,
3616
+ label: s.label,
3617
+ ...s.group ? { group: s.group } : {},
3618
+ ..._optionalChain([s, 'access', _152 => _152.keywords, 'optionalAccess', _153 => _153.length]) ? { keywords: s.keywords } : {},
3619
+ ...s.description ? { description: s.description } : {},
3620
+ ...s.params ? { params: s.params } : {},
3621
+ ...s.shortcut !== void 0 ? { shortcut: s.shortcut } : {},
3622
+ ...s.scope ? { scope: s.scope } : {},
3623
+ undoable: !!s.undoable,
3624
+ readOnly: !!s.readOnly,
3625
+ ...s.hidden ? { hidden: true } : {}
3626
+ })),
3627
+ "ui.json": uiTables()
3628
+ };
3629
+ files["manifest.json"] = {
3630
+ domain: "chart",
3631
+ formatVersion: CHART_CONTRACT_FORMAT_VERSION,
3632
+ document: { kind: document.kind, formatVersion: document.formatVersion },
3633
+ counts: { providers: providers.length, tools: providers.reduce((n, p) => n + p.tools.length, 0), commands: specs.length },
3634
+ files: Object.keys(files).sort()
3635
+ };
3636
+ _optionalChain([document, 'access', _154 => _154.destroy, 'optionalCall', _155 => _155()]);
3637
+ controller.destroy();
3638
+ return files;
3639
+ }
3640
+ function decodeBase64Bytes(data) {
3641
+ if (data instanceof Uint8Array) return data;
3642
+ const clean = String(data).replace(/^data:[^,]*,/, "").replace(/\s+/g, "");
3643
+ const binary = atob(clean);
3644
+ const out = new Uint8Array(binary.length);
3645
+ for (let i = 0; i < binary.length; i++) out[i] = binary.charCodeAt(i);
3646
+ return out;
3647
+ }
3648
+ function parseSetupFiles(raw) {
3649
+ if (!raw) return [];
3650
+ if (Array.isArray(raw)) {
3651
+ return raw.map((entry) => ({ name: entry.name, data: decodeBase64Bytes(entry.data) }));
3652
+ }
3653
+ return Object.entries(raw).map(([name, data]) => ({
3654
+ name,
3655
+ data: decodeBase64Bytes(data)
3656
+ }));
3657
+ }
3658
+ function createChartConformanceHost(setup = {}) {
3659
+ _chunkMDLEGVENcjs.registerChartMap.call(void 0, _chunkDRMZ5R3Scjs.EUROPE_CHART_MAP);
3660
+ if (Array.isArray(setup.maps)) {
3661
+ for (const map of setup.maps) _chunkMDLEGVENcjs.registerChartMap.call(void 0, map);
3662
+ }
3663
+ let raceClock = 0;
3664
+ let raceQueue = [];
3665
+ const raceTicker = {
3666
+ now: () => raceClock,
3667
+ next: (step) => {
3668
+ raceQueue.push(step);
3669
+ return () => {
3670
+ raceQueue = raceQueue.filter((q) => q !== step);
3671
+ };
3672
+ }
3673
+ };
3674
+ const advanceRace = (ms = 16) => {
3675
+ raceClock += ms;
3676
+ const pending = raceQueue;
3677
+ raceQueue = [];
3678
+ for (const step of pending) step();
3679
+ };
3680
+ const width = typeof setup.width === "number" ? setup.width : 640;
3681
+ const height = typeof setup.height === "number" ? setup.height : 400;
3682
+ const history = new (0, _chunkWPLGZBNEcjs.HistoryManager)();
3683
+ const controller = new (0, _chunkVF6ODSYXcjs.ChartController)({
3684
+ spec: setup.spec,
3685
+ history,
3686
+ raceTicker,
3687
+ measureText: conformanceChartTextMeasure
3688
+ });
3689
+ const openFiles = parseSetupFiles(setup.files);
3690
+ const styleFiles = setup.style ? {
3691
+ "house/SKILL.md": "---\nname: house\ndescription: House chart style.\n---\nFollow the house chart style.",
3692
+ "house/chart.json": JSON.stringify(setup.style)
3693
+ } : {};
3694
+ const styles = _chunkMFBUQC67cjs.createStyleResolver.call(void 0, {
3695
+ layers: [{ id: "org", store: _chunkMFBUQC67cjs.memoryStyleStore.call(void 0, styleFiles) }],
3696
+ domains: [chartStyleDomain]
3697
+ });
3698
+ const commands = new (0, _chunkKIJIONZFcjs.CommandRegistry)({ context: controller, history });
3699
+ commands.register(createChartCommands(controller));
3700
+ const DOMParser = defaultDomParser();
3701
+ const registry = new (0, _chunk7TD63DZPcjs.ToolRegistry)({ validateArguments: true });
3702
+ registry.register(
3703
+ createChartToolProvider(controller, {
3704
+ namespace: "",
3705
+ size: { width, height },
3706
+ readOnly: setup.readOnly,
3707
+ DOMParser,
3708
+ measureText: conformanceChartTextMeasure
3709
+ })
3710
+ );
3711
+ registry.register(createChartStyleToolProvider(controller, styles, { namespace: "" }));
3712
+ registry.register(
3713
+ createOfficeChartToolProvider({
3714
+ namespace: "",
3715
+ files: () => openFiles,
3716
+ controller,
3717
+ readOnly: setup.readOnly,
3718
+ DOMParser
3719
+ })
3720
+ );
3721
+ registry.register(_chunkKIJIONZFcjs.createCommandToolProvider.call(void 0, commands, { id: "chart-commands", namespace: "" }));
3722
+ const document = createChartEditorDocument(controller);
3723
+ return {
3724
+ controller,
3725
+ advanceRace,
3726
+ callTool: (name, args) => registry.callTool(name, args),
3727
+ document: () => _chunkSJ2CPTQCcjs.toEditorDocumentFile.call(void 0, document),
3728
+ pixels: () => {
3729
+ throw new Error("The chart conformance host has no pixels; compare its document, results, render data and SVG export.");
3730
+ },
3731
+ render: () => {
3732
+ const state = controller.getState();
3733
+ return _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), {
3734
+ width,
3735
+ height,
3736
+ selection: state.selection,
3737
+ raceFrame: state.raceFrame,
3738
+ measureText: conformanceChartTextMeasure
3739
+ });
3740
+ },
3741
+ dispose: () => {
3742
+ _optionalChain([document, 'access', _156 => _156.destroy, 'optionalCall', _157 => _157()]);
3743
+ controller.destroy();
3744
+ }
3745
+ };
3746
+ }
3747
+
3748
+
3749
+
3750
+
3751
+
3752
+
3287
3753
 
3288
3754
 
3289
3755
 
@@ -3502,4 +3968,4 @@ function createChartStyleToolProvider(controller, styles, options = {}) {
3502
3968
 
3503
3969
 
3504
3970
 
3505
- exports.CHART_AXIS_KINDS = _chunkP6WYDBTHcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkP6WYDBTHcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkP6WYDBTHcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkMDLEGVENcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkP6WYDBTHcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkP6WYDBTHcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkP6WYDBTHcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkP6WYDBTHcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkP6WYDBTHcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkGSLOH2INcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkP6WYDBTHcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkM2HG5DJ2cjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkM2HG5DJ2cjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkM2HG5DJ2cjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkP6WYDBTHcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkP6WYDBTHcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkP6WYDBTHcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkP6WYDBTHcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkP6WYDBTHcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkP6WYDBTHcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkP6WYDBTHcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkP6WYDBTHcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkP6WYDBTHcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkP6WYDBTHcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkP6WYDBTHcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkGSLOH2INcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkP6WYDBTHcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkP6WYDBTHcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkMDLEGVENcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkMDLEGVENcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkP6WYDBTHcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkMDLEGVENcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkP6WYDBTHcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkP6WYDBTHcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkP6WYDBTHcjs.addChartLink; exports.addChartTreeRow = _chunkP6WYDBTHcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkMDLEGVENcjs.chartBoxStats; exports.chartCategoryAtPoint = _chunkMDLEGVENcjs.chartCategoryAtPoint; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkP6WYDBTHcjs.chartColorDistance; exports.chartColorInputValue = _chunkP6WYDBTHcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkP6WYDBTHcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkP6WYDBTHcjs.chartContrastRatio; exports.chartDataFromTable = _chunkP6WYDBTHcjs.chartDataFromTable; exports.chartDataToTable = _chunkP6WYDBTHcjs.chartDataToTable; exports.chartDateLabels = _chunkMDLEGVENcjs.chartDateLabels; exports.chartDateToSerial = _chunkMDLEGVENcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkP6WYDBTHcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkP6WYDBTHcjs.chartErrorBarsOfType; exports.chartFamily = _chunkP6WYDBTHcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkM2HG5DJ2cjs.chartFormatToCode; exports.chartFromMermaid = _chunkGSLOH2INcjs.chartFromMermaid; exports.chartFromOoxml = _chunkM2HG5DJ2cjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkMDLEGVENcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkP6WYDBTHcjs.chartLikertColor; exports.chartLinksFromTable = _chunkP6WYDBTHcjs.chartLinksFromTable; exports.chartLuminance = _chunkP6WYDBTHcjs.chartLuminance; exports.chartMapBreaks = _chunkMDLEGVENcjs.chartMapBreaks; exports.chartMapClass = _chunkMDLEGVENcjs.chartMapClass; exports.chartMapRamp = _chunkMDLEGVENcjs.chartMapRamp; exports.chartMermaidFamily = _chunkGSLOH2INcjs.chartMermaidFamily; exports.chartMovingAverage = _chunkMDLEGVENcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkP6WYDBTHcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkGSLOH2INcjs.chartPresetPatch; exports.chartQuantile = _chunkMDLEGVENcjs.chartQuantile; exports.chartRaceMoment = _chunkMDLEGVENcjs.chartRaceMoment; exports.chartRaceRanking = _chunkMDLEGVENcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkMDLEGVENcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkP6WYDBTHcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkP6WYDBTHcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkP6WYDBTHcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkP6WYDBTHcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkMDLEGVENcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkMDLEGVENcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkGSLOH2INcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkGSLOH2INcjs.chartSceneToSvg; exports.chartSerialToDate = _chunkMDLEGVENcjs.chartSerialToDate; exports.chartSeriesColor = _chunkP6WYDBTHcjs.chartSeriesColor; exports.chartSeriesType = _chunkP6WYDBTHcjs.chartSeriesType; exports.chartSliceColor = _chunkP6WYDBTHcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkP6WYDBTHcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkMDLEGVENcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkMDLEGVENcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkGSLOH2INcjs.chartTextBaseline; exports.chartTextOn = _chunkP6WYDBTHcjs.chartTextOn; exports.chartTextTransform = _chunkGSLOH2INcjs.chartTextTransform; exports.chartToMermaid = _chunkGSLOH2INcjs.chartToMermaid; exports.chartToOoxml = _chunkM2HG5DJ2cjs.chartToOoxml; exports.chartToSvg = _chunkGSLOH2INcjs.chartToSvg; exports.chartTooltipAt = chartTooltipAt; exports.chartTooltipFor = chartTooltipFor; exports.chartTreeColumnLabels = _chunkP6WYDBTHcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkP6WYDBTHcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkP6WYDBTHcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkP6WYDBTHcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkP6WYDBTHcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkP6WYDBTHcjs.chartTreeToRows; exports.chartTreeTotal = _chunkP6WYDBTHcjs.chartTreeTotal; exports.chartTrendlineName = _chunkMDLEGVENcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkMDLEGVENcjs.chartValueAtPoint; exports.chartVariesColors = _chunkP6WYDBTHcjs.chartVariesColors; exports.chartXAtPoint = _chunkMDLEGVENcjs.chartXAtPoint; exports.checkChartColors = _chunkP6WYDBTHcjs.checkChartColors; exports.cloneChartSeries = _chunkP6WYDBTHcjs.cloneChartSeries; exports.cloneChartSpec = _chunkP6WYDBTHcjs.cloneChartSpec; exports.cloneChartTree = _chunkP6WYDBTHcjs.cloneChartTree; exports.compileChartFormatCode = _chunkMDLEGVENcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkMDLEGVENcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkGSLOH2INcjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkP6WYDBTHcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkP6WYDBTHcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkMDLEGVENcjs.decimateChartPoints; exports.defaultChartAxis = _chunkP6WYDBTHcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkP6WYDBTHcjs.defaultChartErrorBarValue; exports.describeChart = _chunkGSLOH2INcjs.describeChart; exports.describeChartErrorBars = _chunkP6WYDBTHcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkMDLEGVENcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkP6WYDBTHcjs.findChartTreeNode; exports.findMermaidCharts = _chunkGSLOH2INcjs.findMermaidCharts; exports.fitChartTrendline = _chunkMDLEGVENcjs.fitChartTrendline; exports.formatChartAmountList = _chunkP6WYDBTHcjs.formatChartAmountList; exports.formatChartDate = _chunkMDLEGVENcjs.formatChartDate; exports.formatChartNumber = _chunkMDLEGVENcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkMDLEGVENcjs.formatChartValueWithCode; exports.getChartMap = _chunkMDLEGVENcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkP6WYDBTHcjs.isCartesianChart; exports.isXyChart = _chunkP6WYDBTHcjs.isXyChart; exports.layoutChart = _chunkMDLEGVENcjs.layoutChart; exports.layoutSparkline = _chunkGSLOH2INcjs.layoutSparkline; exports.layoutStreamgraph = _chunkMDLEGVENcjs.layoutStreamgraph; exports.linearMap = _chunkMDLEGVENcjs.linearMap; exports.listChartMaps = _chunkMDLEGVENcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkMDLEGVENcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunkGSLOH2INcjs.monochromeChartPalette; exports.niceLogScale = _chunkMDLEGVENcjs.niceLogScale; exports.niceScale = _chunkMDLEGVENcjs.niceScale; exports.niceStep = _chunkMDLEGVENcjs.niceStep; exports.normalizeChartAxis = _chunkP6WYDBTHcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkP6WYDBTHcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkP6WYDBTHcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkP6WYDBTHcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkP6WYDBTHcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkP6WYDBTHcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkP6WYDBTHcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkP6WYDBTHcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkP6WYDBTHcjs.normalizeChartValues; exports.parseChartAmountList = _chunkP6WYDBTHcjs.parseChartAmountList; exports.parseChartColor = _chunkP6WYDBTHcjs.parseChartColor; exports.parseChartDate = _chunkMDLEGVENcjs.parseChartDate; exports.parseChartValue = _chunkP6WYDBTHcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkMDLEGVENcjs.registerChartMap; exports.removeChartTreeRow = _chunkP6WYDBTHcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkMDLEGVENcjs.sameChartSelection; exports.sameChartTooltip = sameChartTooltip; exports.setChartLinkField = _chunkP6WYDBTHcjs.setChartLinkField; exports.setChartTreeRowName = _chunkP6WYDBTHcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkP6WYDBTHcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkP6WYDBTHcjs.shadeChartColor; exports.simulateChartVision = _chunkP6WYDBTHcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkMDLEGVENcjs.snapChartValue; exports.sparklineToSvg = _chunkGSLOH2INcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkMDLEGVENcjs.stepDecimals; exports.suggestChartReferences = _chunkMDLEGVENcjs.suggestChartReferences; exports.summarizeChart = _chunkGSLOH2INcjs.summarizeChart; exports.summarizeChartSeries = _chunkMDLEGVENcjs.summarizeChartSeries; exports.trendNumberText = _chunkMDLEGVENcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkP6WYDBTHcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
3971
+ exports.CHART_AXIS_KINDS = _chunkP6WYDBTHcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkP6WYDBTHcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkVF6ODSYXcjs.CHART_COLOR_SCHEMES; exports.CHART_CONTRACT_FORMAT_VERSION = CHART_CONTRACT_FORMAT_VERSION; exports.CHART_CURVES = _chunkP6WYDBTHcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkMDLEGVENcjs.CHART_DATE_STEPS; exports.CHART_DOCUMENT_JSON_SCHEMA = CHART_DOCUMENT_JSON_SCHEMA; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkP6WYDBTHcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkVF6ODSYXcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkP6WYDBTHcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkP6WYDBTHcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkP6WYDBTHcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkP6WYDBTHcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkVF6ODSYXcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkP6WYDBTHcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkM2HG5DJ2cjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkM2HG5DJ2cjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkM2HG5DJ2cjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkP6WYDBTHcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkP6WYDBTHcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkP6WYDBTHcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkP6WYDBTHcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkP6WYDBTHcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkP6WYDBTHcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkP6WYDBTHcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkP6WYDBTHcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkP6WYDBTHcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkP6WYDBTHcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkP6WYDBTHcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkVF6ODSYXcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkP6WYDBTHcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkP6WYDBTHcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkMDLEGVENcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkMDLEGVENcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkP6WYDBTHcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkMDLEGVENcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkP6WYDBTHcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkP6WYDBTHcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkP6WYDBTHcjs.addChartLink; exports.addChartTreeRow = _chunkP6WYDBTHcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkMDLEGVENcjs.chartBoxStats; exports.chartCategoryAtPoint = _chunkMDLEGVENcjs.chartCategoryAtPoint; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkP6WYDBTHcjs.chartColorDistance; exports.chartColorInputValue = _chunkP6WYDBTHcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkP6WYDBTHcjs.chartColorsByCategory; exports.chartContracts = chartContracts; exports.chartContrastRatio = _chunkP6WYDBTHcjs.chartContrastRatio; exports.chartDataFromTable = _chunkP6WYDBTHcjs.chartDataFromTable; exports.chartDataToTable = _chunkP6WYDBTHcjs.chartDataToTable; exports.chartDateLabels = _chunkMDLEGVENcjs.chartDateLabels; exports.chartDateToSerial = _chunkMDLEGVENcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkP6WYDBTHcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkP6WYDBTHcjs.chartErrorBarsOfType; exports.chartFamily = _chunkP6WYDBTHcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkM2HG5DJ2cjs.chartFormatToCode; exports.chartFromMermaid = _chunkVF6ODSYXcjs.chartFromMermaid; exports.chartFromOoxml = _chunkM2HG5DJ2cjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkMDLEGVENcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkP6WYDBTHcjs.chartLikertColor; exports.chartLinksFromTable = _chunkP6WYDBTHcjs.chartLinksFromTable; exports.chartLuminance = _chunkP6WYDBTHcjs.chartLuminance; exports.chartMapBreaks = _chunkMDLEGVENcjs.chartMapBreaks; exports.chartMapClass = _chunkMDLEGVENcjs.chartMapClass; exports.chartMapRamp = _chunkMDLEGVENcjs.chartMapRamp; exports.chartMermaidFamily = _chunkVF6ODSYXcjs.chartMermaidFamily; exports.chartMovingAverage = _chunkMDLEGVENcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkP6WYDBTHcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkVF6ODSYXcjs.chartPresetPatch; exports.chartQuantile = _chunkMDLEGVENcjs.chartQuantile; exports.chartRaceMoment = _chunkMDLEGVENcjs.chartRaceMoment; exports.chartRaceRanking = _chunkMDLEGVENcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkMDLEGVENcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkP6WYDBTHcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkP6WYDBTHcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkP6WYDBTHcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkP6WYDBTHcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkMDLEGVENcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkMDLEGVENcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkVF6ODSYXcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkVF6ODSYXcjs.chartSceneToSvg; exports.chartSerialToDate = _chunkMDLEGVENcjs.chartSerialToDate; exports.chartSeriesColor = _chunkP6WYDBTHcjs.chartSeriesColor; exports.chartSeriesType = _chunkP6WYDBTHcjs.chartSeriesType; exports.chartSliceColor = _chunkP6WYDBTHcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkP6WYDBTHcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkMDLEGVENcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkMDLEGVENcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkVF6ODSYXcjs.chartTextBaseline; exports.chartTextOn = _chunkP6WYDBTHcjs.chartTextOn; exports.chartTextTransform = _chunkVF6ODSYXcjs.chartTextTransform; exports.chartToMermaid = _chunkVF6ODSYXcjs.chartToMermaid; exports.chartToOoxml = _chunkM2HG5DJ2cjs.chartToOoxml; exports.chartToSvg = _chunkVF6ODSYXcjs.chartToSvg; exports.chartTooltipAt = chartTooltipAt; exports.chartTooltipFor = chartTooltipFor; exports.chartTreeColumnLabels = _chunkP6WYDBTHcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkP6WYDBTHcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkP6WYDBTHcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkP6WYDBTHcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkP6WYDBTHcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkP6WYDBTHcjs.chartTreeToRows; exports.chartTreeTotal = _chunkP6WYDBTHcjs.chartTreeTotal; exports.chartTrendlineName = _chunkMDLEGVENcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkMDLEGVENcjs.chartValueAtPoint; exports.chartVariesColors = _chunkP6WYDBTHcjs.chartVariesColors; exports.chartXAtPoint = _chunkMDLEGVENcjs.chartXAtPoint; exports.checkChartColors = _chunkP6WYDBTHcjs.checkChartColors; exports.cloneChartSeries = _chunkP6WYDBTHcjs.cloneChartSeries; exports.cloneChartSpec = _chunkP6WYDBTHcjs.cloneChartSpec; exports.cloneChartTree = _chunkP6WYDBTHcjs.cloneChartTree; exports.compileChartFormatCode = _chunkMDLEGVENcjs.compileChartFormatCode; exports.conformanceChartTextMeasure = conformanceChartTextMeasure; exports.contrastingTextColor = _chunkMDLEGVENcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartConformanceHost = createChartConformanceHost; exports.createChartController = _chunkVF6ODSYXcjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkP6WYDBTHcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkP6WYDBTHcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkMDLEGVENcjs.decimateChartPoints; exports.defaultChartAxis = _chunkP6WYDBTHcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkP6WYDBTHcjs.defaultChartErrorBarValue; exports.describeChart = _chunkVF6ODSYXcjs.describeChart; exports.describeChartErrorBars = _chunkP6WYDBTHcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkMDLEGVENcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkP6WYDBTHcjs.findChartTreeNode; exports.findMermaidCharts = _chunkVF6ODSYXcjs.findMermaidCharts; exports.fitChartTrendline = _chunkMDLEGVENcjs.fitChartTrendline; exports.formatChartAmountList = _chunkP6WYDBTHcjs.formatChartAmountList; exports.formatChartDate = _chunkMDLEGVENcjs.formatChartDate; exports.formatChartNumber = _chunkMDLEGVENcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkMDLEGVENcjs.formatChartValueWithCode; exports.getChartMap = _chunkMDLEGVENcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkP6WYDBTHcjs.isCartesianChart; exports.isXyChart = _chunkP6WYDBTHcjs.isXyChart; exports.layoutChart = _chunkMDLEGVENcjs.layoutChart; exports.layoutSparkline = _chunkVF6ODSYXcjs.layoutSparkline; exports.layoutStreamgraph = _chunkMDLEGVENcjs.layoutStreamgraph; exports.linearMap = _chunkMDLEGVENcjs.linearMap; exports.listChartMaps = _chunkMDLEGVENcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkMDLEGVENcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunkVF6ODSYXcjs.monochromeChartPalette; exports.niceLogScale = _chunkMDLEGVENcjs.niceLogScale; exports.niceScale = _chunkMDLEGVENcjs.niceScale; exports.niceStep = _chunkMDLEGVENcjs.niceStep; exports.normalizeChartAxis = _chunkP6WYDBTHcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkP6WYDBTHcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkP6WYDBTHcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkP6WYDBTHcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkP6WYDBTHcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkP6WYDBTHcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkP6WYDBTHcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkP6WYDBTHcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkP6WYDBTHcjs.normalizeChartValues; exports.parseChartAmountList = _chunkP6WYDBTHcjs.parseChartAmountList; exports.parseChartColor = _chunkP6WYDBTHcjs.parseChartColor; exports.parseChartDate = _chunkMDLEGVENcjs.parseChartDate; exports.parseChartValue = _chunkP6WYDBTHcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkMDLEGVENcjs.registerChartMap; exports.removeChartTreeRow = _chunkP6WYDBTHcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkMDLEGVENcjs.sameChartSelection; exports.sameChartTooltip = sameChartTooltip; exports.setChartLinkField = _chunkP6WYDBTHcjs.setChartLinkField; exports.setChartTreeRowName = _chunkP6WYDBTHcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkP6WYDBTHcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkP6WYDBTHcjs.shadeChartColor; exports.simulateChartVision = _chunkP6WYDBTHcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkMDLEGVENcjs.snapChartValue; exports.sparklineToSvg = _chunkVF6ODSYXcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkMDLEGVENcjs.stepDecimals; exports.suggestChartReferences = _chunkMDLEGVENcjs.suggestChartReferences; exports.summarizeChart = _chunkVF6ODSYXcjs.summarizeChart; exports.summarizeChartSeries = _chunkMDLEGVENcjs.summarizeChartSeries; exports.trendNumberText = _chunkMDLEGVENcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkP6WYDBTHcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;