@pixerate/editor 0.170.0 → 0.172.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/README.md +4 -0
- package/dist/agent/index.cjs +28 -28
- package/dist/agent/index.js +3 -3
- package/dist/canvas/index.cjs +3 -3
- package/dist/canvas/index.js +1 -1
- package/dist/chart/index.cjs +156 -68
- package/dist/chart/index.d.cts +1 -0
- package/dist/chart/index.d.ts +1 -0
- package/dist/chart/index.js +91 -3
- package/dist/chart/layout-shared.d.cts +2 -1
- package/dist/chart/layout-shared.d.ts +2 -1
- package/dist/chart/layout.d.cts +5 -0
- package/dist/chart/layout.d.ts +5 -0
- package/dist/chart/tooltip.d.cts +53 -0
- package/dist/chart/tooltip.d.ts +53 -0
- package/dist/chart/types.d.cts +14 -0
- package/dist/chart/types.d.ts +14 -0
- package/dist/{chunk-SBAPXFPB.cjs → chunk-FHNGNL3V.cjs} +44 -44
- package/dist/{chunk-2F4GAZL5.cjs → chunk-GXEC4FS6.cjs} +16 -16
- package/dist/{chunk-T62BRXMS.js → chunk-IMHRN4ZZ.js} +1 -1
- package/dist/{chunk-N3ACT6VJ.js → chunk-KPWG3PSW.js} +1 -1
- package/dist/{chunk-M52UCHVZ.js → chunk-OJQVKJYD.js} +12 -1
- package/dist/{chunk-ZUPP4NKM.js → chunk-R2VHVQVY.js} +2 -2
- package/dist/{chunk-GD34ICEX.cjs → chunk-RLOIEDA3.cjs} +10 -10
- package/dist/{chunk-WOIXNDHV.cjs → chunk-TUXKLM5W.cjs} +13 -2
- package/dist/extensions/index.cjs +5 -5
- package/dist/extensions/index.js +4 -4
- package/dist/image-editor/index.cjs +18 -5
- package/dist/image-editor/index.js +17 -4
- package/dist/image-editor/layers/panel.d.cts +19 -3
- package/dist/image-editor/layers/panel.d.ts +19 -3
- package/dist/index.cjs +10 -10
- package/dist/index.js +4 -4
- package/package.json +112 -12
- package/skills/pixerate-chart/SKILL.md +1 -0
package/dist/chart/index.cjs
CHANGED
|
@@ -47,7 +47,7 @@ var _chunkVKHJJUBKcjs = require('../chunk-VKHJJUBK.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkGXEC4FS6cjs = require('../chunk-GXEC4FS6.cjs');
|
|
51
51
|
require('../chunk-TTCJPX4U.cjs');
|
|
52
52
|
|
|
53
53
|
|
|
@@ -98,7 +98,8 @@ require('../chunk-TTCJPX4U.cjs');
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
|
|
102
|
+
var _chunkTUXKLM5Wcjs = require('../chunk-TUXKLM5W.cjs');
|
|
102
103
|
|
|
103
104
|
|
|
104
105
|
|
|
@@ -327,7 +328,7 @@ function chartFileName(spec, extension) {
|
|
|
327
328
|
}
|
|
328
329
|
async function downloadChartPng(spec, options = {}) {
|
|
329
330
|
const { width = 800, height = 450, filename = chartFileName(spec, "png"), theme, ...raster } = options;
|
|
330
|
-
const svg =
|
|
331
|
+
const svg = _chunkGXEC4FS6cjs.chartToSvg.call(void 0, spec, { width, height, theme });
|
|
331
332
|
const { url, width: w, height: h } = await svgToPngDataUrl(svg, { ...raster, width, height });
|
|
332
333
|
const doc = _nullishCoalesce(raster.document, () => ( globalThis.document));
|
|
333
334
|
const link = doc.createElement("a");
|
|
@@ -369,7 +370,7 @@ function analyzeChartTable(rows) {
|
|
|
369
370
|
} else if (v > 0) anyPositive = true;
|
|
370
371
|
}
|
|
371
372
|
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]);
|
|
372
|
-
const dates = (byRows ? headerRow : labelColumn) && labels.length > 1 && labels.filter((l) => !blank(l) &&
|
|
373
|
+
const dates = (byRows ? headerRow : labelColumn) && labels.length > 1 && labels.filter((l) => !blank(l) && _chunkTUXKLM5Wcjs.parseChartDate.call(void 0, String(l)) !== null).length >= labels.length * 0.8;
|
|
373
374
|
return {
|
|
374
375
|
headerRow,
|
|
375
376
|
labelColumn,
|
|
@@ -506,7 +507,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
506
507
|
params: object({ width: _chunkGTF4RYXJcjs.WIDTH, height: _chunkGTF4RYXJcjs.HEIGHT }),
|
|
507
508
|
run: (_ctx, params = {}) => {
|
|
508
509
|
const spec = controller.getSpec();
|
|
509
|
-
return { spec: controller.toJSON(), table: _chunkOUO3DSRTcjs.chartDataToTable.call(void 0, spec), summary:
|
|
510
|
+
return { spec: controller.toJSON(), table: _chunkOUO3DSRTcjs.chartDataToTable.call(void 0, spec), summary: _chunkGXEC4FS6cjs.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 };
|
|
510
511
|
}
|
|
511
512
|
},
|
|
512
513
|
{
|
|
@@ -916,9 +917,9 @@ function createChartCommands(controller, options = {}) {
|
|
|
916
917
|
params: object({ map: { type: "string", description: "Map id (default: the chart's map)." } }),
|
|
917
918
|
run: (_ctx, params = {}) => {
|
|
918
919
|
const id = _nullishCoalesce(_optionalChain([params, 'optionalAccess', _36 => _36.map]), () => ( controller.getSpec().map));
|
|
919
|
-
const geometry =
|
|
920
|
+
const geometry = _chunkTUXKLM5Wcjs.getChartMap.call(void 0, id);
|
|
920
921
|
if (!geometry) fail(`There is no map "${id}"; register it with registerChartMap.`);
|
|
921
|
-
const matches =
|
|
922
|
+
const matches = _chunkTUXKLM5Wcjs.matchChartMapRegions.call(void 0, geometry, controller.getSpec().categories);
|
|
922
923
|
return { regions: geometry.regions.map((r) => ({ id: r.id, name: r.name })), unmatched: controller.getSpec().categories.filter((_, i) => !matches[i]) };
|
|
923
924
|
}
|
|
924
925
|
},
|
|
@@ -933,7 +934,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
933
934
|
run: (_ctx, params = {}) => {
|
|
934
935
|
const spec = controller.getSpec();
|
|
935
936
|
const frame = _optionalChain([params, 'optionalAccess', _37 => _37.time]) !== void 0 ? raceFrame(params.time) : _nullishCoalesce(controller.getState().raceFrame, () => ( spec.categories.length - 1));
|
|
936
|
-
return { frame, ranking:
|
|
937
|
+
return { frame, ranking: _chunkTUXKLM5Wcjs.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 })) };
|
|
937
938
|
}
|
|
938
939
|
},
|
|
939
940
|
{
|
|
@@ -980,8 +981,8 @@ function createChartCommands(controller, options = {}) {
|
|
|
980
981
|
keywords: ["chart", "quick layout", "style", "colours", "colors", "monochrome", "theme"],
|
|
981
982
|
description: "Applies a quick layout and / or colour scheme as one undo step.",
|
|
982
983
|
params: object({
|
|
983
|
-
layout: { type: "string", enum:
|
|
984
|
-
colors: { type: "string", enum:
|
|
984
|
+
layout: { type: "string", enum: _chunkGXEC4FS6cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
|
|
985
|
+
colors: { type: "string", enum: _chunkGXEC4FS6cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
|
|
985
986
|
}),
|
|
986
987
|
run: (_ctx, params = {}) => {
|
|
987
988
|
check(controller.applyPreset(_nullishCoalesce(params, () => ( {}))));
|
|
@@ -1027,7 +1028,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1027
1028
|
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.",
|
|
1028
1029
|
params: object({ mermaid: { type: "string", description: "Mermaid text." } }, ["mermaid"]),
|
|
1029
1030
|
run: (_ctx, params) => {
|
|
1030
|
-
const read =
|
|
1031
|
+
const read = _chunkGXEC4FS6cjs.chartFromMermaid.call(void 0, params.mermaid);
|
|
1031
1032
|
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.");
|
|
1032
1033
|
check(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
|
|
1033
1034
|
return { spec: controller.toJSON(), issues: read.issues };
|
|
@@ -1041,7 +1042,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1041
1042
|
keywords: ["chart", "mermaid", "markdown", "export"],
|
|
1042
1043
|
description: "Returns the chart as Mermaid text (with a round-trip comment unless meta is false).",
|
|
1043
1044
|
params: object({ meta: { type: "boolean", description: "Include the %% @pixerate round-trip comment (default true)." } }),
|
|
1044
|
-
run: (_ctx, params = {}) => ({ mermaid:
|
|
1045
|
+
run: (_ctx, params = {}) => ({ mermaid: _chunkGXEC4FS6cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _39 => _39.meta]) }) })
|
|
1045
1046
|
},
|
|
1046
1047
|
{
|
|
1047
1048
|
...base,
|
|
@@ -1061,7 +1062,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
1061
1062
|
description: "Returns the chart drawn as a standalone, accessible SVG string (with <title> and <desc>).",
|
|
1062
1063
|
params: object({ width: _chunkGTF4RYXJcjs.WIDTH, height: _chunkGTF4RYXJcjs.HEIGHT }),
|
|
1063
1064
|
run: (_ctx, params = {}) => ({
|
|
1064
|
-
svg:
|
|
1065
|
+
svg: _chunkGXEC4FS6cjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _40 => _40.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _41 => _41.height]), () => ( 400)) })
|
|
1065
1066
|
})
|
|
1066
1067
|
},
|
|
1067
1068
|
{
|
|
@@ -1127,7 +1128,7 @@ function snapChartDragValue(scene, value, options = {}) {
|
|
|
1127
1128
|
const scale = _nullishCoalesce(options.scale, () => ( scene.valueScale));
|
|
1128
1129
|
const tolerance = _nullishCoalesce(options.tolerancePx, () => ( 6));
|
|
1129
1130
|
if (scale) {
|
|
1130
|
-
const px = (v) =>
|
|
1131
|
+
const px = (v) => _chunkTUXKLM5Wcjs.chartScaleToPixel.call(void 0, v, scale);
|
|
1131
1132
|
const at = px(value);
|
|
1132
1133
|
let best = null;
|
|
1133
1134
|
let bestDist = tolerance;
|
|
@@ -1142,7 +1143,7 @@ function snapChartDragValue(scene, value, options = {}) {
|
|
|
1142
1143
|
}
|
|
1143
1144
|
if (best !== null) return best;
|
|
1144
1145
|
}
|
|
1145
|
-
return
|
|
1146
|
+
return _chunkTUXKLM5Wcjs.snapChartValue.call(void 0, scene, value, options.step, _optionalChain([scale, 'optionalAccess', _47 => _47.ticks]), _optionalChain([scale, 'optionalAccess', _48 => _48.logBase]));
|
|
1146
1147
|
}
|
|
1147
1148
|
function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
1148
1149
|
if (!canDragChartPoint(controller, scene, target)) return null;
|
|
@@ -1154,8 +1155,8 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1154
1155
|
const xy = _chunkOUO3DSRTcjs.chartFamily.call(void 0, spec) === "xy" && !!scene.xScale;
|
|
1155
1156
|
const startValue = _nullishCoalesce(series.values[index], () => ( 0));
|
|
1156
1157
|
const startX = _nullishCoalesce(_optionalChain([series, 'access', _49 => _49.x, 'optionalAccess', _50 => _50[index]]), () => ( null));
|
|
1157
|
-
const startAt =
|
|
1158
|
-
const startAtX = xy ?
|
|
1158
|
+
const startAt = _chunkTUXKLM5Wcjs.chartValueAtPoint.call(void 0, scene, start, secondary);
|
|
1159
|
+
const startAtX = xy ? _chunkTUXKLM5Wcjs.chartXAtPoint.call(void 0, scene, start) : void 0;
|
|
1159
1160
|
if (startAt === void 0) return null;
|
|
1160
1161
|
const candidates = [0, startValue];
|
|
1161
1162
|
if (!xy) {
|
|
@@ -1173,7 +1174,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1173
1174
|
target: { seriesId, index },
|
|
1174
1175
|
move(point, moveOptions = {}) {
|
|
1175
1176
|
if (ended) return;
|
|
1176
|
-
const at =
|
|
1177
|
+
const at = _chunkTUXKLM5Wcjs.chartValueAtPoint.call(void 0, scene, point, secondary);
|
|
1177
1178
|
if (at === void 0) return;
|
|
1178
1179
|
const factor = moveOptions.fine ? 0.1 : 1;
|
|
1179
1180
|
const moved = (from, to, s, value) => s.logBase && value > 0 && from > 0 && to > 0 ? value * Math.pow(to / from, factor) : value + (to - from) * factor;
|
|
@@ -1181,7 +1182,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1181
1182
|
let moveX = false;
|
|
1182
1183
|
let atX;
|
|
1183
1184
|
if (xy && startX !== null && startAtX !== void 0) {
|
|
1184
|
-
atX =
|
|
1185
|
+
atX = _chunkTUXKLM5Wcjs.chartXAtPoint.call(void 0, scene, point);
|
|
1185
1186
|
moveX = atX !== void 0;
|
|
1186
1187
|
if (moveOptions.lockAxis) {
|
|
1187
1188
|
if (Math.abs(point.x - start.x) >= Math.abs(point.y - start.y)) moveY = false;
|
|
@@ -1193,7 +1194,7 @@ function startChartPointDrag(controller, scene, target, start, options = {}) {
|
|
|
1193
1194
|
if (moveOptions.fine) {
|
|
1194
1195
|
if (s.logBase && !options.step) return v > 0 ? Number(v.toPrecision(3)) : v;
|
|
1195
1196
|
const unit = options.step ? options.step / 10 : s.ticks.length > 1 ? (s.ticks[1] - s.ticks[0]) / 100 : void 0;
|
|
1196
|
-
return
|
|
1197
|
+
return _chunkTUXKLM5Wcjs.snapChartValue.call(void 0, scene, v, unit, s.ticks);
|
|
1197
1198
|
}
|
|
1198
1199
|
return snapChartDragValue(scene, v, { candidates: c, tolerancePx: options.tolerancePx, step: options.step, scale: s });
|
|
1199
1200
|
};
|
|
@@ -1336,6 +1337,71 @@ function chartHitTest(scene, point, measure = (t, s, w = 400) => t.length * s *
|
|
|
1336
1337
|
return point.x >= 0 && point.y >= 0 && point.x <= scene.width && point.y <= scene.height ? { kind: "chart" } : null;
|
|
1337
1338
|
}
|
|
1338
1339
|
|
|
1340
|
+
// src/chart/tooltip.ts
|
|
1341
|
+
var VALUE_FAMILIES = /* @__PURE__ */ new Set(["cartesian", "xy", "pie", "radar", "waterfall", "funnel", "parliament", "slope"]);
|
|
1342
|
+
var SLICE_FAMILIES = /* @__PURE__ */ new Set(["pie", "funnel", "parliament"]);
|
|
1343
|
+
function valueFormat(spec, series) {
|
|
1344
|
+
return _nullishCoalesce(series.format, () => ( (series.axis === "secondary" ? spec.yAxis2.format : spec.yAxis.format)));
|
|
1345
|
+
}
|
|
1346
|
+
var percentText = (share) => _chunkTUXKLM5Wcjs.formatChartNumber.call(void 0, share, { style: "percent", decimals: share < 0.1 ? 1 : 0 });
|
|
1347
|
+
function item(spec, seriesIndex, index, share) {
|
|
1348
|
+
const family = _chunkOUO3DSRTcjs.chartFamily.call(void 0, spec);
|
|
1349
|
+
const series = spec.series[seriesIndex];
|
|
1350
|
+
const value = _nullishCoalesce(series.values[index], () => ( null));
|
|
1351
|
+
const slice = SLICE_FAMILIES.has(family);
|
|
1352
|
+
let text = _chunkTUXKLM5Wcjs.formatChartNumber.call(void 0, value, valueFormat(spec, series));
|
|
1353
|
+
if (family === "xy") {
|
|
1354
|
+
const x = _optionalChain([series, 'access', _78 => _78.x, 'optionalAccess', _79 => _79[index]]);
|
|
1355
|
+
if (x !== null && x !== void 0) text = `${_chunkTUXKLM5Wcjs.formatChartNumber.call(void 0, x, spec.xAxis.format)}, ${text}`;
|
|
1356
|
+
}
|
|
1357
|
+
if (share !== void 0) text = `${text} (${percentText(share)})`;
|
|
1358
|
+
return {
|
|
1359
|
+
seriesId: series.id,
|
|
1360
|
+
name: slice ? _nullishCoalesce(spec.categories[index], () => ( series.name)) : series.name,
|
|
1361
|
+
color: slice ? _nullishCoalesce(_optionalChain([series, 'access', _80 => _80.pointColors, 'optionalAccess', _81 => _81[index]]), () => ( _chunkOUO3DSRTcjs.chartSliceColor.call(void 0, spec, index))) : _chunkOUO3DSRTcjs.chartPointColor.call(void 0, spec, seriesIndex, index),
|
|
1362
|
+
value,
|
|
1363
|
+
...share !== void 0 ? { share } : {},
|
|
1364
|
+
text
|
|
1365
|
+
};
|
|
1366
|
+
}
|
|
1367
|
+
function chartTooltipFor(spec, index, seriesId, anchor = { x: 0, y: 0 }) {
|
|
1368
|
+
const family = _chunkOUO3DSRTcjs.chartFamily.call(void 0, spec);
|
|
1369
|
+
if (!VALUE_FAMILIES.has(family)) return null;
|
|
1370
|
+
if (!Number.isInteger(index) || index < 0 || index >= Math.max(spec.categories.length, ...spec.series.map((s) => s.values.length))) return null;
|
|
1371
|
+
const visible = spec.series.map((s, i) => ({ s, i })).filter(({ s }) => !s.hidden && (!seriesId || s.id === seriesId));
|
|
1372
|
+
const present = visible.filter(({ s }) => s.values[index] !== null && s.values[index] !== void 0 && Number.isFinite(s.values[index]));
|
|
1373
|
+
if (!present.length) return null;
|
|
1374
|
+
const shareOf = (s) => {
|
|
1375
|
+
const v = s.values[index];
|
|
1376
|
+
if (spec.stacking === "percent" && family === "cartesian") {
|
|
1377
|
+
const total = spec.series.filter((t) => !t.hidden && t.axis === s.axis).reduce((sum, t) => sum + Math.abs(_nullishCoalesce(t.values[index], () => ( 0))), 0);
|
|
1378
|
+
return total ? Math.abs(v) / total : void 0;
|
|
1379
|
+
}
|
|
1380
|
+
if (family === "pie") {
|
|
1381
|
+
const total = s.values.reduce((sum, t) => sum + (t !== null && t > 0 ? t : 0), 0);
|
|
1382
|
+
return total && v > 0 ? v / total : void 0;
|
|
1383
|
+
}
|
|
1384
|
+
return void 0;
|
|
1385
|
+
};
|
|
1386
|
+
const items = present.map(({ s, i }) => item(spec, i, index, shareOf(s)));
|
|
1387
|
+
const title = family === "xy" ? spec.categories[index] || present[0].s.name : _nullishCoalesce(spec.categories[index], () => ( ""));
|
|
1388
|
+
return { title, index, items, x: anchor.x, y: anchor.y };
|
|
1389
|
+
}
|
|
1390
|
+
function chartTooltipAt(spec, scene, point, options = {}) {
|
|
1391
|
+
if (options.mode === "category" && scene.categoryScale) {
|
|
1392
|
+
const index = _chunkTUXKLM5Wcjs.chartCategoryAtPoint.call(void 0, scene, point);
|
|
1393
|
+
if (index !== void 0) return chartTooltipFor(spec, index, void 0, point);
|
|
1394
|
+
}
|
|
1395
|
+
const target = chartHitTest(scene, point, _nullishCoalesce(options.measureText, () => ( _chunkTUXKLM5Wcjs.estimateChartTextWidth)));
|
|
1396
|
+
if (_optionalChain([target, 'optionalAccess', _82 => _82.kind]) === "point") return chartTooltipFor(spec, target.index, target.seriesId, point);
|
|
1397
|
+
if (_optionalChain([target, 'optionalAccess', _83 => _83.kind]) === "category" && scene.categoryScale && options.mode === "category") return chartTooltipFor(spec, target.index, void 0, point);
|
|
1398
|
+
return null;
|
|
1399
|
+
}
|
|
1400
|
+
function sameChartTooltip(a, b) {
|
|
1401
|
+
if (!a || !b) return a === b;
|
|
1402
|
+
return a.index === b.index && a.items.length === b.items.length && a.items.every((it, i) => it.seriesId === b.items[i].seriesId && it.text === b.items[i].text);
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1339
1405
|
// src/chart/presence.ts
|
|
1340
1406
|
var ChartPresence = class extends _chunkSWTUM32Hcjs.PresenceStore {
|
|
1341
1407
|
};
|
|
@@ -1343,7 +1409,7 @@ var CHART_PRESENCE_COLORS = _chunkSWTUM32Hcjs.PRESENCE_COLORS;
|
|
|
1343
1409
|
var realChartClock = _chunkSWTUM32Hcjs.realPresenceClock;
|
|
1344
1410
|
var createInstantChartClock = _chunkSWTUM32Hcjs.createInstantPresenceClock;
|
|
1345
1411
|
function chartPointAnchor(scene, seriesId, index) {
|
|
1346
|
-
const mark = scene.marks.find((m) => (m.role === "bar" || m.role === "point") && _optionalChain([m, 'access',
|
|
1412
|
+
const mark = scene.marks.find((m) => (m.role === "bar" || m.role === "point") && _optionalChain([m, 'access', _84 => _84.target, 'optionalAccess', _85 => _85.kind]) === "point" && m.target.seriesId === seriesId && m.target.index === index);
|
|
1347
1413
|
if (!mark) return null;
|
|
1348
1414
|
if (mark.kind === "rect") return { x: mark.x + mark.width / 2, y: mark.y };
|
|
1349
1415
|
if (mark.kind === "circle") return { x: mark.cx, y: mark.cy };
|
|
@@ -1369,10 +1435,10 @@ function planChartCommand(spec, scene, command, speed = 1) {
|
|
|
1369
1435
|
case "setValue": {
|
|
1370
1436
|
const at = chartPointAnchor(scene, command.seriesId, command.index);
|
|
1371
1437
|
const series = spec.series.find((s) => s.id === command.seriesId);
|
|
1372
|
-
const from = _nullishCoalesce(_optionalChain([series, 'optionalAccess',
|
|
1373
|
-
const scale = _optionalChain([series, 'optionalAccess',
|
|
1438
|
+
const from = _nullishCoalesce(_optionalChain([series, 'optionalAccess', _86 => _86.values, 'access', _87 => _87[command.index]]), () => ( 0));
|
|
1439
|
+
const scale = _optionalChain([series, 'optionalAccess', _88 => _88.axis]) === "secondary" ? _nullishCoalesce(scene.valueScale2, () => ( scene.valueScale)) : scene.valueScale;
|
|
1374
1440
|
if (at && scale) {
|
|
1375
|
-
const px =
|
|
1441
|
+
const px = _chunkTUXKLM5Wcjs.linearMap.call(void 0, command.value, scale.domain, scale.range);
|
|
1376
1442
|
const to = scale.axis === "y" ? { x: at.x, y: px } : { x: px, y: at.y };
|
|
1377
1443
|
steps.push({ type: "move", to: at, ms: ms(380) }, { type: "press" }, { type: "drag", to, ms: ms(520), from, value: command.value }, { type: "release" });
|
|
1378
1444
|
} 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 });
|
|
@@ -1382,12 +1448,12 @@ function planChartCommand(spec, scene, command, speed = 1) {
|
|
|
1382
1448
|
case "select": {
|
|
1383
1449
|
const sel = command.selection;
|
|
1384
1450
|
let to = null;
|
|
1385
|
-
if (_optionalChain([sel, 'optionalAccess',
|
|
1451
|
+
if (_optionalChain([sel, 'optionalAccess', _89 => _89.kind]) === "point") to = chartPointAnchor(scene, sel.seriesId, sel.index);
|
|
1386
1452
|
else if (sel) {
|
|
1387
1453
|
const m = scene.marks.find((x) => x.target && JSON.stringify(x.target) === JSON.stringify(sel));
|
|
1388
|
-
if (_optionalChain([m, 'optionalAccess',
|
|
1389
|
-
else if (_optionalChain([m, 'optionalAccess',
|
|
1390
|
-
else if (_optionalChain([m, 'optionalAccess',
|
|
1454
|
+
if (_optionalChain([m, 'optionalAccess', _90 => _90.kind]) === "text") to = { x: m.x, y: m.y };
|
|
1455
|
+
else if (_optionalChain([m, 'optionalAccess', _91 => _91.kind]) === "rect") to = { x: m.x + m.width / 2, y: m.y + m.height / 2 };
|
|
1456
|
+
else if (_optionalChain([m, 'optionalAccess', _92 => _92.kind]) === "circle") to = { x: m.cx, y: m.cy };
|
|
1391
1457
|
}
|
|
1392
1458
|
if (to) steps.push({ type: "move", to, ms: ms(380) }, { type: "press" }, { type: "release" });
|
|
1393
1459
|
steps.push({ type: "commit" });
|
|
@@ -1469,7 +1535,7 @@ var ChartDirector = class {
|
|
|
1469
1535
|
if (command.kind !== "setValue") break;
|
|
1470
1536
|
const stale2 = this.stale(command);
|
|
1471
1537
|
if (stale2) return { ok: false, command, message: stale2 };
|
|
1472
|
-
const label = `${_nullishCoalesce(_optionalChain([this, 'access',
|
|
1538
|
+
const label = `${_nullishCoalesce(_optionalChain([this, 'access', _93 => _93.presence, 'access', _94 => _94.getState, 'call', _95 => _95(), 'access', _96 => _96.actors, 'access', _97 => _97.find, 'call', _98 => _98((a) => a.id === id), 'optionalAccess', _99 => _99.name]), () => ( "Agent"))}: edit value`;
|
|
1473
1539
|
await this.move(id, where(), step.to, step.ms, (e) => {
|
|
1474
1540
|
const v = step.from + (step.value - step.from) * e;
|
|
1475
1541
|
this.controller.setValue(command.seriesId, command.index, Number(v.toPrecision(12)), { label });
|
|
@@ -1651,7 +1717,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1651
1717
|
return {
|
|
1652
1718
|
frame: at,
|
|
1653
1719
|
time: _nullishCoalesce(s.categories[Math.round(at)], () => ( null)),
|
|
1654
|
-
ranking:
|
|
1720
|
+
ranking: _chunkTUXKLM5Wcjs.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 }))
|
|
1655
1721
|
};
|
|
1656
1722
|
};
|
|
1657
1723
|
const linksSummary = () => ({ links: spec().links, nodes: spec().sankeyNodes.map((name, i) => ({ name, value: _chunkOUO3DSRTcjs.chartSankeyNodeValues.call(void 0, spec().links, spec().sankeyNodes)[i] })) });
|
|
@@ -1669,7 +1735,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1669
1735
|
spec: controller.toJSON(),
|
|
1670
1736
|
table: table(),
|
|
1671
1737
|
selection: controller.getState().selection,
|
|
1672
|
-
summary:
|
|
1738
|
+
summary: _chunkGXEC4FS6cjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
|
|
1673
1739
|
...spec().tree.length ? { treeTable: treeTable() } : {},
|
|
1674
1740
|
issues: controller.getState().issues,
|
|
1675
1741
|
...reason ? { readOnly: reason } : {}
|
|
@@ -1694,8 +1760,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1694
1760
|
handler: async ({ width = size.width, height = size.height, format = "svg", time }) => {
|
|
1695
1761
|
const json = controller.toJSON();
|
|
1696
1762
|
const raceFrame = time !== void 0 ? raceFrameOf(time) : controller.getState().raceFrame;
|
|
1697
|
-
const scene =
|
|
1698
|
-
const svg =
|
|
1763
|
+
const scene = _chunkTUXKLM5Wcjs.layoutChart.call(void 0, json, { width, height, selection: null, raceFrame });
|
|
1764
|
+
const svg = _chunkGXEC4FS6cjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkGXEC4FS6cjs.describeChart.call(void 0, json) });
|
|
1699
1765
|
const warnings = scene.warnings;
|
|
1700
1766
|
if (format === "png") {
|
|
1701
1767
|
if (!options.rasterize) fail2('This host cannot rasterize charts; call render_chart with format "svg", or get_chart for the layout warnings.');
|
|
@@ -1729,7 +1795,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1729
1795
|
handler: ({ colors, surface }) => {
|
|
1730
1796
|
const s = spec();
|
|
1731
1797
|
const visible = s.series.filter((x) => !x.hidden);
|
|
1732
|
-
const own = _chunkOUO3DSRTcjs.chartSpecColorsByCategory.call(void 0, s) ? s.categories.map((_, i) => _optionalChain([visible, 'access',
|
|
1798
|
+
const own = _chunkOUO3DSRTcjs.chartSpecColorsByCategory.call(void 0, s) ? s.categories.map((_, i) => _optionalChain([visible, 'access', _100 => _100[0], 'optionalAccess', _101 => _101.pointColors, 'optionalAccess', _102 => _102[i]]) || _chunkOUO3DSRTcjs.chartSliceColor.call(void 0, s, i)) : visible.map((x) => _chunkOUO3DSRTcjs.chartSeriesColor.call(void 0, s, s.series.indexOf(x)));
|
|
1733
1799
|
return { colors: _nullishCoalesce(colors, () => ( own)), ..._chunkOUO3DSRTcjs.checkChartColors.call(void 0, _nullishCoalesce(colors, () => ( own)), { surface }) };
|
|
1734
1800
|
}
|
|
1735
1801
|
};
|
|
@@ -1759,14 +1825,32 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1759
1825
|
annotations: { title: "Read a trendline fit", ...READ },
|
|
1760
1826
|
handler: ({ series, index }) => {
|
|
1761
1827
|
const s = seriesById(series);
|
|
1762
|
-
const line = _optionalChain([s, 'access',
|
|
1763
|
-
if (!line) fail2(`"${s.name}" has no trendline ${index}; it has ${_nullishCoalesce(_optionalChain([s, 'access',
|
|
1828
|
+
const line = _optionalChain([s, 'access', _103 => _103.trendlines, 'optionalAccess', _104 => _104[index]]);
|
|
1829
|
+
if (!line) fail2(`"${s.name}" has no trendline ${index}; it has ${_nullishCoalesce(_optionalChain([s, 'access', _105 => _105.trendlines, 'optionalAccess', _106 => _106.length]), () => ( 0))}.`);
|
|
1764
1830
|
if (line.type === "moving-average") return { trendline: line, points: controller.trendlineMovingAverage(s.id, index) };
|
|
1765
1831
|
const fit = controller.trendlineFit(s.id, index);
|
|
1766
1832
|
if (!fit) fail2(`The ${line.type} trendline on "${s.name}" cannot be fitted: it needs more points (and positive values for log, exponential and power fits).`);
|
|
1767
1833
|
return { trendline: line, coefficients: fit.coefficients, r2: fit.r2, equation: fit.equation, points: fit.points };
|
|
1768
1834
|
}
|
|
1769
1835
|
};
|
|
1836
|
+
const getTooltip = {
|
|
1837
|
+
name: "get_chart_tooltip",
|
|
1838
|
+
title: "Read a chart tooltip",
|
|
1839
|
+
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.",
|
|
1840
|
+
inputSchema: {
|
|
1841
|
+
type: "object",
|
|
1842
|
+
properties: { category: _chunkGTF4RYXJcjs.CATEGORY_REF, series: { ..._chunkGTF4RYXJcjs.SERIES_REF, description: `${_chunkGTF4RYXJcjs.SERIES_REF.description} Omit to include every visible series in the category.` } },
|
|
1843
|
+
required: ["category"],
|
|
1844
|
+
additionalProperties: false
|
|
1845
|
+
},
|
|
1846
|
+
annotations: { title: "Read a chart tooltip", ...READ },
|
|
1847
|
+
handler: ({ category, series }) => {
|
|
1848
|
+
const index = categoryIndex(category);
|
|
1849
|
+
const seriesId = series === void 0 ? void 0 : seriesById(series).id;
|
|
1850
|
+
const tooltip = chartTooltipFor(controller.toJSON(), index, seriesId);
|
|
1851
|
+
return tooltip && { title: tooltip.title, index: tooltip.index, items: tooltip.items };
|
|
1852
|
+
}
|
|
1853
|
+
};
|
|
1770
1854
|
const raceRanking = {
|
|
1771
1855
|
name: "get_chart_race_ranking",
|
|
1772
1856
|
title: "Read a bar race ranking",
|
|
@@ -1783,10 +1867,10 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1783
1867
|
annotations: { title: "List map regions", ...READ },
|
|
1784
1868
|
handler: ({ map }) => {
|
|
1785
1869
|
const id = _nullishCoalesce(map, () => ( spec().map));
|
|
1786
|
-
const maps =
|
|
1787
|
-
const geometry =
|
|
1870
|
+
const maps = _chunkTUXKLM5Wcjs.listChartMaps.call(void 0, ).map((m) => ({ id: m.id, name: m.name, regions: m.regions.length }));
|
|
1871
|
+
const geometry = _chunkTUXKLM5Wcjs.getChartMap.call(void 0, id);
|
|
1788
1872
|
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).`);
|
|
1789
|
-
const matches =
|
|
1873
|
+
const matches = _chunkTUXKLM5Wcjs.matchChartMapRegions.call(void 0, geometry, spec().categories);
|
|
1790
1874
|
return {
|
|
1791
1875
|
maps,
|
|
1792
1876
|
map: id,
|
|
@@ -1803,8 +1887,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1803
1887
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
1804
1888
|
annotations: { title: "List chart presets", ...READ },
|
|
1805
1889
|
handler: () => ({
|
|
1806
|
-
layouts:
|
|
1807
|
-
colorSchemes:
|
|
1890
|
+
layouts: _chunkGXEC4FS6cjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
|
|
1891
|
+
colorSchemes: _chunkGXEC4FS6cjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
|
|
1808
1892
|
})
|
|
1809
1893
|
};
|
|
1810
1894
|
const exportMermaid = {
|
|
@@ -1813,7 +1897,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1813
1897
|
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.',
|
|
1814
1898
|
inputSchema: { type: "object", properties: { meta: { type: "boolean", description: "Include the round-trip comment (default true)." } }, additionalProperties: false },
|
|
1815
1899
|
annotations: { title: "Export chart as Mermaid", ...READ },
|
|
1816
|
-
handler: ({ meta = true }) => ({ mermaid:
|
|
1900
|
+
handler: ({ meta = true }) => ({ mermaid: _chunkGXEC4FS6cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
|
|
1817
1901
|
};
|
|
1818
1902
|
const exportOoxml = {
|
|
1819
1903
|
name: "export_chart_ooxml",
|
|
@@ -2002,7 +2086,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2002
2086
|
annotations: { title: "Import a Mermaid chart", ...DESTRUCTIVE },
|
|
2003
2087
|
handler: ({ mermaid }) => {
|
|
2004
2088
|
const fenced = /```(?:mermaid)?\s*\n([\s\S]*?)```/.exec(mermaid);
|
|
2005
|
-
const read =
|
|
2089
|
+
const read = _chunkGXEC4FS6cjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
|
|
2006
2090
|
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.");
|
|
2007
2091
|
resolve(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
|
|
2008
2092
|
return { spec: controller.toJSON(), issues: read.issues };
|
|
@@ -2047,7 +2131,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2047
2131
|
handler: ({ series, index }) => {
|
|
2048
2132
|
const s = seriesById(series);
|
|
2049
2133
|
resolve(controller.removeTrendline(s.id, index));
|
|
2050
|
-
return { series: s.id, trendlines: _nullishCoalesce(_optionalChain([controller, 'access',
|
|
2134
|
+
return { series: s.id, trendlines: _nullishCoalesce(_optionalChain([controller, 'access', _107 => _107.getSeries, 'call', _108 => _108(s.id), 'optionalAccess', _109 => _109.trendlines]), () => ( [])) };
|
|
2051
2135
|
}
|
|
2052
2136
|
};
|
|
2053
2137
|
const referenceTools = (what) => {
|
|
@@ -2107,7 +2191,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2107
2191
|
const s = seriesById(series);
|
|
2108
2192
|
const index = categoryIndex(category);
|
|
2109
2193
|
resolve(controller.setCallout(s.id, index, label));
|
|
2110
|
-
return { series: s.id, index, category: spec().categories[index], label: _nullishCoalesce(_optionalChain([controller, 'access',
|
|
2194
|
+
return { series: s.id, index, category: spec().categories[index], label: _nullishCoalesce(_optionalChain([controller, 'access', _110 => _110.getSeries, 'call', _111 => _111(s.id), 'optionalAccess', _112 => _112.callouts, 'optionalAccess', _113 => _113[index]]), () => ( null)) };
|
|
2111
2195
|
}
|
|
2112
2196
|
};
|
|
2113
2197
|
const highlight = {
|
|
@@ -2259,7 +2343,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2259
2343
|
handler: (args) => {
|
|
2260
2344
|
const result = resolve(controller.addLink(args));
|
|
2261
2345
|
const s = spec();
|
|
2262
|
-
const through = (n) => _nullishCoalesce(_optionalChain([s, 'access',
|
|
2346
|
+
const through = (n) => _nullishCoalesce(_optionalChain([s, 'access', _114 => _114.series, 'access', _115 => _115[0], 'optionalAccess', _116 => _116.values, 'access', _117 => _117[s.sankeyNodes.indexOf(n)]]), () => ( 0));
|
|
2263
2347
|
const link = s.links[result.index];
|
|
2264
2348
|
return { index: result.index, link, nodes: [link.source, link.target].map((name) => ({ name, value: through(name) })) };
|
|
2265
2349
|
}
|
|
@@ -2318,8 +2402,8 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2318
2402
|
inputSchema: {
|
|
2319
2403
|
type: "object",
|
|
2320
2404
|
properties: {
|
|
2321
|
-
layout: { type: "string", enum:
|
|
2322
|
-
colors: { type: "string", enum:
|
|
2405
|
+
layout: { type: "string", enum: _chunkGXEC4FS6cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
|
|
2406
|
+
colors: { type: "string", enum: _chunkGXEC4FS6cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
|
|
2323
2407
|
},
|
|
2324
2408
|
additionalProperties: false
|
|
2325
2409
|
},
|
|
@@ -2415,12 +2499,12 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2415
2499
|
},
|
|
2416
2500
|
annotations: { title: "Drag a chart point", ...WRITE },
|
|
2417
2501
|
handler: ({ from, to, fine, lockAxis, width = size.width, height = size.height }) => {
|
|
2418
|
-
const scene =
|
|
2502
|
+
const scene = _chunkTUXKLM5Wcjs.layoutChart.call(void 0, controller.toJSON(), { width, height });
|
|
2419
2503
|
const start = { x: from.x * width, y: from.y * height };
|
|
2420
2504
|
const target = chartHitTest(scene, start);
|
|
2421
|
-
if (_optionalChain([target, 'optionalAccess',
|
|
2505
|
+
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.`);
|
|
2422
2506
|
const t = target;
|
|
2423
|
-
const before = _nullishCoalesce(_optionalChain([controller, 'access',
|
|
2507
|
+
const before = _nullishCoalesce(_optionalChain([controller, 'access', _119 => _119.getSeries, 'call', _120 => _120(t.seriesId), 'optionalAccess', _121 => _121.values, 'access', _122 => _122[t.index]]), () => ( null));
|
|
2424
2508
|
const session = startChartPointDrag(controller, scene, t, start);
|
|
2425
2509
|
if (!session) fail2("That point cannot be dragged here (percent-stacked charts, pies and gaps cannot be dragged).");
|
|
2426
2510
|
session.move({ x: to.x * width, y: to.y * height }, { fine, lockAxis });
|
|
@@ -2445,10 +2529,10 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2445
2529
|
},
|
|
2446
2530
|
annotations: { title: "Press a key on the chart", ...DESTRUCTIVE },
|
|
2447
2531
|
handler: ({ key: k, shift, alt }) => {
|
|
2448
|
-
const scene =
|
|
2532
|
+
const scene = _chunkTUXKLM5Wcjs.layoutChart.call(void 0, controller.toJSON(), size);
|
|
2449
2533
|
const used = handleChartKey(controller, scene, { key: k, shiftKey: shift, altKey: alt });
|
|
2450
2534
|
const sel = controller.getState().selection;
|
|
2451
|
-
const value = _optionalChain([sel, 'optionalAccess',
|
|
2535
|
+
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;
|
|
2452
2536
|
return { used, selection: sel, ...value !== void 0 ? { value } : {} };
|
|
2453
2537
|
}
|
|
2454
2538
|
};
|
|
@@ -2476,7 +2560,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
2476
2560
|
return { redone, ...redone ? { label } : {} };
|
|
2477
2561
|
}
|
|
2478
2562
|
};
|
|
2479
|
-
const reads = [getChart, renderChart, checkColors, recommend, getTrendline, raceRanking, mapRegions, listPresets, exportMermaid, exportOoxml];
|
|
2563
|
+
const reads = [getChart, renderChart, checkColors, recommend, getTrendline, getTooltip, raceRanking, mapRegions, listPresets, exportMermaid, exportOoxml];
|
|
2480
2564
|
const writes = [
|
|
2481
2565
|
updateChart,
|
|
2482
2566
|
setData,
|
|
@@ -2601,7 +2685,7 @@ var ChartStream = (_class = class {
|
|
|
2601
2685
|
issues = complete ? read.issues : [];
|
|
2602
2686
|
}
|
|
2603
2687
|
} else {
|
|
2604
|
-
const read =
|
|
2688
|
+
const read = _chunkGXEC4FS6cjs.chartFromMermaid.call(void 0, text, { partial: !complete });
|
|
2605
2689
|
if (read.family) {
|
|
2606
2690
|
spec = read.spec;
|
|
2607
2691
|
issues = complete ? read.issues : [];
|
|
@@ -2698,7 +2782,7 @@ function elements(root, localName) {
|
|
|
2698
2782
|
}
|
|
2699
2783
|
function relId(el, localName = "id") {
|
|
2700
2784
|
for (const a of Array.from(el.attributes)) {
|
|
2701
|
-
if (a.localName === localName && (_optionalChain([a, 'access',
|
|
2785
|
+
if (a.localName === localName && (_optionalChain([a, 'access', _128 => _128.namespaceURI, 'optionalAccess', _129 => _129.includes, 'call', _130 => _130("relationships")]) || a.prefix === "r")) return a.value;
|
|
2702
2786
|
}
|
|
2703
2787
|
return void 0;
|
|
2704
2788
|
}
|
|
@@ -2717,7 +2801,7 @@ async function readRels(r, partPath) {
|
|
|
2717
2801
|
const id = rel.getAttribute("Id");
|
|
2718
2802
|
if (!id) continue;
|
|
2719
2803
|
const target = _nullishCoalesce(rel.getAttribute("Target"), () => ( ""));
|
|
2720
|
-
const external = _optionalChain([rel, 'access',
|
|
2804
|
+
const external = _optionalChain([rel, 'access', _131 => _131.getAttribute, 'call', _132 => _132("TargetMode"), 'optionalAccess', _133 => _133.toLowerCase, 'call', _134 => _134()]) === "external";
|
|
2721
2805
|
rels.set(id, { type: _nullishCoalesce(rel.getAttribute("Type"), () => ( "")), target: external ? target : resolvePartPath(dirname(partPath), target), external });
|
|
2722
2806
|
}
|
|
2723
2807
|
return rels;
|
|
@@ -2727,7 +2811,7 @@ function frameName(ref) {
|
|
|
2727
2811
|
for (let el = ref.parentElement; el; el = el.parentElement) {
|
|
2728
2812
|
if (el.localName === "graphicFrame") {
|
|
2729
2813
|
const nv = elements(el, "cNvPr")[0];
|
|
2730
|
-
return _optionalChain([nv, 'optionalAccess',
|
|
2814
|
+
return _optionalChain([nv, 'optionalAccess', _135 => _135.getAttribute, 'call', _136 => _136("name")]) || void 0;
|
|
2731
2815
|
}
|
|
2732
2816
|
}
|
|
2733
2817
|
return void 0;
|
|
@@ -2763,8 +2847,8 @@ function columnName(index) {
|
|
|
2763
2847
|
return name;
|
|
2764
2848
|
}
|
|
2765
2849
|
function anchorCell(marker) {
|
|
2766
|
-
const col = Number(_optionalChain([firstChild, 'call',
|
|
2767
|
-
const row = Number(_optionalChain([firstChild, 'call',
|
|
2850
|
+
const col = Number(_optionalChain([firstChild, 'call', _137 => _137(marker, "col"), 'optionalAccess', _138 => _138.textContent]));
|
|
2851
|
+
const row = Number(_optionalChain([firstChild, 'call', _139 => _139(marker, "row"), 'optionalAccess', _140 => _140.textContent]));
|
|
2768
2852
|
return Number.isInteger(col) && Number.isInteger(row) && col >= 0 && row >= 0 ? `${columnName(col)}${row + 1}` : void 0;
|
|
2769
2853
|
}
|
|
2770
2854
|
function drawingPlace(ref) {
|
|
@@ -2927,7 +3011,7 @@ function createOfficeChartToolProvider(options = {}) {
|
|
|
2927
3011
|
description: "Lists the Office files the user opened that charts can be read from. Returns their names and sizes in bytes.",
|
|
2928
3012
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
2929
3013
|
annotations: { title: "List open files", ...READ2 },
|
|
2930
|
-
handler: () => ({ files: (_nullishCoalesce(_optionalChain([options, 'access',
|
|
3014
|
+
handler: () => ({ files: (_nullishCoalesce(_optionalChain([options, 'access', _141 => _141.files, 'optionalCall', _142 => _142()]), () => ( []))).map((f) => ({ name: f.name, bytes: f.data.byteLength })) })
|
|
2931
3015
|
};
|
|
2932
3016
|
const listCharts = {
|
|
2933
3017
|
name: "list_file_charts",
|
|
@@ -3015,14 +3099,14 @@ function chartColors(spec) {
|
|
|
3015
3099
|
if (_chunkOUO3DSRTcjs.chartColorsByCategory.call(void 0, spec.type)) {
|
|
3016
3100
|
const first = visible[0];
|
|
3017
3101
|
spec.categories.forEach((name, index) => {
|
|
3018
|
-
const color = _optionalChain([first, 'optionalAccess',
|
|
3102
|
+
const color = _optionalChain([first, 'optionalAccess', _143 => _143.s, 'access', _144 => _144.pointColors, 'optionalAccess', _145 => _145[index]]) || _chunkOUO3DSRTcjs.chartSliceColor.call(void 0, spec, index);
|
|
3019
3103
|
out.push({ color, label: `Slice "${name}"`, target: first ? { kind: "point", seriesId: first.s.id, index } : { kind: "category", index } });
|
|
3020
3104
|
});
|
|
3021
3105
|
return out;
|
|
3022
3106
|
}
|
|
3023
3107
|
for (const { s, i } of visible) {
|
|
3024
3108
|
out.push({ color: _chunkOUO3DSRTcjs.chartSeriesColor.call(void 0, spec, i), label: `Series "${s.name}"`, target: { kind: "series", seriesId: s.id } });
|
|
3025
|
-
_optionalChain([s, 'access',
|
|
3109
|
+
_optionalChain([s, 'access', _146 => _146.pointColors, 'optionalAccess', _147 => _147.forEach, 'call', _148 => _148((c, index) => {
|
|
3026
3110
|
if (c) out.push({ color: c, label: `Point ${index + 1} of "${s.name}"`, target: { kind: "point", seriesId: s.id, index } });
|
|
3027
3111
|
})]);
|
|
3028
3112
|
}
|
|
@@ -3030,7 +3114,7 @@ function chartColors(spec) {
|
|
|
3030
3114
|
}
|
|
3031
3115
|
var paletteOf = (profile) => {
|
|
3032
3116
|
const palette = profile.palette;
|
|
3033
|
-
if (!_optionalChain([palette, 'optionalAccess',
|
|
3117
|
+
if (!_optionalChain([palette, 'optionalAccess', _149 => _149.length])) throw new Error("the profile has no palette.");
|
|
3034
3118
|
return palette;
|
|
3035
3119
|
};
|
|
3036
3120
|
var paletteOnly = {
|
|
@@ -3124,8 +3208,8 @@ var chartStyleDomain = {
|
|
|
3124
3208
|
type: "object",
|
|
3125
3209
|
properties: {
|
|
3126
3210
|
palette: { type: "array", items: COLOR, minItems: 1, description: "Series colours in order." },
|
|
3127
|
-
colorSchemes: { type: "array", items: { type: "string", enum:
|
|
3128
|
-
layouts: { type: "array", items: { type: "string", enum:
|
|
3211
|
+
colorSchemes: { type: "array", items: { type: "string", enum: _chunkGXEC4FS6cjs.CHART_COLOR_SCHEMES.map((s) => s.id) }, description: "Colour scheme ids allowed besides the palette (empty: none)." },
|
|
3212
|
+
layouts: { type: "array", items: { type: "string", enum: _chunkGXEC4FS6cjs.CHART_LAYOUT_PRESETS.map((p) => p.id) }, description: "Layout preset ids allowed." },
|
|
3129
3213
|
theme: {
|
|
3130
3214
|
type: "object",
|
|
3131
3215
|
properties: {
|
|
@@ -3164,7 +3248,7 @@ var chartStyleDomain = {
|
|
|
3164
3248
|
};
|
|
3165
3249
|
function chartStylePatch(profile) {
|
|
3166
3250
|
const p = profile;
|
|
3167
|
-
return { ..._nullishCoalesce(p.defaults, () => ( {})), ..._optionalChain([p, 'access',
|
|
3251
|
+
return { ..._nullishCoalesce(p.defaults, () => ( {})), ..._optionalChain([p, 'access', _150 => _150.palette, 'optionalAccess', _151 => _151.length]) ? { palette: [...p.palette] } : {} };
|
|
3168
3252
|
}
|
|
3169
3253
|
function createChartStyleToolProvider(controller, styles, options = {}) {
|
|
3170
3254
|
if (!styles.domains.some((d) => d.id === "chart")) throw new Error('The style resolver has no "chart" domain; add chartStyleDomain to its domains.');
|
|
@@ -3407,4 +3491,8 @@ function createChartStyleToolProvider(controller, styles, options = {}) {
|
|
|
3407
3491
|
|
|
3408
3492
|
|
|
3409
3493
|
|
|
3410
|
-
exports.CHART_AXIS_KINDS = _chunkOUO3DSRTcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkOUO3DSRTcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunk2F4GAZL5cjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkOUO3DSRTcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkWOIXNDHVcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkOUO3DSRTcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkOUO3DSRTcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkOUO3DSRTcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkOUO3DSRTcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunk2F4GAZL5cjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkOUO3DSRTcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkOUO3DSRTcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkOUO3DSRTcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkOUO3DSRTcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunk2F4GAZL5cjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkOUO3DSRTcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkVKHJJUBKcjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkVKHJJUBKcjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkVKHJJUBKcjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkOUO3DSRTcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkOUO3DSRTcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkOUO3DSRTcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkOUO3DSRTcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkOUO3DSRTcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkOUO3DSRTcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkOUO3DSRTcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkOUO3DSRTcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkOUO3DSRTcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkOUO3DSRTcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkOUO3DSRTcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunk2F4GAZL5cjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkOUO3DSRTcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkOUO3DSRTcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkWOIXNDHVcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkWOIXNDHVcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkOUO3DSRTcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkWOIXNDHVcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkOUO3DSRTcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkOUO3DSRTcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkOUO3DSRTcjs.addChartLink; exports.addChartTreeRow = _chunkOUO3DSRTcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkWOIXNDHVcjs.chartBoxStats; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkOUO3DSRTcjs.chartColorDistance; exports.chartColorInputValue = _chunkOUO3DSRTcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkOUO3DSRTcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkOUO3DSRTcjs.chartContrastRatio; exports.chartDataFromTable = _chunkOUO3DSRTcjs.chartDataFromTable; exports.chartDataToTable = _chunkOUO3DSRTcjs.chartDataToTable; exports.chartDateLabels = _chunkWOIXNDHVcjs.chartDateLabels; exports.chartDateToSerial = _chunkWOIXNDHVcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkOUO3DSRTcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkOUO3DSRTcjs.chartErrorBarsOfType; exports.chartFamily = _chunkOUO3DSRTcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkVKHJJUBKcjs.chartFormatToCode; exports.chartFromMermaid = _chunk2F4GAZL5cjs.chartFromMermaid; exports.chartFromOoxml = _chunkVKHJJUBKcjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkWOIXNDHVcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkOUO3DSRTcjs.chartLikertColor; exports.chartLinksFromTable = _chunkOUO3DSRTcjs.chartLinksFromTable; exports.chartLuminance = _chunkOUO3DSRTcjs.chartLuminance; exports.chartMapBreaks = _chunkWOIXNDHVcjs.chartMapBreaks; exports.chartMapClass = _chunkWOIXNDHVcjs.chartMapClass; exports.chartMapRamp = _chunkWOIXNDHVcjs.chartMapRamp; exports.chartMermaidFamily = _chunk2F4GAZL5cjs.chartMermaidFamily; exports.chartMovingAverage = _chunkWOIXNDHVcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkOUO3DSRTcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunk2F4GAZL5cjs.chartPresetPatch; exports.chartQuantile = _chunkWOIXNDHVcjs.chartQuantile; exports.chartRaceMoment = _chunkWOIXNDHVcjs.chartRaceMoment; exports.chartRaceRanking = _chunkWOIXNDHVcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkWOIXNDHVcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkOUO3DSRTcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkOUO3DSRTcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkOUO3DSRTcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkOUO3DSRTcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkWOIXNDHVcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkWOIXNDHVcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunk2F4GAZL5cjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunk2F4GAZL5cjs.chartSceneToSvg; exports.chartSerialToDate = _chunkWOIXNDHVcjs.chartSerialToDate; exports.chartSeriesColor = _chunkOUO3DSRTcjs.chartSeriesColor; exports.chartSeriesType = _chunkOUO3DSRTcjs.chartSeriesType; exports.chartSliceColor = _chunkOUO3DSRTcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkOUO3DSRTcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkWOIXNDHVcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkWOIXNDHVcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunk2F4GAZL5cjs.chartTextBaseline; exports.chartTextOn = _chunkOUO3DSRTcjs.chartTextOn; exports.chartTextTransform = _chunk2F4GAZL5cjs.chartTextTransform; exports.chartToMermaid = _chunk2F4GAZL5cjs.chartToMermaid; exports.chartToOoxml = _chunkVKHJJUBKcjs.chartToOoxml; exports.chartToSvg = _chunk2F4GAZL5cjs.chartToSvg; exports.chartTreeColumnLabels = _chunkOUO3DSRTcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkOUO3DSRTcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkOUO3DSRTcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkOUO3DSRTcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkOUO3DSRTcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkOUO3DSRTcjs.chartTreeToRows; exports.chartTreeTotal = _chunkOUO3DSRTcjs.chartTreeTotal; exports.chartTrendlineName = _chunkWOIXNDHVcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkWOIXNDHVcjs.chartValueAtPoint; exports.chartVariesColors = _chunkOUO3DSRTcjs.chartVariesColors; exports.chartXAtPoint = _chunkWOIXNDHVcjs.chartXAtPoint; exports.checkChartColors = _chunkOUO3DSRTcjs.checkChartColors; exports.cloneChartSeries = _chunkOUO3DSRTcjs.cloneChartSeries; exports.cloneChartSpec = _chunkOUO3DSRTcjs.cloneChartSpec; exports.cloneChartTree = _chunkOUO3DSRTcjs.cloneChartTree; exports.compileChartFormatCode = _chunkWOIXNDHVcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkWOIXNDHVcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunk2F4GAZL5cjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkOUO3DSRTcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkOUO3DSRTcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkWOIXNDHVcjs.decimateChartPoints; exports.defaultChartAxis = _chunkOUO3DSRTcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkOUO3DSRTcjs.defaultChartErrorBarValue; exports.describeChart = _chunk2F4GAZL5cjs.describeChart; exports.describeChartErrorBars = _chunkOUO3DSRTcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkWOIXNDHVcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkOUO3DSRTcjs.findChartTreeNode; exports.findMermaidCharts = _chunk2F4GAZL5cjs.findMermaidCharts; exports.fitChartTrendline = _chunkWOIXNDHVcjs.fitChartTrendline; exports.formatChartAmountList = _chunkOUO3DSRTcjs.formatChartAmountList; exports.formatChartDate = _chunkWOIXNDHVcjs.formatChartDate; exports.formatChartNumber = _chunkWOIXNDHVcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkWOIXNDHVcjs.formatChartValueWithCode; exports.getChartMap = _chunkWOIXNDHVcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkOUO3DSRTcjs.isCartesianChart; exports.isXyChart = _chunkOUO3DSRTcjs.isXyChart; exports.layoutChart = _chunkWOIXNDHVcjs.layoutChart; exports.layoutSparkline = _chunk2F4GAZL5cjs.layoutSparkline; exports.linearMap = _chunkWOIXNDHVcjs.linearMap; exports.listChartMaps = _chunkWOIXNDHVcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkWOIXNDHVcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunk2F4GAZL5cjs.monochromeChartPalette; exports.niceLogScale = _chunkWOIXNDHVcjs.niceLogScale; exports.niceScale = _chunkWOIXNDHVcjs.niceScale; exports.niceStep = _chunkWOIXNDHVcjs.niceStep; exports.normalizeChartAxis = _chunkOUO3DSRTcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkOUO3DSRTcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkOUO3DSRTcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkOUO3DSRTcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkOUO3DSRTcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkOUO3DSRTcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkOUO3DSRTcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkOUO3DSRTcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkOUO3DSRTcjs.normalizeChartValues; exports.parseChartAmountList = _chunkOUO3DSRTcjs.parseChartAmountList; exports.parseChartColor = _chunkOUO3DSRTcjs.parseChartColor; exports.parseChartDate = _chunkWOIXNDHVcjs.parseChartDate; exports.parseChartValue = _chunkOUO3DSRTcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkWOIXNDHVcjs.registerChartMap; exports.removeChartTreeRow = _chunkOUO3DSRTcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkWOIXNDHVcjs.sameChartSelection; exports.setChartLinkField = _chunkOUO3DSRTcjs.setChartLinkField; exports.setChartTreeRowName = _chunkOUO3DSRTcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkOUO3DSRTcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkOUO3DSRTcjs.shadeChartColor; exports.simulateChartVision = _chunkOUO3DSRTcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkWOIXNDHVcjs.snapChartValue; exports.sparklineToSvg = _chunk2F4GAZL5cjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkWOIXNDHVcjs.stepDecimals; exports.suggestChartReferences = _chunkWOIXNDHVcjs.suggestChartReferences; exports.summarizeChart = _chunk2F4GAZL5cjs.summarizeChart; exports.summarizeChartSeries = _chunkWOIXNDHVcjs.summarizeChartSeries; exports.trendNumberText = _chunkWOIXNDHVcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkOUO3DSRTcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
|
|
3494
|
+
|
|
3495
|
+
|
|
3496
|
+
|
|
3497
|
+
|
|
3498
|
+
exports.CHART_AXIS_KINDS = _chunkOUO3DSRTcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkOUO3DSRTcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkGXEC4FS6cjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkOUO3DSRTcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkTUXKLM5Wcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkOUO3DSRTcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkOUO3DSRTcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkOUO3DSRTcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkOUO3DSRTcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkGXEC4FS6cjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkOUO3DSRTcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkOUO3DSRTcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkOUO3DSRTcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkOUO3DSRTcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkGXEC4FS6cjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkOUO3DSRTcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkVKHJJUBKcjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkVKHJJUBKcjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkVKHJJUBKcjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkOUO3DSRTcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkOUO3DSRTcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkOUO3DSRTcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkOUO3DSRTcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkOUO3DSRTcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkOUO3DSRTcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkOUO3DSRTcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkOUO3DSRTcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkOUO3DSRTcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkOUO3DSRTcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkOUO3DSRTcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkGXEC4FS6cjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkOUO3DSRTcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkOUO3DSRTcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkTUXKLM5Wcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkTUXKLM5Wcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkOUO3DSRTcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkTUXKLM5Wcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkOUO3DSRTcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkOUO3DSRTcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkOUO3DSRTcjs.addChartLink; exports.addChartTreeRow = _chunkOUO3DSRTcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkTUXKLM5Wcjs.chartBoxStats; exports.chartCategoryAtPoint = _chunkTUXKLM5Wcjs.chartCategoryAtPoint; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkOUO3DSRTcjs.chartColorDistance; exports.chartColorInputValue = _chunkOUO3DSRTcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkOUO3DSRTcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkOUO3DSRTcjs.chartContrastRatio; exports.chartDataFromTable = _chunkOUO3DSRTcjs.chartDataFromTable; exports.chartDataToTable = _chunkOUO3DSRTcjs.chartDataToTable; exports.chartDateLabels = _chunkTUXKLM5Wcjs.chartDateLabels; exports.chartDateToSerial = _chunkTUXKLM5Wcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkOUO3DSRTcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkOUO3DSRTcjs.chartErrorBarsOfType; exports.chartFamily = _chunkOUO3DSRTcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkVKHJJUBKcjs.chartFormatToCode; exports.chartFromMermaid = _chunkGXEC4FS6cjs.chartFromMermaid; exports.chartFromOoxml = _chunkVKHJJUBKcjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkTUXKLM5Wcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkOUO3DSRTcjs.chartLikertColor; exports.chartLinksFromTable = _chunkOUO3DSRTcjs.chartLinksFromTable; exports.chartLuminance = _chunkOUO3DSRTcjs.chartLuminance; exports.chartMapBreaks = _chunkTUXKLM5Wcjs.chartMapBreaks; exports.chartMapClass = _chunkTUXKLM5Wcjs.chartMapClass; exports.chartMapRamp = _chunkTUXKLM5Wcjs.chartMapRamp; exports.chartMermaidFamily = _chunkGXEC4FS6cjs.chartMermaidFamily; exports.chartMovingAverage = _chunkTUXKLM5Wcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkOUO3DSRTcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkGXEC4FS6cjs.chartPresetPatch; exports.chartQuantile = _chunkTUXKLM5Wcjs.chartQuantile; exports.chartRaceMoment = _chunkTUXKLM5Wcjs.chartRaceMoment; exports.chartRaceRanking = _chunkTUXKLM5Wcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkTUXKLM5Wcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkOUO3DSRTcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkOUO3DSRTcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkOUO3DSRTcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkOUO3DSRTcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkTUXKLM5Wcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkTUXKLM5Wcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkGXEC4FS6cjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkGXEC4FS6cjs.chartSceneToSvg; exports.chartSerialToDate = _chunkTUXKLM5Wcjs.chartSerialToDate; exports.chartSeriesColor = _chunkOUO3DSRTcjs.chartSeriesColor; exports.chartSeriesType = _chunkOUO3DSRTcjs.chartSeriesType; exports.chartSliceColor = _chunkOUO3DSRTcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkOUO3DSRTcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkTUXKLM5Wcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkTUXKLM5Wcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkGXEC4FS6cjs.chartTextBaseline; exports.chartTextOn = _chunkOUO3DSRTcjs.chartTextOn; exports.chartTextTransform = _chunkGXEC4FS6cjs.chartTextTransform; exports.chartToMermaid = _chunkGXEC4FS6cjs.chartToMermaid; exports.chartToOoxml = _chunkVKHJJUBKcjs.chartToOoxml; exports.chartToSvg = _chunkGXEC4FS6cjs.chartToSvg; exports.chartTooltipAt = chartTooltipAt; exports.chartTooltipFor = chartTooltipFor; exports.chartTreeColumnLabels = _chunkOUO3DSRTcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkOUO3DSRTcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkOUO3DSRTcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkOUO3DSRTcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkOUO3DSRTcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkOUO3DSRTcjs.chartTreeToRows; exports.chartTreeTotal = _chunkOUO3DSRTcjs.chartTreeTotal; exports.chartTrendlineName = _chunkTUXKLM5Wcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkTUXKLM5Wcjs.chartValueAtPoint; exports.chartVariesColors = _chunkOUO3DSRTcjs.chartVariesColors; exports.chartXAtPoint = _chunkTUXKLM5Wcjs.chartXAtPoint; exports.checkChartColors = _chunkOUO3DSRTcjs.checkChartColors; exports.cloneChartSeries = _chunkOUO3DSRTcjs.cloneChartSeries; exports.cloneChartSpec = _chunkOUO3DSRTcjs.cloneChartSpec; exports.cloneChartTree = _chunkOUO3DSRTcjs.cloneChartTree; exports.compileChartFormatCode = _chunkTUXKLM5Wcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkTUXKLM5Wcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkGXEC4FS6cjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkOUO3DSRTcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkOUO3DSRTcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkTUXKLM5Wcjs.decimateChartPoints; exports.defaultChartAxis = _chunkOUO3DSRTcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkOUO3DSRTcjs.defaultChartErrorBarValue; exports.describeChart = _chunkGXEC4FS6cjs.describeChart; exports.describeChartErrorBars = _chunkOUO3DSRTcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkTUXKLM5Wcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkOUO3DSRTcjs.findChartTreeNode; exports.findMermaidCharts = _chunkGXEC4FS6cjs.findMermaidCharts; exports.fitChartTrendline = _chunkTUXKLM5Wcjs.fitChartTrendline; exports.formatChartAmountList = _chunkOUO3DSRTcjs.formatChartAmountList; exports.formatChartDate = _chunkTUXKLM5Wcjs.formatChartDate; exports.formatChartNumber = _chunkTUXKLM5Wcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkTUXKLM5Wcjs.formatChartValueWithCode; exports.getChartMap = _chunkTUXKLM5Wcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkOUO3DSRTcjs.isCartesianChart; exports.isXyChart = _chunkOUO3DSRTcjs.isXyChart; exports.layoutChart = _chunkTUXKLM5Wcjs.layoutChart; exports.layoutSparkline = _chunkGXEC4FS6cjs.layoutSparkline; exports.linearMap = _chunkTUXKLM5Wcjs.linearMap; exports.listChartMaps = _chunkTUXKLM5Wcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkTUXKLM5Wcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunkGXEC4FS6cjs.monochromeChartPalette; exports.niceLogScale = _chunkTUXKLM5Wcjs.niceLogScale; exports.niceScale = _chunkTUXKLM5Wcjs.niceScale; exports.niceStep = _chunkTUXKLM5Wcjs.niceStep; exports.normalizeChartAxis = _chunkOUO3DSRTcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkOUO3DSRTcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkOUO3DSRTcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkOUO3DSRTcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkOUO3DSRTcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkOUO3DSRTcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkOUO3DSRTcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkOUO3DSRTcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkOUO3DSRTcjs.normalizeChartValues; exports.parseChartAmountList = _chunkOUO3DSRTcjs.parseChartAmountList; exports.parseChartColor = _chunkOUO3DSRTcjs.parseChartColor; exports.parseChartDate = _chunkTUXKLM5Wcjs.parseChartDate; exports.parseChartValue = _chunkOUO3DSRTcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkTUXKLM5Wcjs.registerChartMap; exports.removeChartTreeRow = _chunkOUO3DSRTcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkTUXKLM5Wcjs.sameChartSelection; exports.sameChartTooltip = sameChartTooltip; exports.setChartLinkField = _chunkOUO3DSRTcjs.setChartLinkField; exports.setChartTreeRowName = _chunkOUO3DSRTcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkOUO3DSRTcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkOUO3DSRTcjs.shadeChartColor; exports.simulateChartVision = _chunkOUO3DSRTcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkTUXKLM5Wcjs.snapChartValue; exports.sparklineToSvg = _chunkGXEC4FS6cjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkTUXKLM5Wcjs.stepDecimals; exports.suggestChartReferences = _chunkTUXKLM5Wcjs.suggestChartReferences; exports.summarizeChart = _chunkGXEC4FS6cjs.summarizeChart; exports.summarizeChartSeries = _chunkTUXKLM5Wcjs.summarizeChartSeries; exports.trendNumberText = _chunkTUXKLM5Wcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkOUO3DSRTcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
|