@pixerate/editor 0.146.0 → 0.147.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 (113) hide show
  1. package/README.md +3 -1
  2. package/THIRD_PARTY_NOTICES.md +1 -1
  3. package/dist/agent/index.cjs +36 -34
  4. package/dist/agent/index.js +7 -5
  5. package/dist/animation/index.cjs +5 -3
  6. package/dist/animation/index.js +4 -2
  7. package/dist/animation-editor/index.cjs +62 -60
  8. package/dist/animation-editor/index.js +6 -4
  9. package/dist/canvas/index.cjs +36 -34
  10. package/dist/canvas/index.js +19 -17
  11. package/dist/chart/index.cjs +88 -86
  12. package/dist/chart/index.js +7 -5
  13. package/dist/{chunk-WBJ6BG4R.js → chunk-2AQL4JHM.js} +6 -6
  14. package/dist/{chunk-HLMF3E53.cjs → chunk-2WDZI6QD.cjs} +15 -15
  15. package/dist/{chunk-ZNHB5RG6.js → chunk-37RLSNQ3.js} +2 -2
  16. package/dist/{chunk-5WOY52O6.cjs → chunk-4YQKRHMI.cjs} +8 -8
  17. package/dist/chunk-6ONMQ6WF.js +113 -0
  18. package/dist/{chunk-L434J57V.cjs → chunk-6QTON3VW.cjs} +16 -16
  19. package/dist/chunk-AA34BA7G.js +1913 -0
  20. package/dist/{chunk-QX25HWFL.js → chunk-AY65VQSU.js} +1 -1
  21. package/dist/{chunk-ONZJD2OD.cjs → chunk-BROJYMWU.cjs} +57 -153
  22. package/dist/{chunk-YM75DN54.js → chunk-DSZCDNTM.js} +1 -1
  23. package/dist/{chunk-PUR6BZFA.cjs → chunk-DVLMW3GB.cjs} +53 -53
  24. package/dist/{chunk-ALUWD3FG.js → chunk-EIUTJPEL.js} +1 -1
  25. package/dist/{chunk-X65C4DWV.js → chunk-EQ4SF4X4.js} +1 -1
  26. package/dist/{chunk-77SG47WT.js → chunk-FLOGD3QB.js} +1 -1
  27. package/dist/{chunk-AJSW5GMP.js → chunk-HVQVHUTV.js} +19 -115
  28. package/dist/{chunk-UR37VCIR.cjs → chunk-I4AHLP7F.cjs} +16 -35
  29. package/dist/chunk-IPJ3TEYR.cjs +113 -0
  30. package/dist/chunk-KY3FYKP3.js +52 -0
  31. package/dist/chunk-LEUZ4FRC.cjs +52 -0
  32. package/dist/{chunk-H6FX45CP.cjs → chunk-LIXLD433.cjs} +37 -37
  33. package/dist/{chunk-6GAYGQDC.js → chunk-O5ML2I6O.js} +3 -3
  34. package/dist/{chunk-KI2VBONS.js → chunk-OET45HIR.js} +2 -2
  35. package/dist/{chunk-XNZWATSB.cjs → chunk-QCEQIRJQ.cjs} +85 -85
  36. package/dist/{chunk-HRI3ZMDM.cjs → chunk-RHXW4TA5.cjs} +3 -3
  37. package/dist/{chunk-UUTTJK77.cjs → chunk-SUF6WRXR.cjs} +2 -2
  38. package/dist/{chunk-RN767PO6.js → chunk-SUVZJ2CP.js} +15 -34
  39. package/dist/{chunk-FLUTRPLY.cjs → chunk-TLMRGLQQ.cjs} +16 -16
  40. package/dist/{chunk-DAS7M4RY.js → chunk-UILRJQFD.js} +2 -2
  41. package/dist/chunk-UKCJ43YL.cjs +1913 -0
  42. package/dist/{chunk-XQ33O5BC.cjs → chunk-X35BV5YT.cjs} +44 -44
  43. package/dist/{chunk-6HMEHNWW.cjs → chunk-XTU6QO2W.cjs} +26 -26
  44. package/dist/{chunk-VM6JYWXQ.js → chunk-ZQUANEK4.js} +2 -2
  45. package/dist/cms/index.cjs +5 -3
  46. package/dist/cms/index.js +18 -16
  47. package/dist/color/contrast.d.cts +14 -0
  48. package/dist/color/contrast.d.ts +14 -0
  49. package/dist/color/convert.d.cts +30 -0
  50. package/dist/color/convert.d.ts +30 -0
  51. package/dist/color/dual.d.cts +98 -0
  52. package/dist/color/dual.d.ts +98 -0
  53. package/dist/color/format.d.cts +12 -0
  54. package/dist/color/format.d.ts +12 -0
  55. package/dist/color/gamut.d.cts +12 -0
  56. package/dist/color/gamut.d.ts +12 -0
  57. package/dist/color/harmony.d.cts +22 -0
  58. package/dist/color/harmony.d.ts +22 -0
  59. package/dist/color/index.cjs +115 -0
  60. package/dist/color/index.d.cts +18 -0
  61. package/dist/color/index.d.ts +18 -0
  62. package/dist/color/index.js +115 -0
  63. package/dist/color/mix.d.cts +11 -0
  64. package/dist/color/mix.d.ts +11 -0
  65. package/dist/color/named.d.cts +5 -0
  66. package/dist/color/named.d.ts +5 -0
  67. package/dist/color/parse.d.cts +11 -0
  68. package/dist/color/parse.d.ts +11 -0
  69. package/dist/color/picker.d.cts +52 -0
  70. package/dist/color/picker.d.ts +52 -0
  71. package/dist/color/recent.d.cts +8 -0
  72. package/dist/color/recent.d.ts +8 -0
  73. package/dist/color/tools.d.cts +15 -0
  74. package/dist/color/tools.d.ts +15 -0
  75. package/dist/color/types.d.cts +41 -0
  76. package/dist/color/types.d.ts +41 -0
  77. package/dist/color/vision.d.cts +36 -0
  78. package/dist/color/vision.d.ts +36 -0
  79. package/dist/export/index.cjs +6 -4
  80. package/dist/export/index.js +5 -3
  81. package/dist/extensions/index.cjs +10 -8
  82. package/dist/extensions/index.js +9 -7
  83. package/dist/gradient/controller.d.cts +109 -0
  84. package/dist/gradient/controller.d.ts +109 -0
  85. package/dist/gradient/editor.d.cts +38 -0
  86. package/dist/gradient/editor.d.ts +38 -0
  87. package/dist/gradient/index.cjs +1549 -0
  88. package/dist/gradient/index.d.cts +5 -0
  89. package/dist/gradient/index.d.ts +5 -0
  90. package/dist/gradient/index.js +1549 -0
  91. package/dist/gradient/model.d.cts +94 -0
  92. package/dist/gradient/model.d.ts +94 -0
  93. package/dist/gradient/tools.d.cts +11 -0
  94. package/dist/gradient/tools.d.ts +11 -0
  95. package/dist/gradient/types.d.cts +44 -0
  96. package/dist/gradient/types.d.ts +44 -0
  97. package/dist/image-editor/index.cjs +649 -647
  98. package/dist/image-editor/index.js +6 -4
  99. package/dist/index.cjs +19 -17
  100. package/dist/index.js +16 -14
  101. package/dist/paint-editor/color.d.cts +3 -13
  102. package/dist/paint-editor/color.d.ts +3 -13
  103. package/dist/paint-editor/index.cjs +23 -68
  104. package/dist/paint-editor/index.js +15 -60
  105. package/dist/vector/index.cjs +950 -948
  106. package/dist/vector/index.js +5 -3
  107. package/dist/video-editor/index.cjs +5 -3
  108. package/dist/video-editor/index.js +4 -2
  109. package/package.json +21 -1
  110. package/skills/README.md +1 -0
  111. package/skills/pixerate-color/SKILL.md +69 -0
  112. package/dist/chunk-45VRG4RB.js +0 -65
  113. package/dist/chunk-5FXOR7F2.cjs +0 -65
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
 
10
- var _chunkFLUTRPLYcjs = require('../chunk-FLUTRPLY.cjs');
10
+ var _chunkTLMRGLQQcjs = require('../chunk-TLMRGLQQ.cjs');
11
11
 
12
12
 
13
13
 
@@ -15,7 +15,7 @@ var _chunkFLUTRPLYcjs = require('../chunk-FLUTRPLY.cjs');
15
15
 
16
16
 
17
17
 
18
- var _chunkHLMF3E53cjs = require('../chunk-HLMF3E53.cjs');
18
+ var _chunk2WDZI6QDcjs = require('../chunk-2WDZI6QD.cjs');
19
19
 
20
20
 
21
21
 
@@ -37,7 +37,7 @@ var _chunkHLMF3E53cjs = require('../chunk-HLMF3E53.cjs');
37
37
 
38
38
 
39
39
 
40
- var _chunkXQ33O5BCcjs = require('../chunk-XQ33O5BC.cjs');
40
+ var _chunkX35BV5YTcjs = require('../chunk-X35BV5YT.cjs');
41
41
 
42
42
 
43
43
 
@@ -76,7 +76,7 @@ var _chunkXQ33O5BCcjs = require('../chunk-XQ33O5BC.cjs');
76
76
 
77
77
 
78
78
 
79
- var _chunk6HMEHNWWcjs = require('../chunk-6HMEHNWW.cjs');
79
+ var _chunkXTU6QO2Wcjs = require('../chunk-XTU6QO2W.cjs');
80
80
 
81
81
 
82
82
 
@@ -137,7 +137,7 @@ var _chunk6HMEHNWWcjs = require('../chunk-6HMEHNWW.cjs');
137
137
 
138
138
 
139
139
 
140
- var _chunkUR37VCIRcjs = require('../chunk-UR37VCIR.cjs');
140
+ var _chunkI4AHLP7Fcjs = require('../chunk-I4AHLP7F.cjs');
141
141
  require('../chunk-55AKPTLM.cjs');
142
142
 
143
143
 
@@ -154,6 +154,8 @@ var _chunkUJGAA6AKcjs = require('../chunk-UJGAA6AK.cjs');
154
154
 
155
155
  var _chunkALNIFK5Gcjs = require('../chunk-ALNIFK5G.cjs');
156
156
  require('../chunk-FJ2MSI43.cjs');
157
+ require('../chunk-UKCJ43YL.cjs');
158
+ require('../chunk-IPJ3TEYR.cjs');
157
159
 
158
160
  // src/chart/raster.ts
159
161
  var CHART_RASTER_MAX_SIZE = 1024;
@@ -263,7 +265,7 @@ function chartFileName(spec, extension) {
263
265
  }
264
266
  async function downloadChartPng(spec, options = {}) {
265
267
  const { width = 800, height = 450, filename = chartFileName(spec, "png"), theme, ...raster } = options;
266
- const svg = _chunkXQ33O5BCcjs.chartToSvg.call(void 0, spec, { width, height, theme });
268
+ const svg = _chunkX35BV5YTcjs.chartToSvg.call(void 0, spec, { width, height, theme });
267
269
  const { url, width: w, height: h } = await svgToPngDataUrl(svg, { ...raster, width, height });
268
270
  const doc = _nullishCoalesce(raster.document, () => ( globalThis.document));
269
271
  const link = doc.createElement("a");
@@ -278,7 +280,7 @@ async function downloadChartPng(spec, options = {}) {
278
280
 
279
281
  // src/chart/recommend.ts
280
282
  var blank = (c) => c === null || c === void 0 || String(c).trim() === "";
281
- var isText = (c) => blank(c) || _chunkUR37VCIRcjs.parseChartValue.call(void 0, c) === void 0;
283
+ var isText = (c) => blank(c) || _chunkI4AHLP7Fcjs.parseChartValue.call(void 0, c) === void 0;
282
284
  function analyzeChartTable(rows) {
283
285
  const grid = rows.filter((r) => r.some((c) => !blank(c)));
284
286
  const height = grid.length;
@@ -296,7 +298,7 @@ function analyzeChartTable(rows) {
296
298
  let anyPositive = false;
297
299
  for (let r = headerRow ? 1 : 0; r < height; r++)
298
300
  for (let c = labelColumn ? 1 : 0; c < width; c++) {
299
- const v = _chunkUR37VCIRcjs.parseChartValue.call(void 0, cell(r, c));
301
+ const v = _chunkI4AHLP7Fcjs.parseChartValue.call(void 0, cell(r, c));
300
302
  if (typeof v !== "number") continue;
301
303
  anyNumber = true;
302
304
  if (v < 0) {
@@ -305,7 +307,7 @@ function analyzeChartTable(rows) {
305
307
  } else if (v > 0) anyPositive = true;
306
308
  }
307
309
  const labels = byRows ? _nullishCoalesce(_optionalChain([grid, 'access', _20 => _20[0], 'optionalAccess', _21 => _21.slice, 'call', _22 => _22(labelColumn ? 1 : 0)]), () => ( [])) : grid.slice(headerRow ? 1 : 0).map((r) => r[0]);
308
- const dates = (byRows ? headerRow : labelColumn) && labels.length > 1 && labels.filter((l) => !blank(l) && _chunk6HMEHNWWcjs.parseChartDate.call(void 0, String(l)) !== null).length >= labels.length * 0.8;
310
+ const dates = (byRows ? headerRow : labelColumn) && labels.length > 1 && labels.filter((l) => !blank(l) && _chunkXTU6QO2Wcjs.parseChartDate.call(void 0, String(l)) !== null).length >= labels.length * 0.8;
309
311
  return {
310
312
  headerRow,
311
313
  labelColumn,
@@ -392,7 +394,7 @@ function chartFromTable(rows, options = {}) {
392
394
  if (xFromFirst) {
393
395
  table = table.map((r) => [r[1], ...r.slice(2)]);
394
396
  }
395
- const data = _chunkUR37VCIRcjs.chartDataFromTable.call(void 0, table, { seriesIn: shape.byRows ? "rows" : "columns", header: true, xFromFirstColumn: xFromFirst });
397
+ const data = _chunkI4AHLP7Fcjs.chartDataFromTable.call(void 0, table, { seriesIn: shape.byRows ? "rows" : "columns", header: true, xFromFirstColumn: xFromFirst });
396
398
  return { type, stacking, categories: data.categories, series: data.series, issues: data.issues, shape };
397
399
  }
398
400
 
@@ -428,10 +430,10 @@ function createChartCommands(controller, options = {}) {
428
430
  readOnly: true,
429
431
  keywords: ["chart", "data", "spec", "get", "summary"],
430
432
  description: "Returns the chart spec, its data as a table (series names in the header row) and a summary: per-series min / max / mean / trend, axes as drawn, layout warnings and a colour check.",
431
- params: object({ width: _chunkFLUTRPLYcjs.WIDTH, height: _chunkFLUTRPLYcjs.HEIGHT }),
433
+ params: object({ width: _chunkTLMRGLQQcjs.WIDTH, height: _chunkTLMRGLQQcjs.HEIGHT }),
432
434
  run: (_ctx, params = {}) => {
433
435
  const spec = controller.getSpec();
434
- return { spec: controller.toJSON(), table: _chunkUR37VCIRcjs.chartDataToTable.call(void 0, spec), summary: _chunkXQ33O5BCcjs.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 };
436
+ return { spec: controller.toJSON(), table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, spec), summary: _chunkX35BV5YTcjs.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 };
435
437
  }
436
438
  },
437
439
  {
@@ -440,7 +442,7 @@ function createChartCommands(controller, options = {}) {
440
442
  label: "Change Chart\u2026",
441
443
  keywords: ["chart", "title", "axis", "legend", "stack", "style", "format", "type"],
442
444
  description: 'Changes chart presentation as one undo step: type, titles, axes (xAxis = categories, yAxis = values, yAxis2 = secondary values; reverse, and scale "log" on value axes), legend, stacking, orientation, curve, points, data labels, palette, donut hole, bar spacing, histogram bins or waterfall total. Invalid values change nothing and return why.',
443
- params: object(_chunkFLUTRPLYcjs.CHART_UPDATE_PROPERTIES),
445
+ params: object(_chunkTLMRGLQQcjs.CHART_UPDATE_PROPERTIES),
444
446
  run: (_ctx, params) => {
445
447
  check(controller.update(params));
446
448
  return { spec: controller.toJSON() };
@@ -454,11 +456,11 @@ function createChartCommands(controller, options = {}) {
454
456
  description: "Replaces the categories and series as one undo step. Each series has one value per category (padded with gaps).",
455
457
  params: object({
456
458
  categories: { type: "array", items: { type: "string" }, description: "Category labels in order." },
457
- series: { type: "array", description: "The new series.", items: object({ id: { type: "string", description: "Stable id (optional)." }, ..._chunkFLUTRPLYcjs.SERIES_PROPS }, ["name", "values"]) }
459
+ series: { type: "array", description: "The new series.", items: object({ id: { type: "string", description: "Stable id (optional)." }, ..._chunkTLMRGLQQcjs.SERIES_PROPS }, ["name", "values"]) }
458
460
  }),
459
461
  run: (_ctx, params) => {
460
462
  check(controller.setData(params));
461
- return { table: _chunkUR37VCIRcjs.chartDataToTable.call(void 0, controller.getSpec()) };
463
+ return { table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, controller.getSpec()) };
462
464
  }
463
465
  },
464
466
  {
@@ -467,10 +469,10 @@ function createChartCommands(controller, options = {}) {
467
469
  label: "Set Chart Values\u2026",
468
470
  keywords: ["chart", "value", "cell", "edit"],
469
471
  description: "Sets individual values as one undo step. Series by id or name; category by index or label.",
470
- params: object({ cells: { type: "array", minItems: 1, description: "Values to set.", items: object({ series: _chunkFLUTRPLYcjs.SERIES_REF, category: _chunkFLUTRPLYcjs.CATEGORY_REF, value: _chunkFLUTRPLYcjs.VALUE }, ["series", "category", "value"]) } }, ["cells"]),
472
+ params: object({ cells: { type: "array", minItems: 1, description: "Values to set.", items: object({ series: _chunkTLMRGLQQcjs.SERIES_REF, category: _chunkTLMRGLQQcjs.CATEGORY_REF, value: _chunkTLMRGLQQcjs.VALUE }, ["series", "category", "value"]) } }, ["cells"]),
471
473
  run: (_ctx, params) => {
472
474
  check(controller.setValues(params.cells.map((c) => ({ seriesId: resolveSeries(c.series).id, index: resolveCategory(c.category), value: c.value }))));
473
- return { table: _chunkUR37VCIRcjs.chartDataToTable.call(void 0, controller.getSpec()) };
475
+ return { table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, controller.getSpec()) };
474
476
  }
475
477
  },
476
478
  {
@@ -479,7 +481,7 @@ function createChartCommands(controller, options = {}) {
479
481
  label: "Add Series",
480
482
  keywords: ["chart", "series", "new"],
481
483
  description: "Adds a series (default: an empty one at the end). Returns its id.",
482
- params: object({ ..._chunkFLUTRPLYcjs.SERIES_PROPS, id: { type: "string", description: "Id to use (default series-N)." }, at: { type: "integer", minimum: 0, description: "Position (default: last)." } }),
484
+ params: object({ ..._chunkTLMRGLQQcjs.SERIES_PROPS, id: { type: "string", description: "Id to use (default series-N)." }, at: { type: "integer", minimum: 0, description: "Position (default: last)." } }),
483
485
  run: (_ctx, params = {}) => {
484
486
  const { at, ...input } = _nullishCoalesce(params, () => ( {}));
485
487
  const clean = Object.fromEntries(Object.entries(input).filter(([, v]) => v !== null));
@@ -494,7 +496,7 @@ function createChartCommands(controller, options = {}) {
494
496
  label: "Change Series\u2026",
495
497
  keywords: ["chart", "series", "rename", "colour", "color", "hide", "axis", "marker"],
496
498
  description: "Renames, recolours, hides, moves to the secondary axis or changes how a series is drawn, including error bars (null resets a field).",
497
- params: object({ series: _chunkFLUTRPLYcjs.SERIES_REF, ...Object.fromEntries(Object.entries(_chunkFLUTRPLYcjs.SERIES_PROPS).filter(([k]) => k !== "values")) }, ["series"]),
499
+ params: object({ series: _chunkTLMRGLQQcjs.SERIES_REF, ...Object.fromEntries(Object.entries(_chunkTLMRGLQQcjs.SERIES_PROPS).filter(([k]) => k !== "values")) }, ["series"]),
498
500
  run: (_ctx, params) => {
499
501
  const { series, ...patch } = params;
500
502
  const id = resolveSeries(series).id;
@@ -508,7 +510,7 @@ function createChartCommands(controller, options = {}) {
508
510
  label: "Delete Series",
509
511
  keywords: ["chart", "series", "remove"],
510
512
  description: "Deletes a series by id or name.",
511
- params: object({ series: _chunkFLUTRPLYcjs.SERIES_REF }, ["series"]),
513
+ params: object({ series: _chunkTLMRGLQQcjs.SERIES_REF }, ["series"]),
512
514
  run: (_ctx, params) => {
513
515
  check(controller.removeSeries(resolveSeries(params.series).id));
514
516
  return { series: seriesIds() };
@@ -529,7 +531,7 @@ function createChartCommands(controller, options = {}) {
529
531
  label: "Delete Category",
530
532
  keywords: ["chart", "category", "row", "remove"],
531
533
  description: "Deletes a category (and its values) by index or label.",
532
- params: object({ category: _chunkFLUTRPLYcjs.CATEGORY_REF }, ["category"]),
534
+ params: object({ category: _chunkTLMRGLQQcjs.CATEGORY_REF }, ["category"]),
533
535
  run: (_ctx, params) => {
534
536
  check(controller.removeCategory(resolveCategory(params.category)));
535
537
  return { categories: controller.getSpec().categories };
@@ -541,7 +543,7 @@ function createChartCommands(controller, options = {}) {
541
543
  label: "Add Trendline\u2026",
542
544
  keywords: ["chart", "trend", "regression", "fit", "forecast", "moving average"],
543
545
  description: "Fits a trendline to a series (linear, exponential, logarithmic, power, polynomial or moving average). Returns its index and the fit.",
544
- params: object({ series: _chunkFLUTRPLYcjs.SERIES_REF, ..._chunkFLUTRPLYcjs.TRENDLINE_PROPS }, ["series", "type"]),
546
+ params: object({ series: _chunkTLMRGLQQcjs.SERIES_REF, ..._chunkTLMRGLQQcjs.TRENDLINE_PROPS }, ["series", "type"]),
545
547
  run: (_ctx, params) => {
546
548
  const { series, ...line } = params;
547
549
  const result = controller.addTrendline(resolveSeries(series).id, line);
@@ -556,7 +558,7 @@ function createChartCommands(controller, options = {}) {
556
558
  label: "Delete Trendline",
557
559
  keywords: ["chart", "trend", "remove"],
558
560
  description: "Deletes a trendline from a series.",
559
- params: object({ series: _chunkFLUTRPLYcjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index (0 = first)." } }, ["series", "index"]),
561
+ params: object({ series: _chunkTLMRGLQQcjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index (0 = first)." } }, ["series", "index"]),
560
562
  run: (_ctx, params) => {
561
563
  check(controller.removeTrendline(resolveSeries(params.series).id, params.index));
562
564
  return { trendlines: _nullishCoalesce(_optionalChain([controller, 'access', _29 => _29.getSeries, 'call', _30 => _30(resolveSeries(params.series).id), 'optionalAccess', _31 => _31.trendlines]), () => ( [])) };
@@ -569,8 +571,8 @@ function createChartCommands(controller, options = {}) {
569
571
  keywords: ["chart", "quick layout", "style", "colours", "colors", "monochrome", "theme"],
570
572
  description: "Applies a quick layout and / or colour scheme as one undo step.",
571
573
  params: object({
572
- layout: { type: "string", enum: _chunkXQ33O5BCcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
573
- colors: { type: "string", enum: _chunkXQ33O5BCcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
574
+ layout: { type: "string", enum: _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
575
+ colors: { type: "string", enum: _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
574
576
  }),
575
577
  run: (_ctx, params = {}) => {
576
578
  check(controller.applyPreset(_nullishCoalesce(params, () => ( {}))));
@@ -585,7 +587,7 @@ function createChartCommands(controller, options = {}) {
585
587
  description: "Swaps series and categories as one undo step.",
586
588
  run: () => {
587
589
  check(controller.transpose());
588
- return { table: _chunkUR37VCIRcjs.chartDataToTable.call(void 0, controller.getSpec()) };
590
+ return { table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, controller.getSpec()) };
589
591
  }
590
592
  },
591
593
  {
@@ -605,7 +607,7 @@ function createChartCommands(controller, options = {}) {
605
607
  run: (_ctx, params) => {
606
608
  const result = controller.importCsv(params.csv, { seriesIn: params.seriesIn, header: params.header });
607
609
  check(result);
608
- return { table: _chunkUR37VCIRcjs.chartDataToTable.call(void 0, controller.getSpec()), issues: _nullishCoalesce(result.issues, () => ( [])) };
610
+ return { table: _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, controller.getSpec()), issues: _nullishCoalesce(result.issues, () => ( [])) };
609
611
  }
610
612
  },
611
613
  {
@@ -616,7 +618,7 @@ function createChartCommands(controller, options = {}) {
616
618
  description: "Replaces the chart with Mermaid xychart-beta, pie or radar-beta text (one undo step). Unreadable lines are listed with line numbers.",
617
619
  params: object({ mermaid: { type: "string", description: "Mermaid text." } }, ["mermaid"]),
618
620
  run: (_ctx, params) => {
619
- const read = _chunkXQ33O5BCcjs.chartFromMermaid.call(void 0, params.mermaid);
621
+ const read = _chunkX35BV5YTcjs.chartFromMermaid.call(void 0, params.mermaid);
620
622
  if (!read.family) fail(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie or radar-beta.");
621
623
  check(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
622
624
  return { spec: controller.toJSON(), issues: read.issues };
@@ -630,7 +632,7 @@ function createChartCommands(controller, options = {}) {
630
632
  keywords: ["chart", "mermaid", "markdown", "export"],
631
633
  description: "Returns the chart as Mermaid text (with a round-trip comment unless meta is false).",
632
634
  params: object({ meta: { type: "boolean", description: "Include the %% @pixerate round-trip comment (default true)." } }),
633
- run: (_ctx, params = {}) => ({ mermaid: _chunkXQ33O5BCcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _32 => _32.meta]) }) })
635
+ run: (_ctx, params = {}) => ({ mermaid: _chunkX35BV5YTcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _32 => _32.meta]) }) })
634
636
  },
635
637
  {
636
638
  ...base,
@@ -639,7 +641,7 @@ function createChartCommands(controller, options = {}) {
639
641
  readOnly: true,
640
642
  keywords: ["chart", "office", "word", "powerpoint", "docx", "pptx", "xml", "export"],
641
643
  description: "Returns the chart as a DrawingML chart part (c:chartSpace) and what could not be written.",
642
- run: () => _chunkHLMF3E53cjs.chartToOoxml.call(void 0, controller.toJSON())
644
+ run: () => _chunk2WDZI6QDcjs.chartToOoxml.call(void 0, controller.toJSON())
643
645
  },
644
646
  {
645
647
  ...base,
@@ -648,9 +650,9 @@ function createChartCommands(controller, options = {}) {
648
650
  readOnly: true,
649
651
  keywords: ["chart", "svg", "export", "image"],
650
652
  description: "Returns the chart drawn as a standalone, accessible SVG string (with <title> and <desc>).",
651
- params: object({ width: _chunkFLUTRPLYcjs.WIDTH, height: _chunkFLUTRPLYcjs.HEIGHT }),
653
+ params: object({ width: _chunkTLMRGLQQcjs.WIDTH, height: _chunkTLMRGLQQcjs.HEIGHT }),
652
654
  run: (_ctx, params = {}) => ({
653
- svg: _chunkXQ33O5BCcjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _33 => _33.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _34 => _34.height]), () => ( 400)) })
655
+ svg: _chunkX35BV5YTcjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _33 => _33.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _34 => _34.height]), () => ( 400)) })
654
656
  })
655
657
  },
656
658
  {
@@ -662,7 +664,7 @@ function createChartCommands(controller, options = {}) {
662
664
  description: "Suggests chart types for the current data (or CSV), best first, each with a reason.",
663
665
  params: object({ csv: { type: "string", description: "CSV text to analyse instead of the current data." } }),
664
666
  run: (_ctx, params = {}) => ({
665
- recommendations: recommendChartTypes(_optionalChain([params, 'optionalAccess', _35 => _35.csv]) !== void 0 ? _chunkN3KJFGXTcjs.parseCsv.call(void 0, params.csv) : _chunkUR37VCIRcjs.chartDataToTable.call(void 0, controller.getSpec()))
667
+ recommendations: recommendChartTypes(_optionalChain([params, 'optionalAccess', _35 => _35.csv]) !== void 0 ? _chunkN3KJFGXTcjs.parseCsv.call(void 0, params.csv) : _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, controller.getSpec()))
666
668
  })
667
669
  },
668
670
  {
@@ -675,8 +677,8 @@ function createChartCommands(controller, options = {}) {
675
677
  run: () => {
676
678
  const s = controller.getSpec();
677
679
  const visible = s.series.filter((x) => !x.hidden);
678
- const colors = _chunkUR37VCIRcjs.chartColorsByCategory.call(void 0, s.type) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _36 => _36[0], 'optionalAccess', _37 => _37.pointColors, 'optionalAccess', _38 => _38[i]]) || _chunkUR37VCIRcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkUR37VCIRcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
679
- return { colors, ..._chunkUR37VCIRcjs.checkChartColors.call(void 0, colors) };
680
+ const colors = _chunkI4AHLP7Fcjs.chartColorsByCategory.call(void 0, s.type) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _36 => _36[0], 'optionalAccess', _37 => _37.pointColors, 'optionalAccess', _38 => _38[i]]) || _chunkI4AHLP7Fcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkI4AHLP7Fcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
681
+ return { colors, ..._chunkI4AHLP7Fcjs.checkChartColors.call(void 0, colors) };
680
682
  }
681
683
  },
682
684
  {
@@ -707,7 +709,7 @@ function chartClientToScene(scene, box, clientX, clientY) {
707
709
  function canDragChartPoint(controller, scene, target) {
708
710
  if (_optionalChain([target, 'optionalAccess', _39 => _39.kind]) !== "point" || !scene.valueScale || scene.percent) return false;
709
711
  const spec = controller.getSpec();
710
- const family = _chunkUR37VCIRcjs.chartFamily.call(void 0, spec);
712
+ const family = _chunkI4AHLP7Fcjs.chartFamily.call(void 0, spec);
711
713
  if (family !== "cartesian" && family !== "xy" && family !== "waterfall") return false;
712
714
  const series = controller.getSeries(target.seriesId);
713
715
  return !!series && !series.hidden && series.values[target.index] !== null;
@@ -716,7 +718,7 @@ function snapChartDragValue(scene, value, options = {}) {
716
718
  const scale = _nullishCoalesce(options.scale, () => ( scene.valueScale));
717
719
  const tolerance = _nullishCoalesce(options.tolerancePx, () => ( 6));
718
720
  if (scale) {
719
- const px = (v) => _chunk6HMEHNWWcjs.chartScaleToPixel.call(void 0, v, scale);
721
+ const px = (v) => _chunkXTU6QO2Wcjs.chartScaleToPixel.call(void 0, v, scale);
720
722
  const at = px(value);
721
723
  let best = null;
722
724
  let bestDist = tolerance;
@@ -731,7 +733,7 @@ function snapChartDragValue(scene, value, options = {}) {
731
733
  }
732
734
  if (best !== null) return best;
733
735
  }
734
- return _chunk6HMEHNWWcjs.snapChartValue.call(void 0, scene, value, options.step, _optionalChain([scale, 'optionalAccess', _40 => _40.ticks]), _optionalChain([scale, 'optionalAccess', _41 => _41.logBase]));
736
+ return _chunkXTU6QO2Wcjs.snapChartValue.call(void 0, scene, value, options.step, _optionalChain([scale, 'optionalAccess', _40 => _40.ticks]), _optionalChain([scale, 'optionalAccess', _41 => _41.logBase]));
735
737
  }
736
738
  function startChartPointDrag(controller, scene, target, start, options = {}) {
737
739
  if (!canDragChartPoint(controller, scene, target)) return null;
@@ -740,11 +742,11 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
740
742
  const series = controller.getSeries(seriesId);
741
743
  const secondary = series.axis === "secondary" && !!scene.valueScale2;
742
744
  const scale = secondary ? scene.valueScale2 : scene.valueScale;
743
- const xy = _chunkUR37VCIRcjs.chartFamily.call(void 0, spec) === "xy" && !!scene.xScale;
745
+ const xy = _chunkI4AHLP7Fcjs.chartFamily.call(void 0, spec) === "xy" && !!scene.xScale;
744
746
  const startValue = _nullishCoalesce(series.values[index], () => ( 0));
745
747
  const startX = _nullishCoalesce(_optionalChain([series, 'access', _42 => _42.x, 'optionalAccess', _43 => _43[index]]), () => ( null));
746
- const startAt = _chunk6HMEHNWWcjs.chartValueAtPoint.call(void 0, scene, start, secondary);
747
- const startAtX = xy ? _chunk6HMEHNWWcjs.chartXAtPoint.call(void 0, scene, start) : void 0;
748
+ const startAt = _chunkXTU6QO2Wcjs.chartValueAtPoint.call(void 0, scene, start, secondary);
749
+ const startAtX = xy ? _chunkXTU6QO2Wcjs.chartXAtPoint.call(void 0, scene, start) : void 0;
748
750
  if (startAt === void 0) return null;
749
751
  const candidates = [0, startValue];
750
752
  if (!xy) {
@@ -762,7 +764,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
762
764
  target: { seriesId, index },
763
765
  move(point, moveOptions = {}) {
764
766
  if (ended) return;
765
- const at = _chunk6HMEHNWWcjs.chartValueAtPoint.call(void 0, scene, point, secondary);
767
+ const at = _chunkXTU6QO2Wcjs.chartValueAtPoint.call(void 0, scene, point, secondary);
766
768
  if (at === void 0) return;
767
769
  const factor = moveOptions.fine ? 0.1 : 1;
768
770
  const moved = (from, to, s, value) => s.logBase && value > 0 && from > 0 && to > 0 ? value * Math.pow(to / from, factor) : value + (to - from) * factor;
@@ -770,7 +772,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
770
772
  let moveX = false;
771
773
  let atX;
772
774
  if (xy && startX !== null && startAtX !== void 0) {
773
- atX = _chunk6HMEHNWWcjs.chartXAtPoint.call(void 0, scene, point);
775
+ atX = _chunkXTU6QO2Wcjs.chartXAtPoint.call(void 0, scene, point);
774
776
  moveX = atX !== void 0;
775
777
  if (moveOptions.lockAxis) {
776
778
  if (Math.abs(point.x - start.x) >= Math.abs(point.y - start.y)) moveY = false;
@@ -782,7 +784,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
782
784
  if (moveOptions.fine) {
783
785
  if (s.logBase && !options.step) return v > 0 ? Number(v.toPrecision(3)) : v;
784
786
  const unit = options.step ? options.step / 10 : s.ticks.length > 1 ? (s.ticks[1] - s.ticks[0]) / 100 : void 0;
785
- return _chunk6HMEHNWWcjs.snapChartValue.call(void 0, scene, v, unit, s.ticks);
787
+ return _chunkXTU6QO2Wcjs.snapChartValue.call(void 0, scene, v, unit, s.ticks);
786
788
  }
787
789
  return snapChartDragValue(scene, v, { candidates: c, tolerancePx: options.tolerancePx, step: options.step, scale: s });
788
790
  };
@@ -870,7 +872,7 @@ function describeChartSelection(controller, selection = controller.getState().se
870
872
  case "legend":
871
873
  return "Legend";
872
874
  case "axis":
873
- return selection.axis === "x" ? _chunkUR37VCIRcjs.chartFamily.call(void 0, spec) === "xy" ? "X axis" : "Category axis" : selection.axis === "y" ? "Value axis" : "Secondary value axis";
875
+ return selection.axis === "x" ? _chunkI4AHLP7Fcjs.chartFamily.call(void 0, spec) === "xy" ? "X axis" : "Category axis" : selection.axis === "y" ? "Value axis" : "Secondary value axis";
874
876
  case "series":
875
877
  return `Series "${_nullishCoalesce(_optionalChain([controller, 'access', _59 => _59.getSeries, 'call', _60 => _60(selection.seriesId), 'optionalAccess', _61 => _61.name]), () => ( selection.seriesId))}"`;
876
878
  case "category":
@@ -884,7 +886,7 @@ function describeChartSelection(controller, selection = controller.getState().se
884
886
  const series = controller.getSeries(selection.seriesId);
885
887
  const value = _optionalChain([series, 'optionalAccess', _65 => _65.values, 'access', _66 => _66[selection.index]]);
886
888
  const x = _optionalChain([series, 'optionalAccess', _67 => _67.x, 'optionalAccess', _68 => _68[selection.index]]);
887
- if (x !== void 0 && x !== null && _chunkUR37VCIRcjs.chartFamily.call(void 0, spec) === "xy") return `${_nullishCoalesce(_optionalChain([series, 'optionalAccess', _69 => _69.name]), () => ( selection.seriesId))}: (${x}, ${_nullishCoalesce(value, () => ( "blank"))})`;
889
+ if (x !== void 0 && x !== null && _chunkI4AHLP7Fcjs.chartFamily.call(void 0, spec) === "xy") return `${_nullishCoalesce(_optionalChain([series, 'optionalAccess', _69 => _69.name]), () => ( selection.seriesId))}: (${x}, ${_nullishCoalesce(value, () => ( "blank"))})`;
888
890
  return `${_nullishCoalesce(_optionalChain([series, 'optionalAccess', _70 => _70.name]), () => ( selection.seriesId))} \xB7 ${_nullishCoalesce(spec.categories[selection.index], () => ( selection.index))}: ${_nullishCoalesce(value, () => ( "blank"))}`;
889
891
  }
890
892
  }
@@ -961,7 +963,7 @@ function planChartCommand(spec, scene, command, speed = 1) {
961
963
  const from = _nullishCoalesce(_optionalChain([series, 'optionalAccess', _73 => _73.values, 'access', _74 => _74[command.index]]), () => ( 0));
962
964
  const scale = _optionalChain([series, 'optionalAccess', _75 => _75.axis]) === "secondary" ? _nullishCoalesce(scene.valueScale2, () => ( scene.valueScale)) : scene.valueScale;
963
965
  if (at && scale) {
964
- const px = _chunk6HMEHNWWcjs.linearMap.call(void 0, command.value, scale.domain, scale.range);
966
+ const px = _chunkXTU6QO2Wcjs.linearMap.call(void 0, command.value, scale.domain, scale.range);
965
967
  const to = scale.axis === "y" ? { x: at.x, y: px } : { x: px, y: at.y };
966
968
  steps.push({ type: "move", to: at, ms: ms(380) }, { type: "press" }, { type: "drag", to, ms: ms(520), from, value: command.value }, { type: "release" });
967
969
  } else steps.push({ type: "drag", to: { x: scene.plot.x + scene.plot.width / 2, y: scene.plot.y + scene.plot.height / 2 }, ms: ms(200), from, value: command.value });
@@ -1194,13 +1196,13 @@ function createChartToolProvider(controller, options = {}) {
1194
1196
  fail2(`There is no category ${JSON.stringify(ref)}; expected an index from 0 to ${categories.length - 1} or one of ${categories.slice(0, 20).map((c) => JSON.stringify(c)).join(", ")}.`);
1195
1197
  return index;
1196
1198
  };
1197
- const table = () => _chunkUR37VCIRcjs.chartDataToTable.call(void 0, spec());
1199
+ const table = () => _chunkI4AHLP7Fcjs.chartDataToTable.call(void 0, spec());
1198
1200
  const Parser = () => _nullishCoalesce(options.DOMParser, () => ( globalThis.DOMParser));
1199
1201
  const getChart = {
1200
1202
  name: "get_chart",
1201
1203
  title: "Read the chart",
1202
1204
  description: "Returns the chart spec (type, titles, axes, legend, series with ids and settings), its data as a table (header row of series names, then one row per category), the current selection, and a summary at the given size: per-series min / max / mean / trend, the axes as drawn, layout warnings (hidden labels, thinned lines), a colour check and a plain-language description. Use the series ids and category indexes it returns with the write tools.",
1203
- inputSchema: { type: "object", properties: { width: _chunkFLUTRPLYcjs.WIDTH, height: _chunkFLUTRPLYcjs.HEIGHT }, additionalProperties: false },
1205
+ inputSchema: { type: "object", properties: { width: _chunkTLMRGLQQcjs.WIDTH, height: _chunkTLMRGLQQcjs.HEIGHT }, additionalProperties: false },
1204
1206
  annotations: { title: "Read the chart", ...READ },
1205
1207
  handler: ({ width = size.width, height = size.height }) => {
1206
1208
  const reason = readOnlyReason();
@@ -1208,7 +1210,7 @@ function createChartToolProvider(controller, options = {}) {
1208
1210
  spec: controller.toJSON(),
1209
1211
  table: table(),
1210
1212
  selection: controller.getState().selection,
1211
- summary: _chunkXQ33O5BCcjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1213
+ summary: _chunkX35BV5YTcjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1212
1214
  issues: controller.getState().issues,
1213
1215
  ...reason ? { readOnly: reason } : {}
1214
1216
  };
@@ -1221,8 +1223,8 @@ function createChartToolProvider(controller, options = {}) {
1221
1223
  inputSchema: {
1222
1224
  type: "object",
1223
1225
  properties: {
1224
- width: _chunkFLUTRPLYcjs.WIDTH,
1225
- height: _chunkFLUTRPLYcjs.HEIGHT,
1226
+ width: _chunkTLMRGLQQcjs.WIDTH,
1227
+ height: _chunkTLMRGLQQcjs.HEIGHT,
1226
1228
  format: { type: "string", enum: ["svg", "png"], description: "svg (default): the SVG document as text. png: an image to look at (only when the host can rasterize; costs image tokens)." }
1227
1229
  },
1228
1230
  additionalProperties: false
@@ -1230,8 +1232,8 @@ function createChartToolProvider(controller, options = {}) {
1230
1232
  annotations: { title: "Render the chart", ...READ },
1231
1233
  handler: async ({ width = size.width, height = size.height, format = "svg" }) => {
1232
1234
  const json = controller.toJSON();
1233
- const scene = _chunk6HMEHNWWcjs.layoutChart.call(void 0, json, { width, height, selection: null });
1234
- const svg = _chunkXQ33O5BCcjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkXQ33O5BCcjs.describeChart.call(void 0, json) });
1235
+ const scene = _chunkXTU6QO2Wcjs.layoutChart.call(void 0, json, { width, height, selection: null });
1236
+ const svg = _chunkX35BV5YTcjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkX35BV5YTcjs.describeChart.call(void 0, json) });
1235
1237
  const warnings = scene.warnings;
1236
1238
  if (format === "png") {
1237
1239
  if (!options.rasterize) fail2('This host cannot rasterize charts; call render_chart with format "svg", or get_chart for the layout warnings.');
@@ -1265,8 +1267,8 @@ function createChartToolProvider(controller, options = {}) {
1265
1267
  handler: ({ colors, surface }) => {
1266
1268
  const s = spec();
1267
1269
  const visible = s.series.filter((x) => !x.hidden);
1268
- const own = _chunkUR37VCIRcjs.chartColorsByCategory.call(void 0, s.type) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _87 => _87[0], 'optionalAccess', _88 => _88.pointColors, 'optionalAccess', _89 => _89[i]]) || _chunkUR37VCIRcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkUR37VCIRcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
1269
- return { colors: _nullishCoalesce(colors, () => ( own)), ..._chunkUR37VCIRcjs.checkChartColors.call(void 0, _nullishCoalesce(colors, () => ( own)), { surface }) };
1270
+ const own = _chunkI4AHLP7Fcjs.chartColorsByCategory.call(void 0, s.type) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _87 => _87[0], 'optionalAccess', _88 => _88.pointColors, 'optionalAccess', _89 => _89[i]]) || _chunkI4AHLP7Fcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkI4AHLP7Fcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
1271
+ return { colors: _nullishCoalesce(colors, () => ( own)), ..._chunkI4AHLP7Fcjs.checkChartColors.call(void 0, _nullishCoalesce(colors, () => ( own)), { surface }) };
1270
1272
  }
1271
1273
  };
1272
1274
  const recommend = {
@@ -1288,7 +1290,7 @@ function createChartToolProvider(controller, options = {}) {
1288
1290
  description: "Returns a trendline's fitted coefficients (in x for category charts, x = 1, 2, 3, \u2026), R\xB2, equation and the number of points, or the moving-average points.",
1289
1291
  inputSchema: {
1290
1292
  type: "object",
1291
- properties: { series: _chunkFLUTRPLYcjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index on the series (0 = first)." } },
1293
+ properties: { series: _chunkTLMRGLQQcjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index on the series (0 = first)." } },
1292
1294
  required: ["series", "index"],
1293
1295
  additionalProperties: false
1294
1296
  },
@@ -1310,8 +1312,8 @@ function createChartToolProvider(controller, options = {}) {
1310
1312
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
1311
1313
  annotations: { title: "List chart presets", ...READ },
1312
1314
  handler: () => ({
1313
- layouts: _chunkXQ33O5BCcjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1314
- colorSchemes: _chunkXQ33O5BCcjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1315
+ layouts: _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1316
+ colorSchemes: _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1315
1317
  })
1316
1318
  };
1317
1319
  const exportMermaid = {
@@ -1320,7 +1322,7 @@ function createChartToolProvider(controller, options = {}) {
1320
1322
  description: 'Returns the chart as Mermaid text (xychart-beta, pie or radar-beta) for Markdown or chat. With meta (default true) one "%% @pixerate {\u2026}" comment keeps what Mermaid cannot express, so import_chart_mermaid gets the chart back exactly.',
1321
1323
  inputSchema: { type: "object", properties: { meta: { type: "boolean", description: "Include the round-trip comment (default true)." } }, additionalProperties: false },
1322
1324
  annotations: { title: "Export chart as Mermaid", ...READ },
1323
- handler: ({ meta = true }) => ({ mermaid: _chunkXQ33O5BCcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1325
+ handler: ({ meta = true }) => ({ mermaid: _chunkX35BV5YTcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1324
1326
  };
1325
1327
  const exportOoxml = {
1326
1328
  name: "export_chart_ooxml",
@@ -1328,7 +1330,7 @@ function createChartToolProvider(controller, options = {}) {
1328
1330
  description: "Returns the chart as a DrawingML chart part (c:chartSpace) for Word or PowerPoint files, with what could not be written as sentences.",
1329
1331
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
1330
1332
  annotations: { title: "Export chart as Office XML", ...READ },
1331
- handler: () => _chunkHLMF3E53cjs.chartToOoxml.call(void 0, controller.toJSON())
1333
+ handler: () => _chunk2WDZI6QDcjs.chartToOoxml.call(void 0, controller.toJSON())
1332
1334
  };
1333
1335
  const updateChart = {
1334
1336
  name: "update_chart",
@@ -1336,7 +1338,7 @@ function createChartToolProvider(controller, options = {}) {
1336
1338
  description: 'Changes how the chart looks, as one undo step: type, titles, axes (xAxis = categories or numeric x, yAxis = values, yAxis2 = secondary values; each can be reversed, and value axes can be logarithmic with scale "log"), legend, stacking, orientation, curve, points, data labels and their position, palette, donut hole, bar spacing, histogram bins, waterfall total. All-or-nothing: invalid values change nothing and come back as sentences. Returns the new spec.',
1337
1339
  inputSchema: {
1338
1340
  type: "object",
1339
- properties: _chunkFLUTRPLYcjs.CHART_UPDATE_PROPERTIES,
1341
+ properties: _chunkTLMRGLQQcjs.CHART_UPDATE_PROPERTIES,
1340
1342
  additionalProperties: false
1341
1343
  },
1342
1344
  annotations: { title: "Change chart presentation", ...WRITE_IDEMPOTENT },
@@ -1357,7 +1359,7 @@ function createChartToolProvider(controller, options = {}) {
1357
1359
  series: {
1358
1360
  type: "array",
1359
1361
  description: "The new series (replaces all).",
1360
- items: { type: "object", properties: { id: { type: "string", description: "Stable id (optional)." }, ..._chunkFLUTRPLYcjs.SERIES_PROPS }, required: ["name", "values"], additionalProperties: false }
1362
+ items: { type: "object", properties: { id: { type: "string", description: "Stable id (optional)." }, ..._chunkTLMRGLQQcjs.SERIES_PROPS }, required: ["name", "values"], additionalProperties: false }
1361
1363
  }
1362
1364
  },
1363
1365
  additionalProperties: false
@@ -1380,7 +1382,7 @@ function createChartToolProvider(controller, options = {}) {
1380
1382
  type: "array",
1381
1383
  minItems: 1,
1382
1384
  description: "Values to set.",
1383
- items: { type: "object", properties: { series: _chunkFLUTRPLYcjs.SERIES_REF, category: _chunkFLUTRPLYcjs.CATEGORY_REF, value: _chunkFLUTRPLYcjs.VALUE }, required: ["series", "category", "value"], additionalProperties: false }
1385
+ items: { type: "object", properties: { series: _chunkTLMRGLQQcjs.SERIES_REF, category: _chunkTLMRGLQQcjs.CATEGORY_REF, value: _chunkTLMRGLQQcjs.VALUE }, required: ["series", "category", "value"], additionalProperties: false }
1384
1386
  }
1385
1387
  },
1386
1388
  required: ["cells"],
@@ -1389,7 +1391,7 @@ function createChartToolProvider(controller, options = {}) {
1389
1391
  annotations: { title: "Set chart values", ...WRITE_IDEMPOTENT },
1390
1392
  handler: async ({ cells }) => {
1391
1393
  const resolved = cells.map((c) => ({ seriesId: seriesById(c.series).id, index: categoryIndex(c.category), value: c.value }));
1392
- const parsed = resolved.map((c) => _chunkUR37VCIRcjs.parseChartValue.call(void 0, c.value));
1394
+ const parsed = resolved.map((c) => _chunkI4AHLP7Fcjs.parseChartValue.call(void 0, c.value));
1393
1395
  const bad = resolved.find((_, i) => parsed[i] === void 0);
1394
1396
  if (bad) fail2(`"${String(bad.value)}" is not a number; pass a number, numeric text or null for a gap. Nothing was changed.`);
1395
1397
  if (options.director && parsed.every((v) => typeof v === "number")) {
@@ -1406,7 +1408,7 @@ function createChartToolProvider(controller, options = {}) {
1406
1408
  description: "Adds a series (values padded to the categories) and selects it. Returns its id and stored values.",
1407
1409
  inputSchema: {
1408
1410
  type: "object",
1409
- properties: { ..._chunkFLUTRPLYcjs.SERIES_PROPS, id: { type: "string", description: "Id to use (default: series-N)." }, at: { type: "integer", minimum: 0, description: "Position (default: last)." } },
1411
+ properties: { ..._chunkTLMRGLQQcjs.SERIES_PROPS, id: { type: "string", description: "Id to use (default: series-N)." }, at: { type: "integer", minimum: 0, description: "Position (default: last)." } },
1410
1412
  required: ["name"],
1411
1413
  additionalProperties: false
1412
1414
  },
@@ -1424,7 +1426,7 @@ function createChartToolProvider(controller, options = {}) {
1424
1426
  description: "Renames, recolours, hides, moves to the secondary axis or changes how a series is drawn (marker, curve, labels, format, x values, bubble sizes, point colours, error bars). null resets a field. Values change with set_chart_values. Returns the series.",
1425
1427
  inputSchema: {
1426
1428
  type: "object",
1427
- properties: { series: _chunkFLUTRPLYcjs.SERIES_REF, ...Object.fromEntries(Object.entries(_chunkFLUTRPLYcjs.SERIES_PROPS).filter(([k]) => k !== "values")) },
1429
+ properties: { series: _chunkTLMRGLQQcjs.SERIES_REF, ...Object.fromEntries(Object.entries(_chunkTLMRGLQQcjs.SERIES_PROPS).filter(([k]) => k !== "values")) },
1428
1430
  required: ["series"],
1429
1431
  additionalProperties: false
1430
1432
  },
@@ -1440,7 +1442,7 @@ function createChartToolProvider(controller, options = {}) {
1440
1442
  name: "remove_chart_series",
1441
1443
  title: "Delete a series",
1442
1444
  description: "Deletes a series and its values. Returns the remaining series ids.",
1443
- inputSchema: { type: "object", properties: { series: _chunkFLUTRPLYcjs.SERIES_REF }, required: ["series"], additionalProperties: false },
1445
+ inputSchema: { type: "object", properties: { series: _chunkTLMRGLQQcjs.SERIES_REF }, required: ["series"], additionalProperties: false },
1444
1446
  annotations: { title: "Delete a series", ...DESTRUCTIVE },
1445
1447
  handler: ({ series }) => {
1446
1448
  resolve(controller.removeSeries(seriesById(series).id));
@@ -1466,7 +1468,7 @@ function createChartToolProvider(controller, options = {}) {
1466
1468
  name: "remove_chart_category",
1467
1469
  title: "Delete a category",
1468
1470
  description: "Deletes a category and its value in every series. Returns the remaining categories.",
1469
- inputSchema: { type: "object", properties: { category: _chunkFLUTRPLYcjs.CATEGORY_REF }, required: ["category"], additionalProperties: false },
1471
+ inputSchema: { type: "object", properties: { category: _chunkTLMRGLQQcjs.CATEGORY_REF }, required: ["category"], additionalProperties: false },
1470
1472
  annotations: { title: "Delete a category", ...DESTRUCTIVE },
1471
1473
  handler: ({ category }) => {
1472
1474
  resolve(controller.removeCategory(categoryIndex(category)));
@@ -1509,7 +1511,7 @@ function createChartToolProvider(controller, options = {}) {
1509
1511
  annotations: { title: "Import a Mermaid chart", ...DESTRUCTIVE },
1510
1512
  handler: ({ mermaid }) => {
1511
1513
  const fenced = /```(?:mermaid)?\s*\n([\s\S]*?)```/.exec(mermaid);
1512
- const read = _chunkXQ33O5BCcjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
1514
+ const read = _chunkX35BV5YTcjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
1513
1515
  if (!read.family) fail2(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie or radar-beta.");
1514
1516
  resolve(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
1515
1517
  return { spec: controller.toJSON(), issues: read.issues };
@@ -1522,7 +1524,7 @@ function createChartToolProvider(controller, options = {}) {
1522
1524
  inputSchema: { type: "object", properties: { xml: { type: "string", description: "The chart part XML, e.g. word/charts/chart1.xml." } }, required: ["xml"], additionalProperties: false },
1523
1525
  annotations: { title: "Import an Office chart", ...DESTRUCTIVE },
1524
1526
  handler: ({ xml }) => {
1525
- const read = _chunkHLMF3E53cjs.chartFromOoxml.call(void 0, xml, { DOMParser: Parser() });
1527
+ const read = _chunk2WDZI6QDcjs.chartFromOoxml.call(void 0, xml, { DOMParser: Parser() });
1526
1528
  if (read.issues.some((i) => i.path === "" || i.path === "plotArea")) fail2(read.issues.map((i) => i.message).join(" "));
1527
1529
  resolve(controller.update({ ...read.spec }, { label: "Import Office chart" }));
1528
1530
  return { spec: controller.toJSON(), issues: read.issues.map((i) => i.message), unsupported: read.unsupported, lossless: read.lossless };
@@ -1532,7 +1534,7 @@ function createChartToolProvider(controller, options = {}) {
1532
1534
  name: "add_chart_trendline",
1533
1535
  title: "Add a trendline",
1534
1536
  description: "Fits a trendline to a series and draws it (unstacked bar, line, area, scatter and bubble charts). Returns its index and the fit: coefficients, R\xB2 and equation.",
1535
- inputSchema: { type: "object", properties: { series: _chunkFLUTRPLYcjs.SERIES_REF, ..._chunkFLUTRPLYcjs.TRENDLINE_PROPS }, required: ["series", "type"], additionalProperties: false },
1537
+ inputSchema: { type: "object", properties: { series: _chunkTLMRGLQQcjs.SERIES_REF, ..._chunkTLMRGLQQcjs.TRENDLINE_PROPS }, required: ["series", "type"], additionalProperties: false },
1536
1538
  annotations: { title: "Add a trendline", ...WRITE },
1537
1539
  handler: ({ series, ...line }) => {
1538
1540
  const s = seriesById(series);
@@ -1546,7 +1548,7 @@ function createChartToolProvider(controller, options = {}) {
1546
1548
  description: "Deletes a trendline from a series. Returns the series' remaining trendlines.",
1547
1549
  inputSchema: {
1548
1550
  type: "object",
1549
- properties: { series: _chunkFLUTRPLYcjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index on the series (0 = first)." } },
1551
+ properties: { series: _chunkTLMRGLQQcjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index on the series (0 = first)." } },
1550
1552
  required: ["series", "index"],
1551
1553
  additionalProperties: false
1552
1554
  },
@@ -1564,8 +1566,8 @@ function createChartToolProvider(controller, options = {}) {
1564
1566
  inputSchema: {
1565
1567
  type: "object",
1566
1568
  properties: {
1567
- layout: { type: "string", enum: _chunkXQ33O5BCcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
1568
- colors: { type: "string", enum: _chunkXQ33O5BCcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
1569
+ layout: { type: "string", enum: _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
1570
+ colors: { type: "string", enum: _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
1569
1571
  },
1570
1572
  additionalProperties: false
1571
1573
  },
@@ -1594,8 +1596,8 @@ function createChartToolProvider(controller, options = {}) {
1594
1596
  type: "object",
1595
1597
  properties: {
1596
1598
  kind: { type: "string", enum: ["none", "chart", "title", "subtitle", "legend", "axis", "series", "point", "category", "trendline"], description: "What to select." },
1597
- series: { ..._chunkFLUTRPLYcjs.SERIES_REF, description: "Series id or name (series, point, trendline)." },
1598
- category: { ..._chunkFLUTRPLYcjs.CATEGORY_REF, description: "Category index or label (point, category)." },
1599
+ series: { ..._chunkTLMRGLQQcjs.SERIES_REF, description: "Series id or name (series, point, trendline)." },
1600
+ category: { ..._chunkTLMRGLQQcjs.CATEGORY_REF, description: "Category index or label (point, category)." },
1599
1601
  axis: { type: "string", enum: ["x", "y", "y2"], description: "Axis (axis)." },
1600
1602
  index: { type: "integer", minimum: 0, description: "Trendline index (trendline)." }
1601
1603
  },
@@ -1653,15 +1655,15 @@ function createChartToolProvider(controller, options = {}) {
1653
1655
  to: { type: "object", description: "End, as fractions of the chart.", properties: { x: { type: "number", minimum: 0, maximum: 1, description: "Fraction of the width." }, y: { type: "number", minimum: 0, maximum: 1, description: "Fraction of the height." } }, required: ["x", "y"], additionalProperties: false },
1654
1656
  fine: { type: "boolean", description: "Move a tenth as far (Alt)." },
1655
1657
  lockAxis: { type: "boolean", description: "Scatter charts: change only the axis moved along most (Shift)." },
1656
- width: _chunkFLUTRPLYcjs.WIDTH,
1657
- height: _chunkFLUTRPLYcjs.HEIGHT
1658
+ width: _chunkTLMRGLQQcjs.WIDTH,
1659
+ height: _chunkTLMRGLQQcjs.HEIGHT
1658
1660
  },
1659
1661
  required: ["from", "to"],
1660
1662
  additionalProperties: false
1661
1663
  },
1662
1664
  annotations: { title: "Drag a chart point", ...WRITE },
1663
1665
  handler: ({ from, to, fine, lockAxis, width = size.width, height = size.height }) => {
1664
- const scene = _chunk6HMEHNWWcjs.layoutChart.call(void 0, controller.toJSON(), { width, height });
1666
+ const scene = _chunkXTU6QO2Wcjs.layoutChart.call(void 0, controller.toJSON(), { width, height });
1665
1667
  const start = { x: from.x * width, y: from.y * height };
1666
1668
  const target = chartHitTest(scene, start);
1667
1669
  if (_optionalChain([target, 'optionalAccess', _97 => _97.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.`);
@@ -1691,7 +1693,7 @@ function createChartToolProvider(controller, options = {}) {
1691
1693
  },
1692
1694
  annotations: { title: "Press a key on the chart", ...DESTRUCTIVE },
1693
1695
  handler: ({ key: k, shift, alt }) => {
1694
- const scene = _chunk6HMEHNWWcjs.layoutChart.call(void 0, controller.toJSON(), size);
1696
+ const scene = _chunkXTU6QO2Wcjs.layoutChart.call(void 0, controller.toJSON(), size);
1695
1697
  const used = handleChartKey(controller, scene, { key: k, shiftKey: shift, altKey: alt });
1696
1698
  const sel = controller.getState().selection;
1697
1699
  const value = _optionalChain([sel, 'optionalAccess', _102 => _102.kind]) === "point" ? _nullishCoalesce(_optionalChain([controller, 'access', _103 => _103.getSeries, 'call', _104 => _104(sel.seriesId), 'optionalAccess', _105 => _105.values, 'access', _106 => _106[sel.index]]), () => ( null)) : void 0;
@@ -1802,12 +1804,12 @@ var ChartStream = (_class = class {
1802
1804
  if (format === "json") {
1803
1805
  const value = complete ? safeParse(text) : parsePartialChartJson(text);
1804
1806
  if (value !== void 0) {
1805
- const read = _chunkUR37VCIRcjs.normalizeChartSpec.call(void 0, value);
1807
+ const read = _chunkI4AHLP7Fcjs.normalizeChartSpec.call(void 0, value);
1806
1808
  spec = read.spec;
1807
1809
  issues = complete ? read.issues : [];
1808
1810
  }
1809
1811
  } else {
1810
- const read = _chunkXQ33O5BCcjs.chartFromMermaid.call(void 0, text, { partial: !complete });
1812
+ const read = _chunkX35BV5YTcjs.chartFromMermaid.call(void 0, text, { partial: !complete });
1811
1813
  if (read.family) {
1812
1814
  spec = read.spec;
1813
1815
  issues = complete ? read.issues : [];
@@ -1928,7 +1930,7 @@ async function readRels(r, partPath) {
1928
1930
  }
1929
1931
  return rels;
1930
1932
  }
1931
- var isChartRef = (el) => el.localName === "chart" && (el.namespaceURI === _chunkHLMF3E53cjs.CHART_OOXML_NS || el.namespaceURI === STRICT_CHART_NS || el.namespaceURI === CHARTEX_NS);
1933
+ var isChartRef = (el) => el.localName === "chart" && (el.namespaceURI === _chunk2WDZI6QDcjs.CHART_OOXML_NS || el.namespaceURI === STRICT_CHART_NS || el.namespaceURI === CHARTEX_NS);
1932
1934
  function frameName(ref) {
1933
1935
  for (let el = ref.parentElement; el; el = el.parentElement) {
1934
1936
  if (el.localName === "graphicFrame") {
@@ -1947,7 +1949,7 @@ async function chartsInPart(r, root, rels, place) {
1947
1949
  const entry = r.zip.get(rel.target);
1948
1950
  if (!entry) continue;
1949
1951
  r.seen.add(rel.target);
1950
- const read = _chunkHLMF3E53cjs.chartFromOoxml.call(void 0, await r.zip.readText(entry), { DOMParser: r.Parser });
1952
+ const read = _chunk2WDZI6QDcjs.chartFromOoxml.call(void 0, await r.zip.readText(entry), { DOMParser: r.Parser });
1951
1953
  const name = frameName(ref);
1952
1954
  r.charts.push({
1953
1955
  id: `chart-${r.charts.length + 1}`,
@@ -2347,4 +2349,4 @@ function createOfficeChartToolProvider(options = {}) {
2347
2349
 
2348
2350
 
2349
2351
 
2350
- exports.CHART_AXIS_KINDS = _chunkUR37VCIRcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkUR37VCIRcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkXQ33O5BCcjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkUR37VCIRcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunk6HMEHNWWcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkUR37VCIRcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkUR37VCIRcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkUR37VCIRcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkUR37VCIRcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkXQ33O5BCcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkUR37VCIRcjs.CHART_LEGEND_POSITIONS; exports.CHART_MARKERS = _chunkUR37VCIRcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkXQ33O5BCcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkUR37VCIRcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkHLMF3E53cjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkHLMF3E53cjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkHLMF3E53cjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkUR37VCIRcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkUR37VCIRcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_SERIES_TYPES = _chunkUR37VCIRcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkUR37VCIRcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkUR37VCIRcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkUR37VCIRcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkUR37VCIRcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkUR37VCIRcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkXQ33O5BCcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkUR37VCIRcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkUR37VCIRcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunk6HMEHNWWcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunk6HMEHNWWcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_MARKERS = _chunk6HMEHNWWcjs.MAX_CHART_MARKERS; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunk6HMEHNWWcjs.chartBoxStats; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkUR37VCIRcjs.chartColorDistance; exports.chartColorInputValue = _chunkUR37VCIRcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkUR37VCIRcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkUR37VCIRcjs.chartContrastRatio; exports.chartDataFromTable = _chunkUR37VCIRcjs.chartDataFromTable; exports.chartDataToTable = _chunkUR37VCIRcjs.chartDataToTable; exports.chartDateLabels = _chunk6HMEHNWWcjs.chartDateLabels; exports.chartDateToSerial = _chunk6HMEHNWWcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkUR37VCIRcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkUR37VCIRcjs.chartErrorBarsOfType; exports.chartFamily = _chunkUR37VCIRcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkHLMF3E53cjs.chartFormatToCode; exports.chartFromMermaid = _chunkXQ33O5BCcjs.chartFromMermaid; exports.chartFromOoxml = _chunkHLMF3E53cjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunk6HMEHNWWcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLuminance = _chunkUR37VCIRcjs.chartLuminance; exports.chartMermaidFamily = _chunkXQ33O5BCcjs.chartMermaidFamily; exports.chartMovingAverage = _chunk6HMEHNWWcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkUR37VCIRcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkXQ33O5BCcjs.chartPresetPatch; exports.chartQuantile = _chunk6HMEHNWWcjs.chartQuantile; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkUR37VCIRcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkUR37VCIRcjs.chartRgbToOklab; exports.chartScaleFromPixel = _chunk6HMEHNWWcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunk6HMEHNWWcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkXQ33O5BCcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkXQ33O5BCcjs.chartSceneToSvg; exports.chartSerialToDate = _chunk6HMEHNWWcjs.chartSerialToDate; exports.chartSeriesColor = _chunkUR37VCIRcjs.chartSeriesColor; exports.chartSeriesType = _chunkUR37VCIRcjs.chartSeriesType; exports.chartSliceColor = _chunkUR37VCIRcjs.chartSliceColor; exports.chartSquarify = _chunk6HMEHNWWcjs.chartSquarify; exports.chartSupportsTrendlines = _chunk6HMEHNWWcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkXQ33O5BCcjs.chartTextBaseline; exports.chartTextOn = _chunkUR37VCIRcjs.chartTextOn; exports.chartTextTransform = _chunkXQ33O5BCcjs.chartTextTransform; exports.chartToMermaid = _chunkXQ33O5BCcjs.chartToMermaid; exports.chartToOoxml = _chunkHLMF3E53cjs.chartToOoxml; exports.chartToSvg = _chunkXQ33O5BCcjs.chartToSvg; exports.chartTrendlineName = _chunk6HMEHNWWcjs.chartTrendlineName; exports.chartValueAtPoint = _chunk6HMEHNWWcjs.chartValueAtPoint; exports.chartXAtPoint = _chunk6HMEHNWWcjs.chartXAtPoint; exports.checkChartColors = _chunkUR37VCIRcjs.checkChartColors; exports.cloneChartSeries = _chunkUR37VCIRcjs.cloneChartSeries; exports.cloneChartSpec = _chunkUR37VCIRcjs.cloneChartSpec; exports.compileChartFormatCode = _chunk6HMEHNWWcjs.compileChartFormatCode; exports.contrastingTextColor = _chunk6HMEHNWWcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkXQ33O5BCcjs.createChartController; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkUR37VCIRcjs.createChartSpec; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkUR37VCIRcjs.cyclePaletteColor; exports.decimateChartPoints = _chunk6HMEHNWWcjs.decimateChartPoints; exports.defaultChartAxis = _chunkUR37VCIRcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkUR37VCIRcjs.defaultChartErrorBarValue; exports.describeChart = _chunkXQ33O5BCcjs.describeChart; exports.describeChartErrorBars = _chunkUR37VCIRcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunk6HMEHNWWcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findMermaidCharts = _chunkXQ33O5BCcjs.findMermaidCharts; exports.fitChartTrendline = _chunk6HMEHNWWcjs.fitChartTrendline; exports.formatChartAmountList = _chunkUR37VCIRcjs.formatChartAmountList; exports.formatChartDate = _chunk6HMEHNWWcjs.formatChartDate; exports.formatChartNumber = _chunk6HMEHNWWcjs.formatChartNumber; exports.formatChartValueWithCode = _chunk6HMEHNWWcjs.formatChartValueWithCode; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkUR37VCIRcjs.isCartesianChart; exports.isXyChart = _chunkUR37VCIRcjs.isXyChart; exports.layoutChart = _chunk6HMEHNWWcjs.layoutChart; exports.layoutSparkline = _chunkXQ33O5BCcjs.layoutSparkline; exports.linearMap = _chunk6HMEHNWWcjs.linearMap; exports.locateChartPoint = locateChartPoint; exports.monochromeChartPalette = _chunkXQ33O5BCcjs.monochromeChartPalette; exports.niceLogScale = _chunk6HMEHNWWcjs.niceLogScale; exports.niceScale = _chunk6HMEHNWWcjs.niceScale; exports.niceStep = _chunk6HMEHNWWcjs.niceStep; exports.normalizeChartAxis = _chunkUR37VCIRcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkUR37VCIRcjs.normalizeChartErrorBars; exports.normalizeChartSpec = _chunkUR37VCIRcjs.normalizeChartSpec; exports.normalizeChartTrendline = _chunkUR37VCIRcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkUR37VCIRcjs.normalizeChartValues; exports.parseChartAmountList = _chunkUR37VCIRcjs.parseChartAmountList; exports.parseChartColor = _chunkUR37VCIRcjs.parseChartColor; exports.parseChartDate = _chunk6HMEHNWWcjs.parseChartDate; exports.parseChartValue = _chunkUR37VCIRcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunk6HMEHNWWcjs.sameChartSelection; exports.shadeChartColor = _chunkUR37VCIRcjs.shadeChartColor; exports.simulateChartVision = _chunkUR37VCIRcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunk6HMEHNWWcjs.snapChartValue; exports.sparklineToSvg = _chunkXQ33O5BCcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunk6HMEHNWWcjs.stepDecimals; exports.summarizeChart = _chunkXQ33O5BCcjs.summarizeChart; exports.summarizeChartSeries = _chunk6HMEHNWWcjs.summarizeChartSeries; exports.trendNumberText = _chunk6HMEHNWWcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkUR37VCIRcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
2352
+ exports.CHART_AXIS_KINDS = _chunkI4AHLP7Fcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkI4AHLP7Fcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkX35BV5YTcjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkI4AHLP7Fcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkXTU6QO2Wcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkI4AHLP7Fcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkI4AHLP7Fcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkX35BV5YTcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkI4AHLP7Fcjs.CHART_LEGEND_POSITIONS; exports.CHART_MARKERS = _chunkI4AHLP7Fcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkX35BV5YTcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkI4AHLP7Fcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunk2WDZI6QDcjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunk2WDZI6QDcjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunk2WDZI6QDcjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkI4AHLP7Fcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkI4AHLP7Fcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_SERIES_TYPES = _chunkI4AHLP7Fcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkI4AHLP7Fcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkI4AHLP7Fcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkI4AHLP7Fcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkI4AHLP7Fcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkI4AHLP7Fcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkX35BV5YTcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkI4AHLP7Fcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkI4AHLP7Fcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkXTU6QO2Wcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkXTU6QO2Wcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_MARKERS = _chunkXTU6QO2Wcjs.MAX_CHART_MARKERS; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkXTU6QO2Wcjs.chartBoxStats; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkI4AHLP7Fcjs.chartColorDistance; exports.chartColorInputValue = _chunkI4AHLP7Fcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkI4AHLP7Fcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkI4AHLP7Fcjs.chartContrastRatio; exports.chartDataFromTable = _chunkI4AHLP7Fcjs.chartDataFromTable; exports.chartDataToTable = _chunkI4AHLP7Fcjs.chartDataToTable; exports.chartDateLabels = _chunkXTU6QO2Wcjs.chartDateLabels; exports.chartDateToSerial = _chunkXTU6QO2Wcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkI4AHLP7Fcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkI4AHLP7Fcjs.chartErrorBarsOfType; exports.chartFamily = _chunkI4AHLP7Fcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunk2WDZI6QDcjs.chartFormatToCode; exports.chartFromMermaid = _chunkX35BV5YTcjs.chartFromMermaid; exports.chartFromOoxml = _chunk2WDZI6QDcjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkXTU6QO2Wcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLuminance = _chunkI4AHLP7Fcjs.chartLuminance; exports.chartMermaidFamily = _chunkX35BV5YTcjs.chartMermaidFamily; exports.chartMovingAverage = _chunkXTU6QO2Wcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkI4AHLP7Fcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkX35BV5YTcjs.chartPresetPatch; exports.chartQuantile = _chunkXTU6QO2Wcjs.chartQuantile; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkI4AHLP7Fcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkI4AHLP7Fcjs.chartRgbToOklab; exports.chartScaleFromPixel = _chunkXTU6QO2Wcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkXTU6QO2Wcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkX35BV5YTcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkX35BV5YTcjs.chartSceneToSvg; exports.chartSerialToDate = _chunkXTU6QO2Wcjs.chartSerialToDate; exports.chartSeriesColor = _chunkI4AHLP7Fcjs.chartSeriesColor; exports.chartSeriesType = _chunkI4AHLP7Fcjs.chartSeriesType; exports.chartSliceColor = _chunkI4AHLP7Fcjs.chartSliceColor; exports.chartSquarify = _chunkXTU6QO2Wcjs.chartSquarify; exports.chartSupportsTrendlines = _chunkXTU6QO2Wcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkX35BV5YTcjs.chartTextBaseline; exports.chartTextOn = _chunkI4AHLP7Fcjs.chartTextOn; exports.chartTextTransform = _chunkX35BV5YTcjs.chartTextTransform; exports.chartToMermaid = _chunkX35BV5YTcjs.chartToMermaid; exports.chartToOoxml = _chunk2WDZI6QDcjs.chartToOoxml; exports.chartToSvg = _chunkX35BV5YTcjs.chartToSvg; exports.chartTrendlineName = _chunkXTU6QO2Wcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkXTU6QO2Wcjs.chartValueAtPoint; exports.chartXAtPoint = _chunkXTU6QO2Wcjs.chartXAtPoint; exports.checkChartColors = _chunkI4AHLP7Fcjs.checkChartColors; exports.cloneChartSeries = _chunkI4AHLP7Fcjs.cloneChartSeries; exports.cloneChartSpec = _chunkI4AHLP7Fcjs.cloneChartSpec; exports.compileChartFormatCode = _chunkXTU6QO2Wcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkXTU6QO2Wcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkX35BV5YTcjs.createChartController; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkI4AHLP7Fcjs.createChartSpec; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkI4AHLP7Fcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkXTU6QO2Wcjs.decimateChartPoints; exports.defaultChartAxis = _chunkI4AHLP7Fcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkI4AHLP7Fcjs.defaultChartErrorBarValue; exports.describeChart = _chunkX35BV5YTcjs.describeChart; exports.describeChartErrorBars = _chunkI4AHLP7Fcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkXTU6QO2Wcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findMermaidCharts = _chunkX35BV5YTcjs.findMermaidCharts; exports.fitChartTrendline = _chunkXTU6QO2Wcjs.fitChartTrendline; exports.formatChartAmountList = _chunkI4AHLP7Fcjs.formatChartAmountList; exports.formatChartDate = _chunkXTU6QO2Wcjs.formatChartDate; exports.formatChartNumber = _chunkXTU6QO2Wcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkXTU6QO2Wcjs.formatChartValueWithCode; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkI4AHLP7Fcjs.isCartesianChart; exports.isXyChart = _chunkI4AHLP7Fcjs.isXyChart; exports.layoutChart = _chunkXTU6QO2Wcjs.layoutChart; exports.layoutSparkline = _chunkX35BV5YTcjs.layoutSparkline; exports.linearMap = _chunkXTU6QO2Wcjs.linearMap; exports.locateChartPoint = locateChartPoint; exports.monochromeChartPalette = _chunkX35BV5YTcjs.monochromeChartPalette; exports.niceLogScale = _chunkXTU6QO2Wcjs.niceLogScale; exports.niceScale = _chunkXTU6QO2Wcjs.niceScale; exports.niceStep = _chunkXTU6QO2Wcjs.niceStep; exports.normalizeChartAxis = _chunkI4AHLP7Fcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkI4AHLP7Fcjs.normalizeChartErrorBars; exports.normalizeChartSpec = _chunkI4AHLP7Fcjs.normalizeChartSpec; exports.normalizeChartTrendline = _chunkI4AHLP7Fcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkI4AHLP7Fcjs.normalizeChartValues; exports.parseChartAmountList = _chunkI4AHLP7Fcjs.parseChartAmountList; exports.parseChartColor = _chunkI4AHLP7Fcjs.parseChartColor; exports.parseChartDate = _chunkXTU6QO2Wcjs.parseChartDate; exports.parseChartValue = _chunkI4AHLP7Fcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkXTU6QO2Wcjs.sameChartSelection; exports.shadeChartColor = _chunkI4AHLP7Fcjs.shadeChartColor; exports.simulateChartVision = _chunkI4AHLP7Fcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkXTU6QO2Wcjs.snapChartValue; exports.sparklineToSvg = _chunkX35BV5YTcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkXTU6QO2Wcjs.stepDecimals; exports.summarizeChart = _chunkX35BV5YTcjs.summarizeChart; exports.summarizeChartSeries = _chunkXTU6QO2Wcjs.summarizeChartSeries; exports.trendNumberText = _chunkXTU6QO2Wcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkI4AHLP7Fcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;