@pixerate/editor 0.269.2 → 0.271.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +5 -2
  2. package/dist/agent/index.cjs +30 -30
  3. package/dist/agent/index.js +3 -3
  4. package/dist/animation-editor/index.cjs +62 -62
  5. package/dist/animation-editor/index.js +4 -4
  6. package/dist/canvas/editorDocument.d.cts +3 -1
  7. package/dist/canvas/editorDocument.d.ts +3 -1
  8. package/dist/canvas/index.cjs +53 -27
  9. package/dist/canvas/index.js +34 -8
  10. package/dist/chart/index.cjs +21 -21
  11. package/dist/chart/index.js +2 -2
  12. package/dist/{chunk-GBEF2D4P.js → chunk-23YL2EAB.js} +1 -1
  13. package/dist/{chunk-QGVTOCNB.js → chunk-6ZSFRRJI.js} +1 -1
  14. package/dist/{chunk-4YSPQGZW.js → chunk-B5W677L7.js} +1 -1
  15. package/dist/{chunk-4NMPUJUK.cjs → chunk-DDL3ZBHK.cjs} +86 -86
  16. package/dist/{chunk-T4JPGBW3.cjs → chunk-DGITFN73.cjs} +8 -8
  17. package/dist/{chunk-PY4GWSE2.cjs → chunk-EBFPMSJO.cjs} +27 -5
  18. package/dist/{chunk-NS62CQ2B.js → chunk-GAZPHCTV.js} +23 -2
  19. package/dist/{chunk-YYBW6DF2.cjs → chunk-GSLOH2IN.cjs} +2 -2
  20. package/dist/{chunk-56RHCIJV.cjs → chunk-JJ2H25JG.cjs} +237 -170
  21. package/dist/{chunk-CBVNCWJM.cjs → chunk-LBDC5434.cjs} +2 -2
  22. package/dist/{chunk-BENSE3VX.cjs → chunk-M2ZVPU7L.cjs} +23 -23
  23. package/dist/{chunk-MQ6MGIQM.js → chunk-NMZQMPFZ.js} +1 -1
  24. package/dist/{chunk-AI4F33IV.cjs → chunk-NQUKTRKN.cjs} +45 -45
  25. package/dist/{chunk-4CPOKP27.js → chunk-QYXUE37Q.js} +1 -1
  26. package/dist/{chunk-MWUZCEFT.js → chunk-S2XPXA47.js} +1 -1
  27. package/dist/{chunk-EHLOCVWB.js → chunk-T2URHAJX.js} +27 -5
  28. package/dist/{chunk-FUDP5QBB.js → chunk-TNHDCP4R.js} +70 -3
  29. package/dist/{chunk-VBRHE4AM.cjs → chunk-U2ASNGO6.cjs} +35 -35
  30. package/dist/{chunk-WKPXOGZZ.cjs → chunk-WPLGZBNE.cjs} +23 -2
  31. package/dist/{chunk-N3UMQVKX.js → chunk-X4FTNFIA.js} +1 -1
  32. package/dist/{chunk-2OQGPEHH.cjs → chunk-XUDMRMXQ.cjs} +2 -2
  33. package/dist/{chunk-THBJHPUL.js → chunk-YNFSH72F.js} +1 -1
  34. package/dist/diagram/index.cjs +2 -2
  35. package/dist/diagram/index.js +1 -1
  36. package/dist/effects/index.cjs +8 -5
  37. package/dist/effects/index.js +6 -3
  38. package/dist/effects/pool.d.cts +9 -0
  39. package/dist/effects/pool.d.ts +9 -0
  40. package/dist/effects/types.d.cts +2 -0
  41. package/dist/effects/types.d.ts +2 -0
  42. package/dist/extensions/index.cjs +5 -5
  43. package/dist/extensions/index.js +4 -4
  44. package/dist/gradient/index.cjs +2 -2
  45. package/dist/gradient/index.js +1 -1
  46. package/dist/history/HistoryManager.d.cts +9 -0
  47. package/dist/history/HistoryManager.d.ts +9 -0
  48. package/dist/history/index.cjs +2 -2
  49. package/dist/history/index.js +1 -1
  50. package/dist/history/types.d.cts +5 -2
  51. package/dist/history/types.d.ts +5 -2
  52. package/dist/image-editor/index.cjs +784 -784
  53. package/dist/image-editor/index.js +4 -4
  54. package/dist/index.cjs +10 -10
  55. package/dist/index.js +4 -4
  56. package/dist/paint-editor/controller.d.cts +75 -4
  57. package/dist/paint-editor/controller.d.ts +75 -4
  58. package/dist/paint-editor/effect-paint.d.cts +33 -8
  59. package/dist/paint-editor/effect-paint.d.ts +33 -8
  60. package/dist/paint-editor/effects.d.cts +4 -0
  61. package/dist/paint-editor/effects.d.ts +4 -0
  62. package/dist/paint-editor/index.cjs +692 -398
  63. package/dist/paint-editor/index.js +362 -68
  64. package/dist/paint-editor/stroke.d.cts +13 -5
  65. package/dist/paint-editor/stroke.d.ts +13 -5
  66. package/dist/parameters/index.cjs +2 -2
  67. package/dist/parameters/index.js +1 -1
  68. package/dist/vector/index.cjs +998 -998
  69. package/dist/vector/index.js +4 -4
  70. package/dist/video-editor/index.cjs +321 -321
  71. package/dist/video-editor/index.js +4 -4
  72. package/package.json +1 -1
  73. package/skills/pixerate-paint-editor/SKILL.md +2 -2
  74. package/skills/pixerate-paint-editor/references/effect-paint.md +28 -6
@@ -223,7 +223,7 @@ var _chunkJBZRVLXVcjs = require('../chunk-JBZRVLXV.cjs');
223
223
  var _chunkU67EN7GGcjs = require('../chunk-U67EN7GG.cjs');
224
224
 
225
225
 
226
- var _chunkPY4GWSE2cjs = require('../chunk-PY4GWSE2.cjs');
226
+ var _chunkEBFPMSJOcjs = require('../chunk-EBFPMSJO.cjs');
227
227
 
228
228
 
229
229
 
@@ -11661,7 +11661,7 @@ var defaultClock = {
11661
11661
  return () => cancelAnimationFrame(id);
11662
11662
  }
11663
11663
  };
11664
- var canvasEffectsPool = new (0, _chunkPY4GWSE2cjs.EffectRendererPool)({ maxRenderers: 6 });
11664
+ var canvasEffectsPool = new (0, _chunkEBFPMSJOcjs.EffectRendererPool)({ maxRenderers: 6 });
11665
11665
  function draw(target, p) {
11666
11666
  const ctx = target.getContext("2d");
11667
11667
  if (!ctx || typeof ImageData === "undefined") return;
@@ -11974,14 +11974,32 @@ function createCanvasEditorDocument(options) {
11974
11974
  readOnly: options.readOnly
11975
11975
  });
11976
11976
  }
11977
+ function gestureChanges(before, after, runtimeKeys) {
11978
+ const key = (item) => JSON.stringify(omit(item, runtimeKeys));
11979
+ const changes = /* @__PURE__ */ new Map();
11980
+ before.forEach((item, i) => changes.set(item.id, { before: item, beforeIndex: i, afterIndex: -1 }));
11981
+ after.forEach((item, i) => {
11982
+ const change = changes.get(item.id);
11983
+ if (!change) changes.set(item.id, { after: item, beforeIndex: -1, afterIndex: i });
11984
+ else if (key(change.before) === key(item)) changes.delete(item.id);
11985
+ else Object.assign(change, { after: item, afterIndex: i });
11986
+ });
11987
+ return changes;
11988
+ }
11989
+ function applyGestureSide(current, changes, side) {
11990
+ const next = current.filter((item) => {
11991
+ const change = changes.get(item.id);
11992
+ return !change || change[side] !== void 0;
11993
+ }).map((item) => _nullishCoalesce(_optionalChain([changes, 'access', _517 => _517.get, 'call', _518 => _518(item.id), 'optionalAccess', _519 => _519[side]]), () => ( item)));
11994
+ const present = new Set(next.map((item) => item.id));
11995
+ const index = side === "before" ? "beforeIndex" : "afterIndex";
11996
+ const missing = [...changes.values()].filter((c) => c[side] !== void 0 && !present.has(c[side].id) && (side === "before" ? !c.after : !c.before)).sort((a, b) => a[index] - b[index]);
11997
+ for (const change of missing) next.splice(Math.min(change[index], next.length), 0, change[side]);
11998
+ return next;
11999
+ }
11977
12000
  function createCanvasGestureRecorder(options) {
11978
12001
  let before = null;
11979
- const take = () => ({ nodes: options.getNodes(), edges: _optionalChain([options, 'access', _517 => _517.getEdges, 'optionalCall', _518 => _518()]) });
11980
- const key = (s) => canvasDocumentContentKey(s.nodes, _nullishCoalesce(s.edges, () => ( [])));
11981
- const restore = (s) => {
11982
- options.setNodes(s.nodes);
11983
- if (s.edges && options.setEdges) options.setEdges(s.edges);
11984
- };
12002
+ const take = () => ({ nodes: options.getNodes(), edges: _optionalChain([options, 'access', _520 => _520.getEdges, 'optionalCall', _521 => _521()]) });
11985
12003
  return {
11986
12004
  /** Remembers the canvas as it is before the gesture. */
11987
12005
  begin() {
@@ -11993,8 +12011,16 @@ function createCanvasGestureRecorder(options) {
11993
12011
  before = null;
11994
12012
  if (!start) return false;
11995
12013
  const after = take();
11996
- if (key(start) === key(after)) return false;
11997
- options.history.execute({ name, execute: () => restore(after), undo: () => restore(start) });
12014
+ const nodes = gestureChanges(start.nodes, after.nodes, RUNTIME_NODE_KEYS);
12015
+ const edges = start.edges && after.edges && options.setEdges ? gestureChanges(start.edges, after.edges, RUNTIME_EDGE_KEYS) : /* @__PURE__ */ new Map();
12016
+ if (nodes.size === 0 && edges.size === 0) return false;
12017
+ const apply = (side) => {
12018
+ if (nodes.size) options.setNodes(applyGestureSide(options.getNodes(), nodes, side));
12019
+ if (edges.size && options.getEdges && options.setEdges) {
12020
+ options.setEdges(applyGestureSide(options.getEdges(), edges, side));
12021
+ }
12022
+ };
12023
+ options.history.execute({ name, execute: () => apply("after"), undo: () => apply("before") });
11998
12024
  return true;
11999
12025
  },
12000
12026
  /** Forgets a gesture without recording it. */
@@ -12109,8 +12135,8 @@ function createCanvasExplosionStateController(options = {}) {
12109
12135
  clearTimer();
12110
12136
  const previous = snapshot.activeId;
12111
12137
  set({ activeId: nodeId, collapsingId: null });
12112
- if (previous !== null) _optionalChain([options, 'access', _519 => _519.onCollapse, 'optionalCall', _520 => _520(previous)]);
12113
- _optionalChain([options, 'access', _521 => _521.onExplode, 'optionalCall', _522 => _522(nodeId)]);
12138
+ if (previous !== null) _optionalChain([options, 'access', _522 => _522.onCollapse, 'optionalCall', _523 => _523(previous)]);
12139
+ _optionalChain([options, 'access', _524 => _524.onExplode, 'optionalCall', _525 => _525(nodeId)]);
12114
12140
  return true;
12115
12141
  };
12116
12142
  const collapse = (nodeId) => {
@@ -12119,7 +12145,7 @@ function createCanvasExplosionStateController(options = {}) {
12119
12145
  if (active === null || nodeId !== void 0 && nodeId !== active) return false;
12120
12146
  clearTimer();
12121
12147
  set({ activeId: null, collapsingId: active });
12122
- _optionalChain([options, 'access', _523 => _523.onCollapse, 'optionalCall', _524 => _524(active)]);
12148
+ _optionalChain([options, 'access', _526 => _526.onCollapse, 'optionalCall', _527 => _527(active)]);
12123
12149
  if (duration === 0) finishCollapse();
12124
12150
  else timer = setTimeout(() => {
12125
12151
  timer = null;
@@ -12180,7 +12206,7 @@ function canvasExplosionToolTarget(state, options) {
12180
12206
  var READ = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false };
12181
12207
  var WRITE_IDEMPOTENT = { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false };
12182
12208
  var labelOf = (node) => {
12183
- const label = _nullishCoalesce(_optionalChain([node, 'access', _525 => _525.data, 'optionalAccess', _526 => _526.label]), () => ( _optionalChain([node, 'access', _527 => _527.data, 'optionalAccess', _528 => _528.name])));
12209
+ const label = _nullishCoalesce(_optionalChain([node, 'access', _528 => _528.data, 'optionalAccess', _529 => _529.label]), () => ( _optionalChain([node, 'access', _530 => _530.data, 'optionalAccess', _531 => _531.name])));
12184
12210
  return typeof label === "string" && label !== "" ? label : void 0;
12185
12211
  };
12186
12212
  function createCanvasExplosionToolProvider(target, options = {}) {
@@ -12193,7 +12219,7 @@ function createCanvasExplosionToolProvider(target, options = {}) {
12193
12219
  if (ok === true) return null;
12194
12220
  return typeof ok === "string" && ok ? ok : `Node "${node.id}" has nothing to explode into.`;
12195
12221
  };
12196
- const state = () => ({ exploded: [...target.exploded()], collapsing: [..._nullishCoalesce(_optionalChain([target, 'access', _529 => _529.collapsing, 'optionalCall', _530 => _530()]), () => ( []))] });
12222
+ const state = () => ({ exploded: [...target.exploded()], collapsing: [..._nullishCoalesce(_optionalChain([target, 'access', _532 => _532.collapsing, 'optionalCall', _533 => _533()]), () => ( []))] });
12197
12223
  const findNode = (id) => {
12198
12224
  const node = target.getNodes().find((n3) => n3.id === id);
12199
12225
  if (!node) throw new Error(`No node "${id}" on the canvas. Call list_explodable_nodes for node ids.`);
@@ -12312,8 +12338,8 @@ function createCanvasProposals(options) {
12312
12338
  const rectOf = (node) => ({
12313
12339
  x: node.position.x,
12314
12340
  y: node.position.y,
12315
- width: _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _531 => _531.measured, 'optionalAccess', _532 => _532.width]), () => ( node.width)), () => ( size2.width)),
12316
- height: _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _533 => _533.measured, 'optionalAccess', _534 => _534.height]), () => ( node.height)), () => ( size2.height))
12341
+ width: _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _534 => _534.measured, 'optionalAccess', _535 => _535.width]), () => ( node.width)), () => ( size2.width)),
12342
+ height: _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _536 => _536.measured, 'optionalAccess', _537 => _537.height]), () => ( node.height)), () => ( size2.height))
12317
12343
  });
12318
12344
  const missing = (proposal) => {
12319
12345
  const present = new Set(options.getNodes().map((n3) => n3.id));
@@ -12363,7 +12389,7 @@ function createCanvasProposals(options) {
12363
12389
  throw new Error(`nodes[${i}].position needs finite x and y.`);
12364
12390
  }
12365
12391
  if (!position) {
12366
- const view = _optionalChain([options, 'access', _535 => _535.visibleRect, 'optionalCall', _536 => _536()]);
12392
+ const view = _optionalChain([options, 'access', _538 => _538.visibleRect, 'optionalCall', _539 => _539()]);
12367
12393
  if (input2.nearNodeId) position = _chunkEL4PSKFTcjs.placeBeside.call(void 0, rects, nodeSize, toSide(input2.side), input2.nearNodeId);
12368
12394
  else if (view) position = _chunkEL4PSKFTcjs.placeInView.call(void 0, rects, nodeSize, view);
12369
12395
  else if (canvasNodes.length || nodes.length) {
@@ -12415,7 +12441,7 @@ function createCanvasProposals(options) {
12415
12441
  };
12416
12442
  const accept = (id) => {
12417
12443
  const proposal = find(id);
12418
- const reason = _optionalChain([options, 'access', _537 => _537.readOnly, 'optionalCall', _538 => _538()]);
12444
+ const reason = _optionalChain([options, 'access', _540 => _540.readOnly, 'optionalCall', _541 => _541()]);
12419
12445
  if (reason) throw new Error(reason);
12420
12446
  const gone = missing(proposal);
12421
12447
  if (gone.length) {
@@ -12567,7 +12593,7 @@ function createCanvasChangeFeed(options) {
12567
12593
  if (edited) pending = void 0;
12568
12594
  const change = {
12569
12595
  seq: ++seq,
12570
- origin: _optionalChain([commit, 'optionalAccess', _539 => _539.kind]) === "execute" || _optionalChain([commit, 'optionalAccess', _540 => _540.kind]) === "merge" ? commit.origin : "user",
12596
+ origin: _optionalChain([commit, 'optionalAccess', _542 => _542.kind]) === "execute" || _optionalChain([commit, 'optionalAccess', _543 => _543.kind]) === "merge" ? commit.origin : "user",
12571
12597
  ...commit ? { commit } : {},
12572
12598
  addedNodes,
12573
12599
  removedNodes,
@@ -12586,8 +12612,8 @@ function createCanvasChangeFeed(options) {
12586
12612
  const noteCommit = (event) => {
12587
12613
  pending = event;
12588
12614
  };
12589
- const offHistory = _optionalChain([options, 'access', _541 => _541.history, 'optionalAccess', _542 => _542.onCommit, 'call', _543 => _543(noteCommit)]);
12590
- const offCanvas = _optionalChain([options, 'access', _544 => _544.subscribe, 'optionalCall', _545 => _545(() => {
12615
+ const offHistory = _optionalChain([options, 'access', _544 => _544.history, 'optionalAccess', _545 => _545.onCommit, 'call', _546 => _546(noteCommit)]);
12616
+ const offCanvas = _optionalChain([options, 'access', _547 => _547.subscribe, 'optionalCall', _548 => _548(() => {
12591
12617
  check();
12592
12618
  })]);
12593
12619
  return {
@@ -12606,8 +12632,8 @@ function createCanvasChangeFeed(options) {
12606
12632
  },
12607
12633
  noteCommit,
12608
12634
  dispose: () => {
12609
- _optionalChain([offHistory, 'optionalCall', _546 => _546()]);
12610
- _optionalChain([offCanvas, 'optionalCall', _547 => _547()]);
12635
+ _optionalChain([offHistory, 'optionalCall', _549 => _549()]);
12636
+ _optionalChain([offCanvas, 'optionalCall', _550 => _550()]);
12611
12637
  listeners.clear();
12612
12638
  }
12613
12639
  };
@@ -12617,7 +12643,7 @@ function createCanvasChangeFeed(options) {
12617
12643
  var READ2 = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false };
12618
12644
  var WRITE = { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false };
12619
12645
  var labelOf2 = (node) => {
12620
- const label = _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _548 => _548.data, 'optionalAccess', _549 => _549.label]), () => ( _optionalChain([node, 'access', _550 => _550.data, 'optionalAccess', _551 => _551.name]))), () => ( _optionalChain([node, 'access', _552 => _552.data, 'optionalAccess', _553 => _553.title])));
12646
+ const label = _nullishCoalesce(_nullishCoalesce(_optionalChain([node, 'access', _551 => _551.data, 'optionalAccess', _552 => _552.label]), () => ( _optionalChain([node, 'access', _553 => _553.data, 'optionalAccess', _554 => _554.name]))), () => ( _optionalChain([node, 'access', _555 => _555.data, 'optionalAccess', _556 => _556.title])));
12621
12647
  return typeof label === "string" && label !== "" ? label : void 0;
12622
12648
  };
12623
12649
  var proposalIdArg = {
@@ -12698,7 +12724,7 @@ function createCanvasProposalToolProvider(proposals, options = {}) {
12698
12724
  },
12699
12725
  annotations: { title: "Propose nodes", ...WRITE },
12700
12726
  handler: (args, context) => {
12701
- const origin = _optionalChain([context, 'access', _554 => _554.actor, 'optionalAccess', _555 => _555.id]) ? `agent:${context.actor.id}` : options.fallbackOrigin;
12727
+ const origin = _optionalChain([context, 'access', _557 => _557.actor, 'optionalAccess', _558 => _558.id]) ? `agent:${context.actor.id}` : options.fallbackOrigin;
12702
12728
  const proposal = proposals.propose({ title: args.title, rationale: args.rationale, nodes: args.nodes, edges: args.edges, ...origin ? { origin } : {} });
12703
12729
  const { id: _id, missing: _missing, createdAt: _createdAt, ...rest } = describe(proposal);
12704
12730
  return { proposalId: proposal.id, ...rest };
@@ -12750,7 +12776,7 @@ function stickerCanvasNode(placement, id) {
12750
12776
  const { description, asset } = placement;
12751
12777
  const silhouette = _nullishCoalesce((asset.kind === "svg" ? asset.silhouette : void 0), () => ( description.silhouette));
12752
12778
  if (!silhouette) throw new (0, _chunkU67EN7GGcjs.StickerError)("unsupported_format", `"${placement.ref}" has no outline (silhouette); the canvas places stickers by their outline. Pick one whose describe_sticker lists a silhouette.`);
12753
- const fill = _nullishCoalesce(_nullishCoalesce(placement.colour, () => ( _optionalChain([description, 'access', _556 => _556.colours, 'optionalAccess', _557 => _557[0]]))), () => ( "#1f2937"));
12779
+ const fill = _nullishCoalesce(_nullishCoalesce(placement.colour, () => ( _optionalChain([description, 'access', _559 => _559.colours, 'optionalAccess', _560 => _560[0]]))), () => ( "#1f2937"));
12754
12780
  const shape = { kind: "path", d: silhouette, viewBox: [0, 0, description.width, description.height], fillRule: "evenodd", fill };
12755
12781
  const sticker = { ref: placement.ref, licence: description.licence, ...placement.variant === "dark" ? { variant: "dark" } : {} };
12756
12782
  return {
@@ -223,7 +223,7 @@ import {
223
223
  } from "../chunk-SZTI6EER.js";
224
224
  import {
225
225
  EffectRendererPool
226
- } from "../chunk-EHLOCVWB.js";
226
+ } from "../chunk-T2URHAJX.js";
227
227
  import {
228
228
  EffectUnsupportedError,
229
229
  EffectsSlot,
@@ -11974,14 +11974,32 @@ function createCanvasEditorDocument(options) {
11974
11974
  readOnly: options.readOnly
11975
11975
  });
11976
11976
  }
11977
+ function gestureChanges(before, after, runtimeKeys) {
11978
+ const key = (item) => JSON.stringify(omit(item, runtimeKeys));
11979
+ const changes = /* @__PURE__ */ new Map();
11980
+ before.forEach((item, i) => changes.set(item.id, { before: item, beforeIndex: i, afterIndex: -1 }));
11981
+ after.forEach((item, i) => {
11982
+ const change = changes.get(item.id);
11983
+ if (!change) changes.set(item.id, { after: item, beforeIndex: -1, afterIndex: i });
11984
+ else if (key(change.before) === key(item)) changes.delete(item.id);
11985
+ else Object.assign(change, { after: item, afterIndex: i });
11986
+ });
11987
+ return changes;
11988
+ }
11989
+ function applyGestureSide(current, changes, side) {
11990
+ const next = current.filter((item) => {
11991
+ const change = changes.get(item.id);
11992
+ return !change || change[side] !== void 0;
11993
+ }).map((item) => changes.get(item.id)?.[side] ?? item);
11994
+ const present = new Set(next.map((item) => item.id));
11995
+ const index = side === "before" ? "beforeIndex" : "afterIndex";
11996
+ const missing = [...changes.values()].filter((c) => c[side] !== void 0 && !present.has(c[side].id) && (side === "before" ? !c.after : !c.before)).sort((a, b) => a[index] - b[index]);
11997
+ for (const change of missing) next.splice(Math.min(change[index], next.length), 0, change[side]);
11998
+ return next;
11999
+ }
11977
12000
  function createCanvasGestureRecorder(options) {
11978
12001
  let before = null;
11979
12002
  const take = () => ({ nodes: options.getNodes(), edges: options.getEdges?.() });
11980
- const key = (s) => canvasDocumentContentKey(s.nodes, s.edges ?? []);
11981
- const restore = (s) => {
11982
- options.setNodes(s.nodes);
11983
- if (s.edges && options.setEdges) options.setEdges(s.edges);
11984
- };
11985
12003
  return {
11986
12004
  /** Remembers the canvas as it is before the gesture. */
11987
12005
  begin() {
@@ -11993,8 +12011,16 @@ function createCanvasGestureRecorder(options) {
11993
12011
  before = null;
11994
12012
  if (!start) return false;
11995
12013
  const after = take();
11996
- if (key(start) === key(after)) return false;
11997
- options.history.execute({ name, execute: () => restore(after), undo: () => restore(start) });
12014
+ const nodes = gestureChanges(start.nodes, after.nodes, RUNTIME_NODE_KEYS);
12015
+ const edges = start.edges && after.edges && options.setEdges ? gestureChanges(start.edges, after.edges, RUNTIME_EDGE_KEYS) : /* @__PURE__ */ new Map();
12016
+ if (nodes.size === 0 && edges.size === 0) return false;
12017
+ const apply = (side) => {
12018
+ if (nodes.size) options.setNodes(applyGestureSide(options.getNodes(), nodes, side));
12019
+ if (edges.size && options.getEdges && options.setEdges) {
12020
+ options.setEdges(applyGestureSide(options.getEdges(), edges, side));
12021
+ }
12022
+ };
12023
+ options.history.execute({ name, execute: () => apply("after"), undo: () => apply("before") });
11998
12024
  return true;
11999
12025
  },
12000
12026
  /** Forgets a gesture without recording it. */
@@ -47,7 +47,7 @@ var _chunkM2HG5DJ2cjs = require('../chunk-M2HG5DJ2.cjs');
47
47
 
48
48
 
49
49
 
50
- var _chunkYYBW6DF2cjs = require('../chunk-YYBW6DF2.cjs');
50
+ var _chunkGSLOH2INcjs = require('../chunk-GSLOH2IN.cjs');
51
51
  require('../chunk-TTCJPX4U.cjs');
52
52
 
53
53
 
@@ -215,7 +215,7 @@ var _chunkALNIFK5Gcjs = require('../chunk-ALNIFK5G.cjs');
215
215
 
216
216
  var _chunkSJ2CPTQCcjs = require('../chunk-SJ2CPTQC.cjs');
217
217
  require('../chunk-2BSBFBOA.cjs');
218
- require('../chunk-WKPXOGZZ.cjs');
218
+ require('../chunk-WPLGZBNE.cjs');
219
219
  require('../chunk-I3Y2Q3PM.cjs');
220
220
  require('../chunk-MEGSQUQO.cjs');
221
221
  require('../chunk-MLLTWAXH.cjs');
@@ -331,7 +331,7 @@ function chartFileName(spec, extension) {
331
331
  }
332
332
  async function downloadChartPng(spec, options = {}) {
333
333
  const { width = 800, height = 450, filename = chartFileName(spec, "png"), theme, ...raster } = options;
334
- const svg = _chunkYYBW6DF2cjs.chartToSvg.call(void 0, spec, { width, height, theme });
334
+ const svg = _chunkGSLOH2INcjs.chartToSvg.call(void 0, spec, { width, height, theme });
335
335
  const { url, width: w, height: h } = await svgToPngDataUrl(svg, { ...raster, width, height });
336
336
  const doc = _nullishCoalesce(raster.document, () => ( globalThis.document));
337
337
  const link = doc.createElement("a");
@@ -513,7 +513,7 @@ function createChartCommands(controller, options = {}) {
513
513
  params: object({ width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }),
514
514
  run: (_ctx, params = {}) => {
515
515
  const spec = controller.getSpec();
516
- return { spec: controller.toJSON(), table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, spec), summary: _chunkYYBW6DF2cjs.summarizeChart.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _25 => _25.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _26 => _26.height]), () => ( 400)) }), issues: controller.getState().issues };
516
+ return { spec: controller.toJSON(), table: _chunkP6WYDBTHcjs.chartDataToTable.call(void 0, spec), summary: _chunkGSLOH2INcjs.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 };
517
517
  }
518
518
  },
519
519
  {
@@ -987,8 +987,8 @@ function createChartCommands(controller, options = {}) {
987
987
  keywords: ["chart", "quick layout", "style", "colours", "colors", "monochrome", "theme"],
988
988
  description: "Applies a quick layout and / or colour scheme as one undo step.",
989
989
  params: object({
990
- layout: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
991
- colors: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
990
+ layout: { type: "string", enum: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
991
+ colors: { type: "string", enum: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
992
992
  }),
993
993
  run: (_ctx, params = {}) => {
994
994
  check(controller.applyPreset(_nullishCoalesce(params, () => ( {}))));
@@ -1034,7 +1034,7 @@ function createChartCommands(controller, options = {}) {
1034
1034
  description: "Replaces the chart with Mermaid xychart-beta, pie, radar-beta, sankey-beta or treemap-beta text (one undo step). Unreadable lines are listed with line numbers.",
1035
1035
  params: object({ mermaid: { type: "string", description: "Mermaid text." } }, ["mermaid"]),
1036
1036
  run: (_ctx, params) => {
1037
- const read = _chunkYYBW6DF2cjs.chartFromMermaid.call(void 0, params.mermaid);
1037
+ const read = _chunkGSLOH2INcjs.chartFromMermaid.call(void 0, params.mermaid);
1038
1038
  if (!read.family) fail(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie, radar-beta, sankey-beta or treemap-beta.");
1039
1039
  check(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
1040
1040
  return { spec: controller.toJSON(), issues: read.issues };
@@ -1048,7 +1048,7 @@ function createChartCommands(controller, options = {}) {
1048
1048
  keywords: ["chart", "mermaid", "markdown", "export"],
1049
1049
  description: "Returns the chart as Mermaid text (with a round-trip comment unless meta is false).",
1050
1050
  params: object({ meta: { type: "boolean", description: "Include the %% @pixerate round-trip comment (default true)." } }),
1051
- run: (_ctx, params = {}) => ({ mermaid: _chunkYYBW6DF2cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _39 => _39.meta]) }) })
1051
+ run: (_ctx, params = {}) => ({ mermaid: _chunkGSLOH2INcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta: _optionalChain([params, 'optionalAccess', _39 => _39.meta]) }) })
1052
1052
  },
1053
1053
  {
1054
1054
  ...base,
@@ -1068,7 +1068,7 @@ function createChartCommands(controller, options = {}) {
1068
1068
  description: "Returns the chart drawn as a standalone, accessible SVG string (with <title> and <desc>).",
1069
1069
  params: object({ width: _chunkG23BTQA5cjs.WIDTH, height: _chunkG23BTQA5cjs.HEIGHT }),
1070
1070
  run: (_ctx, params = {}) => ({
1071
- svg: _chunkYYBW6DF2cjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _40 => _40.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _41 => _41.height]), () => ( 400)) })
1071
+ svg: _chunkGSLOH2INcjs.chartToSvg.call(void 0, controller.toJSON(), { width: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _40 => _40.width]), () => ( 640)), height: _nullishCoalesce(_optionalChain([params, 'optionalAccess', _41 => _41.height]), () => ( 400)) })
1072
1072
  })
1073
1073
  },
1074
1074
  {
@@ -1741,7 +1741,7 @@ function createChartToolProvider(controller, options = {}) {
1741
1741
  spec: controller.toJSON(),
1742
1742
  table: table(),
1743
1743
  selection: controller.getState().selection,
1744
- summary: _chunkYYBW6DF2cjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1744
+ summary: _chunkGSLOH2INcjs.summarizeChart.call(void 0, controller.toJSON(), { width, height }),
1745
1745
  ...spec().tree.length ? { treeTable: treeTable() } : {},
1746
1746
  issues: controller.getState().issues,
1747
1747
  ...reason ? { readOnly: reason } : {}
@@ -1767,7 +1767,7 @@ function createChartToolProvider(controller, options = {}) {
1767
1767
  const json = controller.toJSON();
1768
1768
  const raceFrame = time !== void 0 ? raceFrameOf(time) : controller.getState().raceFrame;
1769
1769
  const scene = _chunkMDLEGVENcjs.layoutChart.call(void 0, json, { width, height, selection: null, raceFrame });
1770
- const svg = _chunkYYBW6DF2cjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkYYBW6DF2cjs.describeChart.call(void 0, json) });
1770
+ const svg = _chunkGSLOH2INcjs.chartSceneToSvg.call(void 0, scene, { ariaLabel: json.title || void 0, description: _chunkGSLOH2INcjs.describeChart.call(void 0, json) });
1771
1771
  const warnings = scene.warnings;
1772
1772
  if (format === "png") {
1773
1773
  if (!options.rasterize) fail2('This host cannot rasterize charts; call render_chart with format "svg", or get_chart for the layout warnings.');
@@ -1893,8 +1893,8 @@ function createChartToolProvider(controller, options = {}) {
1893
1893
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
1894
1894
  annotations: { title: "List chart presets", ...READ },
1895
1895
  handler: () => ({
1896
- layouts: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1897
- colorSchemes: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1896
+ layouts: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map(({ id, label, description }) => ({ id, label, description })),
1897
+ colorSchemes: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map(({ id, label, description, palette }) => ({ id, label, description, palette }))
1898
1898
  })
1899
1899
  };
1900
1900
  const exportMermaid = {
@@ -1903,7 +1903,7 @@ function createChartToolProvider(controller, options = {}) {
1903
1903
  description: 'Returns the chart as Mermaid text for Markdown or chat: xychart-beta, pie or radar-beta, sankey-beta for Sankey diagrams with flows, treemap-beta for treemaps and sunbursts (with their levels). With meta (default true) one "%% @pixerate {\u2026}" comment keeps what Mermaid cannot express, so import_chart_mermaid gets the chart back exactly.',
1904
1904
  inputSchema: { type: "object", properties: { meta: { type: "boolean", description: "Include the round-trip comment (default true)." } }, additionalProperties: false },
1905
1905
  annotations: { title: "Export chart as Mermaid", ...READ },
1906
- handler: ({ meta = true }) => ({ mermaid: _chunkYYBW6DF2cjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1906
+ handler: ({ meta = true }) => ({ mermaid: _chunkGSLOH2INcjs.chartToMermaid.call(void 0, controller.toJSON(), { meta }) })
1907
1907
  };
1908
1908
  const exportOoxml = {
1909
1909
  name: "export_chart_ooxml",
@@ -2092,7 +2092,7 @@ function createChartToolProvider(controller, options = {}) {
2092
2092
  annotations: { title: "Import a Mermaid chart", ...DESTRUCTIVE },
2093
2093
  handler: ({ mermaid }) => {
2094
2094
  const fenced = /```(?:mermaid)?\s*\n([\s\S]*?)```/.exec(mermaid);
2095
- const read = _chunkYYBW6DF2cjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
2095
+ const read = _chunkGSLOH2INcjs.chartFromMermaid.call(void 0, fenced ? fenced[1] : mermaid);
2096
2096
  if (!read.family) fail2(read.issues.map((i) => i.message).join(" ") || "Expected Mermaid starting with xychart-beta, pie, radar-beta, sankey-beta or treemap-beta.");
2097
2097
  resolve(controller.update({ ...read.spec }, { label: "Import Mermaid chart" }));
2098
2098
  return { spec: controller.toJSON(), issues: read.issues };
@@ -2408,8 +2408,8 @@ function createChartToolProvider(controller, options = {}) {
2408
2408
  inputSchema: {
2409
2409
  type: "object",
2410
2410
  properties: {
2411
- layout: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
2412
- colors: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
2411
+ layout: { type: "string", enum: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map((p) => p.id), description: "Quick layout id." },
2412
+ colors: { type: "string", enum: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map((p) => p.id), description: "Colour scheme id." }
2413
2413
  },
2414
2414
  additionalProperties: false
2415
2415
  },
@@ -2691,7 +2691,7 @@ var ChartStream = (_class = class {
2691
2691
  issues = complete ? read.issues : [];
2692
2692
  }
2693
2693
  } else {
2694
- const read = _chunkYYBW6DF2cjs.chartFromMermaid.call(void 0, text, { partial: !complete });
2694
+ const read = _chunkGSLOH2INcjs.chartFromMermaid.call(void 0, text, { partial: !complete });
2695
2695
  if (read.family) {
2696
2696
  spec = read.spec;
2697
2697
  issues = complete ? read.issues : [];
@@ -3214,8 +3214,8 @@ var chartStyleDomain = {
3214
3214
  type: "object",
3215
3215
  properties: {
3216
3216
  palette: { type: "array", items: COLOR, minItems: 1, description: "Series colours in order." },
3217
- colorSchemes: { type: "array", items: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES.map((s) => s.id) }, description: "Colour scheme ids allowed besides the palette (empty: none)." },
3218
- layouts: { type: "array", items: { type: "string", enum: _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS.map((p) => p.id) }, description: "Layout preset ids allowed." },
3217
+ colorSchemes: { type: "array", items: { type: "string", enum: _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES.map((s) => s.id) }, description: "Colour scheme ids allowed besides the palette (empty: none)." },
3218
+ layouts: { type: "array", items: { type: "string", enum: _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS.map((p) => p.id) }, description: "Layout preset ids allowed." },
3219
3219
  theme: {
3220
3220
  type: "object",
3221
3221
  properties: {
@@ -3502,4 +3502,4 @@ function createChartStyleToolProvider(controller, styles, options = {}) {
3502
3502
 
3503
3503
 
3504
3504
 
3505
- exports.CHART_AXIS_KINDS = _chunkP6WYDBTHcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkP6WYDBTHcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkYYBW6DF2cjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkP6WYDBTHcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkMDLEGVENcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkP6WYDBTHcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkYYBW6DF2cjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkP6WYDBTHcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkP6WYDBTHcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkP6WYDBTHcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkP6WYDBTHcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkYYBW6DF2cjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkP6WYDBTHcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkM2HG5DJ2cjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkM2HG5DJ2cjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkM2HG5DJ2cjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkP6WYDBTHcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkP6WYDBTHcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkP6WYDBTHcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkP6WYDBTHcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkP6WYDBTHcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkP6WYDBTHcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkP6WYDBTHcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkP6WYDBTHcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkP6WYDBTHcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkP6WYDBTHcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkP6WYDBTHcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkYYBW6DF2cjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkP6WYDBTHcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkP6WYDBTHcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkMDLEGVENcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkMDLEGVENcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkP6WYDBTHcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkMDLEGVENcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkP6WYDBTHcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkP6WYDBTHcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkP6WYDBTHcjs.addChartLink; exports.addChartTreeRow = _chunkP6WYDBTHcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkMDLEGVENcjs.chartBoxStats; exports.chartCategoryAtPoint = _chunkMDLEGVENcjs.chartCategoryAtPoint; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkP6WYDBTHcjs.chartColorDistance; exports.chartColorInputValue = _chunkP6WYDBTHcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkP6WYDBTHcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkP6WYDBTHcjs.chartContrastRatio; exports.chartDataFromTable = _chunkP6WYDBTHcjs.chartDataFromTable; exports.chartDataToTable = _chunkP6WYDBTHcjs.chartDataToTable; exports.chartDateLabels = _chunkMDLEGVENcjs.chartDateLabels; exports.chartDateToSerial = _chunkMDLEGVENcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkP6WYDBTHcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkP6WYDBTHcjs.chartErrorBarsOfType; exports.chartFamily = _chunkP6WYDBTHcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkM2HG5DJ2cjs.chartFormatToCode; exports.chartFromMermaid = _chunkYYBW6DF2cjs.chartFromMermaid; exports.chartFromOoxml = _chunkM2HG5DJ2cjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkMDLEGVENcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkP6WYDBTHcjs.chartLikertColor; exports.chartLinksFromTable = _chunkP6WYDBTHcjs.chartLinksFromTable; exports.chartLuminance = _chunkP6WYDBTHcjs.chartLuminance; exports.chartMapBreaks = _chunkMDLEGVENcjs.chartMapBreaks; exports.chartMapClass = _chunkMDLEGVENcjs.chartMapClass; exports.chartMapRamp = _chunkMDLEGVENcjs.chartMapRamp; exports.chartMermaidFamily = _chunkYYBW6DF2cjs.chartMermaidFamily; exports.chartMovingAverage = _chunkMDLEGVENcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkP6WYDBTHcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkYYBW6DF2cjs.chartPresetPatch; exports.chartQuantile = _chunkMDLEGVENcjs.chartQuantile; exports.chartRaceMoment = _chunkMDLEGVENcjs.chartRaceMoment; exports.chartRaceRanking = _chunkMDLEGVENcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkMDLEGVENcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkP6WYDBTHcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkP6WYDBTHcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkP6WYDBTHcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkP6WYDBTHcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkMDLEGVENcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkMDLEGVENcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkYYBW6DF2cjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkYYBW6DF2cjs.chartSceneToSvg; exports.chartSerialToDate = _chunkMDLEGVENcjs.chartSerialToDate; exports.chartSeriesColor = _chunkP6WYDBTHcjs.chartSeriesColor; exports.chartSeriesType = _chunkP6WYDBTHcjs.chartSeriesType; exports.chartSliceColor = _chunkP6WYDBTHcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkP6WYDBTHcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkMDLEGVENcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkMDLEGVENcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkYYBW6DF2cjs.chartTextBaseline; exports.chartTextOn = _chunkP6WYDBTHcjs.chartTextOn; exports.chartTextTransform = _chunkYYBW6DF2cjs.chartTextTransform; exports.chartToMermaid = _chunkYYBW6DF2cjs.chartToMermaid; exports.chartToOoxml = _chunkM2HG5DJ2cjs.chartToOoxml; exports.chartToSvg = _chunkYYBW6DF2cjs.chartToSvg; exports.chartTooltipAt = chartTooltipAt; exports.chartTooltipFor = chartTooltipFor; exports.chartTreeColumnLabels = _chunkP6WYDBTHcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkP6WYDBTHcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkP6WYDBTHcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkP6WYDBTHcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkP6WYDBTHcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkP6WYDBTHcjs.chartTreeToRows; exports.chartTreeTotal = _chunkP6WYDBTHcjs.chartTreeTotal; exports.chartTrendlineName = _chunkMDLEGVENcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkMDLEGVENcjs.chartValueAtPoint; exports.chartVariesColors = _chunkP6WYDBTHcjs.chartVariesColors; exports.chartXAtPoint = _chunkMDLEGVENcjs.chartXAtPoint; exports.checkChartColors = _chunkP6WYDBTHcjs.checkChartColors; exports.cloneChartSeries = _chunkP6WYDBTHcjs.cloneChartSeries; exports.cloneChartSpec = _chunkP6WYDBTHcjs.cloneChartSpec; exports.cloneChartTree = _chunkP6WYDBTHcjs.cloneChartTree; exports.compileChartFormatCode = _chunkMDLEGVENcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkMDLEGVENcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkYYBW6DF2cjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkP6WYDBTHcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkP6WYDBTHcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkMDLEGVENcjs.decimateChartPoints; exports.defaultChartAxis = _chunkP6WYDBTHcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkP6WYDBTHcjs.defaultChartErrorBarValue; exports.describeChart = _chunkYYBW6DF2cjs.describeChart; exports.describeChartErrorBars = _chunkP6WYDBTHcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkMDLEGVENcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkP6WYDBTHcjs.findChartTreeNode; exports.findMermaidCharts = _chunkYYBW6DF2cjs.findMermaidCharts; exports.fitChartTrendline = _chunkMDLEGVENcjs.fitChartTrendline; exports.formatChartAmountList = _chunkP6WYDBTHcjs.formatChartAmountList; exports.formatChartDate = _chunkMDLEGVENcjs.formatChartDate; exports.formatChartNumber = _chunkMDLEGVENcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkMDLEGVENcjs.formatChartValueWithCode; exports.getChartMap = _chunkMDLEGVENcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkP6WYDBTHcjs.isCartesianChart; exports.isXyChart = _chunkP6WYDBTHcjs.isXyChart; exports.layoutChart = _chunkMDLEGVENcjs.layoutChart; exports.layoutSparkline = _chunkYYBW6DF2cjs.layoutSparkline; exports.layoutStreamgraph = _chunkMDLEGVENcjs.layoutStreamgraph; exports.linearMap = _chunkMDLEGVENcjs.linearMap; exports.listChartMaps = _chunkMDLEGVENcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkMDLEGVENcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunkYYBW6DF2cjs.monochromeChartPalette; exports.niceLogScale = _chunkMDLEGVENcjs.niceLogScale; exports.niceScale = _chunkMDLEGVENcjs.niceScale; exports.niceStep = _chunkMDLEGVENcjs.niceStep; exports.normalizeChartAxis = _chunkP6WYDBTHcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkP6WYDBTHcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkP6WYDBTHcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkP6WYDBTHcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkP6WYDBTHcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkP6WYDBTHcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkP6WYDBTHcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkP6WYDBTHcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkP6WYDBTHcjs.normalizeChartValues; exports.parseChartAmountList = _chunkP6WYDBTHcjs.parseChartAmountList; exports.parseChartColor = _chunkP6WYDBTHcjs.parseChartColor; exports.parseChartDate = _chunkMDLEGVENcjs.parseChartDate; exports.parseChartValue = _chunkP6WYDBTHcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkMDLEGVENcjs.registerChartMap; exports.removeChartTreeRow = _chunkP6WYDBTHcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkMDLEGVENcjs.sameChartSelection; exports.sameChartTooltip = sameChartTooltip; exports.setChartLinkField = _chunkP6WYDBTHcjs.setChartLinkField; exports.setChartTreeRowName = _chunkP6WYDBTHcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkP6WYDBTHcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkP6WYDBTHcjs.shadeChartColor; exports.simulateChartVision = _chunkP6WYDBTHcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkMDLEGVENcjs.snapChartValue; exports.sparklineToSvg = _chunkYYBW6DF2cjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkMDLEGVENcjs.stepDecimals; exports.suggestChartReferences = _chunkMDLEGVENcjs.suggestChartReferences; exports.summarizeChart = _chunkYYBW6DF2cjs.summarizeChart; exports.summarizeChartSeries = _chunkMDLEGVENcjs.summarizeChartSeries; exports.trendNumberText = _chunkMDLEGVENcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkP6WYDBTHcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
3505
+ exports.CHART_AXIS_KINDS = _chunkP6WYDBTHcjs.CHART_AXIS_KINDS; exports.CHART_AXIS_SCALES = _chunkP6WYDBTHcjs.CHART_AXIS_SCALES; exports.CHART_COLOR_SCHEMES = _chunkGSLOH2INcjs.CHART_COLOR_SCHEMES; exports.CHART_CURVES = _chunkP6WYDBTHcjs.CHART_CURVES; exports.CHART_DATE_STEPS = _chunkMDLEGVENcjs.CHART_DATE_STEPS; exports.CHART_ERROR_BAR_DIRECTIONS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_DIRECTIONS; exports.CHART_ERROR_BAR_LABELS = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_LABELS; exports.CHART_ERROR_BAR_TYPES = _chunkP6WYDBTHcjs.CHART_ERROR_BAR_TYPES; exports.CHART_LABEL_POSITIONS = _chunkP6WYDBTHcjs.CHART_LABEL_POSITIONS; exports.CHART_LAYOUT_PRESETS = _chunkGSLOH2INcjs.CHART_LAYOUT_PRESETS; exports.CHART_LEGEND_POSITIONS = _chunkP6WYDBTHcjs.CHART_LEGEND_POSITIONS; exports.CHART_LIKERT_NEUTRALS = _chunkP6WYDBTHcjs.CHART_LIKERT_NEUTRALS; exports.CHART_LIKERT_SORTS = _chunkP6WYDBTHcjs.CHART_LIKERT_SORTS; exports.CHART_MARKERS = _chunkP6WYDBTHcjs.CHART_MARKERS; exports.CHART_MERMAID_META_PREFIX = _chunkGSLOH2INcjs.CHART_MERMAID_META_PREFIX; exports.CHART_NUMBER_STYLES = _chunkP6WYDBTHcjs.CHART_NUMBER_STYLES; exports.CHART_OOXML_CONTENT_TYPE = _chunkM2HG5DJ2cjs.CHART_OOXML_CONTENT_TYPE; exports.CHART_OOXML_NS = _chunkM2HG5DJ2cjs.CHART_OOXML_NS; exports.CHART_OOXML_RELATIONSHIP = _chunkM2HG5DJ2cjs.CHART_OOXML_RELATIONSHIP; exports.CHART_ORIENTATIONS = _chunkP6WYDBTHcjs.CHART_ORIENTATIONS; exports.CHART_PALETTE_SHADES = _chunkP6WYDBTHcjs.CHART_PALETTE_SHADES; exports.CHART_PRESENCE_COLORS = CHART_PRESENCE_COLORS; exports.CHART_RADAR_GRATICULES = _chunkP6WYDBTHcjs.CHART_RADAR_GRATICULES; exports.CHART_RASTER_MAX_SIZE = CHART_RASTER_MAX_SIZE; exports.CHART_REFERENCE_AXES = _chunkP6WYDBTHcjs.CHART_REFERENCE_AXES; exports.CHART_SANKEY_LINK_COLORS = _chunkP6WYDBTHcjs.CHART_SANKEY_LINK_COLORS; exports.CHART_SERIES_TYPES = _chunkP6WYDBTHcjs.CHART_SERIES_TYPES; exports.CHART_STACKINGS = _chunkP6WYDBTHcjs.CHART_STACKINGS; exports.CHART_TRENDLINE_TYPES = _chunkP6WYDBTHcjs.CHART_TRENDLINE_TYPES; exports.CHART_TYPES = _chunkP6WYDBTHcjs.CHART_TYPES; exports.CHART_TYPE_LABELS = _chunkP6WYDBTHcjs.CHART_TYPE_LABELS; exports.CSS_VARIABLE_CHART_THEME = _chunkP6WYDBTHcjs.CSS_VARIABLE_CHART_THEME; exports.ChartController = _chunkGSLOH2INcjs.ChartController; exports.ChartDirector = ChartDirector; exports.ChartPresence = ChartPresence; exports.ChartStream = ChartStream; exports.DEFAULT_CHART_PALETTE = _chunkP6WYDBTHcjs.DEFAULT_CHART_PALETTE; exports.DEFAULT_CHART_THEME = _chunkP6WYDBTHcjs.DEFAULT_CHART_THEME; exports.MAX_CHART_DATA_LABELS = _chunkMDLEGVENcjs.MAX_CHART_DATA_LABELS; exports.MAX_CHART_LINE_POINTS = _chunkMDLEGVENcjs.MAX_CHART_LINE_POINTS; exports.MAX_CHART_LINKS = _chunkP6WYDBTHcjs.MAX_CHART_LINKS; exports.MAX_CHART_MARKERS = _chunkMDLEGVENcjs.MAX_CHART_MARKERS; exports.MAX_CHART_TREE_DEPTH = _chunkP6WYDBTHcjs.MAX_CHART_TREE_DEPTH; exports.MAX_CHART_TREE_NODES = _chunkP6WYDBTHcjs.MAX_CHART_TREE_NODES; exports.OfficeChartsError = OfficeChartsError; exports.RENDER_CHART_INSTRUCTIONS = RENDER_CHART_INSTRUCTIONS; exports.addChartLink = _chunkP6WYDBTHcjs.addChartLink; exports.addChartTreeRow = _chunkP6WYDBTHcjs.addChartTreeRow; exports.analyzeChartTable = analyzeChartTable; exports.blendChartScenes = blendChartScenes; exports.canDragChartPoint = canDragChartPoint; exports.chartBoxStats = _chunkMDLEGVENcjs.chartBoxStats; exports.chartCategoryAtPoint = _chunkMDLEGVENcjs.chartCategoryAtPoint; exports.chartClientToScene = chartClientToScene; exports.chartColorDistance = _chunkP6WYDBTHcjs.chartColorDistance; exports.chartColorInputValue = _chunkP6WYDBTHcjs.chartColorInputValue; exports.chartColorsByCategory = _chunkP6WYDBTHcjs.chartColorsByCategory; exports.chartContrastRatio = _chunkP6WYDBTHcjs.chartContrastRatio; exports.chartDataFromTable = _chunkP6WYDBTHcjs.chartDataFromTable; exports.chartDataToTable = _chunkP6WYDBTHcjs.chartDataToTable; exports.chartDateLabels = _chunkMDLEGVENcjs.chartDateLabels; exports.chartDateToSerial = _chunkMDLEGVENcjs.chartDateToSerial; exports.chartErrorAmounts = _chunkP6WYDBTHcjs.chartErrorAmounts; exports.chartErrorBarsOfType = _chunkP6WYDBTHcjs.chartErrorBarsOfType; exports.chartFamily = _chunkP6WYDBTHcjs.chartFamily; exports.chartFileName = chartFileName; exports.chartFormatToCode = _chunkM2HG5DJ2cjs.chartFormatToCode; exports.chartFromMermaid = _chunkGSLOH2INcjs.chartFromMermaid; exports.chartFromOoxml = _chunkM2HG5DJ2cjs.chartFromOoxml; exports.chartFromTable = chartFromTable; exports.chartHistogram = _chunkMDLEGVENcjs.chartHistogram; exports.chartHitTest = chartHitTest; exports.chartLikertColor = _chunkP6WYDBTHcjs.chartLikertColor; exports.chartLinksFromTable = _chunkP6WYDBTHcjs.chartLinksFromTable; exports.chartLuminance = _chunkP6WYDBTHcjs.chartLuminance; exports.chartMapBreaks = _chunkMDLEGVENcjs.chartMapBreaks; exports.chartMapClass = _chunkMDLEGVENcjs.chartMapClass; exports.chartMapRamp = _chunkMDLEGVENcjs.chartMapRamp; exports.chartMermaidFamily = _chunkGSLOH2INcjs.chartMermaidFamily; exports.chartMovingAverage = _chunkMDLEGVENcjs.chartMovingAverage; exports.chartPointAnchor = chartPointAnchor; exports.chartPointColor = _chunkP6WYDBTHcjs.chartPointColor; exports.chartPointRef = chartPointRef; exports.chartPresetPatch = _chunkGSLOH2INcjs.chartPresetPatch; exports.chartQuantile = _chunkMDLEGVENcjs.chartQuantile; exports.chartRaceMoment = _chunkMDLEGVENcjs.chartRaceMoment; exports.chartRaceRanking = _chunkMDLEGVENcjs.chartRaceRanking; exports.chartRaceValueAt = _chunkMDLEGVENcjs.chartRaceValueAt; exports.chartRasterSize = chartRasterSize; exports.chartRgbToHex = _chunkP6WYDBTHcjs.chartRgbToHex; exports.chartRgbToOklab = _chunkP6WYDBTHcjs.chartRgbToOklab; exports.chartSankeyNodeValues = _chunkP6WYDBTHcjs.chartSankeyNodeValues; exports.chartSankeyNodes = _chunkP6WYDBTHcjs.chartSankeyNodes; exports.chartScaleFromPixel = _chunkMDLEGVENcjs.chartScaleFromPixel; exports.chartScaleToPixel = _chunkMDLEGVENcjs.chartScaleToPixel; exports.chartSceneToDomSpec = _chunkGSLOH2INcjs.chartSceneToDomSpec; exports.chartSceneToSvg = _chunkGSLOH2INcjs.chartSceneToSvg; exports.chartSerialToDate = _chunkMDLEGVENcjs.chartSerialToDate; exports.chartSeriesColor = _chunkP6WYDBTHcjs.chartSeriesColor; exports.chartSeriesType = _chunkP6WYDBTHcjs.chartSeriesType; exports.chartSliceColor = _chunkP6WYDBTHcjs.chartSliceColor; exports.chartSpecColorsByCategory = _chunkP6WYDBTHcjs.chartSpecColorsByCategory; exports.chartSquarify = _chunkMDLEGVENcjs.chartSquarify; exports.chartStyleDomain = chartStyleDomain; exports.chartStylePatch = chartStylePatch; exports.chartSupportsTrendlines = _chunkMDLEGVENcjs.chartSupportsTrendlines; exports.chartTextBaseline = _chunkGSLOH2INcjs.chartTextBaseline; exports.chartTextOn = _chunkP6WYDBTHcjs.chartTextOn; exports.chartTextTransform = _chunkGSLOH2INcjs.chartTextTransform; exports.chartToMermaid = _chunkGSLOH2INcjs.chartToMermaid; exports.chartToOoxml = _chunkM2HG5DJ2cjs.chartToOoxml; exports.chartToSvg = _chunkGSLOH2INcjs.chartToSvg; exports.chartTooltipAt = chartTooltipAt; exports.chartTooltipFor = chartTooltipFor; exports.chartTreeColumnLabels = _chunkP6WYDBTHcjs.chartTreeColumnLabels; exports.chartTreeDepth = _chunkP6WYDBTHcjs.chartTreeDepth; exports.chartTreeFromRows = _chunkP6WYDBTHcjs.chartTreeFromRows; exports.chartTreeFromSeries = _chunkP6WYDBTHcjs.chartTreeFromSeries; exports.chartTreeFromTable = _chunkP6WYDBTHcjs.chartTreeFromTable; exports.chartTreeToRows = _chunkP6WYDBTHcjs.chartTreeToRows; exports.chartTreeTotal = _chunkP6WYDBTHcjs.chartTreeTotal; exports.chartTrendlineName = _chunkMDLEGVENcjs.chartTrendlineName; exports.chartValueAtPoint = _chunkMDLEGVENcjs.chartValueAtPoint; exports.chartVariesColors = _chunkP6WYDBTHcjs.chartVariesColors; exports.chartXAtPoint = _chunkMDLEGVENcjs.chartXAtPoint; exports.checkChartColors = _chunkP6WYDBTHcjs.checkChartColors; exports.cloneChartSeries = _chunkP6WYDBTHcjs.cloneChartSeries; exports.cloneChartSpec = _chunkP6WYDBTHcjs.cloneChartSpec; exports.cloneChartTree = _chunkP6WYDBTHcjs.cloneChartTree; exports.compileChartFormatCode = _chunkMDLEGVENcjs.compileChartFormatCode; exports.contrastingTextColor = _chunkMDLEGVENcjs.contrastingTextColor; exports.createChartCommands = createChartCommands; exports.createChartController = _chunkGSLOH2INcjs.createChartController; exports.createChartEditorDocument = createChartEditorDocument; exports.createChartRasterizer = createChartRasterizer; exports.createChartSpec = _chunkP6WYDBTHcjs.createChartSpec; exports.createChartStyleToolProvider = createChartStyleToolProvider; exports.createChartToolProvider = createChartToolProvider; exports.createInstantChartClock = createInstantChartClock; exports.createOfficeChartToolProvider = createOfficeChartToolProvider; exports.cyclePaletteColor = _chunkP6WYDBTHcjs.cyclePaletteColor; exports.decimateChartPoints = _chunkMDLEGVENcjs.decimateChartPoints; exports.defaultChartAxis = _chunkP6WYDBTHcjs.defaultChartAxis; exports.defaultChartErrorBarValue = _chunkP6WYDBTHcjs.defaultChartErrorBarValue; exports.describeChart = _chunkGSLOH2INcjs.describeChart; exports.describeChartErrorBars = _chunkP6WYDBTHcjs.describeChartErrorBars; exports.describeChartSelection = describeChartSelection; exports.describeOfficeChartPlace = describeOfficeChartPlace; exports.downloadChartPng = downloadChartPng; exports.easeChartTween = easeChartTween; exports.estimateChartTextWidth = _chunkMDLEGVENcjs.estimateChartTextWidth; exports.extractDocxCharts = extractDocxCharts; exports.extractOfficeCharts = extractOfficeCharts; exports.extractPptxCharts = extractPptxCharts; exports.extractXlsxCharts = extractXlsxCharts; exports.findChartTreeNode = _chunkP6WYDBTHcjs.findChartTreeNode; exports.findMermaidCharts = _chunkGSLOH2INcjs.findMermaidCharts; exports.fitChartTrendline = _chunkMDLEGVENcjs.fitChartTrendline; exports.formatChartAmountList = _chunkP6WYDBTHcjs.formatChartAmountList; exports.formatChartDate = _chunkMDLEGVENcjs.formatChartDate; exports.formatChartNumber = _chunkMDLEGVENcjs.formatChartNumber; exports.formatChartValueWithCode = _chunkMDLEGVENcjs.formatChartValueWithCode; exports.getChartMap = _chunkMDLEGVENcjs.getChartMap; exports.handleChartKey = handleChartKey; exports.isCartesianChart = _chunkP6WYDBTHcjs.isCartesianChart; exports.isXyChart = _chunkP6WYDBTHcjs.isXyChart; exports.layoutChart = _chunkMDLEGVENcjs.layoutChart; exports.layoutSparkline = _chunkGSLOH2INcjs.layoutSparkline; exports.layoutStreamgraph = _chunkMDLEGVENcjs.layoutStreamgraph; exports.linearMap = _chunkMDLEGVENcjs.linearMap; exports.listChartMaps = _chunkMDLEGVENcjs.listChartMaps; exports.locateChartPoint = locateChartPoint; exports.matchChartMapRegions = _chunkMDLEGVENcjs.matchChartMapRegions; exports.monochromeChartPalette = _chunkGSLOH2INcjs.monochromeChartPalette; exports.niceLogScale = _chunkMDLEGVENcjs.niceLogScale; exports.niceScale = _chunkMDLEGVENcjs.niceScale; exports.niceStep = _chunkMDLEGVENcjs.niceStep; exports.normalizeChartAxis = _chunkP6WYDBTHcjs.normalizeChartAxis; exports.normalizeChartErrorBars = _chunkP6WYDBTHcjs.normalizeChartErrorBars; exports.normalizeChartLinks = _chunkP6WYDBTHcjs.normalizeChartLinks; exports.normalizeChartReferenceBand = _chunkP6WYDBTHcjs.normalizeChartReferenceBand; exports.normalizeChartReferenceLine = _chunkP6WYDBTHcjs.normalizeChartReferenceLine; exports.normalizeChartSpec = _chunkP6WYDBTHcjs.normalizeChartSpec; exports.normalizeChartTree = _chunkP6WYDBTHcjs.normalizeChartTree; exports.normalizeChartTrendline = _chunkP6WYDBTHcjs.normalizeChartTrendline; exports.normalizeChartValues = _chunkP6WYDBTHcjs.normalizeChartValues; exports.parseChartAmountList = _chunkP6WYDBTHcjs.parseChartAmountList; exports.parseChartColor = _chunkP6WYDBTHcjs.parseChartColor; exports.parseChartDate = _chunkMDLEGVENcjs.parseChartDate; exports.parseChartValue = _chunkP6WYDBTHcjs.parseChartValue; exports.parsePartialChartJson = parsePartialChartJson; exports.planChartCommand = planChartCommand; exports.planChartToolPlayback = planChartToolPlayback; exports.rasterizeChartSvg = rasterizeChartSvg; exports.realChartClock = realChartClock; exports.recommendChartTypes = recommendChartTypes; exports.recommendForShape = recommendForShape; exports.registerChartMap = _chunkMDLEGVENcjs.registerChartMap; exports.removeChartTreeRow = _chunkP6WYDBTHcjs.removeChartTreeRow; exports.resolveChartSvgPaints = resolveChartSvgPaints; exports.sameChartSelection = _chunkMDLEGVENcjs.sameChartSelection; exports.sameChartTooltip = sameChartTooltip; exports.setChartLinkField = _chunkP6WYDBTHcjs.setChartLinkField; exports.setChartTreeRowName = _chunkP6WYDBTHcjs.setChartTreeRowName; exports.setChartTreeRowValue = _chunkP6WYDBTHcjs.setChartTreeRowValue; exports.shadeChartColor = _chunkP6WYDBTHcjs.shadeChartColor; exports.simulateChartVision = _chunkP6WYDBTHcjs.simulateChartVision; exports.snapChartDragValue = snapChartDragValue; exports.snapChartValue = _chunkMDLEGVENcjs.snapChartValue; exports.sparklineToSvg = _chunkGSLOH2INcjs.sparklineToSvg; exports.startChartPointDrag = startChartPointDrag; exports.stepDecimals = _chunkMDLEGVENcjs.stepDecimals; exports.suggestChartReferences = _chunkMDLEGVENcjs.suggestChartReferences; exports.summarizeChart = _chunkGSLOH2INcjs.summarizeChart; exports.summarizeChartSeries = _chunkMDLEGVENcjs.summarizeChartSeries; exports.trendNumberText = _chunkMDLEGVENcjs.trendNumberText; exports.uniqueChartSeriesId = _chunkP6WYDBTHcjs.uniqueChartSeriesId; exports.withChartPlayback = withChartPlayback;
@@ -47,7 +47,7 @@ import {
47
47
  monochromeChartPalette,
48
48
  sparklineToSvg,
49
49
  summarizeChart
50
- } from "../chunk-MQ6MGIQM.js";
50
+ } from "../chunk-NMZQMPFZ.js";
51
51
  import "../chunk-KGRZMHZB.js";
52
52
  import {
53
53
  CHART_DATE_STEPS,
@@ -215,7 +215,7 @@ import {
215
215
  defineEditorDocument
216
216
  } from "../chunk-XBQX76CT.js";
217
217
  import "../chunk-HF5QZS7Z.js";
218
- import "../chunk-NS62CQ2B.js";
218
+ import "../chunk-GAZPHCTV.js";
219
219
  import "../chunk-2EUW2XZX.js";
220
220
  import "../chunk-E2V5DA3W.js";
221
221
  import "../chunk-VR6OGHU5.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-MV7CYFMJ.js";
7
7
  import {
8
8
  HistoryManager
9
- } from "./chunk-NS62CQ2B.js";
9
+ } from "./chunk-GAZPHCTV.js";
10
10
  import {
11
11
  evaluateEasing,
12
12
  isAnimationEasing
@@ -35,7 +35,7 @@ import {
35
35
  searchDocument,
36
36
  sliceContainsTable,
37
37
  syncInitialContent
38
- } from "./chunk-N3UMQVKX.js";
38
+ } from "./chunk-X4FTNFIA.js";
39
39
  import {
40
40
  chartDataToTable
41
41
  } from "./chunk-47V3WXDG.js";
@@ -115,7 +115,7 @@ import {
115
115
  transformTextRect,
116
116
  translateMatrix,
117
117
  warpPresetMesh
118
- } from "./chunk-FUDP5QBB.js";
118
+ } from "./chunk-TNHDCP4R.js";
119
119
  import {
120
120
  bezierPathBounds,
121
121
  outlineStroke,