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