@inditextech/weave-sdk 0.1.1 → 0.2.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/sdk.d.cts ADDED
@@ -0,0 +1,1433 @@
1
+ import Emittery from "emittery";
2
+ import Konva from "konva";
3
+ import { Vector2d } from "konva/lib/types";
4
+ import pino, { Logger } from "pino";
5
+ import { MappedTypeDescription } from "@syncedstore/core/types/doc";
6
+ import { Doc } from "yjs";
7
+ import { StageConfig } from "konva/lib/Stage";
8
+
9
+ //#region ../types/dist/types.d.ts
10
+ declare const WEAVE_INSTANCE_STATUS: {
11
+ readonly "IDLE": "idle";
12
+ readonly "STARTING": "starting";
13
+ readonly "LOADING_FONTS": "loadingFonts";
14
+ readonly "RUNNING": "running";
15
+ };
16
+ declare const WEAVE_NODE_POSITION: {
17
+ readonly "UP": "up";
18
+ readonly "DOWN": "down";
19
+ readonly "FRONT": "front";
20
+ readonly "BACK": "back";
21
+ };
22
+ declare const WEAVE_EXPORT_FORMATS: {
23
+ readonly "PNG": "image/png";
24
+ readonly "JPEG": "image/jpeg";
25
+ };
26
+ //#endregion
27
+ //#region src/base/action.d.ts
28
+ interface WeaveActionBase {
29
+ init?(): void;
30
+ trigger(cancelAction: () => void, params?: unknown): unknown;
31
+ internalUpdate?(): void;
32
+ cleanup?(): void;
33
+ }
34
+
35
+ //#endregion
36
+ //#region src/base/plugin.d.ts
37
+ interface WeavePluginBase {
38
+ init?(): void;
39
+ render?(): void;
40
+ enable(): void;
41
+ disable(): void;
42
+ isEnabled(): boolean;
43
+ }
44
+
45
+ //#endregion
46
+ //#region src/base/store.d.ts
47
+ type WeaveStoreOptions = {
48
+ getUser: () => WeaveUser;
49
+ undoManagerOptions?: WeaveUndoManagerOptions;
50
+ };
51
+ interface WeaveStoreBase {
52
+ connect(): void;
53
+ disconnect(): void;
54
+ onAwarenessChange<K extends string, T>(callback: (changes: WeaveAwarenessChange<K, T>[]) => void): void;
55
+ setAwarenessInfo(field: string, value: unknown): void;
56
+ }
57
+
58
+ //#endregion
59
+ //#region src/types.d.ts
60
+ type WeaveConfig = {
61
+ store: WeaveStoreBase;
62
+ nodes?: WeaveNodeBase[];
63
+ actions?: WeaveActionBase[];
64
+ plugins?: WeavePluginBase[];
65
+ fonts?: WeaveFont[];
66
+ callbacks?: WeaveCallbacks;
67
+ logger?: WeaveLoggerConfig;
68
+ };
69
+ type WeaveStatusKeys = keyof typeof WEAVE_INSTANCE_STATUS;
70
+ type WeaveStatus = (typeof WEAVE_INSTANCE_STATUS)[WeaveStatusKeys];
71
+ type NodeSerializable = Konva.NodeConfig & {
72
+ id: string;
73
+ type: string;
74
+ };
75
+ type WeaveElementAttributes = {
76
+ [key: string]: any;
77
+ id?: string;
78
+ nodeType?: string;
79
+ children?: WeaveStateElement[];
80
+ };
81
+ type WeaveStateElement = {
82
+ key: string;
83
+ type: string;
84
+ props: WeaveElementAttributes;
85
+ };
86
+ type WeaveState = {
87
+ weave: {
88
+ key: "stage";
89
+ type: "stage";
90
+ props: {
91
+ [key: string]: unknown;
92
+ id: "stage";
93
+ children: WeaveStateElement[];
94
+ };
95
+ } | Record<string, WeaveStateElement>;
96
+ };
97
+ type WeaveSelection = {
98
+ instance: Konva.Shape | Konva.Group;
99
+ node: WeaveStateElement;
100
+ };
101
+ type WeaveMousePointInfoSimple = {
102
+ mousePoint: Vector2d;
103
+ container: Konva.Layer | Konva.Group | undefined;
104
+ };
105
+ type WeaveMousePointInfo = WeaveMousePointInfoSimple & {
106
+ measureContainer: Konva.Layer | Konva.Group | undefined;
107
+ };
108
+ type WeaveSerializedGroup = {
109
+ serializedNodes: WeaveStateElement[];
110
+ minPoint: Vector2d;
111
+ } | undefined;
112
+ type WeaveNodeFound = {
113
+ node: WeaveStateElement | null;
114
+ parent: WeaveStateElement | null;
115
+ index: number;
116
+ };
117
+ type WeaveAwarenessChange<K extends string, T> = { [key in K]: T };
118
+ type WeaveElementInstance = Konva.Layer | Konva.Group | Konva.Shape;
119
+ type WeaveLoggerConfig = {
120
+ disabled?: boolean;
121
+ level?: "debug" | "info" | "warn" | "error";
122
+ };
123
+ type WeavePositionKeys = keyof typeof WEAVE_NODE_POSITION;
124
+ type WeavePosition = (typeof WEAVE_NODE_POSITION)[WeavePositionKeys];
125
+ type WeaveExportNodeOptions = {
126
+ format?: typeof WEAVE_EXPORT_FORMATS.PNG;
127
+ padding?: number;
128
+ pixelRatio?: number;
129
+ backgroundColor?: string;
130
+ quality?: number;
131
+ };
132
+ type WeaveUser = {
133
+ name: string;
134
+ email: string;
135
+ };
136
+ type WeaveFont = {
137
+ id: string;
138
+ name: string;
139
+ };
140
+ type WeaveUndoManagerOptions = {
141
+ captureTimeout?: number;
142
+ trackedOrigins?: Set<any>;
143
+ };
144
+ type WeaveUndoRedoChange = {
145
+ canRedo: boolean;
146
+ canUndo: boolean;
147
+ redoStackLength: number;
148
+ undoStackLength: number;
149
+ };
150
+ type WeaveCallbacks = {
151
+ onRender?: () => void;
152
+ onRoomLoaded?: (loaded: boolean) => void;
153
+ onInstanceStatus?: (status: WeaveStatus) => void;
154
+ onActiveActionChange?: (actionName: string | undefined) => void;
155
+ onStateChange?: (state: WeaveState) => void;
156
+ onUndoManagerStatusChange?: (undoManagerStatus: WeaveUndoRedoChange) => void;
157
+ };
158
+
159
+ //#endregion
160
+ //#region src/base/node.d.ts
161
+ interface WeaveNodeBase {
162
+ createNode(id: string, props: WeaveElementAttributes): WeaveStateElement;
163
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
164
+ updateInstance(instance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
165
+ removeInstance(instance: WeaveElementInstance): void;
166
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
167
+ } //#endregion
168
+ //#region src/stores/store.d.ts
169
+
170
+ //#endregion
171
+ declare abstract class WeaveStore implements WeaveStoreBase {
172
+ protected instance: Weave;
173
+ protected name: string;
174
+ protected supportsUndoManager: boolean;
175
+ protected config: WeaveStoreOptions;
176
+ private state;
177
+ private latestState;
178
+ private document;
179
+ private logger;
180
+ private undoManager;
181
+ private isRoomLoaded;
182
+ constructor(config: WeaveStoreOptions);
183
+ getName(): string;
184
+ getLogger(): Logger;
185
+ register(instance: Weave): WeaveStore;
186
+ getUser(): WeaveUser;
187
+ setState(state: WeaveState): void;
188
+ setLatestState(newState: WeaveState): void;
189
+ getLatestState(): WeaveState;
190
+ getDocument(): Doc;
191
+ getState(): MappedTypeDescription<WeaveState>;
192
+ getStateJson(): WeaveState;
193
+ setup(): void;
194
+ canUndoStateStep(): boolean;
195
+ canRedoStateStep(): boolean;
196
+ undoStateStep(): void;
197
+ redoStateStep(): void;
198
+ abstract connect(): void;
199
+ abstract disconnect(): void;
200
+ abstract onAwarenessChange<K extends string, T>(callback: (changes: WeaveAwarenessChange<K, T>[]) => void): void;
201
+ abstract setAwarenessInfo(field: string, value: unknown): void;
202
+ }
203
+
204
+ //#endregion
205
+ //#region src/plugins/plugin.d.ts
206
+ declare abstract class WeavePlugin implements WeavePluginBase {
207
+ protected instance: Weave;
208
+ protected name: string;
209
+ protected enabled: boolean;
210
+ private logger;
211
+ register(instance: Weave): WeavePlugin;
212
+ getName(): string;
213
+ getLogger(): Logger;
214
+ isEnabled(): boolean;
215
+ abstract init?(): void;
216
+ abstract render?(): void;
217
+ abstract enable(): void;
218
+ abstract disable(): void;
219
+ }
220
+
221
+ //#endregion
222
+ //#region src/plugins/nodes-selection/types.d.ts
223
+ type WeaveNodesSelectionChangeCallback = (nodes: WeaveSelection[]) => void;
224
+ type WeaveNodesSelectionStageSelectionCallback = () => void;
225
+ type WeaveNodesSelectionPluginCallbacks = {
226
+ onNodesChange: WeaveNodesSelectionChangeCallback;
227
+ onStageSelection?: WeaveNodesSelectionStageSelectionCallback;
228
+ };
229
+
230
+ //#endregion
231
+ //#region src/plugins/nodes-selection/nodes-selection.d.ts
232
+ declare class WeaveNodesSelectionPlugin extends WeavePlugin {
233
+ private tr;
234
+ private selectionRectangle;
235
+ private active;
236
+ private cameFromSelectingMultiple;
237
+ private selecting;
238
+ private initialized;
239
+ private callbacks;
240
+ render: undefined;
241
+ constructor(callbacks: WeaveNodesSelectionPluginCallbacks);
242
+ getName(): string;
243
+ getLayerName(): string;
244
+ initLayer(): void;
245
+ init(): void;
246
+ private getLayer;
247
+ private triggerSelectedNodesEvent;
248
+ private initEvents;
249
+ getTransformer(): Konva.Transformer;
250
+ setSelectedNodes(nodes: Konva.Node[]): void;
251
+ getSelectedNodes(): (Konva.Group | Konva.Shape)[];
252
+ removeSelectedNodes(): void;
253
+ selectAll(): void;
254
+ selectNone(): void;
255
+ enable(): void;
256
+ disable(): void;
257
+ }
258
+
259
+ //#endregion
260
+ //#region src/nodes/node.d.ts
261
+ declare abstract class WeaveNode implements WeaveNodeBase {
262
+ protected instance: Weave;
263
+ protected nodeType: string;
264
+ private logger;
265
+ protected previousPointer: string | null;
266
+ register(instance: Weave): WeaveNode;
267
+ getNodeType(): string;
268
+ getLogger(): Logger;
269
+ getSelectionPlugin(): WeaveNodesSelectionPlugin;
270
+ isSelecting(): boolean;
271
+ isPasting(): boolean;
272
+ isNodeSelected(ele: Konva.Node): boolean;
273
+ setupDefaultNodeEvents(node: Konva.Node): void;
274
+ abstract createNode(id: string, props: WeaveElementAttributes): WeaveStateElement;
275
+ abstract createInstance(props: WeaveElementAttributes): WeaveElementInstance;
276
+ abstract updateInstance(instance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
277
+ abstract removeInstance(instance: WeaveElementInstance): void;
278
+ abstract toNode(instance: WeaveElementInstance): WeaveStateElement;
279
+ }
280
+
281
+ //#endregion
282
+ //#region src/actions/types.d.ts
283
+ type WeaveActionPropsChangeCallback = (props: WeaveElementAttributes) => void;
284
+ type WeaveActionCallbacks = {
285
+ onPropsChange?: WeaveActionPropsChangeCallback;
286
+ };
287
+
288
+ //#endregion
289
+ //#region src/actions/action.d.ts
290
+ declare abstract class WeaveAction {
291
+ protected instance: Weave;
292
+ protected name: string;
293
+ props: WeaveElementAttributes;
294
+ protected callbacks: WeaveActionCallbacks | undefined;
295
+ private logger;
296
+ constructor(callbacks?: WeaveActionCallbacks);
297
+ getName(): string;
298
+ getLogger(): Logger;
299
+ register(instance: Weave): WeaveAction;
300
+ updateProps(props: WeaveElementAttributes): void;
301
+ getProps(): WeaveElementAttributes;
302
+ abstract init?(): void;
303
+ abstract trigger(cancelAction: () => void, params?: unknown): unknown;
304
+ abstract internalUpdate?(): void;
305
+ abstract cleanup?(): void;
306
+ }
307
+
308
+ //#endregion
309
+ //#region src/logger/logger.d.ts
310
+ declare class WeaveLogger {
311
+ private config;
312
+ private disabled;
313
+ private logger;
314
+ constructor(config: WeaveLoggerConfig);
315
+ private log;
316
+ getDisabled(): boolean;
317
+ getLevel(): pino.LevelWithSilentOrString;
318
+ getLogger(): Logger;
319
+ getChildLogger(name: string): pino.Logger<never, boolean>;
320
+ }
321
+
322
+ //#endregion
323
+ //#region src/managers/register.d.ts
324
+ declare class WeaveRegisterManager {
325
+ private instance;
326
+ private nodesHandlers;
327
+ private actionsHandlers;
328
+ private plugins;
329
+ private logger;
330
+ constructor(instance: Weave);
331
+ getPlugins(): Record<string, WeavePlugin>;
332
+ getNodesHandlers(): Record<string, WeaveNode>;
333
+ getActionsHandlers(): Record<string, WeaveAction>;
334
+ getPlugin<T extends WeavePlugin>(pluginName: string): T;
335
+ getActionHandler<T extends WeaveAction>(actionName: string): T;
336
+ getNodeHandler(nodeType: string): WeaveNode;
337
+ registerPlugins(): void;
338
+ registerPlugin(plugin: WeavePlugin): void;
339
+ registerNodesHandlers(): void;
340
+ registerNodeHandler(node: WeaveNode): void;
341
+ registerActionsHandlers(): void;
342
+ registerActionHandler(action: WeaveAction): void;
343
+ }
344
+
345
+ //#endregion
346
+ //#region src/managers/stage.d.ts
347
+ declare class WeaveStageManager {
348
+ private instance;
349
+ private logger;
350
+ private stage;
351
+ private config;
352
+ constructor(instance: Weave, config: Konva.StageConfig);
353
+ getConfiguration(): StageConfig;
354
+ setStage(stage: Konva.Stage): void;
355
+ getStage(): Konva.Stage;
356
+ getMainLayer(): Konva.Layer | undefined;
357
+ getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
358
+ initStage(): void;
359
+ }
360
+
361
+ //#endregion
362
+ //#region src/weave.d.ts
363
+ declare class Weave extends Emittery {
364
+ private id;
365
+ private config;
366
+ private logger;
367
+ private moduleLogger;
368
+ private reconciler;
369
+ private stateSerializer;
370
+ private renderer;
371
+ private status;
372
+ private setupManager;
373
+ private registerManager;
374
+ private stateManager;
375
+ private storeManager;
376
+ private stageManager;
377
+ private groupsManager;
378
+ private targetingManager;
379
+ private cloningManager;
380
+ private fontsManager;
381
+ private zIndexManager;
382
+ private pluginsManager;
383
+ private actionsManager;
384
+ private exportManager;
385
+ constructor(weaveConfig: WeaveConfig, stageConfig: Konva.StageConfig);
386
+ setupRenderer(): void;
387
+ setStatus(status: WeaveStatus): void;
388
+ getStatus(): WeaveStatus;
389
+ setStore(store: WeaveStore): void;
390
+ start(): Promise<void>;
391
+ getId(): string;
392
+ getConfiguration(): WeaveConfig;
393
+ emitEvent<T>(event: string, payload: T): void;
394
+ addEventListener<T>(event: string, callback: (payload: T) => void): void;
395
+ removeEventListener<T>(event: string, callback: (payload: T) => void): void;
396
+ getLogger(): WeaveLogger;
397
+ getMainLogger(): Logger;
398
+ getChildLogger(name: string): pino.Logger<never, boolean>;
399
+ getStageManager(): WeaveStageManager;
400
+ getStage(): Konva.Stage;
401
+ getMainLayer(): Konva.Layer | undefined;
402
+ setStage(stage: Konva.Stage): void;
403
+ getStageConfiguration(): StageConfig;
404
+ getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
405
+ getRegisterManager(): WeaveRegisterManager;
406
+ getPlugins(): Record<string, WeavePlugin>;
407
+ getPlugin<T extends WeavePlugin>(pluginName: string): T;
408
+ getNodesHandlers(): Record<string, WeaveNode>;
409
+ getNodeHandler<T extends WeaveNode>(nodeType: string): T;
410
+ getActionsHandlers(): Record<string, WeaveAction>;
411
+ getActionHandler<T extends WeaveAction>(actionName: string): T;
412
+ getStore<T extends WeaveStore>(): T;
413
+ registerPlugin(plugin: WeavePlugin): void;
414
+ registerNodeHandler(node: WeaveNode): void;
415
+ registerActionHandler(action: WeaveAction): void;
416
+ registerStore(store: WeaveStore): void;
417
+ isPluginEnabled(pluginName: string): boolean;
418
+ enablePlugin(pluginName: string): void;
419
+ disablePlugin(pluginName: string): void;
420
+ getActiveAction(): string | undefined;
421
+ triggerAction<T>(actionName: string, params?: T): unknown;
422
+ getPropsAction(actionName: string): WeaveElementAttributes;
423
+ updatePropsAction(actionName: string, params: WeaveElementAttributes): void;
424
+ cancelAction(actionName: string): void;
425
+ update(newState: WeaveState): void;
426
+ render(): void;
427
+ findNodeById(tree: WeaveStateElement, key: string, parent?: WeaveStateElement | null, index?: number): WeaveNodeFound;
428
+ findNodesByType(tree: WeaveStateElement, nodeType: string): WeaveStateElement[];
429
+ getNode(nodeKey: string): {
430
+ node: WeaveStateElement | null;
431
+ parent: WeaveStateElement | null;
432
+ index: number;
433
+ };
434
+ addNode(node: WeaveStateElement, parentId?: string, index?: number | undefined, doRender?: boolean): void;
435
+ updateNode(node: WeaveStateElement, doRender?: boolean): void;
436
+ removeNode(node: WeaveStateElement, doRender?: boolean): void;
437
+ removeNodes(nodes: WeaveStateElement[], doRender?: boolean): void;
438
+ moveNode(node: WeaveStateElement, position: WeavePosition, doRender?: boolean): void;
439
+ moveUp(node: WeaveElementInstance): void;
440
+ moveDown(node: WeaveElementInstance): void;
441
+ sendToBack(node: WeaveElementInstance): void;
442
+ bringToFront(node: WeaveElementInstance): void;
443
+ group(nodes: WeaveStateElement[]): void;
444
+ unGroup(group: WeaveStateElement): void;
445
+ getMousePointer(point?: Vector2d): WeaveMousePointInfo;
446
+ getMousePointerRelativeToContainer(container: Konva.Group | Konva.Layer): WeaveMousePointInfoSimple;
447
+ nodesToGroupSerialized(instancesToClone: Konva.Node[]): WeaveSerializedGroup;
448
+ cloneNodes(instancesToClone: Konva.Node[], targetContainer: Konva.Layer | Konva.Group | undefined, onPoint: Vector2d): void;
449
+ getFonts(): WeaveFont[];
450
+ exportStage(options: WeaveExportNodeOptions): Promise<HTMLImageElement>;
451
+ exportNode(node: WeaveElementInstance, options: WeaveExportNodeOptions): Promise<HTMLImageElement>;
452
+ }
453
+
454
+ //#endregion
455
+ //#region src/utils.d.ts
456
+ declare function resetScale(node: Konva.Node): void;
457
+
458
+ //#endregion
459
+ //#region src/nodes/stage/stage.d.ts
460
+ declare class WeaveStageNode extends WeaveNode {
461
+ protected nodeType: string;
462
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
463
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
464
+ updateInstance(): void;
465
+ removeInstance(nodeInstance: WeaveElementInstance): void;
466
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
467
+ }
468
+
469
+ //#endregion
470
+ //#region src/nodes/layer/layer.d.ts
471
+ declare class WeaveLayerNode extends WeaveNode {
472
+ protected nodeType: string;
473
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
474
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
475
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
476
+ removeInstance(nodeInstance: WeaveElementInstance): void;
477
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
478
+ }
479
+
480
+ //#endregion
481
+ //#region src/nodes/group/group.d.ts
482
+ declare class WeaveGroupNode extends WeaveNode {
483
+ protected nodeType: string;
484
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
485
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
486
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
487
+ removeInstance(nodeInstance: WeaveElementInstance): void;
488
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
489
+ }
490
+
491
+ //#endregion
492
+ //#region src/nodes/rectangle/rectangle.d.ts
493
+ declare class WeaveRectangleNode extends WeaveNode {
494
+ protected nodeType: string;
495
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
496
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
497
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
498
+ removeInstance(nodeInstance: WeaveElementInstance): void;
499
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
500
+ }
501
+
502
+ //#endregion
503
+ //#region src/nodes/line/line.d.ts
504
+ declare class WeaveLineNode extends WeaveNode {
505
+ protected nodeType: string;
506
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
507
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
508
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
509
+ removeInstance(nodeInstance: WeaveElementInstance): void;
510
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
511
+ }
512
+
513
+ //#endregion
514
+ //#region src/nodes/text/text.d.ts
515
+ declare class WeaveTextNode extends WeaveNode {
516
+ protected nodeType: string;
517
+ private editing;
518
+ constructor();
519
+ getType(): string;
520
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
521
+ private updateNode;
522
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
523
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
524
+ removeInstance(nodeInstance: WeaveElementInstance): void;
525
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
526
+ private createTextAreaDOM;
527
+ private removeTextAreaDOM;
528
+ private triggerEditMode;
529
+ }
530
+
531
+ //#endregion
532
+ //#region src/nodes/text/types.d.ts
533
+ type TextSerializable = Konva.TextConfig & NodeSerializable & {
534
+ type: "text";
535
+ id: string;
536
+ };
537
+
538
+ //#endregion
539
+ //#region src/nodes/image/image.d.ts
540
+ declare class WeaveImageNode extends WeaveNode {
541
+ protected nodeType: string;
542
+ private imageLoaded;
543
+ cropping: boolean;
544
+ constructor();
545
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
546
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
547
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
548
+ removeInstance(nodeInstance: WeaveElementInstance): void;
549
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
550
+ private loadImage;
551
+ private getImageToolAction;
552
+ }
553
+
554
+ //#endregion
555
+ //#region src/nodes/image/types.d.ts
556
+ type ImageProps = WeaveElementAttributes & {
557
+ id: string;
558
+ width?: number;
559
+ height?: number;
560
+ imageURL?: string;
561
+ imageInfo?: {
562
+ width: number;
563
+ height: number;
564
+ };
565
+ };
566
+
567
+ //#endregion
568
+ //#region src/nodes/frame/frame.d.ts
569
+ declare class WeaveFrameNode extends WeaveNode {
570
+ protected nodeType: string;
571
+ createNode(key: string, props: WeaveElementAttributes): WeaveStateElement;
572
+ createInstance(props: WeaveElementAttributes): WeaveElementInstance;
573
+ updateInstance(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
574
+ removeInstance(nodeInstance: WeaveElementInstance): void;
575
+ toNode(instance: WeaveElementInstance): WeaveStateElement;
576
+ }
577
+
578
+ //#endregion
579
+ //#region src/nodes/frame/constants.d.ts
580
+ declare const WEAVE_FRAME_NODE_TYPE = "frame";
581
+
582
+ //#endregion
583
+ //#region src/actions/zoom-out-tool/types.d.ts
584
+ type WeaveZoomOutToolActionParams = {
585
+ previousAction: string;
586
+ };
587
+
588
+ //#endregion
589
+ //#region src/actions/zoom-out-tool/zoom-out-tool.d.ts
590
+ declare class WeaveZoomOutToolAction extends WeaveAction {
591
+ protected previousAction: string;
592
+ protected cancelAction: () => void;
593
+ internalUpdate: undefined;
594
+ getName(): string;
595
+ private getStageZoomPlugin;
596
+ init(): void;
597
+ trigger(cancelAction: () => void, params: WeaveZoomOutToolActionParams): void;
598
+ cleanup(): void;
599
+ }
600
+
601
+ //#endregion
602
+ //#region src/actions/zoom-in-tool/types.d.ts
603
+ type WeaveZoomInToolActionParams = {
604
+ previousAction: string;
605
+ };
606
+
607
+ //#endregion
608
+ //#region src/actions/zoom-in-tool/zoom-in-tool.d.ts
609
+ declare class WeaveZoomInToolAction extends WeaveAction {
610
+ protected previousAction: string;
611
+ protected cancelAction: () => void;
612
+ internalUpdate: undefined;
613
+ getName(): string;
614
+ private getStageZoomPlugin;
615
+ init(): void;
616
+ trigger(cancelAction: () => void, params: WeaveZoomInToolActionParams): void;
617
+ cleanup(): void;
618
+ }
619
+
620
+ //#endregion
621
+ //#region src/actions/fit-to-screen-tool/types.d.ts
622
+ type WeaveFitToScreenToolActionParams = {
623
+ previousAction: string;
624
+ };
625
+
626
+ //#endregion
627
+ //#region src/actions/fit-to-screen-tool/fit-to-screen-tool.d.ts
628
+ declare class WeaveFitToScreenToolAction extends WeaveAction {
629
+ protected previousAction: string;
630
+ protected cancelAction: () => void;
631
+ internalUpdate: undefined;
632
+ getName(): string;
633
+ private getStageZoomPlugin;
634
+ init(): void;
635
+ trigger(cancelAction: () => void, params: WeaveFitToScreenToolActionParams): void;
636
+ cleanup(): void;
637
+ }
638
+
639
+ //#endregion
640
+ //#region src/actions/fit-to-selection-tool/types.d.ts
641
+ type WeaveFitToSelectionToolActionParams = {
642
+ previousAction: string;
643
+ };
644
+
645
+ //#endregion
646
+ //#region src/actions/fit-to-selection-tool/fit-to-selection-tool.d.ts
647
+ declare class WeaveFitToSelectionToolAction extends WeaveAction {
648
+ protected previousAction: string;
649
+ protected cancelAction: () => void;
650
+ internalUpdate: undefined;
651
+ getName(): string;
652
+ private getNodesSelectionPlugin;
653
+ private getStageZoomPlugin;
654
+ init(): void;
655
+ trigger(cancelAction: () => void, params: WeaveFitToSelectionToolActionParams): void;
656
+ cleanup(): void;
657
+ }
658
+
659
+ //#endregion
660
+ //#region src/actions/move-tool/constants.d.ts
661
+ declare const MOVE_TOOL_ACTION_NAME = "moveTool";
662
+ declare const MOVE_TOOL_STATE: {
663
+ readonly "IDLE": "idle";
664
+ readonly "MOVING": "moving";
665
+ };
666
+
667
+ //#endregion
668
+ //#region src/actions/move-tool/types.d.ts
669
+ type WeaveMoveToolActionStateKeys = keyof typeof MOVE_TOOL_STATE;
670
+ type WeaveMoveToolActionState = (typeof MOVE_TOOL_STATE)[WeaveMoveToolActionStateKeys];
671
+
672
+ //#endregion
673
+ //#region src/actions/move-tool/move-tool.d.ts
674
+ declare class WeaveMoveToolAction extends WeaveAction {
675
+ protected initialized: boolean;
676
+ protected state: WeaveMoveToolActionState;
677
+ protected cancelAction: () => void;
678
+ internalUpdate: undefined;
679
+ init: undefined;
680
+ constructor();
681
+ getName(): string;
682
+ private setupEvents;
683
+ private setState;
684
+ private setMoving;
685
+ trigger(cancelAction: () => void): void;
686
+ cleanup(): void;
687
+ }
688
+
689
+ //#endregion
690
+ //#region src/actions/selection-tool/constants.d.ts
691
+ declare const SELECTION_TOOL_ACTION_NAME = "selectionTool";
692
+ declare const SELECTION_TOOL_STATE: {
693
+ readonly "IDLE": "idle";
694
+ readonly "SELECTING": "selection";
695
+ };
696
+
697
+ //#endregion
698
+ //#region src/actions/selection-tool/types.d.ts
699
+ type WeaveSelectionToolActionStateKeys = keyof typeof SELECTION_TOOL_STATE;
700
+ type WeaveSelectionToolActionState = (typeof SELECTION_TOOL_STATE)[WeaveSelectionToolActionStateKeys];
701
+
702
+ //#endregion
703
+ //#region src/actions/selection-tool/selection-tool.d.ts
704
+ declare class WeaveSelectionToolAction extends WeaveAction {
705
+ protected initialized: boolean;
706
+ protected state: WeaveSelectionToolActionState;
707
+ protected cancelAction: () => void;
708
+ internalUpdate: undefined;
709
+ init: undefined;
710
+ constructor();
711
+ getName(): string;
712
+ private setupEvents;
713
+ private setState;
714
+ private setSelection;
715
+ trigger(cancelAction: () => void): void;
716
+ cleanup(): void;
717
+ }
718
+
719
+ //#endregion
720
+ //#region src/actions/rectangle-tool/constants.d.ts
721
+ declare const RECTANGLE_TOOL_ACTION_NAME = "rectangleTool";
722
+ declare const RECTANGLE_TOOL_STATE: {
723
+ readonly "IDLE": "idle";
724
+ readonly "ADDING": "adding";
725
+ readonly "DEFINING_SIZE": "definingSize";
726
+ readonly "ADDED": "added";
727
+ };
728
+
729
+ //#endregion
730
+ //#region src/actions/rectangle-tool/types.d.ts
731
+ type WeaveRectangleToolActionStateKeys = keyof typeof RECTANGLE_TOOL_STATE;
732
+ type WeaveRectangleToolActionState = (typeof RECTANGLE_TOOL_STATE)[WeaveRectangleToolActionStateKeys];
733
+ type WeaveRectangleToolCallbacks = WeaveActionCallbacks;
734
+
735
+ //#endregion
736
+ //#region src/actions/rectangle-tool/rectangle-tool.d.ts
737
+ declare class WeaveRectangleToolAction extends WeaveAction {
738
+ protected initialized: boolean;
739
+ protected state: WeaveRectangleToolActionState;
740
+ protected rectId: string | null;
741
+ protected creating: boolean;
742
+ protected moved: boolean;
743
+ protected clickPoint: Vector2d | null;
744
+ protected container: Konva.Group | Konva.Layer | undefined;
745
+ protected cancelAction: () => void;
746
+ internalUpdate: undefined;
747
+ init: undefined;
748
+ constructor(callbacks: WeaveRectangleToolCallbacks);
749
+ getName(): string;
750
+ initProps(): {
751
+ opacity: number;
752
+ fill: string;
753
+ stroke: string;
754
+ strokeWidth: number;
755
+ width: number;
756
+ height: number;
757
+ };
758
+ private setupEvents;
759
+ private setState;
760
+ private addRectangle;
761
+ private handleAdding;
762
+ private handleSettingSize;
763
+ private handleMovement;
764
+ trigger(cancelAction: () => void): void;
765
+ cleanup(): void;
766
+ }
767
+
768
+ //#endregion
769
+ //#region src/actions/pen-tool/constants.d.ts
770
+ declare const PEN_TOOL_STATE: {
771
+ readonly "IDLE": "idle";
772
+ readonly "ADDING": "adding";
773
+ readonly "DEFINING_SIZE": "definingSize";
774
+ readonly "ADDED": "added";
775
+ };
776
+
777
+ //#endregion
778
+ //#region src/actions/pen-tool/types.d.ts
779
+ type WeavePenToolActionStateKeys = keyof typeof PEN_TOOL_STATE;
780
+ type WeavePenToolActionState = (typeof PEN_TOOL_STATE)[WeavePenToolActionStateKeys];
781
+ type WeavePenToolCallbacks = WeaveActionCallbacks;
782
+
783
+ //#endregion
784
+ //#region src/actions/pen-tool/pen-tool.d.ts
785
+ declare class WeavePenToolAction extends WeaveAction {
786
+ protected initialized: boolean;
787
+ protected initialCursor: string | null;
788
+ protected state: WeavePenToolActionState;
789
+ protected lineId: string | null;
790
+ protected tempLineId: string | null;
791
+ protected container: Konva.Layer | Konva.Group | undefined;
792
+ protected measureContainer: Konva.Layer | Konva.Group | undefined;
793
+ protected clickPoint: Vector2d | null;
794
+ protected tempPoint: Konva.Circle | undefined;
795
+ protected tempNextPoint: Konva.Circle | undefined;
796
+ protected cancelAction: () => void;
797
+ internalUpdate: undefined;
798
+ init: undefined;
799
+ constructor(callbacks: WeavePenToolCallbacks);
800
+ getName(): string;
801
+ initProps(): {
802
+ stroke: string;
803
+ strokeWidth: number;
804
+ opacity: number;
805
+ };
806
+ private setupEvents;
807
+ private setState;
808
+ private addLine;
809
+ private handleAdding;
810
+ private handleSettingSize;
811
+ private handleMovement;
812
+ trigger(cancelAction: () => void): void;
813
+ cleanup(): void;
814
+ }
815
+
816
+ //#endregion
817
+ //#region src/actions/brush-tool/constants.d.ts
818
+ declare const BRUSH_TOOL_STATE: {
819
+ readonly "INACTIVE": "inactive";
820
+ readonly "IDLE": "idle";
821
+ readonly "DEFINE_STROKE": "defineStroke";
822
+ };
823
+
824
+ //#endregion
825
+ //#region src/actions/brush-tool/types.d.ts
826
+ type WeaveBrushToolActionStateKeys = keyof typeof BRUSH_TOOL_STATE;
827
+ type WeaveBrushToolActionState = (typeof BRUSH_TOOL_STATE)[WeaveBrushToolActionStateKeys];
828
+ type WeaveBrushToolCallbacks = WeaveActionCallbacks;
829
+
830
+ //#endregion
831
+ //#region src/actions/brush-tool/brush-tool.d.ts
832
+ declare class WeaveBrushToolAction extends WeaveAction {
833
+ protected initialized: boolean;
834
+ protected state: WeaveBrushToolActionState;
835
+ protected clickPoint: Vector2d | null;
836
+ protected strokeId: string | null;
837
+ protected container: Konva.Layer | Konva.Group | undefined;
838
+ protected measureContainer: Konva.Layer | Konva.Group | undefined;
839
+ protected cancelAction: () => void;
840
+ internalUpdate: undefined;
841
+ init: undefined;
842
+ constructor(callbacks: WeaveBrushToolCallbacks);
843
+ getName(): string;
844
+ initProps(): {
845
+ stroke: string;
846
+ strokeWidth: number;
847
+ opacity: number;
848
+ };
849
+ private setupEvents;
850
+ private setState;
851
+ private handleStartStroke;
852
+ private handleEndStroke;
853
+ private handleMovement;
854
+ trigger(cancel: () => void): void;
855
+ cleanup(): void;
856
+ }
857
+
858
+ //#endregion
859
+ //#region src/actions/text-tool/constants.d.ts
860
+ declare const TEXT_TOOL_STATE: {
861
+ readonly "IDLE": "idle";
862
+ readonly "ADDING": "adding";
863
+ readonly "FINISHED": "finished";
864
+ };
865
+
866
+ //#endregion
867
+ //#region src/actions/text-tool/types.d.ts
868
+ type WeaveTextToolActionStateKeys = keyof typeof TEXT_TOOL_STATE;
869
+ type WeaveTextToolActionState = (typeof TEXT_TOOL_STATE)[WeaveTextToolActionStateKeys];
870
+
871
+ //#endregion
872
+ //#region src/actions/text-tool/text-tool.d.ts
873
+ declare class WeaveTextToolAction extends WeaveAction {
874
+ protected initialized: boolean;
875
+ protected initialCursor: string | null;
876
+ protected state: WeaveTextToolActionState;
877
+ protected textId: string | null;
878
+ protected container: Konva.Layer | Konva.Group | undefined;
879
+ protected clickPoint: Vector2d | null;
880
+ protected cancelAction: () => void;
881
+ internalUpdate: undefined;
882
+ init: undefined;
883
+ constructor();
884
+ getName(): string;
885
+ private setupEvents;
886
+ private setState;
887
+ private addText;
888
+ private handleAdding;
889
+ trigger(cancelAction: () => void): void;
890
+ cleanup(): void;
891
+ }
892
+
893
+ //#endregion
894
+ //#region src/actions/image-tool/constants.d.ts
895
+ declare const IMAGE_TOOL_STATE: {
896
+ readonly "IDLE": "idle";
897
+ readonly "UPLOADING": "uploading";
898
+ readonly "ADDING": "adding";
899
+ readonly "FINISHED": "finished";
900
+ };
901
+
902
+ //#endregion
903
+ //#region src/actions/image-tool/types.d.ts
904
+ type WeaveImageToolActionStateKeys = keyof typeof IMAGE_TOOL_STATE;
905
+ type WeaveImageToolActionState = (typeof IMAGE_TOOL_STATE)[WeaveImageToolActionStateKeys];
906
+ type WeaveImageToolActionOnAddImageCallback = (finished: (imageURL: string) => void) => Promise<void>;
907
+ type WeaveImageToolActionOnStartLoadImageCallback = () => void;
908
+ type WeaveImageToolActionOnEndLoadImageCallback = (error?: Error) => void;
909
+ type WeaveImageToolActionCallbacks = WeaveActionCallbacks & {
910
+ onUploadImage: WeaveImageToolActionOnAddImageCallback;
911
+ onImageLoadStart?: WeaveImageToolActionOnStartLoadImageCallback;
912
+ onImageLoadEnd?: WeaveImageToolActionOnEndLoadImageCallback;
913
+ };
914
+ type WeaveImageToolActionTriggerParams = {
915
+ imageURL?: string;
916
+ };
917
+ type WeaveImageToolActionTriggerReturn = {
918
+ finishUploadCallback: (imageURL: string) => void;
919
+ } | undefined;
920
+
921
+ //#endregion
922
+ //#region src/actions/image-tool/image-tool.d.ts
923
+ declare class WeaveImageToolAction extends WeaveAction {
924
+ private imageCallbacks;
925
+ protected initialized: boolean;
926
+ protected initialCursor: string | null;
927
+ protected state: WeaveImageToolActionState;
928
+ protected imageId: string | null;
929
+ protected tempImageId: string | null;
930
+ protected container: Konva.Layer | Konva.Group | undefined;
931
+ protected imageURL: string | null;
932
+ protected preloadImgs: Record<string, HTMLImageElement>;
933
+ protected clickPoint: Vector2d | null;
934
+ protected cancelAction: () => void;
935
+ update: undefined;
936
+ constructor(imageCallbacks: WeaveImageToolActionCallbacks);
937
+ getName(): string;
938
+ getPreloadedImage(imageId: string): HTMLImageElement | undefined;
939
+ initProps(): {
940
+ width: number;
941
+ height: number;
942
+ scaleX: number;
943
+ scaleY: number;
944
+ };
945
+ init(): void;
946
+ private setupEvents;
947
+ private setState;
948
+ private loadImage;
949
+ private addImageNode;
950
+ private addImage;
951
+ private handleAdding;
952
+ trigger(cancelAction: () => void, params?: WeaveImageToolActionTriggerParams): WeaveImageToolActionTriggerReturn;
953
+ internalUpdate(): void;
954
+ cleanup(): void;
955
+ }
956
+
957
+ //#endregion
958
+ //#region src/actions/frame-tool/constants.d.ts
959
+ declare const FRAME_TOOL_ACTION_NAME = "frameTool";
960
+ declare const FRAME_TOOL_STATE: {
961
+ readonly "IDLE": "idle";
962
+ readonly "ADDING": "adding";
963
+ readonly "ADDED": "added";
964
+ };
965
+
966
+ //#endregion
967
+ //#region src/actions/frame-tool/types.d.ts
968
+ type WeaveFrameToolActionStateKeys = keyof typeof FRAME_TOOL_STATE;
969
+ type WeaveFrameToolActionState = (typeof FRAME_TOOL_STATE)[WeaveFrameToolActionStateKeys];
970
+ type WeaveFrameToolCallbacks = WeaveActionCallbacks;
971
+ type WeaveFrameToolActionTriggerParams = {
972
+ fontFamily?: string;
973
+ };
974
+ type WeaveFrameToolProps = {
975
+ title: string;
976
+ fontFamily: string;
977
+ editing: boolean;
978
+ opacity: number;
979
+ };
980
+
981
+ //#endregion
982
+ //#region src/actions/frame-tool/frame-tool.d.ts
983
+ declare class WeaveFrameToolAction extends WeaveAction {
984
+ protected initialized: boolean;
985
+ protected state: WeaveFrameToolActionState;
986
+ protected frameId: string | null;
987
+ protected container: Konva.Layer | Konva.Group | undefined;
988
+ protected clickPoint: Vector2d | null;
989
+ protected cancelAction: () => void;
990
+ internalUpdate: undefined;
991
+ init: undefined;
992
+ constructor(callbacks: WeaveFrameToolCallbacks);
993
+ getName(): string;
994
+ initProps(params?: WeaveFrameToolActionTriggerParams): WeaveFrameToolProps;
995
+ private setupEvents;
996
+ private setState;
997
+ private addFrame;
998
+ private handleAdding;
999
+ trigger(cancelAction: () => void, params?: WeaveFrameToolActionTriggerParams): void;
1000
+ cleanup(): void;
1001
+ }
1002
+
1003
+ //#endregion
1004
+ //#region src/actions/export-stage-tool/types.d.ts
1005
+ type WeaveExportStageActionParams = {
1006
+ options?: WeaveExportNodeOptions;
1007
+ };
1008
+
1009
+ //#endregion
1010
+ //#region src/actions/export-stage-tool/export-stage-tool.d.ts
1011
+ declare class WeaveExportStageToolAction extends WeaveAction {
1012
+ protected cancelAction: () => void;
1013
+ private defaultFormatOptions;
1014
+ private options;
1015
+ internalUpdate: undefined;
1016
+ init: undefined;
1017
+ getName(): string;
1018
+ private exportStage;
1019
+ trigger(cancelAction: () => void, {
1020
+ options
1021
+ }: WeaveExportStageActionParams): Promise<void>;
1022
+ cleanup(): void;
1023
+ }
1024
+
1025
+ //#endregion
1026
+ //#region src/actions/export-node-tool/types.d.ts
1027
+ type WeaveExportNodeActionParams = {
1028
+ node: WeaveElementInstance;
1029
+ options?: WeaveExportNodeOptions;
1030
+ };
1031
+
1032
+ //#endregion
1033
+ //#region src/actions/export-node-tool/export-node-tool.d.ts
1034
+ declare class WeaveExportNodeToolAction extends WeaveAction {
1035
+ protected cancelAction: () => void;
1036
+ private defaultFormatOptions;
1037
+ private options;
1038
+ internalUpdate: undefined;
1039
+ init: undefined;
1040
+ getName(): string;
1041
+ private exportNode;
1042
+ trigger(cancelAction: () => void, {
1043
+ node,
1044
+ options
1045
+ }: WeaveExportNodeActionParams): Promise<void>;
1046
+ cleanup(): void;
1047
+ }
1048
+
1049
+ //#endregion
1050
+ //#region src/plugins/stage-grid/constants.d.ts
1051
+ declare const WEAVE_GRID_DEFAULT_SIZE = 50;
1052
+ declare const WEAVE_GRID_LAYER_ID = "gridLayer";
1053
+ declare const WEAVE_GRID_TYPES: {
1054
+ readonly "LINES": "lines";
1055
+ readonly "DOTS": "dots";
1056
+ };
1057
+
1058
+ //#endregion
1059
+ //#region src/plugins/stage-grid/types.d.ts
1060
+ type WeaveStageGridPluginParams = {
1061
+ gridSize?: number;
1062
+ };
1063
+ type WeaveStageGridTypeKeys = keyof typeof WEAVE_GRID_TYPES;
1064
+ type WeaveStageGridType = (typeof WEAVE_GRID_TYPES)[WeaveStageGridTypeKeys];
1065
+
1066
+ //#endregion
1067
+ //#region src/plugins/stage-grid/stage-grid.d.ts
1068
+ declare class WeaveStageGridPlugin extends WeavePlugin {
1069
+ private moveToolActive;
1070
+ private isMouseMiddleButtonPressed;
1071
+ private isSpaceKeyPressed;
1072
+ private type;
1073
+ private gridColor;
1074
+ private originColor;
1075
+ private gridSize;
1076
+ constructor(params: WeaveStageGridPluginParams);
1077
+ getName(): string;
1078
+ getLayerName(): string;
1079
+ initLayer(): void;
1080
+ init(): void;
1081
+ private initEvents;
1082
+ getLayer(): Konva.Layer | undefined;
1083
+ private renderGrid;
1084
+ private round;
1085
+ private renderGridLines;
1086
+ private renderGridDots;
1087
+ render(): void;
1088
+ enable(): void;
1089
+ disable(): void;
1090
+ getType(): WeaveStageGridType;
1091
+ setType(type: WeaveStageGridType): void;
1092
+ }
1093
+
1094
+ //#endregion
1095
+ //#region src/plugins/stage-panning/stage-panning.d.ts
1096
+ declare class WeaveStagePanningPlugin extends WeavePlugin {
1097
+ private moveToolActive;
1098
+ private isMouseMiddleButtonPressed;
1099
+ private isSpaceKeyPressed;
1100
+ protected previousPointer: string | null;
1101
+ getLayerName: undefined;
1102
+ initLayer: undefined;
1103
+ render: undefined;
1104
+ constructor();
1105
+ getName(): string;
1106
+ init(): void;
1107
+ private enableMove;
1108
+ private disableMove;
1109
+ private initEvents;
1110
+ enable(): void;
1111
+ disable(): void;
1112
+ }
1113
+
1114
+ //#endregion
1115
+ //#region src/plugins/stage-resize/stage-resize.d.ts
1116
+ declare class WeaveStageResizePlugin extends WeavePlugin {
1117
+ getLayerName: undefined;
1118
+ initLayer: undefined;
1119
+ render: undefined;
1120
+ getName(): string;
1121
+ init(): void;
1122
+ enable(): void;
1123
+ disable(): void;
1124
+ }
1125
+
1126
+ //#endregion
1127
+ //#region src/plugins/stage-zoom/types.d.ts
1128
+ type WeaveStageZoomChanged = {
1129
+ scale: number;
1130
+ zoomSteps: number[];
1131
+ actualStep: number;
1132
+ onDefaultStep: boolean;
1133
+ canZoomIn: boolean;
1134
+ canZoomOut: boolean;
1135
+ };
1136
+ type WeaveStageZoomOnZoomChangeCallback = (zoomInfo: WeaveStageZoomChanged) => void;
1137
+ type WeaveStageZoomPluginParams = {
1138
+ zoomSteps?: number[];
1139
+ defaultZoom?: number;
1140
+ onZoomChange?: WeaveStageZoomOnZoomChangeCallback;
1141
+ };
1142
+
1143
+ //#endregion
1144
+ //#region src/plugins/stage-zoom/stage-zoom.d.ts
1145
+ declare class WeaveStageZoomPlugin extends WeavePlugin {
1146
+ getLayerName: undefined;
1147
+ initLayer: undefined;
1148
+ render: undefined;
1149
+ private zoomSteps;
1150
+ private actualScale;
1151
+ private actualStep;
1152
+ private padding;
1153
+ defaultStep: number;
1154
+ private onZoomChangeCb;
1155
+ constructor(params: WeaveStageZoomPluginParams);
1156
+ getName(): string;
1157
+ init(): void;
1158
+ private setZoom;
1159
+ canZoomOut(): boolean;
1160
+ canZoomIn(): boolean;
1161
+ zoomToStep(step: number): void;
1162
+ private findClosestStepIndex;
1163
+ zoomIn(): void;
1164
+ zoomOut(): void;
1165
+ fitToScreen(): void;
1166
+ fitToSelection(): void;
1167
+ enable(): void;
1168
+ disable(): void;
1169
+ }
1170
+
1171
+ //#endregion
1172
+ //#region src/plugins/nodes-selection/constants.d.ts
1173
+ declare const WEAVE_NODES_SELECTION_LAYER_ID = "selectionLayer";
1174
+
1175
+ //#endregion
1176
+ //#region src/plugins/connected-users/constants.d.ts
1177
+ declare const WEAVE_CONNECTED_USER_INFO_KEY = "userInfo";
1178
+
1179
+ //#endregion
1180
+ //#region src/plugins/connected-users/types.d.ts
1181
+ type WeaveConnectedUsersPluginParams = {
1182
+ onConnectedUsersChanged?: WeaveConnectedUsersChangeCallback;
1183
+ getUser?: () => WeaveUser;
1184
+ };
1185
+ type WeaveConnectedUsersChanged = {
1186
+ [userName: string]: WeaveUser;
1187
+ };
1188
+ type WeaveConnectedUsersChangeCallback = (users: WeaveConnectedUsersChanged) => void;
1189
+ type WeaveConnectedUserInfoKey = typeof WEAVE_CONNECTED_USER_INFO_KEY;
1190
+
1191
+ //#endregion
1192
+ //#region src/plugins/connected-users/connected-users.d.ts
1193
+ declare class WeaveConnectedUsersPlugin extends WeavePlugin {
1194
+ private connectedUsers;
1195
+ private getUser;
1196
+ private onConnectedUsersChanged;
1197
+ getLayerName: undefined;
1198
+ initLayer: undefined;
1199
+ render: undefined;
1200
+ constructor(params: WeaveConnectedUsersPluginParams);
1201
+ getName(): string;
1202
+ init(): void;
1203
+ enable(): void;
1204
+ disable(): void;
1205
+ }
1206
+
1207
+ //#endregion
1208
+ //#region src/plugins/users-pointers/constants.d.ts
1209
+ declare const WEAVE_USER_POINTER_KEY = "userPointer";
1210
+
1211
+ //#endregion
1212
+ //#region src/plugins/users-pointers/types.d.ts
1213
+ type WeaveUsersPointersPluginParams = {
1214
+ getUser?: () => WeaveUser;
1215
+ };
1216
+ type WeaveUserPointer = {
1217
+ user: string;
1218
+ x: number;
1219
+ y: number;
1220
+ };
1221
+ type WeaveUserPointerKey = typeof WEAVE_USER_POINTER_KEY;
1222
+
1223
+ //#endregion
1224
+ //#region src/plugins/users-pointers/users-pointers.d.ts
1225
+ declare class WeaveUsersPointersPlugin extends WeavePlugin {
1226
+ private usersPointers;
1227
+ private usersPointersTimers;
1228
+ private getUser;
1229
+ private renderCursors;
1230
+ private userPointerCircleRadius;
1231
+ private userPointerSeparation;
1232
+ private userPointerCircleStrokeWidth;
1233
+ private userPointerNameFontSize;
1234
+ private userPointerBackgroundCornerRadius;
1235
+ private userPointerBackgroundPaddingX;
1236
+ private userPointerBackgroundPaddingY;
1237
+ render: undefined;
1238
+ constructor(params: WeaveUsersPointersPluginParams);
1239
+ getName(): string;
1240
+ getLayerName(): string;
1241
+ initLayer(): void;
1242
+ getLayer(): Konva.Layer | undefined;
1243
+ init(): void;
1244
+ private stringToColour;
1245
+ private setUserMovementTimer;
1246
+ private renderPointers;
1247
+ toggleRenderCursors(): void;
1248
+ setRenderCursors(render: boolean): void;
1249
+ enable(): void;
1250
+ disable(): void;
1251
+ }
1252
+
1253
+ //#endregion
1254
+ //#region src/plugins/context-menu/types.d.ts
1255
+ type WeaveStageContextMenuPluginOptions = {
1256
+ xOffset?: number;
1257
+ yOffset?: number;
1258
+ };
1259
+ type WeaveOnNodeMenuCallback = (instance: Weave, selection: WeaveSelection[], point: Vector2d, visible: boolean) => void;
1260
+ type WeaveStageContextMenuPluginCallbacks = {
1261
+ onNodeMenu: WeaveOnNodeMenuCallback;
1262
+ };
1263
+
1264
+ //#endregion
1265
+ //#region src/plugins/context-menu/context-menu.d.ts
1266
+ declare class WeaveContextMenuPlugin extends WeavePlugin {
1267
+ private config;
1268
+ private callbacks;
1269
+ private touchTimer;
1270
+ private tapHold;
1271
+ getLayerName: undefined;
1272
+ initLayer: undefined;
1273
+ render: undefined;
1274
+ constructor(options: WeaveStageContextMenuPluginOptions, callbacks: WeaveStageContextMenuPluginCallbacks);
1275
+ getName(): string;
1276
+ init(): void;
1277
+ triggerContextMenu(target: any): void;
1278
+ private initEvents;
1279
+ isTapHold(): boolean;
1280
+ enable(): void;
1281
+ disable(): void;
1282
+ }
1283
+
1284
+ //#endregion
1285
+ //#region src/plugins/stage-drop-area/types.d.ts
1286
+ type WeaveStageDropCallback = (event: DragEvent) => void;
1287
+ type WeaveStageDropUploadFileCallback = (event: File) => Promise<void>;
1288
+ type WeaveStageDropAreaPluginCallbacks = {
1289
+ onStageDrop?: WeaveStageDropCallback;
1290
+ doUploadFile?: WeaveStageDropUploadFileCallback;
1291
+ };
1292
+
1293
+ //#endregion
1294
+ //#region src/plugins/stage-drop-area/stage-drop-area.d.ts
1295
+ declare class WeaveStageDropAreaPlugin extends WeavePlugin {
1296
+ private callbacks?;
1297
+ getLayerName: undefined;
1298
+ initLayer: undefined;
1299
+ render: undefined;
1300
+ constructor(callbacks?: WeaveStageDropAreaPluginCallbacks);
1301
+ getName(): string;
1302
+ init(): void;
1303
+ private initEvents;
1304
+ enable(): void;
1305
+ disable(): void;
1306
+ }
1307
+
1308
+ //#endregion
1309
+ //#region src/plugins/copy-paste-nodes/constants.d.ts
1310
+ declare const COPY_PASTE_NODES_PLUGIN_STATE: {
1311
+ readonly "IDLE": "idle";
1312
+ readonly "PASTING": "pasting";
1313
+ };
1314
+
1315
+ //#endregion
1316
+ //#region src/plugins/copy-paste-nodes/types.d.ts
1317
+ type WeaveCopyPasteNodesPluginStateKeys = keyof typeof COPY_PASTE_NODES_PLUGIN_STATE;
1318
+ type WeaveCopyPasteNodesPluginState = (typeof COPY_PASTE_NODES_PLUGIN_STATE)[WeaveCopyPasteNodesPluginStateKeys];
1319
+ type WeaveCopyPasteNodesCanCopyChangeCallback = (canCopy: boolean) => void;
1320
+ type WeaveCopyPasteNodesCanPasteChangeCallback = (canPaste: boolean, nodes: WeaveToPasteNode[]) => void;
1321
+ type WeaveCopyPasteNodesOnCopyCallback = (error?: Error) => void;
1322
+ type WeaveCopyPasteNodesOnPasteCallback = (error?: Error) => void;
1323
+ type WeaveCopyPasteNodesOnPasteExternalCallback = (item: ClipboardItem) => void;
1324
+ type WeaveCopyPasteNodesPluginCallbacks = {
1325
+ onCopy?: WeaveCopyPasteNodesOnCopyCallback;
1326
+ onPaste?: WeaveCopyPasteNodesOnPasteCallback;
1327
+ onPasteExternal?: WeaveCopyPasteNodesOnPasteExternalCallback;
1328
+ };
1329
+ type WeavePasteModel = {
1330
+ weaveInstanceId: string;
1331
+ weave: Record<string, WeaveStateElement>;
1332
+ weaveMinPoint: Vector2d;
1333
+ };
1334
+ type WeaveToPasteNode = {
1335
+ konvaNode: Konva.Node;
1336
+ node: NodeSerializable;
1337
+ };
1338
+
1339
+ //#endregion
1340
+ //#region src/plugins/copy-paste-nodes/copy-paste-nodes.d.ts
1341
+ declare class WeaveCopyPasteNodesPlugin extends WeavePlugin {
1342
+ protected state: WeaveCopyPasteNodesPluginState;
1343
+ private callbacks;
1344
+ private toPaste;
1345
+ getLayerName: undefined;
1346
+ initLayer: undefined;
1347
+ render: undefined;
1348
+ constructor(callbacks?: WeaveCopyPasteNodesPluginCallbacks);
1349
+ getName(): string;
1350
+ init(): void;
1351
+ private readClipboardData;
1352
+ private writeClipboardData;
1353
+ private initEvents;
1354
+ private mapToPasteNodes;
1355
+ private setState;
1356
+ private handlePaste;
1357
+ private performCopy;
1358
+ private performPaste;
1359
+ copy(): Promise<void>;
1360
+ paste(): Promise<void>;
1361
+ getSelectedNodes(): WeaveToPasteNode[];
1362
+ isPasting(): boolean;
1363
+ private cancel;
1364
+ private getNodesSelectionPlugin;
1365
+ enable(): void;
1366
+ disable(): void;
1367
+ }
1368
+
1369
+ //#endregion
1370
+ //#region src/plugins/nodes-snapping/constants.d.ts
1371
+ declare const GUIDE_LINE_NAME = "guide-line";
1372
+ declare const GUIDE_ORIENTATION: {
1373
+ readonly "HORIZONTAL": "H";
1374
+ readonly "VERTICAL": "V";
1375
+ };
1376
+ declare const NODE_SNAP: {
1377
+ readonly "START": "start";
1378
+ readonly "CENTER": "center";
1379
+ readonly "END": "end";
1380
+ };
1381
+
1382
+ //#endregion
1383
+ //#region src/plugins/nodes-snapping/types.d.ts
1384
+ type NodeSnapKeys = keyof typeof NODE_SNAP;
1385
+ type NodeSnap = (typeof NODE_SNAP)[NodeSnapKeys];
1386
+ type NodeSnappingEdge = {
1387
+ guide: number;
1388
+ offset: number;
1389
+ snap: NodeSnap;
1390
+ };
1391
+ type NodeSnappingEdges = {
1392
+ vertical: NodeSnappingEdge[];
1393
+ horizontal: NodeSnappingEdge[];
1394
+ };
1395
+ type LineGuideStop = {
1396
+ vertical: number[];
1397
+ horizontal: number[];
1398
+ };
1399
+ type LineGuide = {
1400
+ lineGuide: number;
1401
+ diff: number;
1402
+ snap: NodeSnap;
1403
+ offset: number;
1404
+ };
1405
+ type GuideOrientationKeys = keyof typeof GUIDE_ORIENTATION;
1406
+ type GuideOrientation = (typeof GUIDE_ORIENTATION)[GuideOrientationKeys];
1407
+ type Guide = {
1408
+ lineGuide: number;
1409
+ offset: number;
1410
+ orientation: GuideOrientation;
1411
+ snap: NodeSnap;
1412
+ };
1413
+
1414
+ //#endregion
1415
+ //#region src/plugins/nodes-snapping/nodes-snapping.d.ts
1416
+ declare class WeaveNodesSnappingPlugin extends WeavePlugin {
1417
+ private guideLineOffset;
1418
+ render: undefined;
1419
+ constructor();
1420
+ getName(): string;
1421
+ init(): void;
1422
+ setEnabled(enabled: boolean): void;
1423
+ private initEvents;
1424
+ getLineGuideStops(skipShape: Konva.Node): LineGuideStop;
1425
+ getObjectSnappingEdges(node: Konva.Node): NodeSnappingEdges;
1426
+ getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges): Guide[];
1427
+ drawGuides(guides: Guide[]): void;
1428
+ enable(): void;
1429
+ disable(): void;
1430
+ }
1431
+
1432
+ //#endregion
1433
+ export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_NAME, GUIDE_ORIENTATION, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_STATE, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NodeSnap, NodeSnapKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, TextSerializable, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_LAYER_ID, Weave, WeaveAction, WeaveActionCallbacks, WeaveActionPropsChangeCallback, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveBrushToolCallbacks, WeaveConnectedUserInfoKey, WeaveConnectedUsersChangeCallback, WeaveConnectedUsersChanged, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesCanCopyChangeCallback, WeaveCopyPasteNodesCanPasteChangeCallback, WeaveCopyPasteNodesOnCopyCallback, WeaveCopyPasteNodesOnPasteCallback, WeaveCopyPasteNodesOnPasteExternalCallback, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginCallbacks, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameNode, WeaveFrameToolAction, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolCallbacks, WeaveFrameToolProps, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImageToolActionCallbacks, WeaveImageToolActionOnAddImageCallback, WeaveImageToolActionOnEndLoadImageCallback, WeaveImageToolActionOnStartLoadImageCallback, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesSelectionChangeCallback, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginCallbacks, WeaveNodesSelectionStageSelectionCallback, WeaveNodesSnappingPlugin, WeaveOnNodeMenuCallback, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePenToolCallbacks, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRectangleToolCallbacks, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginCallbacks, WeaveStageContextMenuPluginOptions, WeaveStageDropAreaPlugin, WeaveStageDropAreaPluginCallbacks, WeaveStageDropCallback, WeaveStageDropUploadFileCallback, WeaveStageGridPlugin, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomOnZoomChangeCallback, WeaveStageZoomPlugin, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };