@pixerate/editor 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/agent/index.d.cts +3 -2
- package/dist/agent/index.d.ts +3 -2
- package/dist/{arrange-BICutYPk.d.cts → arrange-B6GH5Qcc.d.cts} +2 -216
- package/dist/{arrange-BICutYPk.d.ts → arrange-BPAXGdMm.d.ts} +2 -216
- package/dist/bezier-6KPx3w7Z.d.cts +547 -0
- package/dist/bezier-DJPYiVbA.d.ts +547 -0
- package/dist/{builtins-DxC3aUR2.d.cts → builtins-BLud97fC.d.cts} +1 -1
- package/dist/{builtins-NGxNxQfJ.d.ts → builtins-D0BDyAgw.d.ts} +1 -1
- package/dist/canvas/index.cjs +532 -3423
- package/dist/canvas/index.cjs.map +1 -1
- package/dist/canvas/index.d.cts +13 -472
- package/dist/canvas/index.d.ts +13 -472
- package/dist/canvas/index.js +146 -3037
- package/dist/canvas/index.js.map +1 -1
- package/dist/chunk-GQTXV2EQ.js +3335 -0
- package/dist/chunk-GQTXV2EQ.js.map +1 -0
- package/dist/chunk-M4XE4UMT.cjs +3335 -0
- package/dist/chunk-M4XE4UMT.cjs.map +1 -0
- package/dist/commands/index.d.cts +3 -2
- package/dist/commands/index.d.ts +3 -2
- package/dist/types-BFkYA4eF.d.cts +217 -0
- package/dist/types-BFkYA4eF.d.ts +217 -0
- package/dist/vector/index.cjs +3243 -0
- package/dist/vector/index.cjs.map +1 -0
- package/dist/vector/index.d.cts +933 -0
- package/dist/vector/index.d.ts +933 -0
- package/dist/vector/index.js +3243 -0
- package/dist/vector/index.js.map +1 -0
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -426,9 +426,10 @@ Each module is also available as a subpath import:
|
|
|
426
426
|
| `@pixerate/editor/compare` | `diffSequences` (Myers + patience), `compareDocuments` and `compareHtml`: two versions of a document as tracked changes (also re-exported from the root entry) |
|
|
427
427
|
| `@pixerate/editor/export` | Word export: `exportDocx`, `exportDocxBlob`, `createDocxParts`, `DocxExportController`, plus the zip writer and XML escapers it uses (no third-party imports; also re-exported from the root entry) |
|
|
428
428
|
| `@pixerate/editor/tokens` | Design tokens: collections, modes, aliases, `TokenStore`, `resolveToken`, W3C Design Tokens JSON and CSS custom-property export (no third-party imports) |
|
|
429
|
+
| `@pixerate/editor/vector` | Headless vector editor: `VectorDocument` (Bézier paths with corner / smooth / symmetric anchors, groups, gradients), `VectorEditorController` (select, direct select, pen, pencil and shape tools driven by pointer / key events; transforms, booleans, align, group, undo, viewport), scene and overlay render data, DOM-free `parseVectorSvg` / `vectorDocumentToSvg` and `createVectorCommands` for agents (no third-party imports; see [the vector editor guide](../../docs/vector-editor.md)) |
|
|
429
430
|
| `@pixerate/editor/parameters` | Schema-driven parameters editor for effects, shaders, generators and component props: `ParameterSchema` (number, int, boolean, choice, color, vector, image and text fields; groups; `showIf`), `ParametersController` (validation, undo with merged slider gestures, reset, randomize, presets, keyframe hooks), `createParameterCommands` for agents and `parameterSchemaFromShaderControls` (no third-party imports) |
|
|
430
431
|
|
|
431
|
-
The root entry (`@pixerate/editor`) re-exports everything except animation, canvas, agent, commands, persistence, generation, tokens, parameters and image editor, including TipTap. Import from the narrowest subpath you need: `grammar`, `history`, `animation`, `spreadsheet`, `commands`, `persistence` and `image-editor` have no third-party imports, so a spreadsheet-only app bundles no TipTap, markdown or dagre code. The package is marked `sideEffects: false`, so unused root exports are also tree-shaken.
|
|
432
|
+
The root entry (`@pixerate/editor`) re-exports everything except animation, canvas, agent, commands, persistence, generation, tokens, parameters, vector and image editor, including TipTap. Import from the narrowest subpath you need: `grammar`, `history`, `animation`, `spreadsheet`, `commands`, `persistence` and `image-editor` have no third-party imports, so a spreadsheet-only app bundles no TipTap, markdown or dagre code. The package is marked `sideEffects: false`, so unused root exports are also tree-shaken.
|
|
432
433
|
|
|
433
434
|
## Keyframe animation without the canvas
|
|
434
435
|
|
package/dist/agent/index.d.cts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as CanvasNode, b as CanvasEdge, X as XYPosition, S as Side } from '../types-BFkYA4eF.cjs';
|
|
2
2
|
export { J as JsonSchema, a as JsonSchemaType, S as SchemaValidationError, v as validateJsonSchema } from '../schema-DYDGdYL9.cjs';
|
|
3
3
|
import { A as AgentToolProvider } from '../registry-DnzpgY27.cjs';
|
|
4
4
|
export { a as AgentTool, b as AgentToolHandler, M as McpListToolsResult, c as McpToolContent, d as McpToolDefinition, e as McpToolResult, T as TOOL_NAMESPACE_SEPARATOR, f as ToolCallContext, g as ToolCallError, h as ToolErrorCode, i as ToolRegistry, j as ToolRegistryError, k as ToolRegistryOptions, l as createToolRegistry, t as toToolResult } from '../registry-DnzpgY27.cjs';
|
|
5
5
|
export { EDITOR_MCP_TOOLS, EXPORT_EXCLUDED_SELECTORS, MCP_TOOL_EDIT_CANVAS, MCP_TOOL_EDIT_PROMPT, MCP_TOOL_GET_EDITOR_STATE, MCP_TOOL_VIEW_EDITOR } from '../tools/index.cjs';
|
|
6
6
|
import { Editor } from '@tiptap/core';
|
|
7
7
|
import { S as SpreadsheetController } from '../controller-w6eRTjF8.cjs';
|
|
8
|
-
import { C as ComponentCommandTarget } from '../builtins-
|
|
8
|
+
import { C as ComponentCommandTarget } from '../builtins-BLud97fC.cjs';
|
|
9
9
|
import '../types-DsiXGmjo.cjs';
|
|
10
|
+
import '../arrange-B6GH5Qcc.cjs';
|
|
10
11
|
import '../registry-D0GADKc7.cjs';
|
|
11
12
|
|
|
12
13
|
/**
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as CanvasNode, b as CanvasEdge, X as XYPosition, S as Side } from '../types-BFkYA4eF.js';
|
|
2
2
|
export { J as JsonSchema, a as JsonSchemaType, S as SchemaValidationError, v as validateJsonSchema } from '../schema-DYDGdYL9.js';
|
|
3
3
|
import { A as AgentToolProvider } from '../registry-BDe-vlv3.js';
|
|
4
4
|
export { a as AgentTool, b as AgentToolHandler, M as McpListToolsResult, c as McpToolContent, d as McpToolDefinition, e as McpToolResult, T as TOOL_NAMESPACE_SEPARATOR, f as ToolCallContext, g as ToolCallError, h as ToolErrorCode, i as ToolRegistry, j as ToolRegistryError, k as ToolRegistryOptions, l as createToolRegistry, t as toToolResult } from '../registry-BDe-vlv3.js';
|
|
5
5
|
export { EDITOR_MCP_TOOLS, EXPORT_EXCLUDED_SELECTORS, MCP_TOOL_EDIT_CANVAS, MCP_TOOL_EDIT_PROMPT, MCP_TOOL_GET_EDITOR_STATE, MCP_TOOL_VIEW_EDITOR } from '../tools/index.js';
|
|
6
6
|
import { Editor } from '@tiptap/core';
|
|
7
7
|
import { S as SpreadsheetController } from '../controller-w6eRTjF8.js';
|
|
8
|
-
import { C as ComponentCommandTarget } from '../builtins-
|
|
8
|
+
import { C as ComponentCommandTarget } from '../builtins-D0BDyAgw.js';
|
|
9
9
|
import '../types-DsiXGmjo.js';
|
|
10
|
+
import '../arrange-BPAXGdMm.js';
|
|
10
11
|
import '../registry-DhVUZioj.js';
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -1,218 +1,4 @@
|
|
|
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
|
-
}
|
|
1
|
+
import { R as Rect, X as XYPosition, C as CanvasNode, a as CanvasNodeStyle } from './types-BFkYA4eF.cjs';
|
|
216
2
|
|
|
217
3
|
/**
|
|
218
4
|
* Canvas arrangement actions that have keyboard shortcuts.
|
|
@@ -395,4 +181,4 @@ declare function applyNodeUpdates<TNode extends CanvasNode>(nodes: TNode[], upda
|
|
|
395
181
|
*/
|
|
396
182
|
declare function invertNodeUpdates(nodes: CanvasNode[], updates: CanvasNodeUpdate[]): CanvasNodeUpdate[];
|
|
397
183
|
|
|
398
|
-
export {
|
|
184
|
+
export { type AlignEdge as A, type CanvasArrangeAction as C, type DistributeAxis as D, LOCKED_DATA_KEY as L, type MatchSizeOptions as M, type NodeRectOptions as N, type SizeDimension as S, type ZOrderOperation as Z, type DistributeMode as a, type CanvasNodeUpdate as b, type AlignNodesOptions as c, type DistributeNodesOptions as d, type ArrangeShortcutBinding as e, DEFAULT_ARRANGE_SHORTCUTS as f, LOCKED_PREVIOUS_FLAGS_KEY as g, alignNodes as h, applyNodeUpdates as i, createNodeLookup as j, distributeNodes as k, getAbsolutePosition as l, getNodeRect as m, getNodeSize as n, invertNodeUpdates as o, isLocked as p, lockNodes as q, matchArrangeShortcut as r, matchSize as s, readStyleSize as t, reorderNodes as u, toggleLockNodes as v, unlockNodes as w, withStyleSize as x };
|
|
@@ -1,218 +1,4 @@
|
|
|
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
|
-
}
|
|
1
|
+
import { R as Rect, X as XYPosition, C as CanvasNode, a as CanvasNodeStyle } from './types-BFkYA4eF.js';
|
|
216
2
|
|
|
217
3
|
/**
|
|
218
4
|
* Canvas arrangement actions that have keyboard shortcuts.
|
|
@@ -395,4 +181,4 @@ declare function applyNodeUpdates<TNode extends CanvasNode>(nodes: TNode[], upda
|
|
|
395
181
|
*/
|
|
396
182
|
declare function invertNodeUpdates(nodes: CanvasNode[], updates: CanvasNodeUpdate[]): CanvasNodeUpdate[];
|
|
397
183
|
|
|
398
|
-
export {
|
|
184
|
+
export { type AlignEdge as A, type CanvasArrangeAction as C, type DistributeAxis as D, LOCKED_DATA_KEY as L, type MatchSizeOptions as M, type NodeRectOptions as N, type SizeDimension as S, type ZOrderOperation as Z, type DistributeMode as a, type CanvasNodeUpdate as b, type AlignNodesOptions as c, type DistributeNodesOptions as d, type ArrangeShortcutBinding as e, DEFAULT_ARRANGE_SHORTCUTS as f, LOCKED_PREVIOUS_FLAGS_KEY as g, alignNodes as h, applyNodeUpdates as i, createNodeLookup as j, distributeNodes as k, getAbsolutePosition as l, getNodeRect as m, getNodeSize as n, invertNodeUpdates as o, isLocked as p, lockNodes as q, matchArrangeShortcut as r, matchSize as s, readStyleSize as t, reorderNodes as u, toggleLockNodes as v, unlockNodes as w, withStyleSize as x };
|