@pixerate/editor 0.24.0 → 0.26.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 (162) hide show
  1. package/README.md +101 -1
  2. package/THIRD_PARTY_NOTICES.md +40 -0
  3. package/dist/agent/index.cjs +175 -11
  4. package/dist/agent/index.cjs.map +1 -1
  5. package/dist/agent/index.d.cts +18 -4
  6. package/dist/agent/index.d.ts +18 -4
  7. package/dist/agent/index.js +168 -4
  8. package/dist/agent/index.js.map +1 -1
  9. package/dist/{arrangeShortcuts-B8O3f8-P.d.cts → arrange-BICutYPk.d.cts} +243 -29
  10. package/dist/{arrangeShortcuts-sLlD2rSX.d.ts → arrange-BICutYPk.d.ts} +243 -29
  11. package/dist/builtins-CdPcLwwF.d.cts +176 -0
  12. package/dist/builtins-Chj6zv_O.d.ts +176 -0
  13. package/dist/canvas/index.cjs +8588 -1857
  14. package/dist/canvas/index.cjs.map +1 -1
  15. package/dist/canvas/index.d.cts +1847 -9
  16. package/dist/canvas/index.d.ts +1847 -9
  17. package/dist/canvas/index.js +8577 -1846
  18. package/dist/canvas/index.js.map +1 -1
  19. package/dist/chunk-3CC7OPUQ.cjs +831 -0
  20. package/dist/chunk-3CC7OPUQ.cjs.map +1 -0
  21. package/dist/chunk-4BVP64JJ.cjs +1406 -0
  22. package/dist/chunk-4BVP64JJ.cjs.map +1 -0
  23. package/dist/chunk-BVP3TSLH.cjs +69 -0
  24. package/dist/chunk-BVP3TSLH.cjs.map +1 -0
  25. package/dist/{chunk-OLZJXL4R.cjs → chunk-CS6NZWWA.cjs} +59 -25
  26. package/dist/chunk-CS6NZWWA.cjs.map +1 -0
  27. package/dist/{chunk-MCSJFWAO.cjs → chunk-EWCOFSCQ.cjs} +685 -100
  28. package/dist/chunk-EWCOFSCQ.cjs.map +1 -0
  29. package/dist/chunk-HDYMLS3X.cjs +409 -0
  30. package/dist/chunk-HDYMLS3X.cjs.map +1 -0
  31. package/dist/chunk-HRMEDT2L.js +1406 -0
  32. package/dist/chunk-HRMEDT2L.js.map +1 -0
  33. package/dist/{chunk-D27YFC46.cjs → chunk-IFHKKVXH.cjs} +382 -63
  34. package/dist/chunk-IFHKKVXH.cjs.map +1 -0
  35. package/dist/{chunk-PGNZKFQS.js → chunk-JOIREKL7.js} +137 -58
  36. package/dist/chunk-JOIREKL7.js.map +1 -0
  37. package/dist/chunk-KRGXUQ2Y.js +1696 -0
  38. package/dist/chunk-KRGXUQ2Y.js.map +1 -0
  39. package/dist/{chunk-3LV6RRPH.js → chunk-MHEPLBFB.js} +2 -2
  40. package/dist/chunk-MR2764X2.js +831 -0
  41. package/dist/chunk-MR2764X2.js.map +1 -0
  42. package/dist/{chunk-XNORY7M6.cjs → chunk-NFVBT3UZ.cjs} +166 -87
  43. package/dist/chunk-NFVBT3UZ.cjs.map +1 -0
  44. package/dist/chunk-NQF32I6Z.cjs +6478 -0
  45. package/dist/chunk-NQF32I6Z.cjs.map +1 -0
  46. package/dist/chunk-O5RYH2PG.js +69 -0
  47. package/dist/chunk-O5RYH2PG.js.map +1 -0
  48. package/dist/{chunk-ITBSKI26.js → chunk-Q2OHWD2A.js} +1064 -360
  49. package/dist/chunk-Q2OHWD2A.js.map +1 -0
  50. package/dist/{chunk-FODNLX5N.js → chunk-QJSOZFCZ.js} +38 -4
  51. package/dist/chunk-QJSOZFCZ.js.map +1 -0
  52. package/dist/{chunk-SML64VJG.cjs → chunk-RRREAOVM.cjs} +4 -4
  53. package/dist/{chunk-SML64VJG.cjs.map → chunk-RRREAOVM.cjs.map} +1 -1
  54. package/dist/{chunk-5S3Z4PPF.js → chunk-SWE3NPOU.js} +347 -28
  55. package/dist/chunk-SWE3NPOU.js.map +1 -0
  56. package/dist/chunk-TXXNBDQX.cjs +1696 -0
  57. package/dist/chunk-TXXNBDQX.cjs.map +1 -0
  58. package/dist/chunk-UBCFIABU.js +409 -0
  59. package/dist/chunk-UBCFIABU.js.map +1 -0
  60. package/dist/chunk-X7HXL2SB.js +6478 -0
  61. package/dist/chunk-X7HXL2SB.js.map +1 -0
  62. package/dist/{chunk-SBCZ6RN5.cjs → chunk-YOMYSFJU.cjs} +1163 -459
  63. package/dist/chunk-YOMYSFJU.cjs.map +1 -0
  64. package/dist/{chunk-3CN2WD3X.js → chunk-ZRNHGAQT.js} +661 -76
  65. package/dist/chunk-ZRNHGAQT.js.map +1 -0
  66. package/dist/commands/index.cjs +425 -4
  67. package/dist/commands/index.cjs.map +1 -1
  68. package/dist/commands/index.d.cts +39 -77
  69. package/dist/commands/index.d.ts +39 -77
  70. package/dist/commands/index.js +424 -3
  71. package/dist/commands/index.js.map +1 -1
  72. package/dist/compare/index.cjs +3 -3
  73. package/dist/compare/index.d.cts +1 -1
  74. package/dist/compare/index.d.ts +1 -1
  75. package/dist/compare/index.js +2 -2
  76. package/dist/controller-CxXGOEmy.d.cts +2038 -0
  77. package/dist/controller-CxXGOEmy.d.ts +2038 -0
  78. package/dist/{documents-BQjzJNe2.d.ts → documents-CHT1U5Vs.d.ts} +10 -0
  79. package/dist/{documents-KRTPhvst.d.cts → documents-Gp7wb0Me.d.cts} +10 -0
  80. package/dist/export/index.cjs +36 -0
  81. package/dist/export/index.cjs.map +1 -0
  82. package/dist/export/index.d.cts +243 -0
  83. package/dist/export/index.d.ts +243 -0
  84. package/dist/export/index.js +36 -0
  85. package/dist/export/index.js.map +1 -0
  86. package/dist/extensions/index.cjs +101 -6
  87. package/dist/extensions/index.cjs.map +1 -1
  88. package/dist/extensions/index.d.cts +18 -5
  89. package/dist/extensions/index.d.ts +18 -5
  90. package/dist/extensions/index.js +101 -6
  91. package/dist/generation/index.cjs +1013 -69
  92. package/dist/generation/index.cjs.map +1 -1
  93. package/dist/generation/index.d.cts +474 -13
  94. package/dist/generation/index.d.ts +474 -13
  95. package/dist/generation/index.js +976 -32
  96. package/dist/generation/index.js.map +1 -1
  97. package/dist/image-editor/index.cjs +3385 -1275
  98. package/dist/image-editor/index.cjs.map +1 -1
  99. package/dist/image-editor/index.d.cts +693 -128
  100. package/dist/image-editor/index.d.ts +693 -128
  101. package/dist/image-editor/index.js +3325 -1215
  102. package/dist/image-editor/index.js.map +1 -1
  103. package/dist/{index-fJrlkJCd.d.ts → index-B273Zllk.d.ts} +500 -7
  104. package/dist/{index-BhJBSm2d.d.cts → index-jcJwmBYt.d.cts} +500 -7
  105. package/dist/index.cjs +1603 -45
  106. package/dist/index.cjs.map +1 -1
  107. package/dist/index.d.cts +154 -27
  108. package/dist/index.d.ts +154 -27
  109. package/dist/index.js +1584 -26
  110. package/dist/index.js.map +1 -1
  111. package/dist/mention-text-CDnCFd3c.d.cts +53 -0
  112. package/dist/mention-text-CDnCFd3c.d.ts +53 -0
  113. package/dist/model-C1zApQM8.d.cts +219 -0
  114. package/dist/model-C1zApQM8.d.ts +219 -0
  115. package/dist/persistence/index.d.cts +3 -120
  116. package/dist/persistence/index.d.ts +3 -120
  117. package/dist/registry-CED5C0lA.d.cts +204 -0
  118. package/dist/registry-CED5C0lA.d.ts +204 -0
  119. package/dist/{registry-GJI4gToU.d.cts → registry-CEgwXED1.d.cts} +12 -1
  120. package/dist/{registry-GJI4gToU.d.ts → registry-CEgwXED1.d.ts} +12 -1
  121. package/dist/{registry-D32LpIc4.d.cts → registry-D0GADKc7.d.cts} +1 -1
  122. package/dist/{registry-evKTP4ls.d.ts → registry-DhVUZioj.d.ts} +1 -1
  123. package/dist/serializers/index.cjs +12 -4
  124. package/dist/serializers/index.cjs.map +1 -1
  125. package/dist/serializers/index.d.cts +41 -13
  126. package/dist/serializers/index.d.ts +41 -13
  127. package/dist/serializers/index.js +12 -4
  128. package/dist/spreadsheet/index.cjs +157 -3
  129. package/dist/spreadsheet/index.cjs.map +1 -1
  130. package/dist/spreadsheet/index.d.cts +534 -11
  131. package/dist/spreadsheet/index.d.ts +534 -11
  132. package/dist/spreadsheet/index.js +157 -3
  133. package/dist/storage-BpFfspHm.d.cts +120 -0
  134. package/dist/storage-BpFfspHm.d.ts +120 -0
  135. package/dist/tokens/index.cjs +115 -0
  136. package/dist/tokens/index.cjs.map +1 -0
  137. package/dist/tokens/index.d.cts +212 -0
  138. package/dist/tokens/index.d.ts +212 -0
  139. package/dist/tokens/index.js +115 -0
  140. package/dist/tokens/index.js.map +1 -0
  141. package/dist/{track-changes-BK5sVf4_.d.cts → track-changes-D_VAPELi.d.cts} +95 -11
  142. package/dist/{track-changes-CDjCrwKe.d.ts → track-changes-Db_fGEvx.d.ts} +95 -11
  143. package/package.json +15 -1
  144. package/dist/chunk-3CN2WD3X.js.map +0 -1
  145. package/dist/chunk-5S3Z4PPF.js.map +0 -1
  146. package/dist/chunk-D27YFC46.cjs.map +0 -1
  147. package/dist/chunk-FODNLX5N.js.map +0 -1
  148. package/dist/chunk-ITBSKI26.js.map +0 -1
  149. package/dist/chunk-MA2F5KHF.cjs +0 -3223
  150. package/dist/chunk-MA2F5KHF.cjs.map +0 -1
  151. package/dist/chunk-MCSJFWAO.cjs.map +0 -1
  152. package/dist/chunk-OLZJXL4R.cjs.map +0 -1
  153. package/dist/chunk-PGNZKFQS.js.map +0 -1
  154. package/dist/chunk-SBCZ6RN5.cjs.map +0 -1
  155. package/dist/chunk-U5KWZU4X.js +0 -3223
  156. package/dist/chunk-U5KWZU4X.js.map +0 -1
  157. package/dist/chunk-XNORY7M6.cjs.map +0 -1
  158. package/dist/controller-BhLLAoi8.d.cts +0 -1000
  159. package/dist/controller-BhLLAoi8.d.ts +0 -1000
  160. package/dist/types-DX4Mh4SL.d.cts +0 -217
  161. package/dist/types-DX4Mh4SL.d.ts +0 -217
  162. /package/dist/{chunk-3LV6RRPH.js.map → chunk-MHEPLBFB.js.map} +0 -0
@@ -1,217 +0,0 @@
1
- /**
2
- * Generic coordinate and boundary primitives.
3
- */
4
- interface XYPosition {
5
- x: number;
6
- y: number;
7
- }
8
- type Point = readonly [number, number];
9
- interface Rect {
10
- x: number;
11
- y: number;
12
- width: number;
13
- height: number;
14
- }
15
- type Position = 'top' | 'right' | 'bottom' | 'left';
16
- type Side = 'right' | 'below' | 'left' | 'above';
17
- /**
18
- * Node style: a CSS string (SvelteFlow) or a style object (React Flow / xyflow).
19
- */
20
- type CanvasNodeStyle = string | Record<string, any>;
21
- /**
22
- * Generic canvas node structure compatible across SvelteFlow and ReactFlow.
23
- */
24
- interface CanvasNode<TData extends Record<string, any> = Record<string, any>, TType extends string | undefined = string | undefined> {
25
- id: string;
26
- position: XYPosition;
27
- data: TData;
28
- type?: TType;
29
- selected?: boolean;
30
- draggable?: boolean;
31
- selectable?: boolean;
32
- deletable?: boolean;
33
- parentId?: string;
34
- width?: number;
35
- height?: number;
36
- measured?: {
37
- width?: number;
38
- height?: number;
39
- };
40
- style?: CanvasNodeStyle;
41
- className?: string;
42
- class?: string;
43
- [key: string]: any;
44
- }
45
- /**
46
- * Generic canvas edge structure.
47
- */
48
- interface CanvasEdge<TData extends Record<string, any> = Record<string, any>, TType extends string | undefined = string | undefined> {
49
- id: string;
50
- source: string;
51
- target: string;
52
- sourceHandle?: string | null;
53
- targetHandle?: string | null;
54
- data?: TData;
55
- type?: TType;
56
- label?: string;
57
- selected?: boolean;
58
- animated?: boolean;
59
- style?: string;
60
- [key: string]: any;
61
- }
62
- /**
63
- * Differences computed between two graph states.
64
- */
65
- interface GraphDifferences<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
66
- changedNodes: TNode[];
67
- changedEdges: TEdge[];
68
- removedNodes: TNode[];
69
- removedEdges: TEdge[];
70
- }
71
- /**
72
- * Standard serialized clipboard payload for nodes and optional edges.
73
- */
74
- interface CanvasClipboardPayload<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
75
- version?: number;
76
- nodes: TNode[];
77
- edges?: TEdge[];
78
- }
79
- /**
80
- * Options for Dagre graph layout.
81
- */
82
- interface CanvasLayoutOptions {
83
- direction?: 'LR' | 'TB' | 'RL' | 'BT';
84
- ranksep?: number;
85
- nodesep?: number;
86
- defaultNodeWidth?: number;
87
- defaultNodeHeight?: number;
88
- }
89
- /**
90
- * Incremental layout options.
91
- */
92
- interface IncrementalLayoutOptions extends CanvasLayoutOptions {
93
- /**
94
- * Stored known coordinates for nodes, e.g. from user manual layout or persistence.
95
- */
96
- storedPositions?: Record<string, XYPosition>;
97
- }
98
- /**
99
- * Options for directional collision-aware placement.
100
- */
101
- interface PlaceBesideOptions {
102
- gap?: number;
103
- ignore?: string[];
104
- stepIncrement?: number;
105
- maxAttempts?: number;
106
- }
107
- /**
108
- * Parametric point returned by a trajectory evaluation.
109
- */
110
- interface TrajectoryPoint {
111
- position: XYPosition;
112
- scale?: number;
113
- opacity?: number;
114
- }
115
- /**
116
- * Trajectory evaluation function determining path, scale, and opacity over time t in [0, 1].
117
- */
118
- type TrajectoryFunction = (origin: XYPosition, target: XYPosition, progress: number, index: number, total: number) => TrajectoryPoint;
119
- /**
120
- * Options for fan-out trajectory generator.
121
- */
122
- interface FanOutTrajectoryOptions {
123
- curvature?: number;
124
- spreadAngle?: number;
125
- startScale?: number;
126
- endScale?: number;
127
- startOpacity?: number;
128
- endOpacity?: number;
129
- }
130
- /**
131
- * Single node animation transition definition.
132
- */
133
- interface NodeTransition<TNode extends CanvasNode = CanvasNode> {
134
- node: TNode;
135
- from: XYPosition;
136
- to: XYPosition;
137
- trajectory?: TrajectoryFunction;
138
- delay?: number;
139
- duration?: number;
140
- easing?: (t: number) => number;
141
- index?: number;
142
- total?: number;
143
- }
144
- /**
145
- * Displacement axis / direction.
146
- */
147
- type DisplacementDirection = 'right' | 'left' | 'down' | 'up' | 'vertical';
148
- /**
149
- * Options for directional displacement calculation.
150
- */
151
- interface DirectionalDisplacementOptions {
152
- direction?: DisplacementDirection;
153
- gap?: number;
154
- spreadSiblingLanes?: boolean;
155
- siblingTolerance?: number;
156
- minY?: number;
157
- }
158
- /**
159
- * Options for Dagre reflow displacement calculation.
160
- */
161
- interface ReflowDisplacementOptions extends CanvasLayoutOptions {
162
- anchorNodeId: string;
163
- }
164
- /**
165
- * Snapshot of canvas graph state prior to node explosion, enabling exact reversibility.
166
- */
167
- interface ExplosionSnapshot<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
168
- parentId: string;
169
- childNodeIds: string[];
170
- childEdgeIds: string[];
171
- displacedNodes: {
172
- id: string;
173
- originalPosition: XYPosition;
174
- }[];
175
- timestamp: number;
176
- }
177
- /**
178
- * Options for exploding a node.
179
- */
180
- interface ExplodeNodeOptions<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
181
- childNodes: TNode[];
182
- childEdges?: TEdge[];
183
- connectParentToChildren?: boolean | 'first' | 'all';
184
- connectChildrenToDownstream?: boolean;
185
- displacementStrategy?: 'directional' | 'dagre' | 'none';
186
- directionalOptions?: DirectionalDisplacementOptions;
187
- reflowOptions?: Partial<ReflowDisplacementOptions>;
188
- trajectory?: TrajectoryFunction;
189
- duration?: number;
190
- staggerDelay?: number;
191
- easing?: (t: number) => number;
192
- onComplete?: () => void;
193
- }
194
- /**
195
- * Options for collapsing an exploded node.
196
- */
197
- interface CollapseNodeOptions {
198
- duration?: number;
199
- staggerDelay?: number;
200
- easing?: (t: number) => number;
201
- trajectory?: TrajectoryFunction;
202
- onComplete?: () => void;
203
- }
204
- /**
205
- * Strategy used to resolve the primary dock target when multiple targets intersect a dragged node.
206
- */
207
- type DockStrategy = 'center-point' | 'max-overlap' | 'pointer' | 'first';
208
- /**
209
- * Docking and intersection callbacks.
210
- */
211
- interface CanvasDockingCallbacks<TNode extends CanvasNode = CanvasNode> {
212
- onDockHover?: (dockTarget: TNode, draggedNode: TNode) => void;
213
- onDockLeave?: (dockTarget: TNode, draggedNode: TNode) => void;
214
- onDockDrop?: (dockTarget: TNode, draggedNode: TNode) => void;
215
- }
216
-
217
- export type { CanvasNode as C, DirectionalDisplacementOptions as D, ExplodeNodeOptions as E, FanOutTrajectoryOptions as F, GraphDifferences as G, IncrementalLayoutOptions as I, NodeTransition as N, PlaceBesideOptions as P, Rect as R, Side as S, TrajectoryFunction as T, XYPosition as X, CanvasNodeStyle as a, CanvasEdge as b, CanvasLayoutOptions as c, ReflowDisplacementOptions as d, CanvasClipboardPayload as e, Position as f, Point as g, CanvasDockingCallbacks as h, CollapseNodeOptions as i, DisplacementDirection as j, DockStrategy as k, ExplosionSnapshot as l, TrajectoryPoint as m };
@@ -1,217 +0,0 @@
1
- /**
2
- * Generic coordinate and boundary primitives.
3
- */
4
- interface XYPosition {
5
- x: number;
6
- y: number;
7
- }
8
- type Point = readonly [number, number];
9
- interface Rect {
10
- x: number;
11
- y: number;
12
- width: number;
13
- height: number;
14
- }
15
- type Position = 'top' | 'right' | 'bottom' | 'left';
16
- type Side = 'right' | 'below' | 'left' | 'above';
17
- /**
18
- * Node style: a CSS string (SvelteFlow) or a style object (React Flow / xyflow).
19
- */
20
- type CanvasNodeStyle = string | Record<string, any>;
21
- /**
22
- * Generic canvas node structure compatible across SvelteFlow and ReactFlow.
23
- */
24
- interface CanvasNode<TData extends Record<string, any> = Record<string, any>, TType extends string | undefined = string | undefined> {
25
- id: string;
26
- position: XYPosition;
27
- data: TData;
28
- type?: TType;
29
- selected?: boolean;
30
- draggable?: boolean;
31
- selectable?: boolean;
32
- deletable?: boolean;
33
- parentId?: string;
34
- width?: number;
35
- height?: number;
36
- measured?: {
37
- width?: number;
38
- height?: number;
39
- };
40
- style?: CanvasNodeStyle;
41
- className?: string;
42
- class?: string;
43
- [key: string]: any;
44
- }
45
- /**
46
- * Generic canvas edge structure.
47
- */
48
- interface CanvasEdge<TData extends Record<string, any> = Record<string, any>, TType extends string | undefined = string | undefined> {
49
- id: string;
50
- source: string;
51
- target: string;
52
- sourceHandle?: string | null;
53
- targetHandle?: string | null;
54
- data?: TData;
55
- type?: TType;
56
- label?: string;
57
- selected?: boolean;
58
- animated?: boolean;
59
- style?: string;
60
- [key: string]: any;
61
- }
62
- /**
63
- * Differences computed between two graph states.
64
- */
65
- interface GraphDifferences<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
66
- changedNodes: TNode[];
67
- changedEdges: TEdge[];
68
- removedNodes: TNode[];
69
- removedEdges: TEdge[];
70
- }
71
- /**
72
- * Standard serialized clipboard payload for nodes and optional edges.
73
- */
74
- interface CanvasClipboardPayload<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
75
- version?: number;
76
- nodes: TNode[];
77
- edges?: TEdge[];
78
- }
79
- /**
80
- * Options for Dagre graph layout.
81
- */
82
- interface CanvasLayoutOptions {
83
- direction?: 'LR' | 'TB' | 'RL' | 'BT';
84
- ranksep?: number;
85
- nodesep?: number;
86
- defaultNodeWidth?: number;
87
- defaultNodeHeight?: number;
88
- }
89
- /**
90
- * Incremental layout options.
91
- */
92
- interface IncrementalLayoutOptions extends CanvasLayoutOptions {
93
- /**
94
- * Stored known coordinates for nodes, e.g. from user manual layout or persistence.
95
- */
96
- storedPositions?: Record<string, XYPosition>;
97
- }
98
- /**
99
- * Options for directional collision-aware placement.
100
- */
101
- interface PlaceBesideOptions {
102
- gap?: number;
103
- ignore?: string[];
104
- stepIncrement?: number;
105
- maxAttempts?: number;
106
- }
107
- /**
108
- * Parametric point returned by a trajectory evaluation.
109
- */
110
- interface TrajectoryPoint {
111
- position: XYPosition;
112
- scale?: number;
113
- opacity?: number;
114
- }
115
- /**
116
- * Trajectory evaluation function determining path, scale, and opacity over time t in [0, 1].
117
- */
118
- type TrajectoryFunction = (origin: XYPosition, target: XYPosition, progress: number, index: number, total: number) => TrajectoryPoint;
119
- /**
120
- * Options for fan-out trajectory generator.
121
- */
122
- interface FanOutTrajectoryOptions {
123
- curvature?: number;
124
- spreadAngle?: number;
125
- startScale?: number;
126
- endScale?: number;
127
- startOpacity?: number;
128
- endOpacity?: number;
129
- }
130
- /**
131
- * Single node animation transition definition.
132
- */
133
- interface NodeTransition<TNode extends CanvasNode = CanvasNode> {
134
- node: TNode;
135
- from: XYPosition;
136
- to: XYPosition;
137
- trajectory?: TrajectoryFunction;
138
- delay?: number;
139
- duration?: number;
140
- easing?: (t: number) => number;
141
- index?: number;
142
- total?: number;
143
- }
144
- /**
145
- * Displacement axis / direction.
146
- */
147
- type DisplacementDirection = 'right' | 'left' | 'down' | 'up' | 'vertical';
148
- /**
149
- * Options for directional displacement calculation.
150
- */
151
- interface DirectionalDisplacementOptions {
152
- direction?: DisplacementDirection;
153
- gap?: number;
154
- spreadSiblingLanes?: boolean;
155
- siblingTolerance?: number;
156
- minY?: number;
157
- }
158
- /**
159
- * Options for Dagre reflow displacement calculation.
160
- */
161
- interface ReflowDisplacementOptions extends CanvasLayoutOptions {
162
- anchorNodeId: string;
163
- }
164
- /**
165
- * Snapshot of canvas graph state prior to node explosion, enabling exact reversibility.
166
- */
167
- interface ExplosionSnapshot<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
168
- parentId: string;
169
- childNodeIds: string[];
170
- childEdgeIds: string[];
171
- displacedNodes: {
172
- id: string;
173
- originalPosition: XYPosition;
174
- }[];
175
- timestamp: number;
176
- }
177
- /**
178
- * Options for exploding a node.
179
- */
180
- interface ExplodeNodeOptions<TNode extends CanvasNode = CanvasNode, TEdge extends CanvasEdge = CanvasEdge> {
181
- childNodes: TNode[];
182
- childEdges?: TEdge[];
183
- connectParentToChildren?: boolean | 'first' | 'all';
184
- connectChildrenToDownstream?: boolean;
185
- displacementStrategy?: 'directional' | 'dagre' | 'none';
186
- directionalOptions?: DirectionalDisplacementOptions;
187
- reflowOptions?: Partial<ReflowDisplacementOptions>;
188
- trajectory?: TrajectoryFunction;
189
- duration?: number;
190
- staggerDelay?: number;
191
- easing?: (t: number) => number;
192
- onComplete?: () => void;
193
- }
194
- /**
195
- * Options for collapsing an exploded node.
196
- */
197
- interface CollapseNodeOptions {
198
- duration?: number;
199
- staggerDelay?: number;
200
- easing?: (t: number) => number;
201
- trajectory?: TrajectoryFunction;
202
- onComplete?: () => void;
203
- }
204
- /**
205
- * Strategy used to resolve the primary dock target when multiple targets intersect a dragged node.
206
- */
207
- type DockStrategy = 'center-point' | 'max-overlap' | 'pointer' | 'first';
208
- /**
209
- * Docking and intersection callbacks.
210
- */
211
- interface CanvasDockingCallbacks<TNode extends CanvasNode = CanvasNode> {
212
- onDockHover?: (dockTarget: TNode, draggedNode: TNode) => void;
213
- onDockLeave?: (dockTarget: TNode, draggedNode: TNode) => void;
214
- onDockDrop?: (dockTarget: TNode, draggedNode: TNode) => void;
215
- }
216
-
217
- export type { CanvasNode as C, DirectionalDisplacementOptions as D, ExplodeNodeOptions as E, FanOutTrajectoryOptions as F, GraphDifferences as G, IncrementalLayoutOptions as I, NodeTransition as N, PlaceBesideOptions as P, Rect as R, Side as S, TrajectoryFunction as T, XYPosition as X, CanvasNodeStyle as a, CanvasEdge as b, CanvasLayoutOptions as c, ReflowDisplacementOptions as d, CanvasClipboardPayload as e, Position as f, Point as g, CanvasDockingCallbacks as h, CollapseNodeOptions as i, DisplacementDirection as j, DockStrategy as k, ExplosionSnapshot as l, TrajectoryPoint as m };