@pixerate/editor-svelte 0.15.3 → 0.16.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/dist/BubbleMenu.svelte.d.ts +14 -0
- package/dist/BubbleMenu.svelte.d.ts.map +1 -0
- package/{src → dist}/EditableTextNodeEditor.svelte +1 -1
- package/dist/EditableTextNodeEditor.svelte.d.ts +26 -0
- package/dist/EditableTextNodeEditor.svelte.d.ts.map +1 -0
- package/dist/TemplateRenderer.svelte.d.ts +14 -0
- package/dist/TemplateRenderer.svelte.d.ts.map +1 -0
- package/dist/canvas/AgentPresenceLayer.svelte.d.ts +9 -0
- package/dist/canvas/AgentPresenceLayer.svelte.d.ts.map +1 -0
- package/dist/canvas/FloatingHorizontalScrollbar.svelte.d.ts +9 -0
- package/dist/canvas/FloatingHorizontalScrollbar.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasClipboard.svelte.d.ts +32 -0
- package/dist/canvas/createCanvasClipboard.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasClipboard.svelte.js +171 -0
- package/dist/canvas/createCanvasDisplacement.d.ts +32 -0
- package/dist/canvas/createCanvasDisplacement.d.ts.map +1 -0
- package/dist/canvas/createCanvasDisplacement.js +170 -0
- package/dist/canvas/createCanvasDocking.svelte.d.ts +56 -0
- package/dist/canvas/createCanvasDocking.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasDocking.svelte.js +227 -0
- package/dist/canvas/createCanvasExplosion.svelte.d.ts +31 -0
- package/dist/canvas/createCanvasExplosion.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasExplosion.svelte.js +346 -0
- package/dist/canvas/createCanvasGraph.svelte.d.ts +62 -0
- package/dist/canvas/createCanvasGraph.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasGraph.svelte.js +223 -0
- package/dist/canvas/createCanvasInteractions.svelte.d.ts +28 -0
- package/dist/canvas/createCanvasInteractions.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasInteractions.svelte.js +95 -0
- package/dist/canvas/createCanvasLayout.d.ts +22 -0
- package/dist/canvas/createCanvasLayout.d.ts.map +1 -0
- package/dist/canvas/createCanvasLayout.js +76 -0
- package/dist/canvas/createCanvasMultiDrag.svelte.d.ts +61 -0
- package/dist/canvas/createCanvasMultiDrag.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasMultiDrag.svelte.js +105 -0
- package/dist/canvas/createCanvasNodeSync.svelte.d.ts +58 -0
- package/dist/canvas/createCanvasNodeSync.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasNodeSync.svelte.js +82 -0
- package/dist/canvas/createCanvasSelection.svelte.d.ts +26 -0
- package/dist/canvas/createCanvasSelection.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasSelection.svelte.js +26 -0
- package/dist/canvas/createCanvasShortcuts.d.ts +9 -0
- package/dist/canvas/createCanvasShortcuts.d.ts.map +1 -0
- package/dist/canvas/createCanvasShortcuts.js +97 -0
- package/dist/canvas/createCanvasTrajectory.d.ts +31 -0
- package/dist/canvas/createCanvasTrajectory.d.ts.map +1 -0
- package/dist/canvas/createCanvasTrajectory.js +141 -0
- package/dist/canvas/createStreamingCanvas.svelte.d.ts +19 -0
- package/dist/canvas/createStreamingCanvas.svelte.d.ts.map +1 -0
- package/dist/canvas/createStreamingCanvas.svelte.js +32 -0
- package/dist/canvas/index.d.ts +18 -688
- package/dist/canvas/index.d.ts.map +1 -0
- package/dist/canvas/index.js +34 -1839
- package/dist/canvas/types.d.ts +183 -0
- package/dist/canvas/types.d.ts.map +1 -0
- package/dist/canvas/types.js +1 -0
- package/dist/createNavigationGuard.svelte.d.ts +24 -0
- package/dist/createNavigationGuard.svelte.d.ts.map +1 -0
- package/dist/createNavigationGuard.svelte.js +65 -0
- package/dist/editor.svelte.d.ts +23 -0
- package/dist/editor.svelte.d.ts.map +1 -0
- package/dist/editor.svelte.js +41 -0
- package/dist/history/createHistoryShortcuts.d.ts +24 -0
- package/dist/history/createHistoryShortcuts.d.ts.map +1 -0
- package/dist/history/createHistoryShortcuts.js +57 -0
- package/dist/history/history.svelte.d.ts +18 -0
- package/dist/history/history.svelte.d.ts.map +1 -0
- package/dist/history/history.svelte.js +43 -0
- package/dist/history/index.d.ts +3 -0
- package/dist/history/index.d.ts.map +1 -0
- package/dist/history/index.js +2 -0
- package/{src → dist}/image-editor/ImageEditor.svelte +1 -1
- package/dist/image-editor/ImageEditor.svelte.d.ts +17 -0
- package/dist/image-editor/ImageEditor.svelte.d.ts.map +1 -0
- package/dist/image-editor/imageEditorState.svelte.d.ts +50 -0
- package/dist/image-editor/imageEditorState.svelte.d.ts.map +1 -0
- package/dist/image-editor/imageEditorState.svelte.js +132 -0
- package/dist/image-editor/index.d.ts +6 -16
- package/dist/image-editor/index.d.ts.map +1 -0
- package/dist/image-editor/index.js +2 -9
- package/dist/index.d.ts +20 -249
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -1119
- package/dist/navigationGuard.d.ts +21 -0
- package/dist/navigationGuard.d.ts.map +1 -0
- package/dist/navigationGuard.js +59 -0
- package/{src → dist}/spreadsheet/FormulaBar.svelte +1 -1
- package/dist/spreadsheet/FormulaBar.svelte.d.ts +17 -0
- package/dist/spreadsheet/FormulaBar.svelte.d.ts.map +1 -0
- package/{src → dist}/spreadsheet/SpreadsheetEditor.svelte +1 -1
- package/dist/spreadsheet/SpreadsheetEditor.svelte.d.ts +22 -0
- package/dist/spreadsheet/SpreadsheetEditor.svelte.d.ts.map +1 -0
- package/dist/spreadsheet/index.d.ts +9 -0
- package/dist/spreadsheet/index.d.ts.map +1 -0
- package/{src/spreadsheet/index.ts → dist/spreadsheet/index.js} +1 -1
- package/dist/spreadsheet/spreadsheet.svelte.d.ts +33 -0
- package/dist/spreadsheet/spreadsheet.svelte.d.ts.map +1 -0
- package/dist/spreadsheet/spreadsheet.svelte.js +160 -0
- package/package.json +13 -15
- package/dist/canvas/index.js.map +0 -1
- package/dist/chunk-HEOI4UNF.js +0 -1191
- package/dist/chunk-HEOI4UNF.js.map +0 -1
- package/dist/image-editor/index.js.map +0 -1
- package/dist/index.css +0 -50
- package/dist/index.css.map +0 -1
- package/dist/index.js.map +0 -1
- package/src/canvas/__tests__/canvas-clipboard.test.ts +0 -154
- package/src/canvas/__tests__/canvas-docking.test.ts +0 -288
- package/src/canvas/__tests__/canvas-explosion.test.ts +0 -634
- package/src/canvas/__tests__/canvas-graph.test.ts +0 -159
- package/src/canvas/__tests__/canvas-interactions.test.ts +0 -86
- package/src/canvas/__tests__/canvas-layout.test.ts +0 -75
- package/src/canvas/__tests__/canvas-multi-drag.test.ts +0 -112
- package/src/canvas/__tests__/canvas-node-sync.svelte.test.ts +0 -104
- package/src/canvas/__tests__/canvas-shortcuts.test.ts +0 -59
- package/src/canvas/createCanvasClipboard.svelte.ts +0 -219
- package/src/canvas/createCanvasDisplacement.ts +0 -253
- package/src/canvas/createCanvasDocking.svelte.ts +0 -355
- package/src/canvas/createCanvasExplosion.svelte.ts +0 -457
- package/src/canvas/createCanvasGraph.svelte.ts +0 -330
- package/src/canvas/createCanvasInteractions.svelte.ts +0 -112
- package/src/canvas/createCanvasLayout.ts +0 -129
- package/src/canvas/createCanvasMultiDrag.svelte.ts +0 -175
- package/src/canvas/createCanvasNodeSync.svelte.ts +0 -150
- package/src/canvas/createCanvasSelection.svelte.ts +0 -51
- package/src/canvas/createCanvasShortcuts.ts +0 -99
- package/src/canvas/createCanvasTrajectory.ts +0 -207
- package/src/canvas/createStreamingCanvas.svelte.ts +0 -56
- package/src/canvas/index.d.ts +0 -688
- package/src/canvas/index.ts +0 -126
- package/src/canvas/types.ts +0 -223
- package/src/createNavigationGuard.svelte.ts +0 -97
- package/src/editor.svelte.ts +0 -65
- package/src/history/createHistoryShortcuts.ts +0 -95
- package/src/history/history.svelte.ts +0 -68
- package/src/history/index.ts +0 -2
- package/src/image-editor/imageEditorState.svelte.ts +0 -151
- package/src/image-editor/index.d.ts +0 -16
- package/src/image-editor/index.ts +0 -2
- package/src/index.d.ts +0 -249
- package/src/index.ts +0 -89
- package/src/navigationGuard.ts +0 -82
- package/src/spreadsheet/spreadsheet.svelte.ts +0 -176
- package/src/svelte.d.ts +0 -5
- /package/{src → dist}/BubbleMenu.svelte +0 -0
- /package/{src → dist}/TemplateRenderer.svelte +0 -0
- /package/{src → dist}/canvas/AgentPresenceLayer.svelte +0 -0
- /package/{src → dist}/canvas/FloatingHorizontalScrollbar.svelte +0 -0
- /package/{src → dist}/canvas/README.md +0 -0
package/src/canvas/index.d.ts
DELETED
|
@@ -1,688 +0,0 @@
|
|
|
1
|
-
import type { Node, Edge, XYPosition, Rect, ColorMode } from '@xyflow/svelte';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Generic node interface representing an element on the canvas.
|
|
5
|
-
*/
|
|
6
|
-
export type CanvasNode<
|
|
7
|
-
TData extends Record<string, any> = Record<string, any>,
|
|
8
|
-
TType extends string | undefined = string | undefined
|
|
9
|
-
> = Node<TData, TType>;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Generic edge interface representing a connection on the canvas.
|
|
13
|
-
*/
|
|
14
|
-
export type CanvasEdge<
|
|
15
|
-
TData extends Record<string, any> = Record<string, any>,
|
|
16
|
-
TType extends string | undefined = string | undefined
|
|
17
|
-
> = Edge<TData, TType>;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Differences computed between two graph states.
|
|
21
|
-
*/
|
|
22
|
-
export interface GraphDifferences<
|
|
23
|
-
TNode extends CanvasNode = CanvasNode,
|
|
24
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
25
|
-
> {
|
|
26
|
-
changedNodes: TNode[];
|
|
27
|
-
changedEdges: TEdge[];
|
|
28
|
-
removedNodes: TNode[];
|
|
29
|
-
removedEdges: TEdge[];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Standard serialized clipboard payload for nodes and optional edges.
|
|
34
|
-
*/
|
|
35
|
-
export interface CanvasClipboardPayload<
|
|
36
|
-
TNode extends CanvasNode = CanvasNode,
|
|
37
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
38
|
-
> {
|
|
39
|
-
version?: number;
|
|
40
|
-
nodes: TNode[];
|
|
41
|
-
edges?: TEdge[];
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Options for Dagre graph layout.
|
|
46
|
-
*/
|
|
47
|
-
export interface CanvasLayoutOptions {
|
|
48
|
-
direction?: 'LR' | 'TB' | 'RL' | 'BT';
|
|
49
|
-
ranksep?: number;
|
|
50
|
-
nodesep?: number;
|
|
51
|
-
defaultNodeWidth?: number;
|
|
52
|
-
defaultNodeHeight?: number;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Options for keyboard shortcuts.
|
|
57
|
-
*/
|
|
58
|
-
export interface CanvasShortcutsOptions<TNode extends CanvasNode = CanvasNode> {
|
|
59
|
-
targetElement?: HTMLElement | Window;
|
|
60
|
-
onCopy?: () => void;
|
|
61
|
-
onCut?: () => void;
|
|
62
|
-
onPaste?: (event: ClipboardEvent) => void;
|
|
63
|
-
onDelete?: (selectedNodes: TNode[]) => void;
|
|
64
|
-
onDuplicate?: (selectedNodes: TNode[]) => void;
|
|
65
|
-
onSelectAll?: () => void;
|
|
66
|
-
onGroup?: (selectedNodes: TNode[]) => void;
|
|
67
|
-
onUngroup?: (selectedNodes: TNode[]) => void;
|
|
68
|
-
onZoomIn?: () => void;
|
|
69
|
-
onZoomOut?: () => void;
|
|
70
|
-
onFitView?: () => void;
|
|
71
|
-
onSearch?: () => void;
|
|
72
|
-
getSelectedNodes?: () => TNode[];
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Docking and intersection callbacks.
|
|
77
|
-
*/
|
|
78
|
-
export interface CanvasDockingCallbacks<TNode extends CanvasNode = CanvasNode> {
|
|
79
|
-
onDockHover?: (dockTarget: TNode, draggedNode: TNode) => void;
|
|
80
|
-
onDockLeave?: (dockTarget: TNode, draggedNode: TNode) => void;
|
|
81
|
-
onDockDrop?: (dockTarget: TNode, draggedNode: TNode) => void;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Configuration options for SvelteFlow presets.
|
|
86
|
-
*/
|
|
87
|
-
export interface CanvasInteractionPresetConfig {
|
|
88
|
-
snapGrid?: [number, number];
|
|
89
|
-
panOnDrag?: number[] | boolean;
|
|
90
|
-
panOnScroll?: boolean;
|
|
91
|
-
selectionOnDrag?: boolean;
|
|
92
|
-
colorMode?: ColorMode;
|
|
93
|
-
multiSelectionKey?: string[];
|
|
94
|
-
minZoom?: number;
|
|
95
|
-
maxZoom?: number;
|
|
96
|
-
selectionMode?: 'partial' | 'full';
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Parametric point returned by a trajectory evaluation.
|
|
101
|
-
*/
|
|
102
|
-
export interface TrajectoryPoint {
|
|
103
|
-
position: XYPosition;
|
|
104
|
-
scale?: number;
|
|
105
|
-
opacity?: number;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Trajectory evaluation function determining path, scale, and opacity over time t in [0, 1].
|
|
110
|
-
*/
|
|
111
|
-
export type TrajectoryFunction = (
|
|
112
|
-
origin: XYPosition,
|
|
113
|
-
target: XYPosition,
|
|
114
|
-
progress: number,
|
|
115
|
-
index: number,
|
|
116
|
-
total: number
|
|
117
|
-
) => TrajectoryPoint;
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Options for fan-out trajectory generator.
|
|
121
|
-
*/
|
|
122
|
-
export interface FanOutTrajectoryOptions {
|
|
123
|
-
curvature?: number;
|
|
124
|
-
spreadAngle?: number;
|
|
125
|
-
startScale?: number;
|
|
126
|
-
endScale?: number;
|
|
127
|
-
startOpacity?: number;
|
|
128
|
-
endOpacity?: number;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Single node animation transition definition.
|
|
133
|
-
*/
|
|
134
|
-
export interface NodeTransition<TNode extends CanvasNode = CanvasNode> {
|
|
135
|
-
node: TNode;
|
|
136
|
-
from: XYPosition;
|
|
137
|
-
to: XYPosition;
|
|
138
|
-
trajectory?: TrajectoryFunction;
|
|
139
|
-
delay?: number;
|
|
140
|
-
duration?: number;
|
|
141
|
-
easing?: (t: number) => number;
|
|
142
|
-
index?: number;
|
|
143
|
-
total?: number;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Displacement axis / direction.
|
|
148
|
-
*/
|
|
149
|
-
export type DisplacementDirection = 'right' | 'left' | 'down' | 'up' | 'vertical';
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Options for directional displacement calculation.
|
|
153
|
-
*/
|
|
154
|
-
export interface DirectionalDisplacementOptions {
|
|
155
|
-
direction?: DisplacementDirection;
|
|
156
|
-
gap?: number;
|
|
157
|
-
spreadSiblingLanes?: boolean;
|
|
158
|
-
siblingTolerance?: number;
|
|
159
|
-
minY?: number;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Options for Dagre reflow displacement calculation.
|
|
164
|
-
*/
|
|
165
|
-
export interface ReflowDisplacementOptions extends CanvasLayoutOptions {
|
|
166
|
-
anchorNodeId: string;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Snapshot of canvas graph state prior to node explosion, enabling exact reversibility.
|
|
171
|
-
*/
|
|
172
|
-
export interface ExplosionSnapshot<
|
|
173
|
-
TNode extends CanvasNode = CanvasNode,
|
|
174
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
175
|
-
> {
|
|
176
|
-
parentId: string;
|
|
177
|
-
childNodeIds: string[];
|
|
178
|
-
childEdgeIds: string[];
|
|
179
|
-
displacedNodes: { id: string; originalPosition: XYPosition }[];
|
|
180
|
-
timestamp: number;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Options for exploding a node.
|
|
185
|
-
*/
|
|
186
|
-
export interface ExplodeNodeOptions<
|
|
187
|
-
TNode extends CanvasNode = CanvasNode,
|
|
188
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
189
|
-
> {
|
|
190
|
-
childNodes: TNode[];
|
|
191
|
-
childEdges?: TEdge[];
|
|
192
|
-
connectParentToChildren?: boolean | 'first' | 'all';
|
|
193
|
-
connectChildrenToDownstream?: boolean;
|
|
194
|
-
displacementStrategy?: 'directional' | 'dagre' | 'none';
|
|
195
|
-
directionalOptions?: DirectionalDisplacementOptions;
|
|
196
|
-
reflowOptions?: Partial<ReflowDisplacementOptions>;
|
|
197
|
-
trajectory?: TrajectoryFunction;
|
|
198
|
-
duration?: number;
|
|
199
|
-
staggerDelay?: number;
|
|
200
|
-
easing?: (t: number) => number;
|
|
201
|
-
onComplete?: () => void;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Options for collapsing an exploded node.
|
|
206
|
-
*/
|
|
207
|
-
export interface CollapseNodeOptions {
|
|
208
|
-
duration?: number;
|
|
209
|
-
staggerDelay?: number;
|
|
210
|
-
easing?: (t: number) => number;
|
|
211
|
-
trajectory?: TrajectoryFunction;
|
|
212
|
-
onComplete?: () => void;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Pure calculation of graph differences between a current state and a baseline state.
|
|
218
|
-
*/
|
|
219
|
-
export declare function calculateGraphDifferences<
|
|
220
|
-
TNode extends CanvasNode = CanvasNode,
|
|
221
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
222
|
-
>(
|
|
223
|
-
currentState: { nodes?: TNode[]; edges?: TEdge[] },
|
|
224
|
-
baselineState: { nodes?: TNode[]; edges?: TEdge[] }
|
|
225
|
-
): GraphDifferences<TNode, TEdge>;
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Pure function to replace a node in a graph, optionally preserving its connected edges.
|
|
229
|
-
*/
|
|
230
|
-
export declare function replaceNodeInGraph<
|
|
231
|
-
TNode extends CanvasNode = CanvasNode,
|
|
232
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
233
|
-
>(
|
|
234
|
-
nodes: TNode[],
|
|
235
|
-
edges: TEdge[],
|
|
236
|
-
oldNode: TNode,
|
|
237
|
-
newNode: TNode,
|
|
238
|
-
keepEdges?: boolean
|
|
239
|
-
): { nodes: TNode[]; edges: TEdge[] };
|
|
240
|
-
|
|
241
|
-
export interface CreateCanvasGraphOptions<
|
|
242
|
-
TNode extends CanvasNode = CanvasNode,
|
|
243
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
244
|
-
> {
|
|
245
|
-
initialNodes?: TNode[];
|
|
246
|
-
initialEdges?: TEdge[];
|
|
247
|
-
onNodesChange?: (nodes: TNode[]) => void;
|
|
248
|
-
onEdgesChange?: (edges: TEdge[]) => void;
|
|
249
|
-
onSave?: () => void;
|
|
250
|
-
createEdge?: (
|
|
251
|
-
sourceId: string,
|
|
252
|
-
targetId: string,
|
|
253
|
-
options?: { label?: string; animated?: boolean; data?: any }
|
|
254
|
-
) => TEdge;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Headless Svelte 5 rune managing canvas graph state and operations.
|
|
259
|
-
*/
|
|
260
|
-
export declare function createCanvasGraph<
|
|
261
|
-
TNode extends CanvasNode = CanvasNode,
|
|
262
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
263
|
-
>(options?: CreateCanvasGraphOptions<TNode, TEdge>): {
|
|
264
|
-
nodes: TNode[];
|
|
265
|
-
edges: TEdge[];
|
|
266
|
-
setNodes(newNodes: TNode[], triggerCallback?: boolean): void;
|
|
267
|
-
setEdges(newEdges: TEdge[], triggerCallback?: boolean): void;
|
|
268
|
-
addNodeOrNodes(nodeOrNodesToAdd: TNode | TNode[], animateFromPosition?: XYPosition, save?: boolean): void;
|
|
269
|
-
addEdge(edgeToAdd: TEdge, save?: boolean): void;
|
|
270
|
-
addEdges(edgesToAdd: TEdge[], save?: boolean): void;
|
|
271
|
-
removeNodes(nodesToRemove: TNode[], save?: boolean): void;
|
|
272
|
-
removeEdges(edgesToRemove: TEdge[], save?: boolean): void;
|
|
273
|
-
replaceNode(oldNode: TNode, newNode: TNode, save?: boolean, keepEdges?: boolean): void;
|
|
274
|
-
addConnectedNodes(params: {
|
|
275
|
-
nodesToAdd: TNode[];
|
|
276
|
-
inboundNodes?: TNode[];
|
|
277
|
-
outboundNodes?: TNode[];
|
|
278
|
-
animatedEdges?: boolean;
|
|
279
|
-
animateFromPosition?: XYPosition;
|
|
280
|
-
inboundEdgeData?: any;
|
|
281
|
-
outboundEdgeData?: any;
|
|
282
|
-
getEdgeLabel?: (source: TNode, target: TNode) => string;
|
|
283
|
-
}): void;
|
|
284
|
-
animateNodePosition(
|
|
285
|
-
node: TNode,
|
|
286
|
-
targetPosition: XYPosition,
|
|
287
|
-
duration?: number,
|
|
288
|
-
easing?: (t: number) => number
|
|
289
|
-
): void;
|
|
290
|
-
getDifferences(baseline: { nodes?: TNode[]; edges?: TEdge[] }): GraphDifferences<TNode, TEdge>;
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Calculates upper-left flow coordinate for an element to be centered in the viewport.
|
|
295
|
-
*/
|
|
296
|
-
export declare function getCenteredNodePosition(
|
|
297
|
-
width?: number,
|
|
298
|
-
height?: number,
|
|
299
|
-
screenToFlowPosition?: (position: XYPosition) => XYPosition,
|
|
300
|
-
screenDimensions?: { width: number; height: number }
|
|
301
|
-
): XYPosition;
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* Updates positions of nodes so their collective bounding box is centered in the current viewport.
|
|
305
|
-
*/
|
|
306
|
-
export declare function centerNodes<TNode extends CanvasNode = CanvasNode>(
|
|
307
|
-
nodes: TNode[],
|
|
308
|
-
screenToFlowPosition: (position: XYPosition) => XYPosition,
|
|
309
|
-
getNodesBounds: (nodes: TNode[]) => Rect,
|
|
310
|
-
screenDimensions?: { width: number; height: number }
|
|
311
|
-
): TNode[];
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Automatically calculates directed hierarchical layout of nodes and edges using Dagre.
|
|
315
|
-
*/
|
|
316
|
-
export declare function getLayoutedNodes<
|
|
317
|
-
TNode extends CanvasNode = CanvasNode,
|
|
318
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
319
|
-
>(
|
|
320
|
-
nodes: TNode[],
|
|
321
|
-
edges: TEdge[],
|
|
322
|
-
getNodesBounds: (nodes: TNode[]) => Rect,
|
|
323
|
-
options?: CanvasLayoutOptions
|
|
324
|
-
): TNode[];
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* Checks if an event originated from a text input, textarea, contenteditable element, or rich editor.
|
|
328
|
-
*/
|
|
329
|
-
export declare function isEventFromTextInput(event: Event | { target: EventTarget | null }): boolean;
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* Validates that an object conforms to minimal CanvasNode shape.
|
|
333
|
-
*/
|
|
334
|
-
export declare function isValidCanvasNode(obj: unknown): obj is CanvasNode;
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* Checks if a string is a valid HTTP/HTTPS URL.
|
|
338
|
-
*/
|
|
339
|
-
export declare function isValidUrl(url: string): boolean;
|
|
340
|
-
|
|
341
|
-
export interface CreateCanvasClipboardOptions<
|
|
342
|
-
TNode extends CanvasNode = CanvasNode,
|
|
343
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
344
|
-
> {
|
|
345
|
-
onPasteNodes?: (nodes: TNode[], edges?: TEdge[]) => void | Promise<void>;
|
|
346
|
-
onPasteUrl?: (url: string, position?: XYPosition) => void;
|
|
347
|
-
onPasteText?: (text: string, position?: XYPosition) => void;
|
|
348
|
-
onPasteImage?: (blob: File) => void | Promise<void>;
|
|
349
|
-
screenToFlowPosition?: (position: XYPosition) => XYPosition;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
/**
|
|
353
|
-
* Headless Svelte 5 rune managing canvas copy, cut, and paste interactions.
|
|
354
|
-
*/
|
|
355
|
-
export declare function createCanvasClipboard<
|
|
356
|
-
TNode extends CanvasNode = CanvasNode,
|
|
357
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
358
|
-
>(options?: CreateCanvasClipboardOptions<TNode, TEdge>): {
|
|
359
|
-
copySelectedNodes(
|
|
360
|
-
selectedNodes: TNode[],
|
|
361
|
-
connectedEdges?: TEdge[],
|
|
362
|
-
event?: ClipboardEvent
|
|
363
|
-
): boolean;
|
|
364
|
-
cutSelectedNodes(
|
|
365
|
-
selectedNodes: TNode[],
|
|
366
|
-
connectedEdges?: TEdge[],
|
|
367
|
-
onRemove?: (nodes: TNode[]) => void,
|
|
368
|
-
event?: ClipboardEvent
|
|
369
|
-
): boolean;
|
|
370
|
-
handlePasteEvent(event: ClipboardEvent): Promise<boolean>;
|
|
371
|
-
};
|
|
372
|
-
|
|
373
|
-
export interface CreateCanvasDockingOptions<TNode extends CanvasNode = CanvasNode>
|
|
374
|
-
extends CanvasDockingCallbacks<TNode> {
|
|
375
|
-
isDockTarget?: (target: TNode) => boolean;
|
|
376
|
-
restorePositionOnDock?: boolean;
|
|
377
|
-
onSave?: () => void;
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* Headless Svelte 5 rune managing canvas node dragging, docking intersection, and connection tracking.
|
|
382
|
-
*/
|
|
383
|
-
export declare function createCanvasDocking<TNode extends CanvasNode = CanvasNode>(
|
|
384
|
-
options?: CreateCanvasDockingOptions<TNode>
|
|
385
|
-
): {
|
|
386
|
-
readonly draggedNode: TNode | null;
|
|
387
|
-
readonly draggedInitialPosition: XYPosition | null;
|
|
388
|
-
readonly connectingHandle: string;
|
|
389
|
-
readonly connectingNode: TNode | null;
|
|
390
|
-
readonly isDragging: boolean;
|
|
391
|
-
handleNodeDragStart(params: {
|
|
392
|
-
targetNode: TNode | null;
|
|
393
|
-
event?: MouseEvent | TouchEvent;
|
|
394
|
-
}): void;
|
|
395
|
-
handleNodeDrag(
|
|
396
|
-
params: {
|
|
397
|
-
targetNode: TNode | null;
|
|
398
|
-
event?: MouseEvent | TouchEvent;
|
|
399
|
-
},
|
|
400
|
-
getIntersectingNodes: (node: TNode) => TNode[]
|
|
401
|
-
): void;
|
|
402
|
-
handleNodeDragStop(
|
|
403
|
-
params: {
|
|
404
|
-
targetNode: TNode | null;
|
|
405
|
-
event?: MouseEvent | TouchEvent;
|
|
406
|
-
},
|
|
407
|
-
getIntersectingNodes: (node: TNode) => TNode[],
|
|
408
|
-
updateNodePosition?: (nodeId: string, position: XYPosition) => void
|
|
409
|
-
): void;
|
|
410
|
-
handleConnectStart(
|
|
411
|
-
params: {
|
|
412
|
-
nodeId: string | null;
|
|
413
|
-
handleId?: string | null;
|
|
414
|
-
handleType: 'source' | 'target' | null;
|
|
415
|
-
},
|
|
416
|
-
getNode: (id: string) => TNode | undefined
|
|
417
|
-
): void;
|
|
418
|
-
handleConnectEnd(): void;
|
|
419
|
-
reset(): void;
|
|
420
|
-
};
|
|
421
|
-
|
|
422
|
-
/**
|
|
423
|
-
* Attaches keyboard shortcut handlers for canvas interaction.
|
|
424
|
-
* Automatically ignores shortcuts when the user is typing into text inputs, textareas, or rich editors.
|
|
425
|
-
*
|
|
426
|
-
* @returns A cleanup function to remove event listeners.
|
|
427
|
-
*/
|
|
428
|
-
export declare function createCanvasShortcuts<TNode extends CanvasNode = CanvasNode>(
|
|
429
|
-
options: CanvasShortcutsOptions<TNode>
|
|
430
|
-
): () => void;
|
|
431
|
-
|
|
432
|
-
export interface CreateCanvasInteractionsOptions {
|
|
433
|
-
targetElement?: HTMLElement | Window;
|
|
434
|
-
onPanModeChange?: (active: boolean) => void;
|
|
435
|
-
onTrackpadDetected?: () => void;
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
/**
|
|
439
|
-
* Headless Svelte 5 rune managing canvas pan interactions (spacebar panning, trackpad pinch detection).
|
|
440
|
-
*/
|
|
441
|
-
export declare function createCanvasInteractions(
|
|
442
|
-
options?: CreateCanvasInteractionsOptions
|
|
443
|
-
): {
|
|
444
|
-
readonly isSpacebarPanning: boolean;
|
|
445
|
-
readonly trackpadDetected: boolean;
|
|
446
|
-
attachListeners(target?: HTMLElement | Window): () => void;
|
|
447
|
-
destroy: () => void;
|
|
448
|
-
};
|
|
449
|
-
|
|
450
|
-
/**
|
|
451
|
-
* Default interaction configuration presets for SvelteFlow.
|
|
452
|
-
*/
|
|
453
|
-
export declare const defaultSvelteFlowPreset: CanvasInteractionPresetConfig;
|
|
454
|
-
|
|
455
|
-
/**
|
|
456
|
-
* Miro-compatible interaction preset (middle/right drag to pan, left drag to select).
|
|
457
|
-
*/
|
|
458
|
-
export declare const miroCompatiblePreset: CanvasInteractionPresetConfig;
|
|
459
|
-
|
|
460
|
-
/**
|
|
461
|
-
* Helper to ensure panels restore pointer events after selection rectangle releases.
|
|
462
|
-
*/
|
|
463
|
-
export declare function restorePanelPointerEvents(panelSelector?: string): void;
|
|
464
|
-
|
|
465
|
-
/**
|
|
466
|
-
* Standard linear trajectory: straight line interpolation with linear scale & opacity progression.
|
|
467
|
-
*/
|
|
468
|
-
export declare const linearTrajectory: TrajectoryFunction;
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* Creates a fan-out trajectory where nodes arc outward from origin to target.
|
|
472
|
-
*/
|
|
473
|
-
export declare function createFanOutTrajectory(options?: FanOutTrajectoryOptions): TrajectoryFunction;
|
|
474
|
-
|
|
475
|
-
/**
|
|
476
|
-
* Creates a custom quadratic Bezier trajectory with a specified or dynamically calculated control point.
|
|
477
|
-
*/
|
|
478
|
-
export declare function createBezierTrajectory(
|
|
479
|
-
getControlPoint: (origin: XYPosition, target: XYPosition) => XYPosition
|
|
480
|
-
): TrajectoryFunction;
|
|
481
|
-
|
|
482
|
-
/**
|
|
483
|
-
* Coordinates and animates multiple node transitions simultaneously with zero per-frame array allocations.
|
|
484
|
-
*/
|
|
485
|
-
export declare function runMultiNodeTransition<TNode extends CanvasNode = CanvasNode>(
|
|
486
|
-
transitions: NodeTransition<TNode>[],
|
|
487
|
-
options?: {
|
|
488
|
-
defaultDuration?: number;
|
|
489
|
-
defaultEasing?: (t: number) => number;
|
|
490
|
-
onUpdate?: () => void;
|
|
491
|
-
onComplete?: () => void;
|
|
492
|
-
}
|
|
493
|
-
): () => void;
|
|
494
|
-
|
|
495
|
-
/**
|
|
496
|
-
* Calculates a bounding rectangle for a set of nodes.
|
|
497
|
-
*/
|
|
498
|
-
export declare function computeNodesBoundingBox<TNode extends CanvasNode = CanvasNode>(
|
|
499
|
-
nodes: TNode[],
|
|
500
|
-
defaultWidth?: number,
|
|
501
|
-
defaultHeight?: number
|
|
502
|
-
): Rect;
|
|
503
|
-
|
|
504
|
-
/**
|
|
505
|
-
* Pure directional displacement calculation.
|
|
506
|
-
*/
|
|
507
|
-
export declare function calculateDirectionalDisplacement<TNode extends CanvasNode = CanvasNode>(params: {
|
|
508
|
-
existingNodes: TNode[];
|
|
509
|
-
originNode: TNode;
|
|
510
|
-
childNodes: TNode[];
|
|
511
|
-
getNodesBounds?: (nodes: TNode[]) => Rect;
|
|
512
|
-
options?: DirectionalDisplacementOptions;
|
|
513
|
-
}): Map<string, XYPosition>;
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* Pure hierarchical Dagre reflow displacement calculation.
|
|
517
|
-
*/
|
|
518
|
-
export declare function calculateReflowDisplacement<
|
|
519
|
-
TNode extends CanvasNode = CanvasNode,
|
|
520
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
521
|
-
>(params: {
|
|
522
|
-
existingNodes: TNode[];
|
|
523
|
-
existingEdges: TEdge[];
|
|
524
|
-
originNode: TNode;
|
|
525
|
-
childNodes: TNode[];
|
|
526
|
-
childEdges?: TEdge[];
|
|
527
|
-
getNodesBounds?: (nodes: TNode[]) => Rect;
|
|
528
|
-
options?: CanvasLayoutOptions;
|
|
529
|
-
}): Map<string, XYPosition>;
|
|
530
|
-
|
|
531
|
-
export interface CanvasGraphTarget<
|
|
532
|
-
TNode extends CanvasNode = CanvasNode,
|
|
533
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
534
|
-
> {
|
|
535
|
-
nodes: TNode[];
|
|
536
|
-
edges: TEdge[];
|
|
537
|
-
setNodes: (nodes: TNode[], triggerCallback?: boolean) => void;
|
|
538
|
-
setEdges: (edges: TEdge[], triggerCallback?: boolean) => void;
|
|
539
|
-
addNodeOrNodes: (nodes: TNode | TNode[], animateFrom?: XYPosition, save?: boolean) => void;
|
|
540
|
-
addEdges: (edges: TEdge[], save?: boolean) => void;
|
|
541
|
-
removeNodes: (nodes: TNode[], save?: boolean) => void;
|
|
542
|
-
removeEdges: (edges: TEdge[], save?: boolean) => void;
|
|
543
|
-
createEdge?: (sourceId: string, targetId: string, options?: any) => TEdge;
|
|
544
|
-
onSave?: () => void;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
export interface CreateCanvasExplosionOptions<TNode extends CanvasNode = CanvasNode> {
|
|
548
|
-
getNodesBounds?: (nodes: TNode[]) => Rect;
|
|
549
|
-
onSave?: () => void;
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
/**
|
|
553
|
-
* Headless Svelte 5 rune managing canvas node explosion, spatial layout displacement,
|
|
554
|
-
* coordinated multi-node animation paths, and reversible collapsing.
|
|
555
|
-
*/
|
|
556
|
-
export declare function createCanvasExplosion<
|
|
557
|
-
TNode extends CanvasNode = CanvasNode,
|
|
558
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
559
|
-
>(
|
|
560
|
-
graph: CanvasGraphTarget<TNode, TEdge>,
|
|
561
|
-
options?: CreateCanvasExplosionOptions<TNode>
|
|
562
|
-
): {
|
|
563
|
-
readonly explodedNodeIds: string[];
|
|
564
|
-
isExploded(nodeId: string): boolean;
|
|
565
|
-
explodeNode(parentId: string, explodeOptions: ExplodeNodeOptions<TNode, TEdge>): boolean;
|
|
566
|
-
collapseNode(parentId: string, collapseOptions?: CollapseNodeOptions): boolean;
|
|
567
|
-
toggleExplode(
|
|
568
|
-
parentId: string,
|
|
569
|
-
explodeOptions: ExplodeNodeOptions<TNode, TEdge>,
|
|
570
|
-
collapseOptions?: CollapseNodeOptions
|
|
571
|
-
): boolean;
|
|
572
|
-
getSnapshot(parentId: string): ExplosionSnapshot<TNode, TEdge> | undefined;
|
|
573
|
-
};
|
|
574
|
-
|
|
575
|
-
export interface HandleConfig {
|
|
576
|
-
id?: string | null;
|
|
577
|
-
type: 'source' | 'target';
|
|
578
|
-
position: any;
|
|
579
|
-
x?: number;
|
|
580
|
-
y?: number;
|
|
581
|
-
width?: number;
|
|
582
|
-
height?: number;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
export interface NodeMeasurement {
|
|
586
|
-
width: number;
|
|
587
|
-
height: number;
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
export declare function preserveNodeMeasurements<TNode extends CanvasNode = CanvasNode>(
|
|
591
|
-
newNodes: TNode[],
|
|
592
|
-
existingNodes: TNode[] | Map<string, TNode>
|
|
593
|
-
): TNode[];
|
|
594
|
-
|
|
595
|
-
export declare function normalizeNodeHandles<TNode extends CanvasNode = CanvasNode>(
|
|
596
|
-
node: TNode,
|
|
597
|
-
handles?: HandleConfig[]
|
|
598
|
-
): TNode;
|
|
599
|
-
|
|
600
|
-
export interface CreateCanvasNodeSyncOptions<
|
|
601
|
-
TItem,
|
|
602
|
-
TNode extends CanvasNode = CanvasNode,
|
|
603
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
604
|
-
> {
|
|
605
|
-
items: () => TItem[];
|
|
606
|
-
toNode: (
|
|
607
|
-
item: TItem,
|
|
608
|
-
index: number,
|
|
609
|
-
context: { existingNode?: TNode; prevNodesMap: Map<string, TNode> }
|
|
610
|
-
) => TNode;
|
|
611
|
-
toEdges?: (items: TItem[], nodes: TNode[]) => TEdge[];
|
|
612
|
-
defaultHandles?: (node: TNode) => HandleConfig[] | undefined;
|
|
613
|
-
}
|
|
614
|
-
|
|
615
|
-
export declare function createCanvasNodeSync<
|
|
616
|
-
TItem,
|
|
617
|
-
TNode extends CanvasNode = CanvasNode,
|
|
618
|
-
TEdge extends CanvasEdge = CanvasEdge
|
|
619
|
-
>(options: CreateCanvasNodeSyncOptions<TItem, TNode, TEdge>): {
|
|
620
|
-
nodes: TNode[];
|
|
621
|
-
edges: TEdge[];
|
|
622
|
-
updateNodeMeasurements(id: string, width: number, height: number): void;
|
|
623
|
-
};
|
|
624
|
-
|
|
625
|
-
export interface MultiDragFollowerOffset {
|
|
626
|
-
deltaX: number;
|
|
627
|
-
deltaY: number;
|
|
628
|
-
originalPosition: XYPosition;
|
|
629
|
-
stackOffsetX: number;
|
|
630
|
-
stackOffsetY: number;
|
|
631
|
-
rotationDeg: number;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
export interface MultiDragState {
|
|
635
|
-
leadId: string;
|
|
636
|
-
offsets: Record<string, MultiDragFollowerOffset>;
|
|
637
|
-
count: number;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
export interface CreateCanvasMultiDragOptions {
|
|
641
|
-
stackOffsetStepX?: number;
|
|
642
|
-
stackOffsetStepY?: number;
|
|
643
|
-
rotationAngles?: number[];
|
|
644
|
-
baseZIndex?: number;
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
export interface FollowerTransform {
|
|
648
|
-
isFollower: boolean;
|
|
649
|
-
stackOffsetX: number;
|
|
650
|
-
stackOffsetY: number;
|
|
651
|
-
rotationDeg: number;
|
|
652
|
-
zIndex: number;
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
export declare function createCanvasMultiDrag(options?: CreateCanvasMultiDragOptions): {
|
|
656
|
-
readonly dragState: MultiDragState | null;
|
|
657
|
-
readonly isMultiDrag: boolean;
|
|
658
|
-
readonly count: number;
|
|
659
|
-
readonly leadId: string | null;
|
|
660
|
-
startMultiDrag(
|
|
661
|
-
leadNodeId: string,
|
|
662
|
-
selectedNodeIds: string[] | Set<string>,
|
|
663
|
-
nodes: CanvasNode[] | Map<string, CanvasNode>
|
|
664
|
-
): MultiDragState | null;
|
|
665
|
-
getFollowerTransform(nodeId: string): FollowerTransform;
|
|
666
|
-
cancelMultiDrag(
|
|
667
|
-
applyRestore?: (restores: { id: string; originalPosition: XYPosition }[]) => void
|
|
668
|
-
): { id: string; originalPosition: XYPosition }[];
|
|
669
|
-
commitMultiDrag(): void;
|
|
670
|
-
};
|
|
671
|
-
|
|
672
|
-
export interface CanvasSelectionOptions {
|
|
673
|
-
isSpacebarPanning?: boolean;
|
|
674
|
-
selectionMode?: 'partial' | 'full';
|
|
675
|
-
multiSelectionKey?: string[];
|
|
676
|
-
}
|
|
677
|
-
|
|
678
|
-
export declare function getMarqueeSelectionPreset(
|
|
679
|
-
options?: CanvasSelectionOptions
|
|
680
|
-
): CanvasInteractionPresetConfig;
|
|
681
|
-
|
|
682
|
-
export declare function handleDeselectOnEscape(
|
|
683
|
-
event: KeyboardEvent,
|
|
684
|
-
onDeselect: () => void
|
|
685
|
-
): boolean;
|
|
686
|
-
|
|
687
|
-
export declare const FloatingHorizontalScrollbar: any;
|
|
688
|
-
|