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