@pixerate/editor 0.255.0 → 0.257.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.
- package/dist/agent/index.cjs +40 -38
- package/dist/agent/index.js +9 -7
- package/dist/animation/index.cjs +4 -2
- package/dist/animation/index.js +4 -2
- package/dist/animation-editor/index.cjs +63 -61
- package/dist/animation-editor/index.js +7 -5
- package/dist/brushes/colour.d.cts +11 -0
- package/dist/brushes/colour.d.ts +11 -0
- package/dist/brushes/index.cjs +51 -30
- package/dist/brushes/index.d.cts +1 -0
- package/dist/brushes/index.d.ts +1 -0
- package/dist/brushes/index.js +25 -4
- package/dist/brushes/resolve.d.cts +2 -0
- package/dist/brushes/resolve.d.ts +2 -0
- package/dist/brushes/schema.d.cts +1 -0
- package/dist/brushes/schema.d.ts +1 -0
- package/dist/brushes/tools.d.cts +7 -0
- package/dist/brushes/tools.d.ts +7 -0
- package/dist/brushes/types.d.cts +10 -2
- package/dist/brushes/types.d.ts +10 -2
- package/dist/brushes/ui.d.cts +14 -3
- package/dist/brushes/ui.d.ts +14 -3
- package/dist/{brushstrokeRender-HCOQUSWW.js → brushstrokeRender-JI4W6F2G.js} +2 -2
- package/dist/{brushstrokeRender-ZZOXI5O5.cjs → brushstrokeRender-MQ6PSDM5.cjs} +11 -11
- package/dist/canvas/index.cjs +20 -18
- package/dist/canvas/index.js +7 -5
- package/dist/chart/index.cjs +159 -157
- package/dist/chart/index.js +9 -7
- package/dist/{chunk-7272D3K2.js → chunk-2EUW2XZX.js} +27 -276
- package/dist/{chunk-L6Y7TSQ4.js → chunk-2VJ6OVJV.js} +1 -1
- package/dist/{chunk-6ZZKRH7R.js → chunk-47V3WXDG.js} +2 -2
- package/dist/{chunk-H7ET2ISK.cjs → chunk-4IMD2TLY.cjs} +52 -52
- package/dist/{chunk-VUKUTT2W.js → chunk-4M4E3N6X.js} +1 -1
- package/dist/{chunk-TBAVCLEQ.cjs → chunk-5Q5MLXAD.cjs} +23 -23
- package/dist/{chunk-MONXNVZK.js → chunk-6I23ZCGK.js} +5 -3
- package/dist/{chunk-GOBOCZZI.js → chunk-6NQPKNUZ.js} +1 -1
- package/dist/{chunk-WYGSR3IJ.js → chunk-AORZ5M5C.js} +1 -1
- package/dist/chunk-AVTPZO4Z.cjs +142 -0
- package/dist/{chunk-WKMUBATU.js → chunk-C2WEIEUB.js} +1 -1
- package/dist/{chunk-P3K2JCJA.js → chunk-D5BXSOSU.js} +3 -3
- package/dist/chunk-E2V5DA3W.js +36 -0
- package/dist/{chunk-WZOGDKCQ.js → chunk-F7CPSRLN.js} +0 -133
- package/dist/chunk-FJBQTZS4.js +17 -0
- package/dist/{chunk-SOSBOS5T.cjs → chunk-G23BTQA5.cjs} +22 -22
- package/dist/{chunk-EUIDTZNQ.cjs → chunk-I3Y2Q3PM.cjs} +59 -308
- package/dist/{chunk-YHUMGBZD.js → chunk-ICTPLVSR.js} +22 -4
- package/dist/{chunk-LRNUZKWV.cjs → chunk-IPUTIUGQ.cjs} +1 -1
- package/dist/{chunk-6GRUVGKU.js → chunk-ITURMC2M.js} +3 -3
- package/dist/{chunk-HYWRU5VX.js → chunk-IXQZHCOF.js} +1 -1
- package/dist/chunk-J5UQHWVL.js +142 -0
- package/dist/{chunk-YBAPT7NL.js → chunk-JC2SHA4A.js} +1 -23
- package/dist/chunk-LRTR4ASZ.cjs +17 -0
- package/dist/{chunk-HUAISCUX.cjs → chunk-M2HG5DJ2.cjs} +18 -18
- package/dist/{chunk-N76AMOKE.cjs → chunk-MDLEGVEN.cjs} +42 -42
- package/dist/chunk-MEGSQUQO.cjs +36 -0
- package/dist/chunk-MLLTWAXH.cjs +276 -0
- package/dist/{chunk-RHPSE2YR.js → chunk-MQ6MGIQM.js} +2 -2
- package/dist/{chunk-PGPFWC35.cjs → chunk-MQGQTKVW.cjs} +51 -33
- package/dist/{chunk-5YWWQ36H.cjs → chunk-O3ZVZSNJ.cjs} +9 -9
- package/dist/{chunk-GCTUOTCW.cjs → chunk-P3PZ63M3.cjs} +35 -35
- package/dist/{chunk-WRZ6C4TU.cjs → chunk-P6WYDBTH.cjs} +4 -4
- package/dist/{chunk-CJ6TBL2N.cjs → chunk-RHEMMGCN.cjs} +16 -16
- package/dist/{chunk-HIMGBZAM.cjs → chunk-RSIKDWOP.cjs} +201 -38
- package/dist/{chunk-SABJMH6M.cjs → chunk-RVGP2XLF.cjs} +2 -135
- package/dist/{chunk-JVRLGV3C.js → chunk-SMTUQWGY.js} +184 -21
- package/dist/{chunk-DMTEQ6SH.js → chunk-SSFMWJDK.js} +4 -4
- package/dist/{chunk-TFF2GTGN.cjs → chunk-SXQHWXEL.cjs} +2 -24
- package/dist/{chunk-IWEVV63O.cjs → chunk-UEYLANO3.cjs} +18 -16
- package/dist/chunk-VR6OGHU5.js +276 -0
- package/dist/{chunk-AF23QK5F.js → chunk-YQ4PQTBB.js} +1 -1
- package/dist/{chunk-B7V34GIH.cjs → chunk-YSGW7VV4.cjs} +88 -88
- package/dist/{chunk-3NS5C7FB.cjs → chunk-YYBW6DF2.cjs} +76 -76
- package/dist/{chunk-UFEDHACQ.js → chunk-Z7BX4TWO.js} +2 -2
- package/dist/{chunk-RUONPPMC.cjs → chunk-ZSE25IZA.cjs} +8 -8
- package/dist/color/index.cjs +7 -3
- package/dist/color/index.js +18 -14
- package/dist/export/index.cjs +8 -6
- package/dist/export/index.js +7 -5
- package/dist/extensions/index.cjs +11 -9
- package/dist/extensions/index.js +10 -8
- package/dist/gradient/index.cjs +33 -31
- package/dist/gradient/index.js +5 -3
- package/dist/image-editor/brush-presets.d.cts +4 -1
- package/dist/image-editor/brush-presets.d.ts +4 -1
- package/dist/image-editor/controller.d.cts +10 -5
- package/dist/image-editor/controller.d.ts +10 -5
- package/dist/image-editor/index.cjs +1090 -1073
- package/dist/image-editor/index.js +37 -20
- package/dist/index.cjs +17 -15
- package/dist/index.js +11 -9
- package/dist/paint-editor/brushes.d.cts +18 -1
- package/dist/paint-editor/brushes.d.ts +18 -1
- package/dist/paint-editor/collaboration-tools.d.cts +19 -0
- package/dist/paint-editor/collaboration-tools.d.ts +19 -0
- package/dist/paint-editor/collaboration.d.cts +180 -0
- package/dist/paint-editor/collaboration.d.ts +180 -0
- package/dist/paint-editor/controller.d.cts +83 -0
- package/dist/paint-editor/controller.d.ts +83 -0
- package/dist/paint-editor/engine.d.cts +7 -0
- package/dist/paint-editor/engine.d.ts +7 -0
- package/dist/paint-editor/index.cjs +2027 -1331
- package/dist/paint-editor/index.d.cts +2 -0
- package/dist/paint-editor/index.d.ts +2 -0
- package/dist/paint-editor/index.js +1671 -975
- package/dist/paint-editor/mark-settings.d.cts +1 -1
- package/dist/paint-editor/mark-settings.d.ts +1 -1
- package/dist/paint-editor/procedural.d.cts +4 -2
- package/dist/paint-editor/procedural.d.ts +4 -2
- package/dist/paint-editor/stamp-tip.d.cts +45 -0
- package/dist/paint-editor/stamp-tip.d.ts +45 -0
- package/dist/paint-editor/stroke.d.cts +2 -0
- package/dist/paint-editor/stroke.d.ts +2 -0
- package/dist/stickers/index.cjs +4 -2
- package/dist/stickers/index.js +6 -4
- package/dist/typography/index.cjs +3 -2
- package/dist/typography/index.js +2 -1
- package/dist/vector/index.cjs +971 -969
- package/dist/vector/index.js +8 -6
- package/dist/video-editor/index.cjs +4 -2
- package/dist/video-editor/index.js +4 -2
- package/package.json +1 -1
- package/skills/pixerate-brushes/SKILL.md +21 -11
- package/skills/pixerate-brushes-design/SKILL.md +6 -2
- package/skills/pixerate-brushes-design/evals/canvas-chalk.json +8 -8
- package/skills/pixerate-canvas/SKILL.md +3 -2
- package/skills/pixerate-image-editor/SKILL.md +1 -1
- package/skills/pixerate-paint-editor/SKILL.md +35 -47
- package/skills/pixerate-paint-editor/references/painting-alongside.md +19 -0
- package/skills/pixerate-vector/SKILL.md +1 -1
package/dist/chart/index.cjs
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkG23BTQA5cjs = require('../chunk-G23BTQA5.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -25,7 +25,7 @@ var _chunkSOSBOS5Tcjs = require('../chunk-SOSBOS5T.cjs');
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _chunkM2HG5DJ2cjs = require('../chunk-M2HG5DJ2.cjs');
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
@@ -47,7 +47,7 @@ var _chunkHUAISCUXcjs = require('../chunk-HUAISCUX.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkYYBW6DF2cjs = require('../chunk-YYBW6DF2.cjs');
|
|
51
51
|
require('../chunk-TTCJPX4U.cjs');
|
|
52
52
|
|
|
53
53
|
|
|
@@ -100,7 +100,7 @@ require('../chunk-TTCJPX4U.cjs');
|
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
|
|
103
|
-
var
|
|
103
|
+
var _chunkMDLEGVENcjs = require('../chunk-MDLEGVEN.cjs');
|
|
104
104
|
require('../chunk-VU6WQSMB.cjs');
|
|
105
105
|
|
|
106
106
|
|
|
@@ -195,7 +195,7 @@ require('../chunk-VU6WQSMB.cjs');
|
|
|
195
195
|
|
|
196
196
|
|
|
197
197
|
|
|
198
|
-
var
|
|
198
|
+
var _chunkP6WYDBTHcjs = require('../chunk-P6WYDBTH.cjs');
|
|
199
199
|
require('../chunk-55AKPTLM.cjs');
|
|
200
200
|
|
|
201
201
|
|
|
@@ -216,8 +216,10 @@ var _chunkALNIFK5Gcjs = require('../chunk-ALNIFK5G.cjs');
|
|
|
216
216
|
var _chunkSJ2CPTQCcjs = require('../chunk-SJ2CPTQC.cjs');
|
|
217
217
|
require('../chunk-2BSBFBOA.cjs');
|
|
218
218
|
require('../chunk-WKPXOGZZ.cjs');
|
|
219
|
-
require('../chunk-
|
|
220
|
-
require('../chunk-
|
|
219
|
+
require('../chunk-I3Y2Q3PM.cjs');
|
|
220
|
+
require('../chunk-MEGSQUQO.cjs');
|
|
221
|
+
require('../chunk-MLLTWAXH.cjs');
|
|
222
|
+
require('../chunk-SXQHWXEL.cjs');
|
|
221
223
|
require('../chunk-5UEFBM2M.cjs');
|
|
222
224
|
require('../chunk-IPJ3TEYR.cjs');
|
|
223
225
|
|
|
@@ -329,7 +331,7 @@ function chartFileName(spec, extension) {
|
|
|
329
331
|
}
|
|
330
332
|
async function downloadChartPng(spec, options = {}) {
|
|
331
333
|
const { width = 800, height = 450, filename = chartFileName(spec, "png"), theme, ...raster } = options;
|
|
332
|
-
const svg =
|
|
334
|
+
const svg = _chunkYYBW6DF2cjs.chartToSvg.call(void 0, spec, { width, height, theme });
|
|
333
335
|
const { url, width: w, height: h } = await svgToPngDataUrl(svg, { ...raster, width, height });
|
|
334
336
|
const doc = _nullishCoalesce(raster.document, () => ( globalThis.document));
|
|
335
337
|
const link = doc.createElement("a");
|
|
@@ -344,7 +346,7 @@ async function downloadChartPng(spec, options = {}) {
|
|
|
344
346
|
|
|
345
347
|
// src/chart/recommend.ts
|
|
346
348
|
var blank = (c) => c === null || c === void 0 || String(c).trim() === "";
|
|
347
|
-
var isText = (c) => blank(c) ||
|
|
349
|
+
var isText = (c) => blank(c) || _chunkP6WYDBTHcjs.parseChartValue.call(void 0, c) === void 0;
|
|
348
350
|
function analyzeChartTable(rows) {
|
|
349
351
|
const grid = rows.filter((r) => r.some((c) => !blank(c)));
|
|
350
352
|
const height = grid.length;
|
|
@@ -362,7 +364,7 @@ function analyzeChartTable(rows) {
|
|
|
362
364
|
let anyPositive = false;
|
|
363
365
|
for (let r = headerRow ? 1 : 0; r < height; r++)
|
|
364
366
|
for (let c = labelColumn ? 1 : 0; c < width; c++) {
|
|
365
|
-
const v =
|
|
367
|
+
const v = _chunkP6WYDBTHcjs.parseChartValue.call(void 0, cell(r, c));
|
|
366
368
|
if (typeof v !== "number") continue;
|
|
367
369
|
anyNumber = true;
|
|
368
370
|
if (v < 0) {
|
|
@@ -371,7 +373,7 @@ function analyzeChartTable(rows) {
|
|
|
371
373
|
} else if (v > 0) anyPositive = true;
|
|
372
374
|
}
|
|
373
375
|
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]);
|
|
374
|
-
const dates = (byRows ? headerRow : labelColumn) && labels.length > 1 && labels.filter((l) => !blank(l) &&
|
|
376
|
+
const dates = (byRows ? headerRow : labelColumn) && labels.length > 1 && labels.filter((l) => !blank(l) && _chunkMDLEGVENcjs.parseChartDate.call(void 0, String(l)) !== null).length >= labels.length * 0.8;
|
|
375
377
|
return {
|
|
376
378
|
headerRow,
|
|
377
379
|
labelColumn,
|
|
@@ -466,7 +468,7 @@ function chartFromTable(rows, options = {}) {
|
|
|
466
468
|
if (xFromFirst) {
|
|
467
469
|
table = table.map((r) => [r[1], ...r.slice(2)]);
|
|
468
470
|
}
|
|
469
|
-
const data =
|
|
471
|
+
const data = _chunkP6WYDBTHcjs.chartDataFromTable.call(void 0, table, { seriesIn: shape.byRows ? "rows" : "columns", header: true, xFromFirstColumn: xFromFirst });
|
|
470
472
|
return { type, stacking, categories: data.categories, series: data.series, issues: data.issues, shape };
|
|
471
473
|
}
|
|
472
474
|
|
|
@@ -508,10 +510,10 @@ function createChartCommands(controller, options = {}) {
|
|
|
508
510
|
readOnly: true,
|
|
509
511
|
keywords: ["chart", "data", "spec", "get", "summary"],
|
|
510
512
|
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.",
|
|
511
|
-
params: object({ width:
|
|
513
|
+
params: object({ width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }),
|
|
512
514
|
run: (_ctx, params = {}) => {
|
|
513
515
|
const spec = controller.getSpec();
|
|
514
|
-
return { spec: controller.toJSON(), table:
|
|
516
|
+
return { spec: controller.toJSON(), table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, spec), summary: _chunkYYBW6DF2cjs.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 };
|
|
515
517
|
}
|
|
516
518
|
},
|
|
517
519
|
{
|
|
@@ -520,7 +522,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
520
522
|
label: "Change Chart\u2026",
|
|
521
523
|
keywords: ["chart", "title", "axis", "legend", "stack", "style", "format", "type"],
|
|
522
524
|
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, waterfall total, or radar rings and grid shape, note, highlight, reference lines and bands, or colour by category (varyColors). Invalid values change nothing and return why.',
|
|
523
|
-
params: object(
|
|
525
|
+
params: object(_chunkG23BTQA5cjs.CHART_UPDATE_PROPERTIES),
|
|
524
526
|
run: (_ctx, params) => {
|
|
525
527
|
check(controller.update(params));
|
|
526
528
|
return { spec: controller.toJSON() };
|
|
@@ -534,11 +536,11 @@ function createChartCommands(controller, options = {}) {
|
|
|
534
536
|
description: "Replaces the categories and series as one undo step. Each series has one value per category (padded with gaps).",
|
|
535
537
|
params: object({
|
|
536
538
|
categories: { type: "array", items: { type: "string" }, description: "Category labels in order." },
|
|
537
|
-
series: { type: "array", description: "The new series.", items: object({ id: { type: "string", description: "Stable id (optional)." }, ...
|
|
539
|
+
series: { type: "array", description: "The new series.", items: object({ id: { type: "string", description: "Stable id (optional)." }, ..._chunkG23BTQA5cjs.SERIES_PROPS }, ["name", "values"]) }
|
|
538
540
|
}),
|
|
539
541
|
run: (_ctx, params) => {
|
|
540
542
|
check(controller.setData(params));
|
|
541
|
-
return { table:
|
|
543
|
+
return { table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, controller.getSpec()) };
|
|
542
544
|
}
|
|
543
545
|
},
|
|
544
546
|
{
|
|
@@ -547,10 +549,10 @@ function createChartCommands(controller, options = {}) {
|
|
|
547
549
|
label: "Set Chart Values\u2026",
|
|
548
550
|
keywords: ["chart", "value", "cell", "edit"],
|
|
549
551
|
description: "Sets individual values as one undo step. Series by id or name; category by index or label.",
|
|
550
|
-
params: object({ cells: { type: "array", minItems: 1, description: "Values to set.", items: object({ series:
|
|
552
|
+
params: object({ cells: { type: "array", minItems: 1, description: "Values to set.", items: object({ series: _chunkG23BTQA5cjs.SERIES_REF, category: _chunkG23BTQA5cjs.CATEGORY_REF, value: _chunkG23BTQA5cjs.VALUE }, ["series", "category", "value"]) } }, ["cells"]),
|
|
551
553
|
run: (_ctx, params) => {
|
|
552
554
|
check(controller.setValues(params.cells.map((c) => ({ seriesId: resolveSeries(c.series).id, index: resolveCategory(c.category), value: c.value }))));
|
|
553
|
-
return { table:
|
|
555
|
+
return { table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, controller.getSpec()) };
|
|
554
556
|
}
|
|
555
557
|
},
|
|
556
558
|
{
|
|
@@ -559,7 +561,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
559
561
|
label: "Add Series",
|
|
560
562
|
keywords: ["chart", "series", "new"],
|
|
561
563
|
description: "Adds a series (default: an empty one at the end). Returns its id.",
|
|
562
|
-
params: object({ ...
|
|
564
|
+
params: object({ ..._chunkG23BTQA5cjs.SERIES_PROPS, id: { type: "string", description: "Id to use (default series-N)." }, at: { type: "integer", minimum: 0, description: "Position (default: last)." } }),
|
|
563
565
|
run: (_ctx, params = {}) => {
|
|
564
566
|
const { at, ...input } = _nullishCoalesce(params, () => ( {}));
|
|
565
567
|
const clean = Object.fromEntries(Object.entries(input).filter(([, v]) => v !== null));
|
|
@@ -574,7 +576,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
574
576
|
label: "Change Series\u2026",
|
|
575
577
|
keywords: ["chart", "series", "rename", "colour", "color", "hide", "axis", "marker"],
|
|
576
578
|
description: "Renames, recolours, hides, moves to the secondary axis or changes how a series is drawn, including error bars (null resets a field).",
|
|
577
|
-
params: object({ series:
|
|
579
|
+
params: object({ series: _chunkG23BTQA5cjs.SERIES_REF, ...Object.fromEntries(Object.entries(_chunkG23BTQA5cjs.SERIES_PROPS).filter(([k]) => k !== "values")) }, ["series"]),
|
|
578
580
|
run: (_ctx, params) => {
|
|
579
581
|
const { series, ...patch } = params;
|
|
580
582
|
const id = resolveSeries(series).id;
|
|
@@ -588,7 +590,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
588
590
|
label: "Delete Series",
|
|
589
591
|
keywords: ["chart", "series", "remove"],
|
|
590
592
|
description: "Deletes a series by id or name.",
|
|
591
|
-
params: object({ series:
|
|
593
|
+
params: object({ series: _chunkG23BTQA5cjs.SERIES_REF }, ["series"]),
|
|
592
594
|
run: (_ctx, params) => {
|
|
593
595
|
check(controller.removeSeries(resolveSeries(params.series).id));
|
|
594
596
|
return { series: seriesIds() };
|
|
@@ -613,7 +615,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
613
615
|
label: "Delete Category",
|
|
614
616
|
keywords: ["chart", "category", "row", "remove"],
|
|
615
617
|
description: "Deletes a category (and its values) by index or label.",
|
|
616
|
-
params: object({ category:
|
|
618
|
+
params: object({ category: _chunkG23BTQA5cjs.CATEGORY_REF }, ["category"]),
|
|
617
619
|
run: (_ctx, params) => {
|
|
618
620
|
check(controller.removeCategory(resolveCategory(params.category)));
|
|
619
621
|
return { categories: controller.getSpec().categories };
|
|
@@ -625,7 +627,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
625
627
|
label: "Add Trendline\u2026",
|
|
626
628
|
keywords: ["chart", "trend", "regression", "fit", "forecast", "moving average"],
|
|
627
629
|
description: "Fits a trendline to a series (linear, exponential, logarithmic, power, polynomial or moving average). Returns its index and the fit.",
|
|
628
|
-
params: object({ series:
|
|
630
|
+
params: object({ series: _chunkG23BTQA5cjs.SERIES_REF, ..._chunkG23BTQA5cjs.TRENDLINE_PROPS }, ["series", "type"]),
|
|
629
631
|
run: (_ctx, params) => {
|
|
630
632
|
const { series, ...line } = params;
|
|
631
633
|
const result = controller.addTrendline(resolveSeries(series).id, line);
|
|
@@ -640,7 +642,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
640
642
|
label: "Delete Trendline",
|
|
641
643
|
keywords: ["chart", "trend", "remove"],
|
|
642
644
|
description: "Deletes a trendline from a series.",
|
|
643
|
-
params: object({ series:
|
|
645
|
+
params: object({ series: _chunkG23BTQA5cjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index (0 = first)." } }, ["series", "index"]),
|
|
644
646
|
run: (_ctx, params) => {
|
|
645
647
|
check(controller.removeTrendline(resolveSeries(params.series).id, params.index));
|
|
646
648
|
return { trendlines: _nullishCoalesce(_optionalChain([controller, 'access', _29 => _29.getSeries, 'call', _30 => _30(resolveSeries(params.series).id), 'optionalAccess', _31 => _31.trendlines]), () => ( [])) };
|
|
@@ -652,7 +654,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
652
654
|
label: "Add Reference Line\u2026",
|
|
653
655
|
keywords: ["chart", "target", "goal", "threshold", "average", "reference", "line", "annotation"],
|
|
654
656
|
description: "Draws a dashed line across the plot at one value (a target, floor or average). Returns its index.",
|
|
655
|
-
params: object(
|
|
657
|
+
params: object(_chunkG23BTQA5cjs.REFERENCE_LINE_PROPS, ["value"]),
|
|
656
658
|
run: (_ctx, params) => {
|
|
657
659
|
const result = controller.addReferenceLine(params);
|
|
658
660
|
check(result);
|
|
@@ -665,7 +667,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
665
667
|
label: "Change Reference Line\u2026",
|
|
666
668
|
keywords: ["chart", "target", "reference", "line", "annotation"],
|
|
667
669
|
description: "Changes a reference line by index; label, axis and color take null to remove them.",
|
|
668
|
-
params: object({ index:
|
|
670
|
+
params: object({ index: _chunkG23BTQA5cjs.REFERENCE_INDEX.call(void 0, "Reference line"), ..._chunkG23BTQA5cjs.REFERENCE_LINE_PATCH }, ["index"]),
|
|
669
671
|
run: (_ctx, params) => {
|
|
670
672
|
const { index, ...patch } = params;
|
|
671
673
|
check(controller.updateReferenceLine(index, patch));
|
|
@@ -678,7 +680,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
678
680
|
label: "Delete Reference Line",
|
|
679
681
|
keywords: ["chart", "target", "reference", "line", "remove"],
|
|
680
682
|
description: "Deletes a reference line by index.",
|
|
681
|
-
params: object({ index:
|
|
683
|
+
params: object({ index: _chunkG23BTQA5cjs.REFERENCE_INDEX.call(void 0, "Reference line") }, ["index"]),
|
|
682
684
|
run: (_ctx, params) => {
|
|
683
685
|
check(controller.removeReferenceLine(params.index));
|
|
684
686
|
return { referenceLines: controller.getSpec().referenceLines };
|
|
@@ -690,7 +692,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
690
692
|
label: "Add Reference Band\u2026",
|
|
691
693
|
keywords: ["chart", "target", "range", "band", "reference", "shade", "annotation"],
|
|
692
694
|
description: "Shades a band across the plot between two values (a target or normal range). Returns its index.",
|
|
693
|
-
params: object(
|
|
695
|
+
params: object(_chunkG23BTQA5cjs.REFERENCE_BAND_PROPS, ["from", "to"]),
|
|
694
696
|
run: (_ctx, params) => {
|
|
695
697
|
const result = controller.addReferenceBand(params);
|
|
696
698
|
check(result);
|
|
@@ -703,7 +705,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
703
705
|
label: "Change Reference Band\u2026",
|
|
704
706
|
keywords: ["chart", "range", "band", "reference", "annotation"],
|
|
705
707
|
description: "Changes a reference band by index; label, axis and color take null to remove them.",
|
|
706
|
-
params: object({ index:
|
|
708
|
+
params: object({ index: _chunkG23BTQA5cjs.REFERENCE_INDEX.call(void 0, "Reference band"), ..._chunkG23BTQA5cjs.REFERENCE_BAND_PATCH }, ["index"]),
|
|
707
709
|
run: (_ctx, params) => {
|
|
708
710
|
const { index, ...patch } = params;
|
|
709
711
|
check(controller.updateReferenceBand(index, patch));
|
|
@@ -716,7 +718,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
716
718
|
label: "Delete Reference Band",
|
|
717
719
|
keywords: ["chart", "range", "band", "reference", "remove"],
|
|
718
720
|
description: "Deletes a reference band by index.",
|
|
719
|
-
params: object({ index:
|
|
721
|
+
params: object({ index: _chunkG23BTQA5cjs.REFERENCE_INDEX.call(void 0, "Reference band") }, ["index"]),
|
|
720
722
|
run: (_ctx, params) => {
|
|
721
723
|
check(controller.removeReferenceBand(params.index));
|
|
722
724
|
return { referenceBands: controller.getSpec().referenceBands };
|
|
@@ -728,7 +730,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
728
730
|
label: "Pin Label to Point\u2026",
|
|
729
731
|
keywords: ["chart", "callout", "annotation", "label", "note", "point"],
|
|
730
732
|
description: 'Pins a short label to one bar or point (label null or "" removes it).',
|
|
731
|
-
params: object({ series:
|
|
733
|
+
params: object({ series: _chunkG23BTQA5cjs.SERIES_REF, category: _chunkG23BTQA5cjs.CATEGORY_REF, label: { type: ["string", "null"], description: "The label (a few words), or null to remove it." } }, ["series", "category", "label"]),
|
|
732
734
|
run: (_ctx, params) => {
|
|
733
735
|
const series = resolveSeries(params.series);
|
|
734
736
|
const index = resolveCategory(params.category);
|
|
@@ -756,10 +758,10 @@ function createChartCommands(controller, options = {}) {
|
|
|
756
758
|
label: "Replace Grouped Data\u2026",
|
|
757
759
|
keywords: ["chart", "tree", "hierarchy", "groups", "treemap", "sunburst", "nested"],
|
|
758
760
|
description: "Replaces the data with groups of items (a tree) for treemaps and sunbursts; [] goes back to plain data.",
|
|
759
|
-
params: { type: "object", properties: { tree: { type: "array", items: { $ref: "#/$defs/chartTreeNode" }, description: "The top-level nodes; [] removes the grouping." } }, required: ["tree"], additionalProperties: false, $defs:
|
|
761
|
+
params: { type: "object", properties: { tree: { type: "array", items: { $ref: "#/$defs/chartTreeNode" }, description: "The top-level nodes; [] removes the grouping." } }, required: ["tree"], additionalProperties: false, $defs: _chunkG23BTQA5cjs.TREE_DEFS },
|
|
760
762
|
run: (_ctx, params) => {
|
|
761
763
|
check(controller.setTree(params.tree));
|
|
762
|
-
return { groups: controller.getSpec().tree.map((n) => ({ name: n.name, total:
|
|
764
|
+
return { groups: controller.getSpec().tree.map((n) => ({ name: n.name, total: _chunkP6WYDBTHcjs.chartTreeTotal.call(void 0, n) })) };
|
|
763
765
|
}
|
|
764
766
|
},
|
|
765
767
|
{
|
|
@@ -795,7 +797,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
795
797
|
},
|
|
796
798
|
required: ["node"],
|
|
797
799
|
additionalProperties: false,
|
|
798
|
-
$defs:
|
|
800
|
+
$defs: _chunkG23BTQA5cjs.TREE_DEFS
|
|
799
801
|
},
|
|
800
802
|
run: (_ctx, params) => {
|
|
801
803
|
const result = controller.addTreeNode(_nullishCoalesce(params.parent, () => ( [])), params.node, { at: params.at });
|
|
@@ -811,7 +813,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
811
813
|
description: "Renames a node, sets an item's value or sets a node's colour (null for the palette).",
|
|
812
814
|
params: object(
|
|
813
815
|
{
|
|
814
|
-
path:
|
|
816
|
+
path: _chunkG23BTQA5cjs.TREE_PATH,
|
|
815
817
|
name: { type: "string", description: "New name." },
|
|
816
818
|
value: { type: "number", minimum: 0, description: "Items only: the new amount." },
|
|
817
819
|
color: { type: ["string", "null"], description: "CSS colour, or null for the palette colour." }
|
|
@@ -831,10 +833,10 @@ function createChartCommands(controller, options = {}) {
|
|
|
831
833
|
label: "Delete Item or Group",
|
|
832
834
|
keywords: ["chart", "tree", "group", "item", "remove", "delete"],
|
|
833
835
|
description: "Deletes a node of the grouped data with everything under it.",
|
|
834
|
-
params: object({ path:
|
|
836
|
+
params: object({ path: _chunkG23BTQA5cjs.TREE_PATH }, ["path"]),
|
|
835
837
|
run: (_ctx, params) => {
|
|
836
838
|
check(controller.removeTreeNode(params.path));
|
|
837
|
-
return { groups: controller.getSpec().tree.map((n) => ({ name: n.name, total:
|
|
839
|
+
return { groups: controller.getSpec().tree.map((n) => ({ name: n.name, total: _chunkP6WYDBTHcjs.chartTreeTotal.call(void 0, n) })) };
|
|
838
840
|
}
|
|
839
841
|
},
|
|
840
842
|
{
|
|
@@ -845,7 +847,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
845
847
|
description: "Replaces the data with flows between named nodes for a Sankey diagram; [] goes back to plain data.",
|
|
846
848
|
params: object(
|
|
847
849
|
{
|
|
848
|
-
links: { type: "array", items: { type: "object", properties:
|
|
850
|
+
links: { type: "array", items: { type: "object", properties: _chunkG23BTQA5cjs.LINK_PROPS, required: ["source", "target", "value"], additionalProperties: false }, description: "All the flows; [] removes them." },
|
|
849
851
|
nodes: { type: "array", items: { type: "string" }, description: "Node names in stacking order." }
|
|
850
852
|
},
|
|
851
853
|
["links"]
|
|
@@ -879,7 +881,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
879
881
|
label: "Add Flow\u2026",
|
|
880
882
|
keywords: ["chart", "sankey", "flow", "link", "add"],
|
|
881
883
|
description: "Adds a flow between two nodes. Returns its index.",
|
|
882
|
-
params: object(
|
|
884
|
+
params: object(_chunkG23BTQA5cjs.LINK_PROPS, ["source", "target", "value"]),
|
|
883
885
|
run: (_ctx, params) => {
|
|
884
886
|
const result = controller.addLink(params);
|
|
885
887
|
check(result);
|
|
@@ -892,7 +894,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
892
894
|
label: "Change Flow\u2026",
|
|
893
895
|
keywords: ["chart", "sankey", "flow", "link", "value"],
|
|
894
896
|
description: "Changes a flow by index (color null for the default).",
|
|
895
|
-
params: object({ index:
|
|
897
|
+
params: object({ index: _chunkG23BTQA5cjs.LINK_INDEX, ..._chunkG23BTQA5cjs.LINK_PROPS, color: { type: ["string", "null"], description: "CSS colour, or null for the default." } }, ["index"]),
|
|
896
898
|
run: (_ctx, params) => {
|
|
897
899
|
const { index, ...patch } = params;
|
|
898
900
|
check(controller.updateLink(index, patch));
|
|
@@ -905,7 +907,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
905
907
|
label: "Delete Flow",
|
|
906
908
|
keywords: ["chart", "sankey", "flow", "link", "remove"],
|
|
907
909
|
description: "Deletes a flow by index.",
|
|
908
|
-
params: object({ index:
|
|
910
|
+
params: object({ index: _chunkG23BTQA5cjs.LINK_INDEX }, ["index"]),
|
|
909
911
|
run: (_ctx, params) => {
|
|
910
912
|
check(controller.removeLink(params.index));
|
|
911
913
|
return { links: controller.getSpec().links };
|
|
@@ -921,9 +923,9 @@ function createChartCommands(controller, options = {}) {
|
|
|
921
923
|
params: object({ map: { type: "string", description: "Map id (default: the chart's map)." } }),
|
|
922
924
|
run: (_ctx, params = {}) => {
|
|
923
925
|
const id = _nullishCoalesce(_optionalChain([params, 'optionalAccess', _36 => _36.map]), () => ( controller.getSpec().map));
|
|
924
|
-
const geometry =
|
|
926
|
+
const geometry = _chunkMDLEGVENcjs.getChartMap.call(void 0, id);
|
|
925
927
|
if (!geometry) fail(`There is no map "${id}"; register it with registerChartMap.`);
|
|
926
|
-
const matches =
|
|
928
|
+
const matches = _chunkMDLEGVENcjs.matchChartMapRegions.call(void 0, geometry, controller.getSpec().categories);
|
|
927
929
|
return { regions: geometry.regions.map((r) => ({ id: r.id, name: r.name })), unmatched: controller.getSpec().categories.filter((_, i) => !matches[i]) };
|
|
928
930
|
}
|
|
929
931
|
},
|
|
@@ -934,11 +936,11 @@ function createChartCommands(controller, options = {}) {
|
|
|
934
936
|
readOnly: true,
|
|
935
937
|
keywords: ["chart", "race", "ranking", "leader", "time"],
|
|
936
938
|
description: "Returns the top names of a bar race at a moment (default: the one shown).",
|
|
937
|
-
params: object({ time:
|
|
939
|
+
params: object({ time: _chunkG23BTQA5cjs.RACE_TIME }),
|
|
938
940
|
run: (_ctx, params = {}) => {
|
|
939
941
|
const spec = controller.getSpec();
|
|
940
942
|
const frame = _optionalChain([params, 'optionalAccess', _37 => _37.time]) !== void 0 ? raceFrame(params.time) : _nullishCoalesce(controller.getState().raceFrame, () => ( spec.categories.length - 1));
|
|
941
|
-
return { frame, ranking:
|
|
943
|
+
return { frame, ranking: _chunkMDLEGVENcjs.chartRaceRanking.call(void 0, spec, frame).slice(0, spec.raceTopN).map((e) => ({ rank: e.rank + 1, series: e.seriesId, name: e.name, value: e.value })) };
|
|
942
944
|
}
|
|
943
945
|
},
|
|
944
946
|
{
|
|
@@ -947,7 +949,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
947
949
|
label: "Show Bar Race Moment\u2026",
|
|
948
950
|
keywords: ["chart", "race", "frame", "time", "scrub"],
|
|
949
951
|
description: "Shows the bar race at a time point (null for the last) and stops playback. View state, not an undo step.",
|
|
950
|
-
params: object({ time: { ...
|
|
952
|
+
params: object({ time: { ..._chunkG23BTQA5cjs.RACE_TIME, type: ["string", "number", "null"], description: `${_chunkG23BTQA5cjs.RACE_TIME.description} null shows the last time point.` } }, ["time"]),
|
|
951
953
|
run: (_ctx, params) => {
|
|
952
954
|
const frame = params.time === null ? null : raceFrame(params.time);
|
|
953
955
|
check(controller.setRaceFrame(frame));
|
|
@@ -985,8 +987,8 @@ function createChartCommands(controller, options = {}) {
|
|
|
985
987
|
keywords: ["chart", "quick layout", "style", "colours", "colors", "monochrome", "theme"],
|
|
986
988
|
description: "Applies a quick layout and / or colour scheme as one undo step.",
|
|
987
989
|
params: object({
|
|
988
|
-
layout: { type: "string", enum:
|
|
989
|
-
colors: { type: "string", enum:
|
|
990
|
+
layout: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
|
|
991
|
+
colors: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
|
|
990
992
|
}),
|
|
991
993
|
run: (_ctx, params = {}) => {
|
|
992
994
|
check(controller.applyPreset(_nullishCoalesce(params, () => ( {}))));
|
|
@@ -1001,7 +1003,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1001
1003
|
description: "Swaps series and categories as one undo step.",
|
|
1002
1004
|
run: () => {
|
|
1003
1005
|
check(controller.transpose());
|
|
1004
|
-
return { table:
|
|
1006
|
+
return { table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, controller.getSpec()) };
|
|
1005
1007
|
}
|
|
1006
1008
|
},
|
|
1007
1009
|
{
|
|
@@ -1021,7 +1023,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1021
1023
|
run: (_ctx, params) => {
|
|
1022
1024
|
const result = controller.importCsv(params.csv, { seriesIn: params.seriesIn, header: params.header });
|
|
1023
1025
|
check(result);
|
|
1024
|
-
return { table:
|
|
1026
|
+
return { table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, controller.getSpec()), issues: _nullishCoalesce(result.issues, () => ( [])) };
|
|
1025
1027
|
}
|
|
1026
1028
|
},
|
|
1027
1029
|
{
|
|
@@ -1032,7 +1034,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1032
1034
|
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.",
|
|
1033
1035
|
params: object({ mermaid: { type: "string", description: "Mermaid text." } }, ["mermaid"]),
|
|
1034
1036
|
run: (_ctx, params) => {
|
|
1035
|
-
const read =
|
|
1037
|
+
const read = _chunkYYBW6DF2cjs.chartFromMermaid.call(void 0, params.mermaid);
|
|
1036
1038
|
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.");
|
|
1037
1039
|
check(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
|
|
1038
1040
|
return { spec: controller.toJSON(), issues: read.issues };
|
|
@@ -1046,7 +1048,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1046
1048
|
keywords: ["chart", "mermaid", "markdown", "export"],
|
|
1047
1049
|
description: "Returns the chart as Mermaid text (with a round-trip comment unless meta is false).",
|
|
1048
1050
|
params: object({ meta: { type: "boolean", description: "Include the %% @pixerate round-trip comment (default true)." } }),
|
|
1049
|
-
run: (_ctx, params = {}) => ({ mermaid:
|
|
1051
|
+
run: (_ctx, params = {}) => ({ mermaid: _chunkYYBW6DF2cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _39 => _39.meta]) }) })
|
|
1050
1052
|
},
|
|
1051
1053
|
{
|
|
1052
1054
|
...base,
|
|
@@ -1055,7 +1057,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1055
1057
|
readOnly: true,
|
|
1056
1058
|
keywords: ["chart", "office", "word", "powerpoint", "docx", "pptx", "xml", "export"],
|
|
1057
1059
|
description: "Returns the chart as a DrawingML chart part (c:chartSpace) and what could not be written.",
|
|
1058
|
-
run: () =>
|
|
1060
|
+
run: () => _chunkM2HG5DJ2cjs.chartToOoxml.call(void 0, controller.toJSON())
|
|
1059
1061
|
},
|
|
1060
1062
|
{
|
|
1061
1063
|
...base,
|
|
@@ -1064,9 +1066,9 @@ function createChartCommands(controller, options = {}) {
|
|
|
1064
1066
|
readOnly: true,
|
|
1065
1067
|
keywords: ["chart", "svg", "export", "image"],
|
|
1066
1068
|
description: "Returns the chart drawn as a standalone, accessible SVG string (with <title> and <desc>).",
|
|
1067
|
-
params: object({ width:
|
|
1069
|
+
params: object({ width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }),
|
|
1068
1070
|
run: (_ctx, params = {}) => ({
|
|
1069
|
-
svg:
|
|
1071
|
+
svg: _chunkYYBW6DF2cjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _40 => _40.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _41 => _41.height]), () => ( 400)) })
|
|
1070
1072
|
})
|
|
1071
1073
|
},
|
|
1072
1074
|
{
|
|
@@ -1078,7 +1080,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1078
1080
|
description: "Suggests chart types for the current data (or CSV), best first, each with a reason.",
|
|
1079
1081
|
params: object({ csv: { type: "string", description: "CSV text to analyse instead of the current data." } }),
|
|
1080
1082
|
run: (_ctx, params = {}) => ({
|
|
1081
|
-
recommendations: recommendChartTypes(_optionalChain([params, 'optionalAccess', _42 => _42.csv]) !== void 0 ? _chunkN3KJFGXTcjs.parseCsv.call(void 0, params.csv) :
|
|
1083
|
+
recommendations: recommendChartTypes(_optionalChain([params, 'optionalAccess', _42 => _42.csv]) !== void 0 ? _chunkN3KJFGXTcjs.parseCsv.call(void 0, params.csv) : _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, controller.getSpec()))
|
|
1082
1084
|
})
|
|
1083
1085
|
},
|
|
1084
1086
|
{
|
|
@@ -1091,8 +1093,8 @@ function createChartCommands(controller, options = {}) {
|
|
|
1091
1093
|
run: () => {
|
|
1092
1094
|
const s = controller.getSpec();
|
|
1093
1095
|
const visible = s.series.filter((x) => !x.hidden);
|
|
1094
|
-
const colors =
|
|
1095
|
-
return { colors, ...
|
|
1096
|
+
const colors = _chunkP6WYDBTHcjs.chartSpecColorsByCategory.call(void 0, s) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _43 => _43[0], 'optionalAccess', _44 => _44.pointColors, 'optionalAccess', _45 => _45[i]]) || _chunkP6WYDBTHcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkP6WYDBTHcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
|
|
1097
|
+
return { colors, ..._chunkP6WYDBTHcjs.checkChartColors.call(void 0, colors) };
|
|
1096
1098
|
}
|
|
1097
1099
|
},
|
|
1098
1100
|
{
|
|
@@ -1123,7 +1125,7 @@ function chartClientToScene(scene, box, clientX, clientY) {
|
|
|
1123
1125
|
function canDragChartPoint(controller, scene, target) {
|
|
1124
1126
|
if (_optionalChain([target, 'optionalAccess', _46 => _46.kind]) !== "point" || !scene.valueScale || scene.percent) return false;
|
|
1125
1127
|
const spec = controller.getSpec();
|
|
1126
|
-
const family =
|
|
1128
|
+
const family = _chunkP6WYDBTHcjs.chartFamily.call(void 0, spec);
|
|
1127
1129
|
if (family !== "cartesian" && family !== "xy" && family !== "waterfall") return false;
|
|
1128
1130
|
const series = controller.getSeries(target.seriesId);
|
|
1129
1131
|
return !!series && !series.hidden && series.values[target.index] !== null;
|
|
@@ -1132,7 +1134,7 @@ function snapChartDragValue(scene, value, options = {}) {
|
|
|
1132
1134
|
const scale = _nullishCoalesce(options.scale, () => ( scene.valueScale));
|
|
1133
1135
|
const tolerance = _nullishCoalesce(options.tolerancePx, () => ( 6));
|
|
1134
1136
|
if (scale) {
|
|
1135
|
-
const px = (v) =>
|
|
1137
|
+
const px = (v) => _chunkMDLEGVENcjs.chartScaleToPixel.call(void 0, v, scale);
|
|
1136
1138
|
const at = px(value);
|
|
1137
1139
|
let best = null;
|
|
1138
1140
|
let bestDist = tolerance;
|
|
@@ -1147,7 +1149,7 @@ function snapChartDragValue(scene, value, options = {}) {
|
|
|
1147
1149
|
}
|
|
1148
1150
|
if (best !== null) return best;
|
|
1149
1151
|
}
|
|
1150
|
-
return
|
|
1152
|
+
return _chunkMDLEGVENcjs.snapChartValue.call(void 0, scene, value, options.step, _optionalChain([scale, 'optionalAccess', _47 => _47.ticks]), _optionalChain([scale, 'optionalAccess', _48 => _48.logBase]));
|
|
1151
1153
|
}
|
|
1152
1154
|
function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
1153
1155
|
if (!canDragChartPoint(controller, scene, target)) return null;
|
|
@@ -1156,11 +1158,11 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1156
1158
|
const series = controller.getSeries(seriesId);
|
|
1157
1159
|
const secondary = series.axis === "secondary" && !!scene.valueScale2;
|
|
1158
1160
|
const scale = secondary ? scene.valueScale2 : scene.valueScale;
|
|
1159
|
-
const xy =
|
|
1161
|
+
const xy = _chunkP6WYDBTHcjs.chartFamily.call(void 0, spec) === "xy" && !!scene.xScale;
|
|
1160
1162
|
const startValue = _nullishCoalesce(series.values[index], () => ( 0));
|
|
1161
1163
|
const startX = _nullishCoalesce(_optionalChain([series, 'access', _49 => _49.x, 'optionalAccess', _50 => _50[index]]), () => ( null));
|
|
1162
|
-
const startAt =
|
|
1163
|
-
const startAtX = xy ?
|
|
1164
|
+
const startAt = _chunkMDLEGVENcjs.chartValueAtPoint.call(void 0, scene, start, secondary);
|
|
1165
|
+
const startAtX = xy ? _chunkMDLEGVENcjs.chartXAtPoint.call(void 0, scene, start) : void 0;
|
|
1164
1166
|
if (startAt === void 0) return null;
|
|
1165
1167
|
const candidates = [0, startValue];
|
|
1166
1168
|
if (!xy) {
|
|
@@ -1178,7 +1180,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1178
1180
|
target: { seriesId, index },
|
|
1179
1181
|
move(point, moveOptions = {}) {
|
|
1180
1182
|
if (ended) return;
|
|
1181
|
-
const at =
|
|
1183
|
+
const at = _chunkMDLEGVENcjs.chartValueAtPoint.call(void 0, scene, point, secondary);
|
|
1182
1184
|
if (at === void 0) return;
|
|
1183
1185
|
const factor = moveOptions.fine ? 0.1 : 1;
|
|
1184
1186
|
const moved = (from, to, s, value) => s.logBase && value > 0 && from > 0 && to > 0 ? value * Math.pow(to / from, factor) : value + (to - from) * factor;
|
|
@@ -1186,7 +1188,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1186
1188
|
let moveX = false;
|
|
1187
1189
|
let atX;
|
|
1188
1190
|
if (xy && startX !== null && startAtX !== void 0) {
|
|
1189
|
-
atX =
|
|
1191
|
+
atX = _chunkMDLEGVENcjs.chartXAtPoint.call(void 0, scene, point);
|
|
1190
1192
|
moveX = atX !== void 0;
|
|
1191
1193
|
if (moveOptions.lockAxis) {
|
|
1192
1194
|
if (Math.abs(point.x - start.x) >= Math.abs(point.y - start.y)) moveY = false;
|
|
@@ -1198,7 +1200,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1198
1200
|
if (moveOptions.fine) {
|
|
1199
1201
|
if (s.logBase && !options.step) return v > 0 ? Number(v.toPrecision(3)) : v;
|
|
1200
1202
|
const unit = options.step ? options.step / 10 : s.ticks.length > 1 ? (s.ticks[1] - s.ticks[0]) / 100 : void 0;
|
|
1201
|
-
return
|
|
1203
|
+
return _chunkMDLEGVENcjs.snapChartValue.call(void 0, scene, v, unit, s.ticks);
|
|
1202
1204
|
}
|
|
1203
1205
|
return snapChartDragValue(scene, v, { candidates: c, tolerancePx: options.tolerancePx, step: options.step, scale: s });
|
|
1204
1206
|
};
|
|
@@ -1286,7 +1288,7 @@ function describeChartSelection(controller, selection = controller.getState().se
|
|
|
1286
1288
|
case "legend":
|
|
1287
1289
|
return "Legend";
|
|
1288
1290
|
case "axis":
|
|
1289
|
-
return selection.axis === "x" ?
|
|
1291
|
+
return selection.axis === "x" ? _chunkP6WYDBTHcjs.chartFamily.call(void 0, spec) === "xy" ? "X axis" : "Category axis" : selection.axis === "y" ? "Value axis" : "Secondary value axis";
|
|
1290
1292
|
case "series":
|
|
1291
1293
|
return `Series "${_nullishCoalesce(_optionalChain([controller, 'access', _66 => _66.getSeries, 'call', _67 => _67(selection.seriesId), 'optionalAccess', _68 => _68.name]), () => ( selection.seriesId))}"`;
|
|
1292
1294
|
case "category":
|
|
@@ -1300,7 +1302,7 @@ function describeChartSelection(controller, selection = controller.getState().se
|
|
|
1300
1302
|
const series = controller.getSeries(selection.seriesId);
|
|
1301
1303
|
const value = _optionalChain([series, 'optionalAccess', _72 => _72.values, 'access', _73 => _73[selection.index]]);
|
|
1302
1304
|
const x = _optionalChain([series, 'optionalAccess', _74 => _74.x, 'optionalAccess', _75 => _75[selection.index]]);
|
|
1303
|
-
if (x !== void 0 && x !== null &&
|
|
1305
|
+
if (x !== void 0 && x !== null && _chunkP6WYDBTHcjs.chartFamily.call(void 0, spec) === "xy") return `${_nullishCoalesce(_optionalChain([series, 'optionalAccess', _76 => _76.name]), () => ( selection.seriesId))}: (${x}, ${_nullishCoalesce(value, () => ( "blank"))})`;
|
|
1304
1306
|
return `${_nullishCoalesce(_optionalChain([series, 'optionalAccess', _77 => _77.name]), () => ( selection.seriesId))} \xB7 ${_nullishCoalesce(spec.categories[selection.index], () => ( selection.index))}: ${_nullishCoalesce(value, () => ( "blank"))}`;
|
|
1305
1307
|
}
|
|
1306
1308
|
}
|
|
@@ -1347,29 +1349,29 @@ var SLICE_FAMILIES = /* @__PURE__ */ new Set(["pie", "funnel", "parliament"]);
|
|
|
1347
1349
|
function valueFormat(spec, series) {
|
|
1348
1350
|
return _nullishCoalesce(series.format, () => ( (series.axis === "secondary" ? spec.yAxis2.format : spec.yAxis.format)));
|
|
1349
1351
|
}
|
|
1350
|
-
var percentText = (share) =>
|
|
1352
|
+
var percentText = (share) => _chunkMDLEGVENcjs.formatChartNumber.call(void 0, share, { style: "percent", decimals: share < 0.1 ? 1 : 0 });
|
|
1351
1353
|
function item(spec, seriesIndex, index, share) {
|
|
1352
|
-
const family =
|
|
1354
|
+
const family = _chunkP6WYDBTHcjs.chartFamily.call(void 0, spec);
|
|
1353
1355
|
const series = spec.series[seriesIndex];
|
|
1354
1356
|
const value = _nullishCoalesce(series.values[index], () => ( null));
|
|
1355
1357
|
const slice = SLICE_FAMILIES.has(family);
|
|
1356
|
-
let text =
|
|
1358
|
+
let text = _chunkMDLEGVENcjs.formatChartNumber.call(void 0, value, valueFormat(spec, series));
|
|
1357
1359
|
if (family === "xy") {
|
|
1358
1360
|
const x = _optionalChain([series, 'access', _78 => _78.x, 'optionalAccess', _79 => _79[index]]);
|
|
1359
|
-
if (x !== null && x !== void 0) text = `${
|
|
1361
|
+
if (x !== null && x !== void 0) text = `${_chunkMDLEGVENcjs.formatChartNumber.call(void 0, x, spec.xAxis.format)}, ${text}`;
|
|
1360
1362
|
}
|
|
1361
1363
|
if (share !== void 0) text = `${text} (${percentText(share)})`;
|
|
1362
1364
|
return {
|
|
1363
1365
|
seriesId: series.id,
|
|
1364
1366
|
name: slice ? _nullishCoalesce(spec.categories[index], () => ( series.name)) : series.name,
|
|
1365
|
-
color: slice ? _nullishCoalesce(_optionalChain([series, 'access', _80 => _80.pointColors, 'optionalAccess', _81 => _81[index]]), () => (
|
|
1367
|
+
color: slice ? _nullishCoalesce(_optionalChain([series, 'access', _80 => _80.pointColors, 'optionalAccess', _81 => _81[index]]), () => ( _chunkP6WYDBTHcjs.chartSliceColor.call(void 0, spec, index))) : _chunkP6WYDBTHcjs.chartPointColor.call(void 0, spec, seriesIndex, index),
|
|
1366
1368
|
value,
|
|
1367
1369
|
...share !== void 0 ? { share } : {},
|
|
1368
1370
|
text
|
|
1369
1371
|
};
|
|
1370
1372
|
}
|
|
1371
1373
|
function chartTooltipFor(spec, index, seriesId, anchor = { x: 0, y: 0 }) {
|
|
1372
|
-
const family =
|
|
1374
|
+
const family = _chunkP6WYDBTHcjs.chartFamily.call(void 0, spec);
|
|
1373
1375
|
if (!VALUE_FAMILIES.has(family)) return null;
|
|
1374
1376
|
if (!Number.isInteger(index) || index < 0 || index >= Math.max(spec.categories.length, ...spec.series.map((s) => s.values.length))) return null;
|
|
1375
1377
|
const visible = spec.series.map((s, i) => ({ s, i })).filter(({ s }) => !s.hidden && (!seriesId || s.id === seriesId));
|
|
@@ -1393,10 +1395,10 @@ function chartTooltipFor(spec, index, seriesId, anchor = { x: 0, y: 0 }) {
|
|
|
1393
1395
|
}
|
|
1394
1396
|
function chartTooltipAt(spec, scene, point, options = {}) {
|
|
1395
1397
|
if (options.mode === "category" && scene.categoryScale) {
|
|
1396
|
-
const index =
|
|
1398
|
+
const index = _chunkMDLEGVENcjs.chartCategoryAtPoint.call(void 0, scene, point);
|
|
1397
1399
|
if (index !== void 0) return chartTooltipFor(spec, index, void 0, point);
|
|
1398
1400
|
}
|
|
1399
|
-
const target = chartHitTest(scene, point, _nullishCoalesce(options.measureText, () => (
|
|
1401
|
+
const target = chartHitTest(scene, point, _nullishCoalesce(options.measureText, () => ( _chunkMDLEGVENcjs.estimateChartTextWidth)));
|
|
1400
1402
|
if (_optionalChain([target, 'optionalAccess', _82 => _82.kind]) === "point") return chartTooltipFor(spec, target.index, target.seriesId, point);
|
|
1401
1403
|
if (_optionalChain([target, 'optionalAccess', _83 => _83.kind]) === "category" && scene.categoryScale && options.mode === "category") return chartTooltipFor(spec, target.index, void 0, point);
|
|
1402
1404
|
return null;
|
|
@@ -1442,7 +1444,7 @@ function planChartCommand(spec, scene, command, speed = 1) {
|
|
|
1442
1444
|
const from = _nullishCoalesce(_optionalChain([series, 'optionalAccess', _86 => _86.values, 'access', _87 => _87[command.index]]), () => ( 0));
|
|
1443
1445
|
const scale = _optionalChain([series, 'optionalAccess', _88 => _88.axis]) === "secondary" ? _nullishCoalesce(scene.valueScale2, () => ( scene.valueScale)) : scene.valueScale;
|
|
1444
1446
|
if (at && scale) {
|
|
1445
|
-
const px =
|
|
1447
|
+
const px = _chunkMDLEGVENcjs.linearMap.call(void 0, command.value, scale.domain, scale.range);
|
|
1446
1448
|
const to = scale.axis === "y" ? { x: at.x, y: px } : { x: px, y: at.y };
|
|
1447
1449
|
steps.push({ type: "move", to: at, ms: ms(380) }, { type: "press" }, { type: "drag", to, ms: ms(520), from, value: command.value }, { type: "release" });
|
|
1448
1450
|
} 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 });
|
|
@@ -1702,10 +1704,10 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1702
1704
|
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(", ")}.`);
|
|
1703
1705
|
return index;
|
|
1704
1706
|
};
|
|
1705
|
-
const table = () =>
|
|
1707
|
+
const table = () => _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, spec());
|
|
1706
1708
|
const treeTable = () => {
|
|
1707
|
-
const rows =
|
|
1708
|
-
const depth =
|
|
1709
|
+
const rows = _chunkP6WYDBTHcjs.chartTreeToRows.call(void 0, spec().tree);
|
|
1710
|
+
const depth = _chunkP6WYDBTHcjs.chartTreeDepth.call(void 0, spec().tree);
|
|
1709
1711
|
return [[...Array.from({ length: depth }, (_, k) => k === 0 ? "Group" : k === depth - 1 ? "Item" : `Level ${k + 1}`), "Value"], ...rows.map((r) => [...r.path, ...Array(depth - r.path.length).fill(""), r.value])];
|
|
1710
1712
|
};
|
|
1711
1713
|
const raceFrameOf = (time) => {
|
|
@@ -1721,17 +1723,17 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1721
1723
|
return {
|
|
1722
1724
|
frame: at,
|
|
1723
1725
|
time: _nullishCoalesce(s.categories[Math.round(at)], () => ( null)),
|
|
1724
|
-
ranking:
|
|
1726
|
+
ranking: _chunkMDLEGVENcjs.chartRaceRanking.call(void 0, s, at).slice(0, s.raceTopN).map((e) => ({ rank: e.rank + 1, series: e.seriesId, name: e.name, value: e.value }))
|
|
1725
1727
|
};
|
|
1726
1728
|
};
|
|
1727
|
-
const linksSummary = () => ({ links: spec().links, nodes: spec().sankeyNodes.map((name, i) => ({ name, value:
|
|
1728
|
-
const treeSummary = () => ({ tree: spec().tree, groups: spec().tree.map((n) => ({ name: n.name, total:
|
|
1729
|
+
const linksSummary = () => ({ links: spec().links, nodes: spec().sankeyNodes.map((name, i) => ({ name, value: _chunkP6WYDBTHcjs.chartSankeyNodeValues.call(void 0, spec().links, spec().sankeyNodes)[i] })) });
|
|
1730
|
+
const treeSummary = () => ({ tree: spec().tree, groups: spec().tree.map((n) => ({ name: n.name, total: _chunkP6WYDBTHcjs.chartTreeTotal.call(void 0, n) })), depth: _chunkP6WYDBTHcjs.chartTreeDepth.call(void 0, spec().tree) });
|
|
1729
1731
|
const Parser = () => _nullishCoalesce(options.DOMParser, () => ( globalThis.DOMParser));
|
|
1730
1732
|
const getChart = {
|
|
1731
1733
|
name: "get_chart",
|
|
1732
1734
|
title: "Read the chart",
|
|
1733
1735
|
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), grouped data as treeTable (path of names to each item, then its value) when the chart has a tree, 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.",
|
|
1734
|
-
inputSchema: { type: "object", properties: { width:
|
|
1736
|
+
inputSchema: { type: "object", properties: { width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }, additionalProperties: false },
|
|
1735
1737
|
annotations: { title: "Read the chart", ...READ },
|
|
1736
1738
|
handler: ({ width = size.width, height = size.height }) => {
|
|
1737
1739
|
const reason = readOnlyReason();
|
|
@@ -1739,7 +1741,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1739
1741
|
spec: controller.toJSON(),
|
|
1740
1742
|
table: table(),
|
|
1741
1743
|
selection: controller.getState().selection,
|
|
1742
|
-
summary:
|
|
1744
|
+
summary: _chunkYYBW6DF2cjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
|
|
1743
1745
|
...spec().tree.length ? { treeTable: treeTable() } : {},
|
|
1744
1746
|
issues: controller.getState().issues,
|
|
1745
1747
|
...reason ? { readOnly: reason } : {}
|
|
@@ -1753,10 +1755,10 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1753
1755
|
inputSchema: {
|
|
1754
1756
|
type: "object",
|
|
1755
1757
|
properties: {
|
|
1756
|
-
width:
|
|
1757
|
-
height:
|
|
1758
|
+
width: _chunkG23BTQA5cjs.WIDTH,
|
|
1759
|
+
height: _chunkG23BTQA5cjs.HEIGHT,
|
|
1758
1760
|
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)." },
|
|
1759
|
-
time: { ...
|
|
1761
|
+
time: { ..._chunkG23BTQA5cjs.RACE_TIME, description: `Bar race only: the moment to draw (default: the one shown). ${_chunkG23BTQA5cjs.RACE_TIME.description}` }
|
|
1760
1762
|
},
|
|
1761
1763
|
additionalProperties: false
|
|
1762
1764
|
},
|
|
@@ -1764,8 +1766,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1764
1766
|
handler: async ({ width = size.width, height = size.height, format = "svg", time }) => {
|
|
1765
1767
|
const json = controller.toJSON();
|
|
1766
1768
|
const raceFrame = time !== void 0 ? raceFrameOf(time) : controller.getState().raceFrame;
|
|
1767
|
-
const scene =
|
|
1768
|
-
const svg =
|
|
1769
|
+
const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, json, { width, height, selection: null, raceFrame });
|
|
1770
|
+
const svg = _chunkYYBW6DF2cjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkYYBW6DF2cjs.describeChart.call(void 0, json) });
|
|
1769
1771
|
const warnings = scene.warnings;
|
|
1770
1772
|
if (format === "png") {
|
|
1771
1773
|
if (!options.rasterize) fail2('This host cannot rasterize charts; call render_chart with format "svg", or get_chart for the layout warnings.');
|
|
@@ -1799,8 +1801,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1799
1801
|
handler: ({ colors, surface }) => {
|
|
1800
1802
|
const s = spec();
|
|
1801
1803
|
const visible = s.series.filter((x) => !x.hidden);
|
|
1802
|
-
const own =
|
|
1803
|
-
return { colors: _nullishCoalesce(colors, () => ( own)), ...
|
|
1804
|
+
const own = _chunkP6WYDBTHcjs.chartSpecColorsByCategory.call(void 0, s) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _100 => _100[0], 'optionalAccess', _101 => _101.pointColors, 'optionalAccess', _102 => _102[i]]) || _chunkP6WYDBTHcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkP6WYDBTHcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
|
|
1805
|
+
return { colors: _nullishCoalesce(colors, () => ( own)), ..._chunkP6WYDBTHcjs.checkChartColors.call(void 0, _nullishCoalesce(colors, () => ( own)), { surface }) };
|
|
1804
1806
|
}
|
|
1805
1807
|
};
|
|
1806
1808
|
const recommend = {
|
|
@@ -1822,7 +1824,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1822
1824
|
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.",
|
|
1823
1825
|
inputSchema: {
|
|
1824
1826
|
type: "object",
|
|
1825
|
-
properties: { series:
|
|
1827
|
+
properties: { series: _chunkG23BTQA5cjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index on the series (0 = first)." } },
|
|
1826
1828
|
required: ["series", "index"],
|
|
1827
1829
|
additionalProperties: false
|
|
1828
1830
|
},
|
|
@@ -1843,7 +1845,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1843
1845
|
description: "Returns what a viewer sees when hovering a category (or one series in it): the category label and, for each visible series with a value there, its name, colour, value, share (percent-stacked and pie charts, 0\u20131) and the value as the chart writes it. Returns null for charts without one value per category (histogram, box, treemap, sunburst, sankey, \u2026) or when no visible series has a value there.",
|
|
1844
1846
|
inputSchema: {
|
|
1845
1847
|
type: "object",
|
|
1846
|
-
properties: { category:
|
|
1848
|
+
properties: { category: _chunkG23BTQA5cjs.CATEGORY_REF, series: { ..._chunkG23BTQA5cjs.SERIES_REF, description: `${_chunkG23BTQA5cjs.SERIES_REF.description} Omit to include every visible series in the category.` } },
|
|
1847
1849
|
required: ["category"],
|
|
1848
1850
|
additionalProperties: false
|
|
1849
1851
|
},
|
|
@@ -1859,7 +1861,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1859
1861
|
name: "get_chart_race_ranking",
|
|
1860
1862
|
title: "Read a bar race ranking",
|
|
1861
1863
|
description: "Returns who leads a bar race at a moment without changing what is shown: the top raceTopN names with their rank, series id and value (eased between time points). Defaults to the moment shown. Works for any chart, reading categories as time points and series as names.",
|
|
1862
|
-
inputSchema: { type: "object", properties: { time:
|
|
1864
|
+
inputSchema: { type: "object", properties: { time: _chunkG23BTQA5cjs.RACE_TIME }, additionalProperties: false },
|
|
1863
1865
|
annotations: { title: "Read a bar race ranking", ...READ },
|
|
1864
1866
|
handler: ({ time }) => raceAt(time !== void 0 ? raceFrameOf(time) : controller.getState().raceFrame)
|
|
1865
1867
|
};
|
|
@@ -1871,10 +1873,10 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1871
1873
|
annotations: { title: "List map regions", ...READ },
|
|
1872
1874
|
handler: ({ map }) => {
|
|
1873
1875
|
const id = _nullishCoalesce(map, () => ( spec().map));
|
|
1874
|
-
const maps =
|
|
1875
|
-
const geometry =
|
|
1876
|
+
const maps = _chunkMDLEGVENcjs.listChartMaps.call(void 0, ).map((m) => ({ id: m.id, name: m.name, regions: m.regions.length }));
|
|
1877
|
+
const geometry = _chunkMDLEGVENcjs.getChartMap.call(void 0, id);
|
|
1876
1878
|
if (!geometry) fail2(maps.length ? `There is no map "${id}"; the host has ${maps.map((m) => `"${m.id}"`).join(", ")}.` : `There is no map "${id}": the host has not registered any maps (EUROPE_CHART_MAP in @pixerate/editor/chart-maps).`);
|
|
1877
|
-
const matches =
|
|
1879
|
+
const matches = _chunkMDLEGVENcjs.matchChartMapRegions.call(void 0, geometry, spec().categories);
|
|
1878
1880
|
return {
|
|
1879
1881
|
maps,
|
|
1880
1882
|
map: id,
|
|
@@ -1891,8 +1893,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1891
1893
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
1892
1894
|
annotations: { title: "List chart presets", ...READ },
|
|
1893
1895
|
handler: () => ({
|
|
1894
|
-
layouts:
|
|
1895
|
-
colorSchemes:
|
|
1896
|
+
layouts: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
|
|
1897
|
+
colorSchemes: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
|
|
1896
1898
|
})
|
|
1897
1899
|
};
|
|
1898
1900
|
const exportMermaid = {
|
|
@@ -1901,7 +1903,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1901
1903
|
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.',
|
|
1902
1904
|
inputSchema: { type: "object", properties: { meta: { type: "boolean", description: "Include the round-trip comment (default true)." } }, additionalProperties: false },
|
|
1903
1905
|
annotations: { title: "Export chart as Mermaid", ...READ },
|
|
1904
|
-
handler: ({ meta = true }) => ({ mermaid:
|
|
1906
|
+
handler: ({ meta = true }) => ({ mermaid: _chunkYYBW6DF2cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
|
|
1905
1907
|
};
|
|
1906
1908
|
const exportOoxml = {
|
|
1907
1909
|
name: "export_chart_ooxml",
|
|
@@ -1909,7 +1911,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1909
1911
|
description: "Returns the chart as a DrawingML chart part (c:chartSpace) for Word or PowerPoint files, with what could not be written as sentences.",
|
|
1910
1912
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
1911
1913
|
annotations: { title: "Export chart as Office XML", ...READ },
|
|
1912
|
-
handler: () =>
|
|
1914
|
+
handler: () => _chunkM2HG5DJ2cjs.chartToOoxml.call(void 0, controller.toJSON())
|
|
1913
1915
|
};
|
|
1914
1916
|
const updateChart = {
|
|
1915
1917
|
name: "update_chart",
|
|
@@ -1917,7 +1919,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1917
1919
|
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, radar rings (radarTicks) and grid shape (radarGraticule), note, highlight, reference lines and bands (whole lists), and varyColors. All-or-nothing: invalid values change nothing and come back as sentences. Returns the new spec.',
|
|
1918
1920
|
inputSchema: {
|
|
1919
1921
|
type: "object",
|
|
1920
|
-
properties:
|
|
1922
|
+
properties: _chunkG23BTQA5cjs.CHART_UPDATE_PROPERTIES,
|
|
1921
1923
|
additionalProperties: false
|
|
1922
1924
|
},
|
|
1923
1925
|
annotations: { title: "Change chart presentation", ...WRITE_IDEMPOTENT },
|
|
@@ -1938,7 +1940,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1938
1940
|
series: {
|
|
1939
1941
|
type: "array",
|
|
1940
1942
|
description: "The new series (replaces all).",
|
|
1941
|
-
items: { type: "object", properties: { id: { type: "string", description: "Stable id (optional)." }, ...
|
|
1943
|
+
items: { type: "object", properties: { id: { type: "string", description: "Stable id (optional)." }, ..._chunkG23BTQA5cjs.SERIES_PROPS }, required: ["name", "values"], additionalProperties: false }
|
|
1942
1944
|
}
|
|
1943
1945
|
},
|
|
1944
1946
|
additionalProperties: false
|
|
@@ -1961,7 +1963,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1961
1963
|
type: "array",
|
|
1962
1964
|
minItems: 1,
|
|
1963
1965
|
description: "Values to set.",
|
|
1964
|
-
items: { type: "object", properties: { series:
|
|
1966
|
+
items: { type: "object", properties: { series: _chunkG23BTQA5cjs.SERIES_REF, category: _chunkG23BTQA5cjs.CATEGORY_REF, value: _chunkG23BTQA5cjs.VALUE }, required: ["series", "category", "value"], additionalProperties: false }
|
|
1965
1967
|
}
|
|
1966
1968
|
},
|
|
1967
1969
|
required: ["cells"],
|
|
@@ -1970,7 +1972,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1970
1972
|
annotations: { title: "Set chart values", ...WRITE_IDEMPOTENT },
|
|
1971
1973
|
handler: async ({ cells }) => {
|
|
1972
1974
|
const resolved = cells.map((c) => ({ seriesId: seriesById(c.series).id, index: categoryIndex(c.category), value: c.value }));
|
|
1973
|
-
const parsed = resolved.map((c) =>
|
|
1975
|
+
const parsed = resolved.map((c) => _chunkP6WYDBTHcjs.parseChartValue.call(void 0, c.value));
|
|
1974
1976
|
const bad = resolved.find((_, i) => parsed[i] === void 0);
|
|
1975
1977
|
if (bad) fail2(`"${String(bad.value)}" is not a number; pass a number, numeric text or null for a gap. Nothing was changed.`);
|
|
1976
1978
|
if (options.director && parsed.every((v) => typeof v === "number")) {
|
|
@@ -1987,7 +1989,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1987
1989
|
description: "Adds a series (values padded to the categories) and selects it. Returns its id and stored values.",
|
|
1988
1990
|
inputSchema: {
|
|
1989
1991
|
type: "object",
|
|
1990
|
-
properties: { ...
|
|
1992
|
+
properties: { ..._chunkG23BTQA5cjs.SERIES_PROPS, id: { type: "string", description: "Id to use (default: series-N)." }, at: { type: "integer", minimum: 0, description: "Position (default: last)." } },
|
|
1991
1993
|
required: ["name"],
|
|
1992
1994
|
additionalProperties: false
|
|
1993
1995
|
},
|
|
@@ -2005,7 +2007,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2005
2007
|
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.",
|
|
2006
2008
|
inputSchema: {
|
|
2007
2009
|
type: "object",
|
|
2008
|
-
properties: { series:
|
|
2010
|
+
properties: { series: _chunkG23BTQA5cjs.SERIES_REF, ...Object.fromEntries(Object.entries(_chunkG23BTQA5cjs.SERIES_PROPS).filter(([k]) => k !== "values")) },
|
|
2009
2011
|
required: ["series"],
|
|
2010
2012
|
additionalProperties: false
|
|
2011
2013
|
},
|
|
@@ -2021,7 +2023,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2021
2023
|
name: "remove_chart_series",
|
|
2022
2024
|
title: "Delete a series",
|
|
2023
2025
|
description: "Deletes a series and its values. Returns the remaining series ids.",
|
|
2024
|
-
inputSchema: { type: "object", properties: { series:
|
|
2026
|
+
inputSchema: { type: "object", properties: { series: _chunkG23BTQA5cjs.SERIES_REF }, required: ["series"], additionalProperties: false },
|
|
2025
2027
|
annotations: { title: "Delete a series", ...DESTRUCTIVE },
|
|
2026
2028
|
handler: ({ series }) => {
|
|
2027
2029
|
resolve(controller.removeSeries(seriesById(series).id));
|
|
@@ -2047,7 +2049,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2047
2049
|
name: "remove_chart_category",
|
|
2048
2050
|
title: "Delete a category",
|
|
2049
2051
|
description: "Deletes a category and its value in every series. Returns the remaining categories.",
|
|
2050
|
-
inputSchema: { type: "object", properties: { category:
|
|
2052
|
+
inputSchema: { type: "object", properties: { category: _chunkG23BTQA5cjs.CATEGORY_REF }, required: ["category"], additionalProperties: false },
|
|
2051
2053
|
annotations: { title: "Delete a category", ...DESTRUCTIVE },
|
|
2052
2054
|
handler: ({ category }) => {
|
|
2053
2055
|
resolve(controller.removeCategory(categoryIndex(category)));
|
|
@@ -2090,7 +2092,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2090
2092
|
annotations: { title: "Import a Mermaid chart", ...DESTRUCTIVE },
|
|
2091
2093
|
handler: ({ mermaid }) => {
|
|
2092
2094
|
const fenced = /```(?:mermaid)?\s*\n([\s\S]*?)```/.exec(mermaid);
|
|
2093
|
-
const read =
|
|
2095
|
+
const read = _chunkYYBW6DF2cjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
|
|
2094
2096
|
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.");
|
|
2095
2097
|
resolve(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
|
|
2096
2098
|
return { spec: controller.toJSON(), issues: read.issues };
|
|
@@ -2103,7 +2105,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2103
2105
|
inputSchema: { type: "object", properties: { xml: { type: "string", description: "The chart part XML, e.g. word/charts/chart1.xml." } }, required: ["xml"], additionalProperties: false },
|
|
2104
2106
|
annotations: { title: "Import an Office chart", ...DESTRUCTIVE },
|
|
2105
2107
|
handler: ({ xml }) => {
|
|
2106
|
-
const read =
|
|
2108
|
+
const read = _chunkM2HG5DJ2cjs.chartFromOoxml.call(void 0, xml, { DOMParser: Parser() });
|
|
2107
2109
|
if (read.issues.some((i) => i.path === "" || i.path === "plotArea")) fail2(read.issues.map((i) => i.message).join(" "));
|
|
2108
2110
|
resolve(controller.update({ ...read.spec }, { label: "Import Office chart" }));
|
|
2109
2111
|
return { spec: controller.toJSON(), issues: read.issues.map((i) => i.message), unsupported: read.unsupported, lossless: read.lossless };
|
|
@@ -2113,7 +2115,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2113
2115
|
name: "add_chart_trendline",
|
|
2114
2116
|
title: "Add a trendline",
|
|
2115
2117
|
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.",
|
|
2116
|
-
inputSchema: { type: "object", properties: { series:
|
|
2118
|
+
inputSchema: { type: "object", properties: { series: _chunkG23BTQA5cjs.SERIES_REF, ..._chunkG23BTQA5cjs.TRENDLINE_PROPS }, required: ["series", "type"], additionalProperties: false },
|
|
2117
2119
|
annotations: { title: "Add a trendline", ...WRITE },
|
|
2118
2120
|
handler: ({ series, ...line }) => {
|
|
2119
2121
|
const s = seriesById(series);
|
|
@@ -2127,7 +2129,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2127
2129
|
description: "Deletes a trendline from a series. Returns the series' remaining trendlines.",
|
|
2128
2130
|
inputSchema: {
|
|
2129
2131
|
type: "object",
|
|
2130
|
-
properties: { series:
|
|
2132
|
+
properties: { series: _chunkG23BTQA5cjs.SERIES_REF, index: { type: "integer", minimum: 0, description: "Trendline index on the series (0 = first)." } },
|
|
2131
2133
|
required: ["series", "index"],
|
|
2132
2134
|
additionalProperties: false
|
|
2133
2135
|
},
|
|
@@ -2146,7 +2148,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2146
2148
|
name: `add_chart_reference_${what}`,
|
|
2147
2149
|
title: `Add a reference ${what}`,
|
|
2148
2150
|
description: what === "line" ? "Draws a dashed line across the plot at one value: a target, a floor, an average (bar, line, area, scatter and bubble charts). The axis grows to keep it in view. Returns its index and the reference lines." : "Shades a band across the plot between two values: a target or normal range (bar, line, area, scatter and bubble charts), drawn under the data. The axis grows to keep it in view. Returns its index and the reference bands.",
|
|
2149
|
-
inputSchema: { type: "object", properties: what === "line" ?
|
|
2151
|
+
inputSchema: { type: "object", properties: what === "line" ? _chunkG23BTQA5cjs.REFERENCE_LINE_PROPS : _chunkG23BTQA5cjs.REFERENCE_BAND_PROPS, required: what === "line" ? ["value"] : ["from", "to"], additionalProperties: false },
|
|
2150
2152
|
annotations: { title: `Add a reference ${what}`, ...WRITE },
|
|
2151
2153
|
handler: (args) => {
|
|
2152
2154
|
const result = resolve(what === "line" ? controller.addReferenceLine(args) : controller.addReferenceBand(args));
|
|
@@ -2157,7 +2159,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2157
2159
|
name: `update_chart_reference_${what}`,
|
|
2158
2160
|
title: `Change a reference ${what}`,
|
|
2159
2161
|
description: `Changes a reference ${what} by index (all-or-nothing); label, axis and color take null to remove them. Returns the ${what} as stored.`,
|
|
2160
|
-
inputSchema: { type: "object", properties: { index:
|
|
2162
|
+
inputSchema: { type: "object", properties: { index: _chunkG23BTQA5cjs.REFERENCE_INDEX.call(void 0, Kind), ...what === "line" ? _chunkG23BTQA5cjs.REFERENCE_LINE_PATCH : _chunkG23BTQA5cjs.REFERENCE_BAND_PATCH }, required: ["index"], additionalProperties: false },
|
|
2161
2163
|
annotations: { title: `Change a reference ${what}`, ...WRITE_IDEMPOTENT },
|
|
2162
2164
|
handler: ({ index, ...patch }) => {
|
|
2163
2165
|
if (!Object.keys(patch).length) fail2(`Nothing to change: pass at least one field besides index, e.g. {"index": ${index}, "label": "Target"}.`);
|
|
@@ -2169,7 +2171,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2169
2171
|
name: `remove_chart_reference_${what}`,
|
|
2170
2172
|
title: `Delete a reference ${what}`,
|
|
2171
2173
|
description: `Deletes a reference ${what} by index; the ones after it move up one. Returns the reference ${what}s left.`,
|
|
2172
|
-
inputSchema: { type: "object", properties: { index:
|
|
2174
|
+
inputSchema: { type: "object", properties: { index: _chunkG23BTQA5cjs.REFERENCE_INDEX.call(void 0, Kind) }, required: ["index"], additionalProperties: false },
|
|
2173
2175
|
annotations: { title: `Delete a reference ${what}`, ...DESTRUCTIVE },
|
|
2174
2176
|
handler: ({ index }) => {
|
|
2175
2177
|
resolve(what === "line" ? controller.removeReferenceLine(index) : controller.removeReferenceBand(index));
|
|
@@ -2186,7 +2188,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2186
2188
|
description: 'Pins a short label to one bar or point, with a leader line, to say why it matters ("Record quarter", "Launch"); label null or "" removes it. Bar, line, area, scatter and bubble charts; the point must have a value. Selects the point and returns the series id, category index and label.',
|
|
2187
2189
|
inputSchema: {
|
|
2188
2190
|
type: "object",
|
|
2189
|
-
properties: { series:
|
|
2191
|
+
properties: { series: _chunkG23BTQA5cjs.SERIES_REF, category: _chunkG23BTQA5cjs.CATEGORY_REF, label: { type: ["string", "null"], description: "The label (keep it to a few words), or null to remove it." } },
|
|
2190
2192
|
required: ["series", "category", "label"],
|
|
2191
2193
|
additionalProperties: false
|
|
2192
2194
|
},
|
|
@@ -2219,7 +2221,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2219
2221
|
name: "set_chart_tree",
|
|
2220
2222
|
title: "Replace grouped data",
|
|
2221
2223
|
description: `Replaces the chart's data with groups of items (a tree) for treemaps and sunbursts, as one undo step: items {"name", "value"} and groups {"name", "children"}, up to 6 levels, names unique among siblings. The top-level groups become the categories and their totals the first series, so other chart types draw the totals. [] goes back to plain data (the totals stay as values). Returns the tree, each group's total and the depth.`,
|
|
2222
|
-
inputSchema: { type: "object", properties: { tree: { type: "array", items: { $ref: "#/$defs/chartTreeNode" }, description: "The top-level nodes; [] removes the grouping." } }, required: ["tree"], additionalProperties: false, $defs:
|
|
2224
|
+
inputSchema: { type: "object", properties: { tree: { type: "array", items: { $ref: "#/$defs/chartTreeNode" }, description: "The top-level nodes; [] removes the grouping." } }, required: ["tree"], additionalProperties: false, $defs: _chunkG23BTQA5cjs.TREE_DEFS },
|
|
2223
2225
|
annotations: { title: "Replace grouped data", ...WRITE_IDEMPOTENT },
|
|
2224
2226
|
handler: ({ tree }) => {
|
|
2225
2227
|
resolve(controller.setTree(tree));
|
|
@@ -2258,13 +2260,13 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2258
2260
|
},
|
|
2259
2261
|
required: ["node"],
|
|
2260
2262
|
additionalProperties: false,
|
|
2261
|
-
$defs:
|
|
2263
|
+
$defs: _chunkG23BTQA5cjs.TREE_DEFS
|
|
2262
2264
|
},
|
|
2263
2265
|
annotations: { title: "Add an item or group", ...WRITE },
|
|
2264
2266
|
handler: ({ parent = [], node, at }) => {
|
|
2265
2267
|
const result = resolve(controller.addTreeNode(parent, node, { at }));
|
|
2266
|
-
const group = parent.length ?
|
|
2267
|
-
return { path: result.path, parentTotal: group ?
|
|
2268
|
+
const group = parent.length ? _chunkP6WYDBTHcjs.findChartTreeNode.call(void 0, spec().tree, parent) : null;
|
|
2269
|
+
return { path: result.path, parentTotal: group ? _chunkP6WYDBTHcjs.chartTreeTotal.call(void 0, group) : spec().tree.reduce((t, n) => t + _chunkP6WYDBTHcjs.chartTreeTotal.call(void 0, n), 0) };
|
|
2268
2270
|
}
|
|
2269
2271
|
};
|
|
2270
2272
|
const updateTreeNode = {
|
|
@@ -2274,7 +2276,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2274
2276
|
inputSchema: {
|
|
2275
2277
|
type: "object",
|
|
2276
2278
|
properties: {
|
|
2277
|
-
path:
|
|
2279
|
+
path: _chunkG23BTQA5cjs.TREE_PATH,
|
|
2278
2280
|
name: { type: "string", description: "New name (unique among its siblings)." },
|
|
2279
2281
|
value: { type: "number", minimum: 0, description: "Items only: the new amount." },
|
|
2280
2282
|
color: { type: ["string", "null"], description: "CSS colour, or null for the palette colour." }
|
|
@@ -2286,14 +2288,14 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2286
2288
|
handler: ({ path, ...patch }) => {
|
|
2287
2289
|
if (!Object.keys(patch).length) fail2("Nothing to change: pass name, value or color with the path.");
|
|
2288
2290
|
const result = resolve(controller.updateTreeNode(path, patch));
|
|
2289
|
-
return { path: result.path, node:
|
|
2291
|
+
return { path: result.path, node: _chunkP6WYDBTHcjs.findChartTreeNode.call(void 0, spec().tree, result.path) };
|
|
2290
2292
|
}
|
|
2291
2293
|
};
|
|
2292
2294
|
const removeTreeNode = {
|
|
2293
2295
|
name: "remove_chart_tree_node",
|
|
2294
2296
|
title: "Delete an item or group",
|
|
2295
2297
|
description: "Deletes a node of the grouped data with everything under it (a group left empty becomes an item with value 0). Returns the group totals left.",
|
|
2296
|
-
inputSchema: { type: "object", properties: { path:
|
|
2298
|
+
inputSchema: { type: "object", properties: { path: _chunkG23BTQA5cjs.TREE_PATH }, required: ["path"], additionalProperties: false },
|
|
2297
2299
|
annotations: { title: "Delete an item or group", ...DESTRUCTIVE },
|
|
2298
2300
|
handler: ({ path }) => {
|
|
2299
2301
|
resolve(controller.removeTreeNode(path));
|
|
@@ -2307,7 +2309,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2307
2309
|
inputSchema: {
|
|
2308
2310
|
type: "object",
|
|
2309
2311
|
properties: {
|
|
2310
|
-
links: { type: "array", items: { type: "object", properties:
|
|
2312
|
+
links: { type: "array", items: { type: "object", properties: _chunkG23BTQA5cjs.LINK_PROPS, required: ["source", "target", "value"], additionalProperties: false }, description: "All the flows; [] removes them." },
|
|
2311
2313
|
nodes: { type: "array", items: { type: "string" }, description: "Node names in stacking order (default: as the flows first name them)." }
|
|
2312
2314
|
},
|
|
2313
2315
|
required: ["links"],
|
|
@@ -2342,7 +2344,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2342
2344
|
name: "add_chart_link",
|
|
2343
2345
|
title: "Add a flow",
|
|
2344
2346
|
description: "Adds a flow from one node to another (new names add nodes). Refused when the pair exists already or it would close a loop. Returns its index and the throughput of its two nodes.",
|
|
2345
|
-
inputSchema: { type: "object", properties:
|
|
2347
|
+
inputSchema: { type: "object", properties: _chunkG23BTQA5cjs.LINK_PROPS, required: ["source", "target", "value"], additionalProperties: false },
|
|
2346
2348
|
annotations: { title: "Add a flow", ...WRITE },
|
|
2347
2349
|
handler: (args) => {
|
|
2348
2350
|
const result = resolve(controller.addLink(args));
|
|
@@ -2356,7 +2358,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2356
2358
|
name: "update_chart_link",
|
|
2357
2359
|
title: "Change a flow",
|
|
2358
2360
|
description: "Changes a flow by index: its source, target, value or colour (null goes back to the default). Checked like a new flow. Returns the flow as stored.",
|
|
2359
|
-
inputSchema: { type: "object", properties: { index:
|
|
2361
|
+
inputSchema: { type: "object", properties: { index: _chunkG23BTQA5cjs.LINK_INDEX, ..._chunkG23BTQA5cjs.LINK_PROPS, color: { type: ["string", "null"], description: "CSS colour, or null for the default." } }, required: ["index"], additionalProperties: false },
|
|
2360
2362
|
annotations: { title: "Change a flow", ...WRITE_IDEMPOTENT },
|
|
2361
2363
|
handler: ({ index, ...patch }) => {
|
|
2362
2364
|
if (!Object.keys(patch).length) fail2(`Nothing to change: pass source, target, value or color with the index, e.g. {"index": ${index}, "value": 40}.`);
|
|
@@ -2368,7 +2370,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2368
2370
|
name: "remove_chart_link",
|
|
2369
2371
|
title: "Delete a flow",
|
|
2370
2372
|
description: "Deletes a flow by index; the ones after it move up one, and nodes no flow uses any more go. Returns the flows left.",
|
|
2371
|
-
inputSchema: { type: "object", properties: { index:
|
|
2373
|
+
inputSchema: { type: "object", properties: { index: _chunkG23BTQA5cjs.LINK_INDEX }, required: ["index"], additionalProperties: false },
|
|
2372
2374
|
annotations: { title: "Delete a flow", ...DESTRUCTIVE },
|
|
2373
2375
|
handler: ({ index }) => {
|
|
2374
2376
|
resolve(controller.removeLink(index));
|
|
@@ -2379,7 +2381,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2379
2381
|
name: "set_chart_race_frame",
|
|
2380
2382
|
title: "Show a bar race moment",
|
|
2381
2383
|
description: "Shows the bar race at a time point (or between two), and stops playback. This is view state like the selection: it is not an undo step and is not saved in the chart. Returns the moment and the ranking shown.",
|
|
2382
|
-
inputSchema: { type: "object", properties: { time: { ...
|
|
2384
|
+
inputSchema: { type: "object", properties: { time: { ..._chunkG23BTQA5cjs.RACE_TIME, type: ["string", "number", "null"], description: `${_chunkG23BTQA5cjs.RACE_TIME.description} null shows the last time point.` } }, required: ["time"], additionalProperties: false },
|
|
2383
2385
|
annotations: { title: "Show a bar race moment", ...WRITE_IDEMPOTENT },
|
|
2384
2386
|
handler: ({ time }) => {
|
|
2385
2387
|
const frame = time === null ? null : raceFrameOf(time);
|
|
@@ -2406,8 +2408,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2406
2408
|
inputSchema: {
|
|
2407
2409
|
type: "object",
|
|
2408
2410
|
properties: {
|
|
2409
|
-
layout: { type: "string", enum:
|
|
2410
|
-
colors: { type: "string", enum:
|
|
2411
|
+
layout: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
|
|
2412
|
+
colors: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
|
|
2411
2413
|
},
|
|
2412
2414
|
additionalProperties: false
|
|
2413
2415
|
},
|
|
@@ -2436,8 +2438,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2436
2438
|
type: "object",
|
|
2437
2439
|
properties: {
|
|
2438
2440
|
kind: { type: "string", enum: ["none", "chart", "title", "subtitle", "legend", "axis", "series", "point", "category", "trendline"], description: "What to select." },
|
|
2439
|
-
series: { ...
|
|
2440
|
-
category: { ...
|
|
2441
|
+
series: { ..._chunkG23BTQA5cjs.SERIES_REF, description: "Series id or name (series, point, trendline)." },
|
|
2442
|
+
category: { ..._chunkG23BTQA5cjs.CATEGORY_REF, description: "Category index or label (point, category)." },
|
|
2441
2443
|
axis: { type: "string", enum: ["x", "y", "y2"], description: "Axis (axis)." },
|
|
2442
2444
|
index: { type: "integer", minimum: 0, description: "Trendline index (trendline)." }
|
|
2443
2445
|
},
|
|
@@ -2495,15 +2497,15 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2495
2497
|
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 },
|
|
2496
2498
|
fine: { type: "boolean", description: "Move a tenth as far (Alt)." },
|
|
2497
2499
|
lockAxis: { type: "boolean", description: "Scatter charts: change only the axis moved along most (Shift)." },
|
|
2498
|
-
width:
|
|
2499
|
-
height:
|
|
2500
|
+
width: _chunkG23BTQA5cjs.WIDTH,
|
|
2501
|
+
height: _chunkG23BTQA5cjs.HEIGHT
|
|
2500
2502
|
},
|
|
2501
2503
|
required: ["from", "to"],
|
|
2502
2504
|
additionalProperties: false
|
|
2503
2505
|
},
|
|
2504
2506
|
annotations: { title: "Drag a chart point", ...WRITE },
|
|
2505
2507
|
handler: ({ from, to, fine, lockAxis, width = size.width, height = size.height }) => {
|
|
2506
|
-
const scene =
|
|
2508
|
+
const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), { width, height });
|
|
2507
2509
|
const start = { x: from.x * width, y: from.y * height };
|
|
2508
2510
|
const target = chartHitTest(scene, start);
|
|
2509
2511
|
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.`);
|
|
@@ -2533,7 +2535,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2533
2535
|
},
|
|
2534
2536
|
annotations: { title: "Press a key on the chart", ...DESTRUCTIVE },
|
|
2535
2537
|
handler: ({ key: k, shift, alt }) => {
|
|
2536
|
-
const scene =
|
|
2538
|
+
const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, controller.toJSON(), size);
|
|
2537
2539
|
const used = handleChartKey(controller, scene, { key: k, shiftKey: shift, altKey: alt });
|
|
2538
2540
|
const sel = controller.getState().selection;
|
|
2539
2541
|
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;
|
|
@@ -2684,12 +2686,12 @@ var ChartStream = (_class = class {
|
|
|
2684
2686
|
if (format === "json") {
|
|
2685
2687
|
const value = complete ? safeParse(text) : parsePartialChartJson(text);
|
|
2686
2688
|
if (value !== void 0) {
|
|
2687
|
-
const read =
|
|
2689
|
+
const read = _chunkP6WYDBTHcjs.normalizeChartSpec.call(void 0, value);
|
|
2688
2690
|
spec = read.spec;
|
|
2689
2691
|
issues = complete ? read.issues : [];
|
|
2690
2692
|
}
|
|
2691
2693
|
} else {
|
|
2692
|
-
const read =
|
|
2694
|
+
const read = _chunkYYBW6DF2cjs.chartFromMermaid.call(void 0, text, { partial: !complete });
|
|
2693
2695
|
if (read.family) {
|
|
2694
2696
|
spec = read.spec;
|
|
2695
2697
|
issues = complete ? read.issues : [];
|
|
@@ -2810,7 +2812,7 @@ async function readRels(r, partPath) {
|
|
|
2810
2812
|
}
|
|
2811
2813
|
return rels;
|
|
2812
2814
|
}
|
|
2813
|
-
var isChartRef = (el) => el.localName === "chart" && (el.namespaceURI ===
|
|
2815
|
+
var isChartRef = (el) => el.localName === "chart" && (el.namespaceURI === _chunkM2HG5DJ2cjs.CHART_OOXML_NS || el.namespaceURI === STRICT_CHART_NS || el.namespaceURI === CHARTEX_NS);
|
|
2814
2816
|
function frameName(ref) {
|
|
2815
2817
|
for (let el = ref.parentElement; el; el = el.parentElement) {
|
|
2816
2818
|
if (el.localName === "graphicFrame") {
|
|
@@ -2829,7 +2831,7 @@ async function chartsInPart(r, root, rels, place) {
|
|
|
2829
2831
|
const entry = r.zip.get(rel.target);
|
|
2830
2832
|
if (!entry) continue;
|
|
2831
2833
|
r.seen.add(rel.target);
|
|
2832
|
-
const read =
|
|
2834
|
+
const read = _chunkM2HG5DJ2cjs.chartFromOoxml.call(void 0, await r.zip.readText(entry), { DOMParser: r.Parser });
|
|
2833
2835
|
const name = frameName(ref);
|
|
2834
2836
|
r.charts.push({
|
|
2835
2837
|
id: `chart-${r.charts.length + 1}`,
|
|
@@ -3100,16 +3102,16 @@ var COLOR = { type: "string", minLength: 1, description: 'A CSS colour (hex or r
|
|
|
3100
3102
|
function chartColors(spec) {
|
|
3101
3103
|
const out = [];
|
|
3102
3104
|
const visible = spec.series.map((s, i) => ({ s, i })).filter(({ s }) => !s.hidden);
|
|
3103
|
-
if (
|
|
3105
|
+
if (_chunkP6WYDBTHcjs.chartColorsByCategory.call(void 0, spec.type)) {
|
|
3104
3106
|
const first = visible[0];
|
|
3105
3107
|
spec.categories.forEach((name, index) => {
|
|
3106
|
-
const color = _optionalChain([first, 'optionalAccess', _143 => _143.s, 'access', _144 => _144.pointColors, 'optionalAccess', _145 => _145[index]]) ||
|
|
3108
|
+
const color = _optionalChain([first, 'optionalAccess', _143 => _143.s, 'access', _144 => _144.pointColors, 'optionalAccess', _145 => _145[index]]) || _chunkP6WYDBTHcjs.chartSliceColor.call(void 0, spec, index);
|
|
3107
3109
|
out.push({ color, label: `Slice "${name}"`, target: first ? { kind: "point", seriesId: first.s.id, index } : { kind: "category", index } });
|
|
3108
3110
|
});
|
|
3109
3111
|
return out;
|
|
3110
3112
|
}
|
|
3111
3113
|
for (const { s, i } of visible) {
|
|
3112
|
-
out.push({ color:
|
|
3114
|
+
out.push({ color: _chunkP6WYDBTHcjs.chartSeriesColor.call(void 0, spec, i), label: `Series "${s.name}"`, target: { kind: "series", seriesId: s.id } });
|
|
3113
3115
|
_optionalChain([s, 'access', _146 => _146.pointColors, 'optionalAccess', _147 => _147.forEach, 'call', _148 => _148((c, index) => {
|
|
3114
3116
|
if (c) out.push({ color: c, label: `Point ${index + 1} of "${s.name}"`, target: { kind: "point", seriesId: s.id, index } });
|
|
3115
3117
|
})]);
|
|
@@ -3131,18 +3133,18 @@ var paletteOnly = {
|
|
|
3131
3133
|
},
|
|
3132
3134
|
run(spec, profile, { tolerance = 0.02 }) {
|
|
3133
3135
|
const palette = paletteOf(profile);
|
|
3134
|
-
const allowed = palette.flatMap((c) =>
|
|
3136
|
+
const allowed = palette.flatMap((c) => _chunkP6WYDBTHcjs.CHART_PALETTE_SHADES.map((t) => _chunkP6WYDBTHcjs.shadeChartColor.call(void 0, c, t))).map((c) => ({ c, rgb: _chunkP6WYDBTHcjs.parseChartColor.call(void 0, c) }));
|
|
3135
3137
|
return chartColors(spec).flatMap(({ color, label, target }) => {
|
|
3136
|
-
const rgb =
|
|
3138
|
+
const rgb = _chunkP6WYDBTHcjs.parseChartColor.call(void 0, color);
|
|
3137
3139
|
if (!rgb) return [];
|
|
3138
3140
|
let best = { c: palette[0], d: Infinity };
|
|
3139
3141
|
for (const a of allowed) {
|
|
3140
3142
|
if (!a.rgb) continue;
|
|
3141
|
-
const d =
|
|
3143
|
+
const d = _chunkP6WYDBTHcjs.chartColorDistance.call(void 0, rgb, a.rgb);
|
|
3142
3144
|
if (d < best.d) best = { c: a.c, d };
|
|
3143
3145
|
}
|
|
3144
3146
|
if (best.d <= tolerance) return [];
|
|
3145
|
-
const nearest = palette.map((c) => ({ c, d:
|
|
3147
|
+
const nearest = palette.map((c) => ({ c, d: _chunkP6WYDBTHcjs.parseChartColor.call(void 0, c) ? _chunkP6WYDBTHcjs.chartColorDistance.call(void 0, rgb, _chunkP6WYDBTHcjs.parseChartColor.call(void 0, c)) : Infinity })).sort((a, b) => a.d - b.d)[0].c;
|
|
3146
3148
|
return [{ severity: "error", message: `${label} uses ${color}, which is not in the house palette; use ${nearest} or another palette colour (${palette.join(", ")}).`, target }];
|
|
3147
3149
|
});
|
|
3148
3150
|
}
|
|
@@ -3156,8 +3158,8 @@ var distinguishable = {
|
|
|
3156
3158
|
additionalProperties: false
|
|
3157
3159
|
},
|
|
3158
3160
|
run(spec, _profile, { minDistance = 0.08 }) {
|
|
3159
|
-
const colors = chartColors(spec).filter((c) => c.target.kind !== "point" ||
|
|
3160
|
-
const result =
|
|
3161
|
+
const colors = chartColors(spec).filter((c) => c.target.kind !== "point" || _chunkP6WYDBTHcjs.chartColorsByCategory.call(void 0, spec.type));
|
|
3162
|
+
const result = _chunkP6WYDBTHcjs.checkChartColors.call(void 0, colors.map((c) => c.color), { minDistance, minContrast: 0 });
|
|
3161
3163
|
const findings = [];
|
|
3162
3164
|
for (const [vision, pair] of Object.entries(result.closest)) {
|
|
3163
3165
|
if (!pair || pair.distance >= minDistance) continue;
|
|
@@ -3183,7 +3185,7 @@ var minContrast = {
|
|
|
3183
3185
|
const theme = _nullishCoalesce(profile.theme, () => ( {}));
|
|
3184
3186
|
const background = theme.background && theme.background !== "transparent" ? theme.background : _nullishCoalesce(theme.surface, () => ( "#ffffff"));
|
|
3185
3187
|
return chartColors(spec).flatMap(({ color, label, target }) => {
|
|
3186
|
-
const r =
|
|
3188
|
+
const r = _chunkP6WYDBTHcjs.chartContrastRatio.call(void 0, color, background);
|
|
3187
3189
|
if (r === null || r >= ratio) return [];
|
|
3188
3190
|
return [{ severity: "warning", message: `${label} (${color}) has contrast ${Math.round(r * 100) / 100}:1 against the background ${background}; want at least ${ratio}:1, so use a darker or lighter palette colour.`, target }];
|
|
3189
3191
|
});
|
|
@@ -3212,8 +3214,8 @@ var chartStyleDomain = {
|
|
|
3212
3214
|
type: "object",
|
|
3213
3215
|
properties: {
|
|
3214
3216
|
palette: { type: "array", items: COLOR, minItems: 1, description: "Series colours in order." },
|
|
3215
|
-
colorSchemes: { type: "array", items: { type: "string", enum:
|
|
3216
|
-
layouts: { type: "array", items: { type: "string", enum:
|
|
3217
|
+
colorSchemes: { type: "array", items: { type: "string", enum: _chunkYYBW6DF2cjs.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: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map((p) => p.id) }, description: "Layout preset ids allowed." },
|
|
3217
3219
|
theme: {
|
|
3218
3220
|
type: "object",
|
|
3219
3221
|
properties: {
|
|
@@ -3500,4 +3502,4 @@ function createChartStyleToolProvider(controller, styles, options = {}) {
|
|
|
3500
3502
|
|
|
3501
3503
|
|
|
3502
3504
|
|
|
3503
|
-
exports.CHART_AXIS_KINDS = _chunkWRZ6C4TUcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkWRZ6C4TUcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunk3NS5C7FBcjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkWRZ6C4TUcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkN76AMOKEcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkWRZ6C4TUcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkWRZ6C4TUcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkWRZ6C4TUcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkWRZ6C4TUcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunk3NS5C7FBcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkWRZ6C4TUcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkWRZ6C4TUcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkWRZ6C4TUcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkWRZ6C4TUcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunk3NS5C7FBcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkWRZ6C4TUcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkHUAISCUXcjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkHUAISCUXcjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkHUAISCUXcjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkWRZ6C4TUcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkWRZ6C4TUcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkWRZ6C4TUcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkWRZ6C4TUcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkWRZ6C4TUcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkWRZ6C4TUcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkWRZ6C4TUcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkWRZ6C4TUcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkWRZ6C4TUcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkWRZ6C4TUcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkWRZ6C4TUcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunk3NS5C7FBcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkWRZ6C4TUcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkWRZ6C4TUcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkN76AMOKEcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkN76AMOKEcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkWRZ6C4TUcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkN76AMOKEcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkWRZ6C4TUcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkWRZ6C4TUcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkWRZ6C4TUcjs.addChartLink; exports.addChartTreeRow = _chunkWRZ6C4TUcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkN76AMOKEcjs.chartBoxStats; exports.chartCategoryAtPoint = _chunkN76AMOKEcjs.chartCategoryAtPoint; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkWRZ6C4TUcjs.chartColorDistance; exports.chartColorInputValue = _chunkWRZ6C4TUcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkWRZ6C4TUcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkWRZ6C4TUcjs.chartContrastRatio; exports.chartDataFromTable = _chunkWRZ6C4TUcjs.chartDataFromTable; exports.chartDataToTable = _chunkWRZ6C4TUcjs.chartDataToTable; exports.chartDateLabels = _chunkN76AMOKEcjs.chartDateLabels; exports.chartDateToSerial = _chunkN76AMOKEcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkWRZ6C4TUcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkWRZ6C4TUcjs.chartErrorBarsOfType; exports.chartFamily = _chunkWRZ6C4TUcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkHUAISCUXcjs.chartFormatToCode; exports.chartFromMermaid = _chunk3NS5C7FBcjs.chartFromMermaid; exports.chartFromOoxml = _chunkHUAISCUXcjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkN76AMOKEcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkWRZ6C4TUcjs.chartLikertColor; exports.chartLinksFromTable = _chunkWRZ6C4TUcjs.chartLinksFromTable; exports.chartLuminance = _chunkWRZ6C4TUcjs.chartLuminance; exports.chartMapBreaks = _chunkN76AMOKEcjs.chartMapBreaks; exports.chartMapClass = _chunkN76AMOKEcjs.chartMapClass; exports.chartMapRamp = _chunkN76AMOKEcjs.chartMapRamp; exports.chartMermaidFamily = _chunk3NS5C7FBcjs.chartMermaidFamily; exports.chartMovingAverage = _chunkN76AMOKEcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkWRZ6C4TUcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunk3NS5C7FBcjs.chartPresetPatch; exports.chartQuantile = _chunkN76AMOKEcjs.chartQuantile; exports.chartRaceMoment = _chunkN76AMOKEcjs.chartRaceMoment; exports.chartRaceRanking = _chunkN76AMOKEcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkN76AMOKEcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkWRZ6C4TUcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkWRZ6C4TUcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkWRZ6C4TUcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkWRZ6C4TUcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkN76AMOKEcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkN76AMOKEcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunk3NS5C7FBcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunk3NS5C7FBcjs.chartSceneToSvg; exports.chartSerialToDate = _chunkN76AMOKEcjs.chartSerialToDate; exports.chartSeriesColor = _chunkWRZ6C4TUcjs.chartSeriesColor; exports.chartSeriesType = _chunkWRZ6C4TUcjs.chartSeriesType; exports.chartSliceColor = _chunkWRZ6C4TUcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkWRZ6C4TUcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkN76AMOKEcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkN76AMOKEcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunk3NS5C7FBcjs.chartTextBaseline; exports.chartTextOn = _chunkWRZ6C4TUcjs.chartTextOn; exports.chartTextTransform = _chunk3NS5C7FBcjs.chartTextTransform; exports.chartToMermaid = _chunk3NS5C7FBcjs.chartToMermaid; exports.chartToOoxml = _chunkHUAISCUXcjs.chartToOoxml; exports.chartToSvg = _chunk3NS5C7FBcjs.chartToSvg; exports.chartTooltipAt = chartTooltipAt; exports.chartTooltipFor = chartTooltipFor; exports.chartTreeColumnLabels = _chunkWRZ6C4TUcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkWRZ6C4TUcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkWRZ6C4TUcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkWRZ6C4TUcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkWRZ6C4TUcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkWRZ6C4TUcjs.chartTreeToRows; exports.chartTreeTotal = _chunkWRZ6C4TUcjs.chartTreeTotal; exports.chartTrendlineName = _chunkN76AMOKEcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkN76AMOKEcjs.chartValueAtPoint; exports.chartVariesColors = _chunkWRZ6C4TUcjs.chartVariesColors; exports.chartXAtPoint = _chunkN76AMOKEcjs.chartXAtPoint; exports.checkChartColors = _chunkWRZ6C4TUcjs.checkChartColors; exports.cloneChartSeries = _chunkWRZ6C4TUcjs.cloneChartSeries; exports.cloneChartSpec = _chunkWRZ6C4TUcjs.cloneChartSpec; exports.cloneChartTree = _chunkWRZ6C4TUcjs.cloneChartTree; exports.compileChartFormatCode = _chunkN76AMOKEcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkN76AMOKEcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunk3NS5C7FBcjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkWRZ6C4TUcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkWRZ6C4TUcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkN76AMOKEcjs.decimateChartPoints; exports.defaultChartAxis = _chunkWRZ6C4TUcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkWRZ6C4TUcjs.defaultChartErrorBarValue; exports.describeChart = _chunk3NS5C7FBcjs.describeChart; exports.describeChartErrorBars = _chunkWRZ6C4TUcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkN76AMOKEcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkWRZ6C4TUcjs.findChartTreeNode; exports.findMermaidCharts = _chunk3NS5C7FBcjs.findMermaidCharts; exports.fitChartTrendline = _chunkN76AMOKEcjs.fitChartTrendline; exports.formatChartAmountList = _chunkWRZ6C4TUcjs.formatChartAmountList; exports.formatChartDate = _chunkN76AMOKEcjs.formatChartDate; exports.formatChartNumber = _chunkN76AMOKEcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkN76AMOKEcjs.formatChartValueWithCode; exports.getChartMap = _chunkN76AMOKEcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkWRZ6C4TUcjs.isCartesianChart; exports.isXyChart = _chunkWRZ6C4TUcjs.isXyChart; exports.layoutChart = _chunkN76AMOKEcjs.layoutChart; exports.layoutSparkline = _chunk3NS5C7FBcjs.layoutSparkline; exports.layoutStreamgraph = _chunkN76AMOKEcjs.layoutStreamgraph; exports.linearMap = _chunkN76AMOKEcjs.linearMap; exports.listChartMaps = _chunkN76AMOKEcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkN76AMOKEcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunk3NS5C7FBcjs.monochromeChartPalette; exports.niceLogScale = _chunkN76AMOKEcjs.niceLogScale; exports.niceScale = _chunkN76AMOKEcjs.niceScale; exports.niceStep = _chunkN76AMOKEcjs.niceStep; exports.normalizeChartAxis = _chunkWRZ6C4TUcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkWRZ6C4TUcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkWRZ6C4TUcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkWRZ6C4TUcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkWRZ6C4TUcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkWRZ6C4TUcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkWRZ6C4TUcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkWRZ6C4TUcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkWRZ6C4TUcjs.normalizeChartValues; exports.parseChartAmountList = _chunkWRZ6C4TUcjs.parseChartAmountList; exports.parseChartColor = _chunkWRZ6C4TUcjs.parseChartColor; exports.parseChartDate = _chunkN76AMOKEcjs.parseChartDate; exports.parseChartValue = _chunkWRZ6C4TUcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkN76AMOKEcjs.registerChartMap; exports.removeChartTreeRow = _chunkWRZ6C4TUcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkN76AMOKEcjs.sameChartSelection; exports.sameChartTooltip = sameChartTooltip; exports.setChartLinkField = _chunkWRZ6C4TUcjs.setChartLinkField; exports.setChartTreeRowName = _chunkWRZ6C4TUcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkWRZ6C4TUcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkWRZ6C4TUcjs.shadeChartColor; exports.simulateChartVision = _chunkWRZ6C4TUcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkN76AMOKEcjs.snapChartValue; exports.sparklineToSvg = _chunk3NS5C7FBcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkN76AMOKEcjs.stepDecimals; exports.suggestChartReferences = _chunkN76AMOKEcjs.suggestChartReferences; exports.summarizeChart = _chunk3NS5C7FBcjs.summarizeChart; exports.summarizeChartSeries = _chunkN76AMOKEcjs.summarizeChartSeries; exports.trendNumberText = _chunkN76AMOKEcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkWRZ6C4TUcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
|
|
3505
|
+
exports.CHART_AXIS_KINDS = _chunkP6WYDBTHcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkP6WYDBTHcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.chartMermaidFamily; exports.chartMovingAverage = _chunkMDLEGVENcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkP6WYDBTHcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.chartTextBaseline; exports.chartTextOn = _chunkP6WYDBTHcjs.chartTextOn; exports.chartTextTransform = _chunkYYBW6DF2cjs.chartTextTransform; exports.chartToMermaid = _chunkYYBW6DF2cjs.chartToMermaid; exports.chartToOoxml = _chunkM2HG5DJ2cjs.chartToOoxml; exports.chartToSvg = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.layoutSparkline; exports.layoutStreamgraph = _chunkMDLEGVENcjs.layoutStreamgraph; exports.linearMap = _chunkMDLEGVENcjs.linearMap; exports.listChartMaps = _chunkMDLEGVENcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkMDLEGVENcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunkYYBW6DF2cjs.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 = _chunkYYBW6DF2cjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkMDLEGVENcjs.stepDecimals; exports.suggestChartReferences = _chunkMDLEGVENcjs.suggestChartReferences; exports.summarizeChart = _chunkYYBW6DF2cjs.summarizeChart; exports.summarizeChartSeries = _chunkMDLEGVENcjs.summarizeChartSeries; exports.trendNumberText = _chunkMDLEGVENcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkP6WYDBTHcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
|