@pixerate/editor 0.164.0 → 0.165.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 (141) hide show
  1. package/dist/agent/index.cjs +54 -39
  2. package/dist/agent/index.js +24 -9
  3. package/dist/animation/index.cjs +6 -5
  4. package/dist/animation/index.js +5 -4
  5. package/dist/animation-editor/index.cjs +65 -64
  6. package/dist/animation-editor/index.js +8 -7
  7. package/dist/bridge/cli.cjs +3 -3
  8. package/dist/bridge/cli.js +2 -2
  9. package/dist/bridge/index.cjs +3 -3
  10. package/dist/bridge/index.js +2 -2
  11. package/dist/canvas/index.cjs +89 -87
  12. package/dist/canvas/index.js +11 -9
  13. package/dist/chart/controller.d.cts +31 -2
  14. package/dist/chart/controller.d.ts +31 -2
  15. package/dist/chart/index.cjs +504 -132
  16. package/dist/chart/index.d.cts +2 -0
  17. package/dist/chart/index.d.ts +2 -0
  18. package/dist/chart/index.js +386 -14
  19. package/dist/chart/layout-families.d.cts +7 -0
  20. package/dist/chart/layout-families.d.ts +7 -0
  21. package/dist/chart/links.d.cts +34 -0
  22. package/dist/chart/links.d.ts +34 -0
  23. package/dist/chart/mermaid.d.cts +9 -6
  24. package/dist/chart/mermaid.d.ts +9 -6
  25. package/dist/chart/schemas.d.cts +3 -0
  26. package/dist/chart/schemas.d.ts +3 -0
  27. package/dist/chart/spec.d.cts +3 -2
  28. package/dist/chart/spec.d.ts +3 -2
  29. package/dist/chart/style.d.cts +33 -0
  30. package/dist/chart/style.d.ts +33 -0
  31. package/dist/chart/types.d.cts +24 -2
  32. package/dist/chart/types.d.ts +24 -2
  33. package/dist/{chunk-TALQONZ5.js → chunk-2J5VLJHC.js} +3 -3
  34. package/dist/{chunk-3NEZJCBY.js → chunk-2ZRN43IN.js} +340 -201
  35. package/dist/{chunk-ZVNAMTFO.cjs → chunk-3FSUJIXN.cjs} +18 -174
  36. package/dist/{chunk-RQCMSEM5.cjs → chunk-4QUUHTGJ.cjs} +2 -2
  37. package/dist/{chunk-CIPIESX4.cjs → chunk-4ZC5QJE2.cjs} +3 -3
  38. package/dist/{chunk-S6X2QRVU.cjs → chunk-5UEFBM2M.cjs} +1 -138
  39. package/dist/{chunk-YSAGBIRW.cjs → chunk-64VWWR5U.cjs} +16 -16
  40. package/dist/{chunk-QYZGBVNC.js → chunk-7272D3K2.js} +10 -8
  41. package/dist/{chunk-462WGGXX.cjs → chunk-AMX23CSN.cjs} +27 -16
  42. package/dist/{chunk-3VLOOO3G.js → chunk-BDIM6NVW.js} +1 -1
  43. package/dist/{chunk-POR54B55.js → chunk-CRFSQWKQ.js} +4 -1
  44. package/dist/{chunk-GZ2FM3ZB.js → chunk-DKNEQX7T.js} +6 -162
  45. package/dist/{chunk-JCXMJUQO.cjs → chunk-EGZM52EO.cjs} +3 -3
  46. package/dist/{chunk-ES3UEVUT.cjs → chunk-EUIDTZNQ.cjs} +112 -110
  47. package/dist/{chunk-H3OEM3Q2.js → chunk-F6R67I3A.js} +1 -1
  48. package/dist/{chunk-5FNGLV2D.js → chunk-FEU2XVQH.js} +15 -3
  49. package/dist/{chunk-SZA42R4N.js → chunk-FRBRLKNQ.js} +154 -16
  50. package/dist/chunk-HIDFL5LQ.js +484 -0
  51. package/dist/{chunk-MKTDELCD.js → chunk-I5MRJW7B.js} +1 -1
  52. package/dist/{chunk-SDHZG5TF.js → chunk-ILP77UD6.js} +160 -2
  53. package/dist/{chunk-GKNEJ6EN.cjs → chunk-IMRXC7OA.cjs} +241 -103
  54. package/dist/chunk-KGRZMHZB.js +204 -0
  55. package/dist/{chunk-SET6KJOP.js → chunk-LPIKXPBM.js} +1 -1
  56. package/dist/{chunk-BQWGN5WH.js → chunk-M2TPMYJE.js} +1 -1
  57. package/dist/{chunk-GTELFJRE.cjs → chunk-M5GLQQWG.cjs} +2 -2
  58. package/dist/{chunk-4VU4CP7R.js → chunk-MHLU6GRJ.js} +1 -138
  59. package/dist/{chunk-D54JHQK2.cjs → chunk-MKXK6E4O.cjs} +51 -51
  60. package/dist/{chunk-DAPQGA55.js → chunk-N7NBGT2Y.js} +2 -2
  61. package/dist/chunk-O6OGNDND.js +164 -0
  62. package/dist/{chunk-22KLZZGH.cjs → chunk-ODFCS7HF.cjs} +8 -8
  63. package/dist/{chunk-PA3IMPPS.cjs → chunk-OVYQAYGH.cjs} +81 -81
  64. package/dist/{chunk-YXOW456B.js → chunk-PPEDZ5WR.js} +1 -1
  65. package/dist/{chunk-YGG7WDWT.cjs → chunk-Q25WAFTD.cjs} +21 -18
  66. package/dist/{chunk-SBQVEBSU.cjs → chunk-QO2T6KA5.cjs} +165 -67
  67. package/dist/{chunk-24M7VD6M.cjs → chunk-S4EIAIEW.cjs} +7 -7
  68. package/dist/{chunk-M4MIZPQI.cjs → chunk-SJ2CPTQC.cjs} +189 -15
  69. package/dist/chunk-TFF2GTGN.cjs +153 -0
  70. package/dist/chunk-TTCJPX4U.cjs +204 -0
  71. package/dist/{chunk-NZD2MZJC.cjs → chunk-TVQW26AV.cjs} +35 -23
  72. package/dist/{chunk-R3P2M7HU.cjs → chunk-UVXTOZ2B.cjs} +346 -207
  73. package/dist/{chunk-WI7QJA7A.cjs → chunk-UXETV2NC.cjs} +161 -3
  74. package/dist/{chunk-Z4P2RBMJ.js → chunk-V5GSY3NC.js} +101 -3
  75. package/dist/{chunk-QY4KUDMY.js → chunk-VRXXAXUT.js} +2 -2
  76. package/dist/chunk-VU6WQSMB.cjs +164 -0
  77. package/dist/{chunk-OXERWBKE.js → chunk-X5W645RI.js} +3 -3
  78. package/dist/{chunk-NHLYK3AX.js → chunk-XBQX76CT.js} +182 -8
  79. package/dist/{chunk-5AARIS3R.cjs → chunk-XCDGM7TD.cjs} +37 -37
  80. package/dist/{chunk-EVXQNQND.js → chunk-XZB3TJ6K.js} +16 -5
  81. package/dist/chunk-YBAPT7NL.js +153 -0
  82. package/dist/chunk-Z2UQYMPS.cjs +484 -0
  83. package/dist/color/index.cjs +5 -3
  84. package/dist/color/index.js +12 -10
  85. package/dist/diagram/index.cjs +55 -243
  86. package/dist/diagram/index.js +12 -200
  87. package/dist/export/index.cjs +7 -6
  88. package/dist/export/index.js +6 -5
  89. package/dist/extensions/index.cjs +12 -9
  90. package/dist/extensions/index.js +11 -8
  91. package/dist/gradient/index.cjs +29 -27
  92. package/dist/gradient/index.js +6 -4
  93. package/dist/image-editor/index.cjs +644 -643
  94. package/dist/image-editor/index.js +7 -6
  95. package/dist/index.cjs +21 -18
  96. package/dist/index.js +14 -11
  97. package/dist/paint-editor/index.cjs +19 -18
  98. package/dist/paint-editor/index.js +7 -6
  99. package/dist/parameters/index.cjs +2 -2
  100. package/dist/parameters/index.js +1 -1
  101. package/dist/persistence/assetWrites.d.cts +22 -0
  102. package/dist/persistence/assetWrites.d.ts +22 -0
  103. package/dist/persistence/assets.d.cts +71 -0
  104. package/dist/persistence/assets.d.ts +71 -0
  105. package/dist/persistence/documentStore.d.cts +17 -1
  106. package/dist/persistence/documentStore.d.ts +17 -1
  107. package/dist/persistence/documentTools.d.cts +5 -1
  108. package/dist/persistence/documentTools.d.ts +5 -1
  109. package/dist/persistence/editorAutosave.d.cts +7 -0
  110. package/dist/persistence/editorAutosave.d.ts +7 -0
  111. package/dist/persistence/index.cjs +141 -21
  112. package/dist/persistence/index.js +130 -10
  113. package/dist/persistence/storage.d.cts +13 -1
  114. package/dist/persistence/storage.d.ts +13 -1
  115. package/dist/spreadsheet/index.cjs +3 -3
  116. package/dist/spreadsheet/index.js +2 -2
  117. package/dist/tokens/index.cjs +11 -3
  118. package/dist/tokens/index.d.cts +1 -0
  119. package/dist/tokens/index.d.ts +1 -0
  120. package/dist/tokens/index.js +10 -2
  121. package/dist/tokens/style.d.cts +36 -0
  122. package/dist/tokens/style.d.ts +36 -0
  123. package/dist/tools/index.cjs +15 -3
  124. package/dist/tools/index.d.cts +2 -0
  125. package/dist/tools/index.d.ts +2 -0
  126. package/dist/tools/index.js +14 -2
  127. package/dist/tools/style-tools.d.cts +19 -0
  128. package/dist/tools/style-tools.d.ts +19 -0
  129. package/dist/tools/style.d.cts +212 -0
  130. package/dist/tools/style.d.ts +212 -0
  131. package/dist/tools/view.d.cts +6 -0
  132. package/dist/tools/view.d.ts +6 -0
  133. package/dist/typography/index.cjs +8 -6
  134. package/dist/typography/index.js +5 -3
  135. package/dist/vector/index.cjs +953 -952
  136. package/dist/vector/index.js +7 -6
  137. package/dist/video-editor/index.cjs +8 -7
  138. package/dist/video-editor/index.js +6 -5
  139. package/package.json +1 -1
  140. package/dist/chunk-ERAGQL2N.cjs +0 -68
  141. package/dist/chunk-KMU6QJB7.js +0 -68
@@ -53,14 +53,14 @@ import {
53
53
  shiftEndpoint,
54
54
  textWidth,
55
55
  timelineGeometry
56
- } from "../chunk-GZ2FM3ZB.js";
56
+ } from "../chunk-DKNEQX7T.js";
57
57
  import {
58
58
  TokenError,
59
59
  getTokenCollection,
60
60
  getTokenVariable,
61
61
  isTokenInScope,
62
62
  resolveToken
63
- } from "../chunk-SDHZG5TF.js";
63
+ } from "../chunk-ILP77UD6.js";
64
64
  import {
65
65
  DEFAULT_NODE_HEIGHT,
66
66
  DEFAULT_NODE_WIDTH,
@@ -113,10 +113,11 @@ import {
113
113
  } from "../chunk-5ED73EC6.js";
114
114
  import {
115
115
  layoutChart
116
- } from "../chunk-Z4P2RBMJ.js";
116
+ } from "../chunk-V5GSY3NC.js";
117
117
  import {
118
118
  createChartSpec
119
- } from "../chunk-3NEZJCBY.js";
119
+ } from "../chunk-2ZRN43IN.js";
120
+ import "../chunk-O6OGNDND.js";
120
121
  import "../chunk-II2WIF5Z.js";
121
122
  import {
122
123
  PathOpsError,
@@ -215,7 +216,7 @@ import {
215
216
  } from "../chunk-ODBT55Q7.js";
216
217
  import {
217
218
  defineEditorDocument
218
- } from "../chunk-NHLYK3AX.js";
219
+ } from "../chunk-XBQX76CT.js";
219
220
  import "../chunk-HF5QZS7Z.js";
220
221
  import {
221
222
  ANIMATION_TIME_EPSILON,
@@ -229,7 +230,7 @@ import {
229
230
  pageHidden,
230
231
  realClock,
231
232
  wrapAnimationTime
232
- } from "../chunk-H3OEM3Q2.js";
233
+ } from "../chunk-F6R67I3A.js";
233
234
  import {
234
235
  ANIMATION_EASING_LABELS,
235
236
  ANIMATION_EASING_PRESETS,
@@ -254,12 +255,13 @@ import {
254
255
  oklabToRgb,
255
256
  parseOklab,
256
257
  rgbToOklab
257
- } from "../chunk-BQWGN5WH.js";
258
+ } from "../chunk-M2TPMYJE.js";
258
259
  import {
259
260
  normalizeTokenColor
260
261
  } from "../chunk-2WPNAGHI.js";
261
- import "../chunk-QYZGBVNC.js";
262
- import "../chunk-4VU4CP7R.js";
262
+ import "../chunk-7272D3K2.js";
263
+ import "../chunk-YBAPT7NL.js";
264
+ import "../chunk-MHLU6GRJ.js";
263
265
  import "../chunk-6ONMQ6WF.js";
264
266
 
265
267
  // src/canvas/trajectory.ts
@@ -2,7 +2,7 @@ import { HistoryManager } from '../history/HistoryManager.cjs';
2
2
  import { type ChartTrendFit } from './trend.cjs';
3
3
  import { type ChartTreeRow } from './tree.cjs';
4
4
  import { type ChartTableOptions } from './spec.cjs';
5
- import type { ChartAxis, ChartIssue, ChartCurve, ChartErrorBars, ChartLegend, ChartMarker, ChartNumberFormat, ChartReferenceBand, ChartReferenceLine, ChartSelection, ChartSeries, ChartSeriesType, ChartSpec, ChartTrendline, ChartType } from './types.cjs';
5
+ import type { ChartAxis, ChartIssue, ChartCurve, ChartErrorBars, ChartLegend, ChartLink, ChartMarker, ChartNumberFormat, ChartReferenceBand, ChartReferenceLine, ChartSelection, ChartSeries, ChartSeriesType, ChartSpec, ChartTrendline, ChartType } from './types.cjs';
6
6
  export interface ChartControllerOptions {
7
7
  /** Starting chart (any partial or saved spec; problems are reported in `state.issues`). */
8
8
  spec?: Partial<ChartSpec> | unknown;
@@ -220,7 +220,7 @@ export declare class ChartController {
220
220
  }): ChartActionResult & {
221
221
  issues?: ChartIssue[];
222
222
  };
223
- /** A refusal while the data is a tree (cell edits would be overwritten by its totals), else null. */
223
+ /** A refusal while the data is a tree or flows (cell edits would be overwritten by their totals), else null. */
224
224
  private treeLocked;
225
225
  /** Replaces the grouped data (an empty list goes back to the table, keeping the totals as values). One undo step. */
226
226
  setTree(tree: unknown, options?: ChartEditOptions): ChartActionResult;
@@ -268,6 +268,35 @@ export declare class ChartController {
268
268
  };
269
269
  /** Removes a node (with everything under it). A group left empty becomes an item with value 0. */
270
270
  removeTreeNode(path: readonly string[]): ChartActionResult;
271
+ /**
272
+ * Replaces the flows (and, when given, the node order). An empty list goes back to the
273
+ * table, keeping how much passed through each node as values. One undo step, all-or-nothing.
274
+ */
275
+ setLinks(links: unknown, options?: ChartEditOptions & {
276
+ nodes?: readonly string[];
277
+ }): ChartActionResult;
278
+ /** Replaces the data with flows from a table of source, target and value columns. */
279
+ importLinksTable(rows: ReadonlyArray<ReadonlyArray<unknown>>, options?: {
280
+ header?: boolean | 'auto';
281
+ }): ChartActionResult;
282
+ private badLink;
283
+ /** Adds a flow and returns its index. */
284
+ addLink(link: ChartLink): {
285
+ ok: true;
286
+ index: number;
287
+ } | {
288
+ ok: false;
289
+ message: string;
290
+ issues?: ChartIssue[];
291
+ };
292
+ /** Changes a flow's source, target, value or colour (`color: null` goes back to the default). */
293
+ updateLink(index: number, patch: {
294
+ source?: string;
295
+ target?: string;
296
+ value?: number;
297
+ color?: string | null;
298
+ }): ChartActionResult;
299
+ removeLink(index: number): ChartActionResult;
271
300
  /** Sets the note written under the chart ("" removes it). */
272
301
  setNote(note: string): ChartActionResult;
273
302
  /**
@@ -2,7 +2,7 @@ import { HistoryManager } from '../history/HistoryManager.js';
2
2
  import { type ChartTrendFit } from './trend.js';
3
3
  import { type ChartTreeRow } from './tree.js';
4
4
  import { type ChartTableOptions } from './spec.js';
5
- import type { ChartAxis, ChartIssue, ChartCurve, ChartErrorBars, ChartLegend, ChartMarker, ChartNumberFormat, ChartReferenceBand, ChartReferenceLine, ChartSelection, ChartSeries, ChartSeriesType, ChartSpec, ChartTrendline, ChartType } from './types.js';
5
+ import type { ChartAxis, ChartIssue, ChartCurve, ChartErrorBars, ChartLegend, ChartLink, ChartMarker, ChartNumberFormat, ChartReferenceBand, ChartReferenceLine, ChartSelection, ChartSeries, ChartSeriesType, ChartSpec, ChartTrendline, ChartType } from './types.js';
6
6
  export interface ChartControllerOptions {
7
7
  /** Starting chart (any partial or saved spec; problems are reported in `state.issues`). */
8
8
  spec?: Partial<ChartSpec> | unknown;
@@ -220,7 +220,7 @@ export declare class ChartController {
220
220
  }): ChartActionResult & {
221
221
  issues?: ChartIssue[];
222
222
  };
223
- /** A refusal while the data is a tree (cell edits would be overwritten by its totals), else null. */
223
+ /** A refusal while the data is a tree or flows (cell edits would be overwritten by their totals), else null. */
224
224
  private treeLocked;
225
225
  /** Replaces the grouped data (an empty list goes back to the table, keeping the totals as values). One undo step. */
226
226
  setTree(tree: unknown, options?: ChartEditOptions): ChartActionResult;
@@ -268,6 +268,35 @@ export declare class ChartController {
268
268
  };
269
269
  /** Removes a node (with everything under it). A group left empty becomes an item with value 0. */
270
270
  removeTreeNode(path: readonly string[]): ChartActionResult;
271
+ /**
272
+ * Replaces the flows (and, when given, the node order). An empty list goes back to the
273
+ * table, keeping how much passed through each node as values. One undo step, all-or-nothing.
274
+ */
275
+ setLinks(links: unknown, options?: ChartEditOptions & {
276
+ nodes?: readonly string[];
277
+ }): ChartActionResult;
278
+ /** Replaces the data with flows from a table of source, target and value columns. */
279
+ importLinksTable(rows: ReadonlyArray<ReadonlyArray<unknown>>, options?: {
280
+ header?: boolean | 'auto';
281
+ }): ChartActionResult;
282
+ private badLink;
283
+ /** Adds a flow and returns its index. */
284
+ addLink(link: ChartLink): {
285
+ ok: true;
286
+ index: number;
287
+ } | {
288
+ ok: false;
289
+ message: string;
290
+ issues?: ChartIssue[];
291
+ };
292
+ /** Changes a flow's source, target, value or colour (`color: null` goes back to the default). */
293
+ updateLink(index: number, patch: {
294
+ source?: string;
295
+ target?: string;
296
+ value?: number;
297
+ color?: string | null;
298
+ }): ChartActionResult;
299
+ removeLink(index: number): ChartActionResult;
271
300
  /** Sets the note written under the chart ("" removes it). */
272
301
  setNote(note: string): ChartActionResult;
273
302
  /**