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