@inditextech/weave-renderer-konva-base 3.0.0-SNAPSHOT.18.1

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.
@@ -0,0 +1,1175 @@
1
+ import { DeepPartial, MappedTypeDescription, WeaveActionBase, WeaveConfig, WeaveElementAttributes, WeaveElementInstance, WeaveExportNodesOptions, WeaveFont, WeaveLoggerConfig, WeaveMousePointInfo, WeaveMousePointInfoSimple, WeaveNodeBase, WeaveNodeChangeType, WeaveNodeConfiguration, WeaveNodeFound, WeaveNodeMutexLock, WeavePluginBase, WeavePosition, WeaveRendererBase, WeaveSelection, WeaveSerializedGroup, WeaveState, WeaveStateElement, WeaveStatus, WeaveStoreBase, WeaveStoreConnectionStatus, WeaveStoreOptions, WeaveUser, WeaveUserMutexLock } from "@inditextech/weave-types";
2
+ import Konva from "konva";
3
+ import pino, { Logger } from "pino";
4
+ import * as Y$1 from "yjs";
5
+ import * as konva_lib_Node18 from "konva/lib/Node";
6
+ import * as konva_lib_Node19 from "konva/lib/Node";
7
+ import * as konva_lib_Node20 from "konva/lib/Node";
8
+ import * as konva_lib_Node21 from "konva/lib/Node";
9
+ import * as konva_lib_Node22 from "konva/lib/Node";
10
+ import * as konva_lib_Node23 from "konva/lib/Node";
11
+ import * as konva_lib_Node12 from "konva/lib/Node";
12
+ import * as konva_lib_Node13 from "konva/lib/Node";
13
+ import { KonvaEventObject } from "konva/lib/Node";
14
+ import * as konva_lib_Group7 from "konva/lib/Group";
15
+ import * as konva_lib_Shape8 from "konva/lib/Shape";
16
+ import * as konva_lib_Shape9 from "konva/lib/Shape";
17
+ import { Stage, StageConfig } from "konva/lib/Stage";
18
+ import { TransformerConfig } from "konva/lib/shapes/Transformer";
19
+ import * as konva_lib_types6 from "konva/lib/types";
20
+ import * as konva_lib_shapes_Rect10 from "konva/lib/shapes/Rect";
21
+ import "konva/lib/shapes/Line";
22
+ import "konva/lib/Layer";
23
+
24
+ //#region ../sdk/dist/sdk.d.ts
25
+
26
+ //#region src/stores/store.d.ts
27
+ declare abstract class WeaveStore implements WeaveStoreBase {
28
+ protected instance: Weave;
29
+ protected name: string;
30
+ protected supportsUndoManager: boolean;
31
+ protected config: WeaveStoreOptions;
32
+ private state;
33
+ private latestState;
34
+ private document;
35
+ private logger;
36
+ private undoManager;
37
+ private isRoomLoaded;
38
+ constructor(config: WeaveStoreOptions);
39
+ getName(): string;
40
+ getLogger(): Logger;
41
+ register(instance: Weave): WeaveStore;
42
+ getUser(): WeaveUser;
43
+ setState(state: WeaveState): void;
44
+ setLatestState(newState: WeaveState): void;
45
+ getLatestState(): WeaveState;
46
+ getDocument(): Y$1.Doc;
47
+ loadDocument(roomData: Uint8Array): void;
48
+ loadDefaultDocument(setupDefaultDocument?: (doc: Y$1.Doc) => void): void;
49
+ getState(): MappedTypeDescription<WeaveState>;
50
+ getStateJson(): WeaveState;
51
+ getStateSnapshot(): Uint8Array;
52
+ private emitOnRoomLoadedEvent;
53
+ setup(): void;
54
+ canUndoStateStep(): boolean;
55
+ canRedoStateStep(): boolean;
56
+ undoStateStep(): void;
57
+ redoStateStep(): void;
58
+ handleConnectionStatusChange(status: WeaveStoreConnectionStatus): void;
59
+ abstract connect(extraParams?: any): void;
60
+ abstract disconnect(): void;
61
+ abstract handleAwarenessChange(emit: boolean): void;
62
+ abstract setAwarenessInfo(field: string, value: unknown): void;
63
+ }
64
+
65
+ //#endregion
66
+ //#region src/plugins/plugin.d.ts
67
+ //# sourceMappingURL=store.d.ts.map
68
+ declare abstract class WeavePlugin implements WeavePluginBase {
69
+ protected instance: Weave;
70
+ protected name: string;
71
+ protected enabled: boolean;
72
+ private logger;
73
+ register(instance: Weave): WeavePlugin;
74
+ getName(): string;
75
+ getLogger(): Logger;
76
+ isEnabled(): boolean;
77
+ abstract onInit?(): void;
78
+ abstract onRender?(): void;
79
+ abstract enable(): void;
80
+ abstract disable(): void;
81
+ }
82
+
83
+ //#endregion
84
+ //#region src/plugins/nodes-selection/types.d.ts
85
+ //# sourceMappingURL=plugin.d.ts.map
86
+
87
+ type WeaveNodesSelectionOnSelectionParams = {
88
+ resizeEnabled: boolean;
89
+ rotateEnabled: boolean;
90
+ enabledAnchors: string[];
91
+ };
92
+ type WeaveNodesSelectionBehaviorsConfig = {
93
+ singleSelection: {
94
+ enabled: boolean;
95
+ };
96
+ multipleSelection: {
97
+ enabled: boolean;
98
+ };
99
+ onMultipleSelection?: (selectedNodes: Konva.Node[]) => Partial<WeaveNodesSelectionOnSelectionParams>;
100
+ };
101
+ type WeaveNodesSelectionPanningOnSelectionConfig = {
102
+ edgeThreshold: number;
103
+ minScrollSpeed: number;
104
+ maxScrollSpeed: number;
105
+ };
106
+ type WeaveNodesSelectionConfig = {
107
+ selection: Konva.TransformerConfig;
108
+ hover: Konva.TransformerConfig;
109
+ selectionArea: Konva.RectConfig;
110
+ panningWhenSelection: WeaveNodesSelectionPanningOnSelectionConfig;
111
+ behaviors: WeaveNodesSelectionBehaviorsConfig;
112
+ style: WeaveNodesSelectionStyleConfig;
113
+ };
114
+ type WeaveNodesSelectionStyleConfig = {
115
+ dragOpacity: number;
116
+ };
117
+ type WeaveNodesSelectionPluginConfig = Partial<WeaveNodesSelectionConfig>;
118
+ type WeaveNodesSelectionPluginParams = {
119
+ config?: WeaveNodesSelectionPluginConfig;
120
+ };
121
+
122
+ //#endregion
123
+ //#region src/plugins/context-menu/types.d.ts
124
+ //# sourceMappingURL=types.d.ts.map
125
+ type WeaveStageContextMenuPluginParams = {
126
+ config?: WeaveStageContextMenuPluginConfig;
127
+ };
128
+ type WeaveStageContextMenuPluginConfig = {
129
+ xOffset?: number;
130
+ yOffset?: number;
131
+ };
132
+ //#endregion
133
+ //#region src/plugins/context-menu/context-menu.d.ts
134
+ //# sourceMappingURL=types.d.ts.map
135
+ declare class WeaveContextMenuPlugin extends WeavePlugin {
136
+ private config;
137
+ private contextMenuVisible;
138
+ private tapHold;
139
+ private tapHoldTimeout;
140
+ private pointers;
141
+ private timer;
142
+ protected tapStart: {
143
+ x: number;
144
+ y: number;
145
+ time: number;
146
+ } | null;
147
+ getLayerName: undefined;
148
+ initLayer: undefined;
149
+ onRender: undefined;
150
+ constructor(params: WeaveStageContextMenuPluginParams);
151
+ getName(): string;
152
+ onInit(): void;
153
+ isPressed(e: KonvaEventObject<PointerEvent, Stage>): boolean;
154
+ setTapStart(e: KonvaEventObject<PointerEvent, Stage>): void;
155
+ triggerContextMenu(eventTarget: Konva.Node, target: Konva.Node | undefined): void;
156
+ closeContextMenu(): void;
157
+ private getSelectionPlugin;
158
+ cancelLongPressTimer(): void;
159
+ private initEvents;
160
+ private getStageClickPoint;
161
+ isContextMenuVisible(): boolean;
162
+ isTapHold(): boolean;
163
+ enable(): void;
164
+ disable(): void;
165
+ }
166
+
167
+ //#endregion
168
+ //#region src/plugins/nodes-edge-snapping/constants.d.ts
169
+ //# sourceMappingURL=context-menu.d.ts.map
170
+
171
+ declare const GUIDE_ORIENTATION: {
172
+ readonly HORIZONTAL: "H";
173
+ readonly VERTICAL: "V";
174
+ };
175
+ declare const NODE_SNAP: {
176
+ readonly START: "start";
177
+ readonly CENTER: "center";
178
+ readonly END: "end";
179
+ };
180
+
181
+ //#endregion
182
+ //#region src/plugins/nodes-edge-snapping/types.d.ts
183
+ //# sourceMappingURL=constants.d.ts.map
184
+ type NodeSnapKeys = keyof typeof NODE_SNAP;
185
+ type NodeSnap = (typeof NODE_SNAP)[NodeSnapKeys];
186
+ type NodeSnappingEdge = {
187
+ nodeId: string;
188
+ guide: number;
189
+ offset: number;
190
+ snap: NodeSnap;
191
+ };
192
+ type NodeSnappingEdges = {
193
+ vertical: NodeSnappingEdge[];
194
+ horizontal: NodeSnappingEdge[];
195
+ };
196
+ type LineGuideStop = {
197
+ vertical: number[];
198
+ horizontal: number[];
199
+ };
200
+ type GuideOrientationKeys = keyof typeof GUIDE_ORIENTATION;
201
+ type GuideOrientation = (typeof GUIDE_ORIENTATION)[GuideOrientationKeys];
202
+ type Guide = {
203
+ lineGuide: number;
204
+ offset: number;
205
+ orientation: GuideOrientation;
206
+ snap: NodeSnap;
207
+ };
208
+ type WeaveNodesEdgeSnappingPluginConfig = {
209
+ guideLine: Konva.LineConfig;
210
+ dragSnappingThreshold: number;
211
+ transformSnappingThreshold: number;
212
+ };
213
+ type WeaveNodesEdgeSnappingPluginParams = {
214
+ config?: WeaveNodesEdgeSnappingPluginConfig;
215
+ };
216
+
217
+ //#endregion
218
+ //#region src/plugins/nodes-edge-snapping/nodes-edge-snapping.d.ts
219
+ //# sourceMappingURL=types.d.ts.map
220
+ declare class WeaveNodesEdgeSnappingPlugin extends WeavePlugin {
221
+ private readonly guideLineConfig;
222
+ private readonly dragSnappingThreshold;
223
+ private readonly transformSnappingThreshold;
224
+ onRender: undefined;
225
+ constructor(params?: Partial<WeaveNodesEdgeSnappingPluginParams>);
226
+ getName(): string;
227
+ onInit(): void;
228
+ setEnabled(enabled: boolean): void;
229
+ deleteGuides(): void;
230
+ evaluateGuidelines(e: KonvaEventObject<any>): void;
231
+ private getSelectionParentNode;
232
+ cleanupGuidelines(): void;
233
+ private initEvents;
234
+ getLineGuideStops(parent: Konva.Node, nodes: Konva.Node[]): LineGuideStop;
235
+ getObjectSnappingEdges(node: Konva.Node): NodeSnappingEdges;
236
+ getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges, type: string): Guide[];
237
+ private sortedGuides;
238
+ drawGuides(guides: Guide[]): void;
239
+ enable(): void;
240
+ disable(): void;
241
+ }
242
+
243
+ //#endregion
244
+ //#region src/plugins/nodes-distance-snapping/constants.d.ts
245
+ //# sourceMappingURL=nodes-edge-snapping.d.ts.map
246
+
247
+ type WeaveNodesDistanceSnappingPluginConfig = {
248
+ enterSnappingTolerance: number;
249
+ exitSnappingTolerance: number;
250
+ ui: WeaveNodesDistanceSnappingUIConfig;
251
+ };
252
+ type WeaveNodesDistanceSnappingPluginParams = {
253
+ config?: DeepPartial<WeaveNodesDistanceSnappingPluginConfig>;
254
+ };
255
+ type WeaveNodesDistanceSnappingUIConfig = {
256
+ line: {
257
+ stroke: string;
258
+ strokeWidth: number;
259
+ };
260
+ label: {
261
+ height: number;
262
+ cornerRadius: number;
263
+ fill: string;
264
+ fontSize: number;
265
+ fontFamily: string;
266
+ fontStyle: string;
267
+ linePadding: number;
268
+ paddingX: number;
269
+ };
270
+ };
271
+
272
+ //#endregion
273
+ //#region src/plugins/nodes-distance-snapping/nodes-distance-snapping.d.ts
274
+ //# sourceMappingURL=types.d.ts.map
275
+ declare class WeaveNodesDistanceSnappingPlugin extends WeavePlugin {
276
+ private readonly uiConfig;
277
+ private readonly enterSnappingTolerance;
278
+ private readonly exitSnappingTolerance;
279
+ private peerDistanceX;
280
+ private peerDistanceY;
281
+ private snapPositionX;
282
+ private snapPositionY;
283
+ private currentSizeSnapHorizontal;
284
+ private currentSizeSnapVertical;
285
+ private referenceLayer;
286
+ onRender: undefined;
287
+ constructor(params?: Partial<WeaveNodesDistanceSnappingPluginParams>);
288
+ getName(): string;
289
+ onInit(): void;
290
+ setEnabled(enabled: boolean): void;
291
+ deleteGuides(): void;
292
+ evaluateGuidelines(e: KonvaEventObject<any>): void;
293
+ private getBoxClientRect;
294
+ private getSelectionParentNode;
295
+ private getPeers;
296
+ private validateHorizontalSnapping;
297
+ private validateVerticalSnapping;
298
+ private setNodeClientRectX;
299
+ private setNodeClientRectY;
300
+ cleanupGuidelines(): void;
301
+ private initEvents;
302
+ private isOverlapping;
303
+ private getVerticallyIntersectingNodes;
304
+ private getHorizontallyIntersectingNodes;
305
+ private drawSizeGuidesHorizontally;
306
+ private drawSizeGuidesVertically;
307
+ private renderDistanceLabel;
308
+ private renderHorizontalLineWithDistanceBetweenNodes;
309
+ private renderVerticalLineWithDistanceBetweenNodes;
310
+ enable(): void;
311
+ disable(): void;
312
+ }
313
+
314
+ //#endregion
315
+ //#region src/plugins/stage-grid/constants.d.ts
316
+ //# sourceMappingURL=nodes-distance-snapping.d.ts.map
317
+
318
+ declare const WEAVE_GRID_TYPES: {
319
+ readonly LINES: "lines";
320
+ readonly DOTS: "dots";
321
+ };
322
+ //#endregion
323
+ //#region src/plugins/stage-grid/types.d.ts
324
+ //# sourceMappingURL=constants.d.ts.map
325
+ type WeaveStageGridPluginConfig = {
326
+ type: WeaveStageGridType;
327
+ gridColor: string;
328
+ gridOriginColor: string;
329
+ gridSize: number;
330
+ gridMajorEvery?: number;
331
+ gridMajorRatio?: number;
332
+ gridStroke?: number;
333
+ gridDotRadius?: number;
334
+ gridDotMaxDotsPerAxis: number;
335
+ };
336
+ type WeaveStageGridPluginParams = {
337
+ config?: Partial<WeaveStageGridPluginConfig>;
338
+ };
339
+ type WeaveStageGridTypeKeys = keyof typeof WEAVE_GRID_TYPES;
340
+ type WeaveStageGridType = (typeof WEAVE_GRID_TYPES)[WeaveStageGridTypeKeys];
341
+
342
+ //#endregion
343
+ //#region src/plugins/stage-grid/stage-grid.d.ts
344
+ //# sourceMappingURL=types.d.ts.map
345
+ declare class WeaveStageGridPlugin extends WeavePlugin {
346
+ private moveToolActive;
347
+ private isMouseMiddleButtonPressed;
348
+ private isSpaceKeyPressed;
349
+ private actStageZoomX;
350
+ private actStageZoomY;
351
+ private actStagePosX;
352
+ private actStagePosY;
353
+ private config;
354
+ constructor(params?: Partial<WeaveStageGridPluginParams>);
355
+ getName(): string;
356
+ getLayerName(): string;
357
+ initLayer(): void;
358
+ onInit(): void;
359
+ private initEvents;
360
+ getLayer(): Konva.Layer | undefined;
361
+ getAdaptiveSpacing(scale: number): number;
362
+ private getAdjustedSpacing;
363
+ private renderGridLines;
364
+ private renderGridDots;
365
+ private hasStageChanged;
366
+ renderGrid(): void;
367
+ onRender(): void;
368
+ enable(): void;
369
+ disable(): void;
370
+ getType(): WeaveStageGridType;
371
+ setType(type: WeaveStageGridType): void;
372
+ }
373
+
374
+ //#endregion
375
+ //#region src/plugins/stage-zoom/constants.d.ts
376
+ //# sourceMappingURL=stage-grid.d.ts.map
377
+
378
+ type WeaveStageZoomPluginConfig = {
379
+ zoomSteps: number[];
380
+ defaultZoom: number;
381
+ fitToScreen: {
382
+ padding: number;
383
+ };
384
+ fitToSelection: {
385
+ padding: number;
386
+ };
387
+ zoomInertia: {
388
+ friction: number;
389
+ mouseWheelStep: number;
390
+ trackpadStep: number;
391
+ };
392
+ };
393
+ type WeaveStageZoomPluginParams = {
394
+ config?: DeepPartial<WeaveStageZoomPluginConfig>;
395
+ };
396
+
397
+ //#endregion
398
+ //#region src/plugins/stage-zoom/stage-zoom.d.ts
399
+ //# sourceMappingURL=types.d.ts.map
400
+ declare class WeaveStageZoomPlugin extends WeavePlugin {
401
+ private isCtrlOrMetaPressed;
402
+ protected previousPointer: string | null;
403
+ getLayerName: undefined;
404
+ initLayer: undefined;
405
+ onRender: undefined;
406
+ private config;
407
+ private actualScale;
408
+ private actualStep;
409
+ private updatedMinimumZoom;
410
+ private pinching;
411
+ private zooming;
412
+ private isTrackpad;
413
+ private zoomVelocity;
414
+ private zoomInertiaType;
415
+ defaultStep: number;
416
+ constructor(params?: WeaveStageZoomPluginParams);
417
+ getName(): string;
418
+ onInit(): void;
419
+ setZoom(scale: number, centered?: boolean, pointer?: Konva.Vector2d): void;
420
+ canZoomOut(): boolean;
421
+ canZoomIn(): boolean;
422
+ zoomToStep(step: number): void;
423
+ private findClosestStepIndex;
424
+ zoomIn(pointer?: Konva.Vector2d): void;
425
+ zoomOut(pointer?: Konva.Vector2d): void;
426
+ minimumZoom(): number;
427
+ fitToScreen(options?: {
428
+ overrideZoom: boolean;
429
+ }): void;
430
+ private fitToElements;
431
+ fitToNodes(nodes: string[], options?: {
432
+ smartZoom?: boolean;
433
+ overrideZoom?: boolean;
434
+ }): void;
435
+ fitToSelection(options?: {
436
+ smartZoom?: boolean;
437
+ overrideZoom?: boolean;
438
+ }): void;
439
+ enable(): void;
440
+ disable(): void;
441
+ getDistance(p1: Konva.Vector2d, p2: Konva.Vector2d): number;
442
+ getCenter(p1: Konva.Vector2d, p2: Konva.Vector2d): {
443
+ x: number;
444
+ y: number;
445
+ };
446
+ private initEvents;
447
+ getInertiaScale(): number;
448
+ zoomTick(): void;
449
+ isPinching(): boolean;
450
+ getStageGridPlugin(): WeaveStageGridPlugin | undefined;
451
+ getNodesSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
452
+ getContextMenuPlugin(): WeaveContextMenuPlugin | undefined;
453
+ getZoomSteps(): number[];
454
+ private clamp;
455
+ }
456
+
457
+ //#endregion
458
+ //#region src/plugins/stage-panning/types.d.ts
459
+ //# sourceMappingURL=stage-zoom.d.ts.map
460
+ type WeaveStagePanningPluginParams = {
461
+ config?: Partial<WeaveStagePanningPluginConfig>;
462
+ };
463
+ type WeaveStagePanningPluginConfig = {
464
+ edgePanOffset: number;
465
+ edgePanMinSpeed: number;
466
+ edgePanSpeed: number;
467
+ edgePanMaxSpeed: number;
468
+ };
469
+
470
+ //#endregion
471
+ //#region src/plugins/stage-panning/stage-panning.d.ts
472
+ //# sourceMappingURL=types.d.ts.map
473
+ declare class WeaveStagePanningPlugin extends WeavePlugin {
474
+ private readonly config;
475
+ private moveToolActive;
476
+ private isMouseLeftButtonPressed;
477
+ private isMouseMiddleButtonPressed;
478
+ private isCtrlOrMetaPressed;
479
+ private isDragging;
480
+ private enableMove;
481
+ private isSpaceKeyPressed;
482
+ private pointers;
483
+ private panning;
484
+ protected previousPointer: string | null;
485
+ protected currentPointer: Konva.Vector2d | null;
486
+ protected stageScrollInterval: NodeJS.Timeout | undefined;
487
+ protected panEdgeTargets: Record<string, Konva.Node | undefined>;
488
+ getLayerName: undefined;
489
+ initLayer: undefined;
490
+ onRender: undefined;
491
+ constructor(params?: WeaveStagePanningPluginParams);
492
+ getName(): string;
493
+ onInit(): void;
494
+ private setCursor;
495
+ private disableMove;
496
+ private initEvents;
497
+ isPanning(): boolean;
498
+ getDistance(p1: Konva.Vector2d, p2: Konva.Vector2d): number;
499
+ getTouchCenter(): {
500
+ x: number;
501
+ y: number;
502
+ } | null;
503
+ getZoomPlugin(): WeaveStageZoomPlugin | undefined;
504
+ getContextMenuPlugin(): WeaveContextMenuPlugin | undefined;
505
+ getNodesSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
506
+ getNodesEdgeSnappingPlugin(): WeaveNodesEdgeSnappingPlugin | undefined;
507
+ getNodesDistanceSnappingPlugin(): WeaveNodesDistanceSnappingPlugin | undefined;
508
+ getStageGridPlugin(): WeaveStageGridPlugin | undefined;
509
+ getCurrentPointer(): konva_lib_types6.Vector2d | null;
510
+ cleanupEdgeMoveIntervals(): void;
511
+ enable(): void;
512
+ disable(): void;
513
+ }
514
+
515
+ //#endregion
516
+ //#region src/plugins/nodes-multi-selection-feedback/types.d.ts
517
+ //# sourceMappingURL=stage-panning.d.ts.map
518
+ type WeaveNodesMultiSelectionFeedbackStyle = {
519
+ stroke: string;
520
+ strokeWidth: number;
521
+ fill: string;
522
+ };
523
+ type WeaveNodesMultiSelectionFeedbackConfig = {
524
+ style: WeaveNodesMultiSelectionFeedbackStyle;
525
+ };
526
+ type WeaveNodesMultiSelectionFeedbackPluginConfig = DeepPartial<WeaveNodesMultiSelectionFeedbackConfig>;
527
+ type WeaveNodesMultiSelectionFeedbackPluginParams = {
528
+ config?: WeaveNodesMultiSelectionFeedbackPluginConfig;
529
+ };
530
+
531
+ //#endregion
532
+ //#region src/plugins/nodes-multi-selection-feedback/nodes-multi-selection-feedback.d.ts
533
+ //# sourceMappingURL=types.d.ts.map
534
+ declare class WeaveNodesMultiSelectionFeedbackPlugin extends WeavePlugin {
535
+ private config;
536
+ protected selectedHalos: Record<string, Konva.Rect>;
537
+ onRender: undefined;
538
+ onInit: undefined;
539
+ constructor(params?: WeaveNodesMultiSelectionFeedbackPluginParams);
540
+ getName(): string;
541
+ getLayerName(): string;
542
+ initLayer(): void;
543
+ getSelectedHalos(): Record<string, konva_lib_shapes_Rect10.Rect>;
544
+ cleanupSelectedHalos(): void;
545
+ private getNodeRectInfo;
546
+ private getNodeInfo;
547
+ createSelectionHalo(node: Konva.Node): void;
548
+ destroySelectionHalo(node: Konva.Node): void;
549
+ updateSelectionHalo(node: Konva.Node): void;
550
+ showSelectionHalo(node: Konva.Node): void;
551
+ hideSelectionHalo(node: Konva.Node): void;
552
+ private getLayer;
553
+ enable(): void;
554
+ disable(): void;
555
+ }
556
+
557
+ //#endregion
558
+ //#region src/plugins/users-presence/constants.d.ts
559
+ //# sourceMappingURL=nodes-multi-selection-feedback.d.ts.map
560
+
561
+ //#endregion
562
+ //#region src/plugins/users-presence/types.d.ts
563
+ //# sourceMappingURL=constants.d.ts.map
564
+ type WeaveUsersPresencePluginConfig = {
565
+ getUser: () => WeaveUser;
566
+ };
567
+ type WeaveUsersPresencePluginParams = {
568
+ config: Pick<WeaveUsersPresencePluginConfig, 'getUser'> & Partial<Omit<WeaveUsersPresencePluginConfig, 'getUser'>>;
569
+ };
570
+ //#endregion
571
+ //#region src/plugins/users-presence/users-presence.d.ts
572
+ //# sourceMappingURL=types.d.ts.map
573
+ declare class WeaveUsersPresencePlugin extends WeavePlugin {
574
+ private readonly config;
575
+ private userPresence;
576
+ onRender: undefined;
577
+ constructor(params: WeaveUsersPresencePluginParams);
578
+ getName(): string;
579
+ onInit(): void;
580
+ sendPresence(): void;
581
+ setPresence<T>(nodeId: string, attrs: T, forceUpdate?: boolean): void;
582
+ forceSendPresence(): void;
583
+ enable(): void;
584
+ disable(): void;
585
+ }
586
+
587
+ //#endregion
588
+ //#region src/plugins/nodes-selection/nodes-selection.d.ts
589
+ //# sourceMappingURL=users-presence.d.ts.map
590
+ declare class WeaveNodesSelectionPlugin extends WeavePlugin {
591
+ private tr;
592
+ private trHover;
593
+ private config;
594
+ private selectionRectangle;
595
+ private active;
596
+ private defaultEnabledAnchors;
597
+ private selecting;
598
+ private didMove;
599
+ private initialized;
600
+ private isCtrlMetaPressed;
601
+ private isSpaceKeyPressed;
602
+ protected taps: number;
603
+ protected isDoubleTap: boolean;
604
+ protected previousTap: {
605
+ x: number;
606
+ y: number;
607
+ time: number;
608
+ } | null;
609
+ protected tapStart: {
610
+ x: number;
611
+ y: number;
612
+ time: number;
613
+ } | null;
614
+ protected tapTimeoutId: NodeJS.Timeout | null;
615
+ private x1;
616
+ private y1;
617
+ private x2;
618
+ private y2;
619
+ private selectionStart;
620
+ private panSpeed;
621
+ private readonly panDirection;
622
+ private pointers;
623
+ private panLoopId;
624
+ private prevSelectedNodes;
625
+ private handledClickOrTap;
626
+ private dragInProcess;
627
+ private dragSelectedNodes;
628
+ private transformInProcess;
629
+ onRender: undefined;
630
+ constructor(params?: WeaveNodesSelectionPluginParams);
631
+ getName(): string;
632
+ getLayerName(): string;
633
+ getConfiguration(): WeaveNodesSelectionConfig;
634
+ initLayer(): void;
635
+ isPasting(): boolean;
636
+ isAreaSelecting(): boolean;
637
+ isSelecting(): boolean;
638
+ isNodeSelected(ele: Konva.Node): boolean;
639
+ onInit(): void;
640
+ private handleUndoRedoSelectionChange;
641
+ private getLayer;
642
+ triggerSelectedNodesEvent(): void;
643
+ removeSelectedNodes(): void;
644
+ private updateSelectionRect;
645
+ private getSpeedFromEdge;
646
+ private updatePanDirection;
647
+ private stopPanLoop;
648
+ private panLoop;
649
+ private setTapStart;
650
+ private checkMovedDrag;
651
+ private checkMoved;
652
+ private checkDoubleTap;
653
+ private hideSelectorArea;
654
+ private initEvents;
655
+ private handleMultipleSelectionBehavior;
656
+ protected syncSelection(): void;
657
+ protected getSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
658
+ protected hideHoverState(): void;
659
+ handleClickOrTap(e: KonvaEventObject<PointerEvent, Stage>): void;
660
+ getTransformer(): Konva.Transformer;
661
+ getHoverTransformer(): Konva.Transformer;
662
+ handleBehaviors(): void;
663
+ setSelectedNodes(nodes: Konva.Node[]): void;
664
+ getSelectedNodes(): (konva_lib_Group7.Group | konva_lib_Shape9.Shape<konva_lib_Shape8.ShapeConfig>)[];
665
+ getSelectedNodesExtended(): WeaveSelection[];
666
+ selectAll(): void;
667
+ selectNone(): void;
668
+ enable(): void;
669
+ disable(): void;
670
+ getNodesSelectionFeedbackPlugin(): WeaveNodesMultiSelectionFeedbackPlugin | undefined;
671
+ getContextMenuPlugin(): WeaveContextMenuPlugin | undefined;
672
+ getStageGridPlugin(): WeaveStageGridPlugin | undefined;
673
+ getNodesEdgeSnappingPlugin(): WeaveNodesEdgeSnappingPlugin | undefined;
674
+ getNodesDistanceSnappingPlugin(): WeaveNodesDistanceSnappingPlugin | undefined;
675
+ getStagePanningPlugin(): WeaveStagePanningPlugin | undefined;
676
+ getUsersPresencePlugin(): WeaveUsersPresencePlugin | undefined;
677
+ isTransforming(): boolean;
678
+ isDragging(): boolean;
679
+ getSelectorConfig(): TransformerConfig;
680
+ saveDragSelectedNodes(): void;
681
+ getDragSelectedNodes(): Konva.Node[];
682
+ setNodesOpacityOnDrag(): void;
683
+ restoreNodesOpacityOnDrag(): void;
684
+ getDragOpacity(): number;
685
+ }
686
+
687
+ //#endregion
688
+ //#region src/nodes/node.d.ts
689
+ //# sourceMappingURL=nodes-selection.d.ts.map
690
+ declare abstract class WeaveNode implements WeaveNodeBase {
691
+ protected instance: Weave;
692
+ protected nodeType: string;
693
+ protected didMove: boolean;
694
+ protected logger: Logger;
695
+ protected previousPointer: string | null;
696
+ register(instance: Weave): WeaveNode;
697
+ getNodeType(): string;
698
+ getLogger(): Logger;
699
+ getSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
700
+ isSelecting(): boolean;
701
+ isPasting(): boolean;
702
+ setupDefaultNodeAugmentation(node: Konva.Node): void;
703
+ isNodeSelected(ele: Konva.Node): boolean;
704
+ scaleReset(node: Konva.Node): void;
705
+ protected setHoverState(node: Konva.Node): void;
706
+ protected hideHoverState(): void;
707
+ setupDefaultNodeEvents(node: Konva.Node): void;
708
+ handleMouseOver(node: Konva.Node): boolean;
709
+ handleMouseout(node: Konva.Node): void;
710
+ create(key: string, props: WeaveElementAttributes): WeaveStateElement;
711
+ onRegister(): void;
712
+ onAdd(nodeInstance: WeaveElementInstance): void;
713
+ abstract onRender(props: WeaveElementAttributes): WeaveElementInstance;
714
+ abstract onUpdate(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
715
+ onDestroy(nodeInstance: WeaveElementInstance): void;
716
+ onDestroyInstance(): void;
717
+ serialize(instance: WeaveElementInstance): WeaveStateElement;
718
+ show(instance: Konva.Node): void;
719
+ hide(instance: Konva.Node): void;
720
+ isVisible(instance: Konva.Node): boolean;
721
+ lock(instance: Konva.Node): void;
722
+ unlock(instance: Konva.Node): void;
723
+ isLocked(instance: Konva.Node): boolean;
724
+ protected defaultGetTransformerProperties(nodeTransformConfig?: any): any;
725
+ protected getNodesSelectionPlugin(): WeaveNodesSelectionPlugin | undefined;
726
+ protected getNodesEdgeSnappingPlugin(): WeaveNodesEdgeSnappingPlugin | undefined;
727
+ protected getNodesDistanceSnappingPlugin(): WeaveNodesDistanceSnappingPlugin | undefined;
728
+ realOffset(instance: WeaveStateElement): Konva.Vector2d;
729
+ private getRealSelectedNode;
730
+ getNodesSelectionFeedbackPlugin(): WeaveNodesMultiSelectionFeedbackPlugin | undefined;
731
+ getUsersPresencePlugin(): WeaveUsersPresencePlugin | undefined;
732
+ getIsAsync(): boolean;
733
+ }
734
+
735
+ //#endregion
736
+ //#region src/actions/action.d.ts
737
+ //# sourceMappingURL=node.d.ts.map
738
+ declare abstract class WeaveAction implements WeaveActionBase {
739
+ protected instance: Weave;
740
+ protected name: string;
741
+ protected tapStart: {
742
+ x: number;
743
+ y: number;
744
+ time: number;
745
+ } | null;
746
+ props: WeaveElementAttributes;
747
+ private logger;
748
+ constructor();
749
+ getName(): string;
750
+ hasAliases(): boolean;
751
+ getAliases(): string[];
752
+ getLogger(): Logger;
753
+ register(instance: Weave): WeaveAction;
754
+ updateProps(props: WeaveElementAttributes): void;
755
+ getProps(): WeaveElementAttributes;
756
+ isPressed(e: KonvaEventObject<PointerEvent, Konva.Stage>): boolean;
757
+ setTapStart(e: KonvaEventObject<PointerEvent, Konva.Stage>): void;
758
+ isTap(e: KonvaEventObject<PointerEvent, Konva.Stage>): boolean;
759
+ abstract onInit?(): void;
760
+ abstract trigger(cancelAction: () => void, params?: unknown): unknown;
761
+ abstract onPropsChange?(): void;
762
+ abstract cleanup?(): void;
763
+ }
764
+
765
+ //#endregion
766
+ //#region src/renderer/renderer.d.ts
767
+ //# sourceMappingURL=action.d.ts.map
768
+ declare abstract class WeaveRenderer extends WeaveRendererBase {
769
+ protected instance: Weave;
770
+ protected logger: Logger;
771
+ getLogger(): Logger;
772
+ register(instance: Weave): this;
773
+ }
774
+
775
+ //#endregion
776
+ //#region src/logger/logger.d.ts
777
+ //# sourceMappingURL=renderer.d.ts.map
778
+ declare class WeaveLogger {
779
+ private readonly instance;
780
+ private config;
781
+ private disabled;
782
+ private logger;
783
+ constructor(instance: Weave, config: WeaveLoggerConfig);
784
+ private log;
785
+ getDisabled(): boolean;
786
+ getLevel(): pino.LevelWithSilentOrString;
787
+ getLogger(): Logger;
788
+ getChildLogger(name: string): pino.Logger<never, boolean>;
789
+ }
790
+
791
+ //#endregion
792
+ //#region src/managers/targeting.d.ts
793
+ //# sourceMappingURL=logger.d.ts.map
794
+ declare class WeaveTargetingManager {
795
+ private instance;
796
+ private logger;
797
+ constructor(instance: Weave);
798
+ resolveNode(node: Konva.Node): Konva.Node | undefined;
799
+ pointIntersectsElement(point?: Konva.Vector2d): Konva.Node | null;
800
+ isBoundingBoxIntersecting(nodeA: Konva.Node, nodeB: Konva.Node): boolean;
801
+ isNodesBoundingBoxIntersecting(nodes: Konva.Node[], nodeB: Konva.Node): boolean;
802
+ nodeIntersectsContainerElement(node: Konva.Node | Konva.Transformer, actualLayer?: Konva.Layer | Konva.Group): Konva.Node | undefined;
803
+ getMousePointer(point?: Konva.Vector2d): WeaveMousePointInfo;
804
+ getMousePointerRelativeToContainer(container: Konva.Node | Konva.Layer): WeaveMousePointInfoSimple;
805
+ getRealSelectedNode: (nodeTarget: Konva.Node) => konva_lib_Node19.Node<konva_lib_Node18.NodeConfig>;
806
+ }
807
+
808
+ //#endregion
809
+ //#region src/managers/cloning.d.ts
810
+ //# sourceMappingURL=targeting.d.ts.map
811
+ declare class WeaveCloningManager {
812
+ private instance;
813
+ private logger;
814
+ private clones;
815
+ constructor(instance: Weave);
816
+ nodesToGroupSerialized(instancesToClone: Konva.Node[]): {
817
+ serializedNodes: WeaveStateElement[];
818
+ minPoint: Konva.Vector2d;
819
+ } | undefined;
820
+ private recursivelyUpdateKeys;
821
+ cloneNode(targetNode: Konva.Node): Konva.Node | undefined;
822
+ addClone(node: Konva.Node): void;
823
+ removeClone(node: Konva.Node): void;
824
+ getClones(): konva_lib_Node21.Node<konva_lib_Node20.NodeConfig>[];
825
+ isClone(node: Konva.Node): konva_lib_Node23.Node<konva_lib_Node22.NodeConfig> | undefined;
826
+ cleanupClones(): void;
827
+ }
828
+
829
+ //#endregion
830
+ //#region src/managers/register.d.ts
831
+ //# sourceMappingURL=cloning.d.ts.map
832
+ declare class WeaveRegisterManager {
833
+ private instance;
834
+ private nodesHandlers;
835
+ private actionsHandlers;
836
+ private plugins;
837
+ private logger;
838
+ constructor(instance: Weave);
839
+ getPlugins(): Record<string, WeavePlugin>;
840
+ getNodesHandlers(): Record<string, WeaveNode>;
841
+ getActionsHandlers(): Record<string, WeaveAction>;
842
+ getPlugin<T>(pluginName: string): T | undefined;
843
+ getActionHandler<T>(actionName: string): T | undefined;
844
+ getNodeHandler<T>(nodeType: string): T | undefined;
845
+ registerPlugins(): void;
846
+ registerPlugin(plugin: WeavePlugin): void;
847
+ registerNodesHandlers(): void;
848
+ registerNodeHandler(node: WeaveNode): void;
849
+ registerActionsHandlers(): void;
850
+ registerActionHandler(action: WeaveAction): void;
851
+ }
852
+
853
+ //#endregion
854
+ //#region src/managers/stage.d.ts
855
+ //# sourceMappingURL=register.d.ts.map
856
+ declare class WeaveStageManager {
857
+ private instance;
858
+ private logger;
859
+ private stage;
860
+ private config;
861
+ constructor(instance: Weave, config: Konva.StageConfig);
862
+ getConfiguration(): StageConfig;
863
+ setStage(stage: Konva.Stage): void;
864
+ getStage(): Konva.Stage;
865
+ getMainLayer(): Konva.Layer | undefined;
866
+ getSelectionLayer(): Konva.Layer | undefined;
867
+ getCommentsLayer(): Konva.Layer | undefined;
868
+ getGridLayer(): Konva.Layer | undefined;
869
+ getUtilityLayer(): Konva.Layer | undefined;
870
+ getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
871
+ initStage(): void;
872
+ getContainerNodes(): WeaveElementInstance[];
873
+ }
874
+
875
+ //#endregion
876
+ //#region src/types.d.ts
877
+ //# sourceMappingURL=stage.d.ts.map
878
+ type DOMElement = HTMLElement | Element | null;
879
+
880
+ //#endregion
881
+ //#region src/weave.d.ts
882
+ //# sourceMappingURL=types.d.ts.map
883
+
884
+ declare class Weave {
885
+ private id;
886
+ private emitter;
887
+ private config;
888
+ private logger;
889
+ private moduleLogger;
890
+ private renderer;
891
+ private initialized;
892
+ private status;
893
+ private setupManager;
894
+ private registerManager;
895
+ private stateManager;
896
+ private storeManager;
897
+ private stageManager;
898
+ private groupsManager;
899
+ private targetingManager;
900
+ private cloningManager;
901
+ private fontsManager;
902
+ private zIndexManager;
903
+ private pluginsManager;
904
+ private actionsManager;
905
+ private exportManager;
906
+ private readonly usersManager;
907
+ private readonly mutexManager;
908
+ private readonly asyncManager;
909
+ private readonly hooksManager;
910
+ private readonly dragAndDropManager;
911
+ constructor(weaveConfig: Pick<WeaveConfig, 'store' | 'renderer'> & DeepPartial<Omit<WeaveConfig, 'store' | 'renderer'>>, stageConfig: Konva.StageConfig);
912
+ getRenderer(): WeaveRenderer;
913
+ setupRenderer(): void;
914
+ setStatus(status: WeaveStatus): void;
915
+ getStatus(): WeaveStatus;
916
+ setStore(store: WeaveStore): void;
917
+ private handleStoreConnectionStatusChange;
918
+ start(): Promise<void>;
919
+ destroy(): void;
920
+ getId(): string;
921
+ getConfiguration(): WeaveConfig;
922
+ augmentKonvaStageClass(): void;
923
+ augmentKonvaNodeClass(config?: WeaveNodeConfiguration): void;
924
+ emitEvent<T>(event: string, payload?: T): void;
925
+ addEventListener<T>(event: string, callback: (payload: T) => void): void;
926
+ addOnceEventListener<T>(event: string, callback: (payload: T) => void): void;
927
+ removeEventListener<T>(event: string, callback: (payload: T) => void): void;
928
+ emitUserChangeEvent(data: {
929
+ node: WeaveStateElement;
930
+ parentId?: string;
931
+ }, changeType: WeaveNodeChangeType): void;
932
+ private setTransactionIdToInstance;
933
+ private cleanupTransactionIdToInstance;
934
+ private decorateWithZIndex;
935
+ getLogger(): WeaveLogger;
936
+ getMainLogger(): Logger;
937
+ getChildLogger(name: string): pino.Logger<never, boolean>;
938
+ getStageManager(): WeaveStageManager;
939
+ getStage(): Konva.Stage;
940
+ getMainLayer(): Konva.Layer | undefined;
941
+ getSelectionLayer(): Konva.Layer | undefined;
942
+ getCommentsLayer(): Konva.Layer | undefined;
943
+ getGridLayer(): Konva.Layer | undefined;
944
+ getUtilityLayer(): Konva.Layer | undefined;
945
+ setStage(stage: Konva.Stage): void;
946
+ getStageConfiguration(): StageConfig;
947
+ getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
948
+ getContainerNodes(): WeaveElementInstance[];
949
+ getClosestParentWithWeaveId(el: DOMElement): DOMElement;
950
+ getRegisterManager(): WeaveRegisterManager;
951
+ getPlugins(): Record<string, WeavePlugin>;
952
+ getPlugin<T>(pluginName: string): T | undefined;
953
+ getNodesHandlers(): Record<string, WeaveNode>;
954
+ getNodeHandler<T>(nodeType: string): T | undefined;
955
+ getActionsHandlers(): Record<string, WeaveAction>;
956
+ getActionHandler<T>(actionName: string): T | undefined;
957
+ getStore<T extends WeaveStore>(): T;
958
+ registerPlugin(plugin: WeavePlugin): void;
959
+ registerNodeHandler(node: WeaveNode): void;
960
+ registerActionHandler(action: WeaveAction): void;
961
+ registerStore(store: WeaveStore): void;
962
+ isPluginEnabled(pluginName: string): boolean;
963
+ enablePlugin(pluginName: string): void;
964
+ disablePlugin(pluginName: string): void;
965
+ getActiveAction(): string | undefined;
966
+ triggerAction<T, P>(actionName: string, params?: T): P;
967
+ getPropsAction(actionName: string): WeaveElementAttributes;
968
+ updatePropsAction(actionName: string, params: WeaveElementAttributes): void;
969
+ cancelAction(actionName: string): void;
970
+ update(newState: WeaveState): void;
971
+ render(): void;
972
+ findNodeById(tree: WeaveStateElement, key: string, parent?: WeaveStateElement | null, index?: number): WeaveNodeFound;
973
+ findNodesByType(tree: WeaveStateElement, nodeType: string): WeaveStateElement[];
974
+ getNode(nodeKey: string): {
975
+ node: WeaveStateElement | null;
976
+ parent: WeaveStateElement | null;
977
+ index: number;
978
+ };
979
+ addNode(node: WeaveStateElement, parentId?: string, options?: {
980
+ index?: number;
981
+ emitUserChangeEvent?: boolean;
982
+ overrideUserChangeType?: WeaveNodeChangeType;
983
+ }): void;
984
+ addNodeNT(node: WeaveStateElement, parentId?: string, options?: {
985
+ index?: number;
986
+ emitUserChangeEvent?: boolean;
987
+ overrideUserChangeType?: WeaveNodeChangeType;
988
+ }): void;
989
+ updateNode(node: WeaveStateElement, options?: {
990
+ emitUserChangeEvent?: boolean;
991
+ }): void;
992
+ updateNodeNT(node: WeaveStateElement, options?: {
993
+ emitUserChangeEvent?: boolean;
994
+ }): void;
995
+ updateNodes(nodes: WeaveStateElement[], options?: {
996
+ emitUserChangeEvent?: boolean;
997
+ }): void;
998
+ updateNodesNT(nodes: WeaveStateElement[], options?: {
999
+ emitUserChangeEvent?: boolean;
1000
+ }): void;
1001
+ removeNode(node: WeaveStateElement, options?: {
1002
+ emitUserChangeEvent?: boolean;
1003
+ }): void;
1004
+ removeNodeNT(node: WeaveStateElement, options?: {
1005
+ emitUserChangeEvent?: boolean;
1006
+ }): void;
1007
+ removeNodes(nodes: WeaveStateElement[], options?: {
1008
+ emitUserChangeEvent?: boolean;
1009
+ }): void;
1010
+ removeNodesNT(nodes: WeaveStateElement[], options?: {
1011
+ emitUserChangeEvent?: boolean;
1012
+ }): void;
1013
+ zMoveNode(node: WeaveStateElement, position: WeavePosition, options?: {
1014
+ emitUserChangeEvent?: boolean;
1015
+ }): void;
1016
+ zMoveNodeNT(node: WeaveStateElement, position: WeavePosition, options?: {
1017
+ emitUserChangeEvent?: boolean;
1018
+ }): void;
1019
+ getElementsTree(): WeaveStateElement[];
1020
+ isEmpty(): boolean;
1021
+ getContainerByNodeId(nodeId: string): string | undefined;
1022
+ getNodeContainerId(node: WeaveElementInstance | Konva.Node): string;
1023
+ getNodeContainer(node: WeaveElementInstance | Konva.Node): Konva.Node | null;
1024
+ getBoundingBox(nodes: Konva.Node[], config?: {
1025
+ skipTransform?: boolean;
1026
+ skipShadow?: boolean;
1027
+ skipStroke?: boolean;
1028
+ relativeTo?: Konva.Container;
1029
+ } | undefined): {
1030
+ x: number;
1031
+ y: number;
1032
+ width: number;
1033
+ height: number;
1034
+ };
1035
+ stateTransactional(callback: () => void): void;
1036
+ moveUp(node: WeaveElementInstance): void;
1037
+ moveDown(node: WeaveElementInstance): void;
1038
+ sendToBack(nodes: WeaveElementInstance | WeaveElementInstance[]): void;
1039
+ bringToFront(nodes: WeaveElementInstance | WeaveElementInstance[]): void;
1040
+ group(nodes: WeaveStateElement[]): void;
1041
+ unGroup(group: WeaveStateElement): void;
1042
+ getTargetingManager(): WeaveTargetingManager;
1043
+ resolveNode(node: Konva.Node): WeaveElementInstance | undefined;
1044
+ pointIntersectsElement(point?: Konva.Vector2d): Konva.Node | null;
1045
+ nodeIntersectsContainerElement(node: Konva.Node | Konva.Transformer, actualLayer?: Konva.Layer | Konva.Group): Konva.Node | undefined;
1046
+ getMousePointer(point?: Konva.Vector2d): WeaveMousePointInfo;
1047
+ getMousePointerRelativeToContainer(container: Konva.Node | Konva.Layer): WeaveMousePointInfoSimple;
1048
+ selectNodesByKey(nodesIds: string[]): void;
1049
+ getRealSelectedNode: (nodeTarget: Konva.Node) => konva_lib_Node13.Node<konva_lib_Node12.NodeConfig>;
1050
+ getCloningManager(): WeaveCloningManager;
1051
+ nodesToGroupSerialized(instancesToClone: Konva.Node[]): WeaveSerializedGroup;
1052
+ getFonts(): WeaveFont[];
1053
+ imageToBase64(img: HTMLImageElement, mimeType: string): string;
1054
+ exportNodes(nodes: WeaveElementInstance[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<HTMLImageElement>;
1055
+ exportNodesServerSide(nodes: string[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<{
1056
+ composites: {
1057
+ input: Buffer;
1058
+ left: number;
1059
+ top: number;
1060
+ }[];
1061
+ width: number;
1062
+ height: number;
1063
+ }>;
1064
+ getExportBoundingBox(nodesIds: string[]): {
1065
+ x: number;
1066
+ y: number;
1067
+ width: number;
1068
+ height: number;
1069
+ };
1070
+ allNodesLocked(nodes: Konva.Node[]): boolean;
1071
+ allNodesUnlocked(nodes: Konva.Node[]): boolean;
1072
+ lockNode(node: Konva.Node): void;
1073
+ lockNodes(nodes: Konva.Node[]): void;
1074
+ unlockNode(node: Konva.Node): void;
1075
+ unlockNodes(nodes: Konva.Node[]): void;
1076
+ allNodesVisible(nodes: Konva.Node[]): boolean;
1077
+ allNodesHidden(nodes: Konva.Node[]): boolean;
1078
+ hideNode(node: Konva.Node): void;
1079
+ hideNodes(nodes: Konva.Node[]): void;
1080
+ showNode(node: Konva.Node): void;
1081
+ showNodes(nodes: Konva.Node[]): void;
1082
+ asyncElementsLoaded(): boolean;
1083
+ loadAsyncElement(nodeId: string, type: string): void;
1084
+ resolveAsyncElement(nodeId: string, type: string): void;
1085
+ isServerSide(): boolean;
1086
+ registerHook<T>(hookName: string, hook: (params: T) => void): void;
1087
+ runPhaseHooks<T>(phaseName: string, execution: (hook: (params: T) => void) => void): void;
1088
+ getHook<T>(hookName: string): T | undefined;
1089
+ unregisterHook(hookName: string): void;
1090
+ acquireMutexLock({
1091
+ nodeIds,
1092
+ operation
1093
+ }: {
1094
+ nodeIds: string[];
1095
+ operation: string;
1096
+ }, action: () => void | Promise<void>): Promise<void>;
1097
+ setMutexLock<T>({
1098
+ nodeIds,
1099
+ operation,
1100
+ metadata
1101
+ }: {
1102
+ nodeIds: string[];
1103
+ operation: string;
1104
+ metadata?: T;
1105
+ }): boolean;
1106
+ releaseMutexLock(): void;
1107
+ getLockDetails<T>(lockId: string): WeaveUserMutexLock<T> | undefined;
1108
+ getNodeMutexLock<T>(nodeId: string): WeaveNodeMutexLock<T> | undefined;
1109
+ getUsers(): WeaveUser[];
1110
+ getDragStartedId(): string | null;
1111
+ isDragStarted(): boolean;
1112
+ startDrag(id: string): void;
1113
+ endDrag(id: string): void;
1114
+ setDragProperties<T>(properties: T): void;
1115
+ getDragProperties<T>(): T | null;
1116
+ } //#endregion
1117
+ //#region src/renderer.d.ts
1118
+
1119
+ //#endregion
1120
+ //#region src/nodes/types.d.ts
1121
+ //# sourceMappingURL=weave.d.ts.map
1122
+ declare class WeaveKonvaBaseRenderer extends WeaveRenderer {
1123
+ protected name: string;
1124
+ private actualState;
1125
+ private readonly reconciler;
1126
+ constructor();
1127
+ init(): void;
1128
+ render(callback?: () => void): void;
1129
+ getReconciler(): {
1130
+ createInstance(instance: Weave, type: string, props: WeaveElementAttributes): WeaveElementInstance | undefined;
1131
+ createRoot(instance: Weave, child: WeaveElementInstance): void;
1132
+ appendChildToContainer(instance: Weave, parent: WeaveElementInstance, child: WeaveElementInstance, index: number): void;
1133
+ removeChild(instance: Weave, parent: WeaveElementInstance | undefined, child: WeaveElementInstance): void;
1134
+ commitUpdate(instance: Weave, node: WeaveElementInstance, type: string, prevProps: WeaveElementAttributes, nextProps: WeaveElementAttributes): void;
1135
+ };
1136
+ deriveRendererInstructions(prevState: WeaveState, nextState: WeaveState): void;
1137
+ private reconcileNode;
1138
+ private reconcileChildren;
1139
+ findElementByKey(state: WeaveState, key: string): WeaveStateElement;
1140
+ stripChildren(props: WeaveElementAttributes): {
1141
+ [key: string]: any;
1142
+ id?: string;
1143
+ nodeType?: string;
1144
+ };
1145
+ buildSubtree(parentInstance: WeaveElementInstance | undefined, element: WeaveStateElement, index: number): void;
1146
+ private createSubtree;
1147
+ private remove;
1148
+ private updateProps;
1149
+ }
1150
+
1151
+ //#endregion
1152
+ //#region src/types.d.ts
1153
+ //# sourceMappingURL=renderer.d.ts.map
1154
+ type RendererInstruction = {
1155
+ kind: 'CREATE_SUBTREE';
1156
+ element: WeaveStateElement;
1157
+ parentKey: string;
1158
+ index: number;
1159
+ } | {
1160
+ kind: 'REMOVE';
1161
+ parentKey: string;
1162
+ key: string;
1163
+ } | {
1164
+ kind: 'UPDATE_PROPS';
1165
+ key: string;
1166
+ type: string;
1167
+ prevProps: WeaveElementAttributes;
1168
+ nextProps: WeaveElementAttributes;
1169
+ };
1170
+
1171
+ //#endregion
1172
+ //# sourceMappingURL=types.d.ts.map
1173
+
1174
+ export { RendererInstruction, WeaveKonvaBaseRenderer };
1175
+ //# sourceMappingURL=renderer-konva-base.d.ts.map