@inditextech/weave-react 0.3.1 → 0.3.2

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/react.d.cts CHANGED
@@ -1,465 +1,10 @@
1
1
  import React from "react";
2
+ import { Weave, WeaveAction, WeaveConnectedUsersChanged, WeaveNode, WeavePlugin, WeaveStore } from "@inditextech/weave-sdk";
2
3
  import Konva from "konva";
3
- import { Vector2d } from "konva/lib/types";
4
- import * as Y from "yjs";
5
- import { Doc } from "yjs";
6
- import Emittery from "emittery";
7
- import pino, { Logger } from "pino";
8
- import { StageConfig } from "konva/lib/Stage";
4
+ import "yjs";
5
+ import "konva/lib/types";
9
6
  import { StoreApi, UseBoundStore } from "zustand";
10
7
 
11
- //#region ../sdk/dist/sdk.d.ts
12
- //#region ../types/dist/types.d.ts
13
- declare const WEAVE_INSTANCE_STATUS$1: {
14
- readonly "IDLE": "idle";
15
- readonly "STARTING": "starting";
16
- readonly "LOADING_FONTS": "loadingFonts";
17
- readonly "RUNNING": "running";
18
- };
19
- declare const WEAVE_NODE_POSITION: {
20
- readonly "UP": "up";
21
- readonly "DOWN": "down";
22
- readonly "FRONT": "front";
23
- readonly "BACK": "back";
24
- };
25
- declare const WEAVE_EXPORT_FORMATS: {
26
- readonly "PNG": "image/png";
27
- readonly "JPEG": "image/jpeg";
28
- };
29
- //#endregion
30
- //#region src/base/action.d.ts
31
- interface WeaveActionBase {
32
- onInit?(): void;
33
- trigger(cancelAction: () => void, params?: unknown): unknown;
34
- internalUpdate?(): void;
35
- cleanup?(): void;
36
- }
37
-
38
- //#endregion
39
- //#region src/base/plugin.d.ts
40
- interface WeavePluginBase {
41
- onInit?(): void;
42
- onRender?(): void;
43
- enable(): void;
44
- disable(): void;
45
- isEnabled(): boolean;
46
- }
47
-
48
- //#endregion
49
- //#region src/base/store.d.ts
50
- type WeaveStoreOptions = {
51
- getUser: () => WeaveUser$1;
52
- undoManagerOptions?: WeaveUndoManagerOptions;
53
- };
54
- interface WeaveStoreBase {
55
- connect(): void;
56
- disconnect(): void;
57
- onAwarenessChange<K extends string, T>(callback: (changes: WeaveAwarenessChange<K, T>[]) => void): void;
58
- setAwarenessInfo(field: string, value: unknown): void;
59
- }
60
-
61
- //#endregion
62
- //#region src/types.d.ts
63
- type WeaveConfig = {
64
- store: WeaveStoreBase;
65
- nodes?: WeaveNodeBase[];
66
- actions?: WeaveActionBase[];
67
- plugins?: WeavePluginBase[];
68
- fonts?: WeaveFont$1[];
69
- callbacks?: WeaveCallbacks$1;
70
- logger?: WeaveLoggerConfig;
71
- };
72
- type WeaveStatusKeys$1 = keyof typeof WEAVE_INSTANCE_STATUS$1;
73
- type WeaveStatus$1 = (typeof WEAVE_INSTANCE_STATUS$1)[WeaveStatusKeys$1];
74
- type WeaveElementAttributes$1 = {
75
- [key: string]: any;
76
- id?: string;
77
- nodeType?: string;
78
- children?: WeaveStateElement$1[];
79
- };
80
- type WeaveStateElement$1 = {
81
- key: string;
82
- type: string;
83
- props: WeaveElementAttributes$1;
84
- };
85
- type WeaveState$1 = {
86
- weave: {
87
- key: "stage";
88
- type: "stage";
89
- props: {
90
- [key: string]: unknown;
91
- id: "stage";
92
- children: WeaveStateElement$1[];
93
- };
94
- } | Record<string, WeaveStateElement$1>;
95
- };
96
- type WeaveSelection$1 = {
97
- instance: Konva.Shape | Konva.Group;
98
- node: WeaveStateElement$1;
99
- };
100
- type WeaveMousePointInfoSimple = {
101
- mousePoint: Vector2d;
102
- container: Konva.Layer | Konva.Group | undefined;
103
- };
104
- type WeaveMousePointInfo = WeaveMousePointInfoSimple & {
105
- measureContainer: Konva.Layer | Konva.Group | undefined;
106
- };
107
- type WeaveSerializedGroup = {
108
- serializedNodes: WeaveStateElement$1[];
109
- minPoint: Vector2d;
110
- } | undefined;
111
- type WeaveNodeFound = {
112
- node: WeaveStateElement$1 | null;
113
- parent: WeaveStateElement$1 | null;
114
- index: number;
115
- };
116
- type WeaveAwarenessChange<K extends string, T> = { [key in K]: T };
117
- type WeaveElementInstance = Konva.Layer | Konva.Group | Konva.Shape;
118
- type WeaveLoggerConfig = {
119
- disabled?: boolean;
120
- level?: "debug" | "info" | "warn" | "error";
121
- };
122
- type WeavePositionKeys = keyof typeof WEAVE_NODE_POSITION;
123
- type WeavePosition = (typeof WEAVE_NODE_POSITION)[WeavePositionKeys];
124
- type WeaveExportNodeOptions = {
125
- format?: typeof WEAVE_EXPORT_FORMATS.PNG;
126
- padding?: number;
127
- pixelRatio?: number;
128
- backgroundColor?: string;
129
- quality?: number;
130
- };
131
- type WeaveUser$1 = {
132
- name: string;
133
- email: string;
134
- };
135
- type WeaveFont$1 = {
136
- id: string;
137
- name: string;
138
- };
139
- type WeaveUndoManagerOptions = {
140
- captureTimeout?: number;
141
- trackedOrigins?: Set<any>;
142
- };
143
- type WeaveUndoRedoChange$1 = {
144
- canRedo: boolean;
145
- canUndo: boolean;
146
- redoStackLength: number;
147
- undoStackLength: number;
148
- };
149
- type WeaveCallbacks$1 = {
150
- onRender?: () => void;
151
- onRoomLoaded?: (loaded: boolean) => void;
152
- onInstanceStatus?: (status: WeaveStatus$1) => void;
153
- onActiveActionChange?: (actionName: string | undefined) => void;
154
- onStateChange?: (state: WeaveState$1) => void;
155
- onUndoManagerStatusChange?: (undoManagerStatus: WeaveUndoRedoChange$1) => void;
156
- };
157
- declare type docElementTypeDescription = "xml" | "text" | Array<any> | object;
158
- declare type DocTypeDescription = {
159
- [key: string]: docElementTypeDescription;
160
- };
161
- 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 };
162
- //#endregion
163
- //#region src/base/node.d.ts
164
- interface WeaveNodeBase {
165
- create(id: string, props: WeaveElementAttributes$1): WeaveStateElement$1;
166
- onRender(props: WeaveElementAttributes$1): WeaveElementInstance;
167
- onUpdate(instance: WeaveElementInstance, nextProps: WeaveElementAttributes$1): void;
168
- onDestroy(instance: WeaveElementInstance): void;
169
- serialize(instance: WeaveElementInstance): WeaveStateElement$1;
170
- } //#endregion
171
- //#region src/stores/store.d.ts
172
-
173
- //#endregion
174
- declare abstract class WeaveStore implements WeaveStoreBase {
175
- protected instance: Weave;
176
- protected name: string;
177
- protected supportsUndoManager: boolean;
178
- protected config: WeaveStoreOptions;
179
- private state;
180
- private latestState;
181
- private document;
182
- private logger;
183
- private undoManager;
184
- private isRoomLoaded;
185
- constructor(config: WeaveStoreOptions);
186
- getName(): string;
187
- getLogger(): Logger;
188
- register(instance: Weave): WeaveStore;
189
- getUser(): WeaveUser$1;
190
- setState(state: WeaveState$1): void;
191
- setLatestState(newState: WeaveState$1): void;
192
- getLatestState(): WeaveState$1;
193
- getDocument(): Doc;
194
- getState(): MappedTypeDescription<WeaveState$1>;
195
- getStateJson(): WeaveState$1;
196
- setup(): void;
197
- canUndoStateStep(): boolean;
198
- canRedoStateStep(): boolean;
199
- undoStateStep(): void;
200
- redoStateStep(): void;
201
- abstract connect(): void;
202
- abstract disconnect(): void;
203
- abstract onAwarenessChange<K extends string, T>(callback: (changes: WeaveAwarenessChange<K, T>[]) => void): void;
204
- abstract setAwarenessInfo(field: string, value: unknown): void;
205
- }
206
-
207
- //#endregion
208
- //#region src/plugins/plugin.d.ts
209
- declare abstract class WeavePlugin implements WeavePluginBase {
210
- protected instance: Weave;
211
- protected name: string;
212
- protected enabled: boolean;
213
- private logger;
214
- register(instance: Weave): WeavePlugin;
215
- getName(): string;
216
- getLogger(): Logger;
217
- isEnabled(): boolean;
218
- abstract onInit?(): void;
219
- abstract onRender?(): void;
220
- abstract enable(): void;
221
- abstract disable(): void;
222
- }
223
-
224
- //#endregion
225
- //#region src/plugins/nodes-selection/types.d.ts
226
- type WeaveNodesSelectionChangeCallback = (nodes: WeaveSelection$1[]) => void;
227
- type WeaveNodesSelectionStageSelectionCallback = () => void;
228
- type WeaveNodesSelectionPluginCallbacks = {
229
- onNodesChange: WeaveNodesSelectionChangeCallback;
230
- onStageSelection?: WeaveNodesSelectionStageSelectionCallback;
231
- };
232
-
233
- //#endregion
234
- //#region src/plugins/nodes-selection/nodes-selection.d.ts
235
- declare class WeaveNodesSelectionPlugin extends WeavePlugin {
236
- private tr;
237
- private selectionRectangle;
238
- private active;
239
- private cameFromSelectingMultiple;
240
- private selecting;
241
- private initialized;
242
- private callbacks;
243
- onRender: undefined;
244
- constructor(callbacks: WeaveNodesSelectionPluginCallbacks);
245
- getName(): string;
246
- getLayerName(): string;
247
- initLayer(): void;
248
- onInit(): void;
249
- private getLayer;
250
- private triggerSelectedNodesEvent;
251
- private initEvents;
252
- getTransformer(): Konva.Transformer;
253
- setSelectedNodes(nodes: Konva.Node[]): void;
254
- getSelectedNodes(): (Konva.Group | Konva.Shape)[];
255
- removeSelectedNodes(): void;
256
- selectAll(): void;
257
- selectNone(): void;
258
- enable(): void;
259
- disable(): void;
260
- }
261
-
262
- //#endregion
263
- //#region src/nodes/node.d.ts
264
- declare abstract class WeaveNode implements WeaveNodeBase {
265
- protected instance: Weave;
266
- protected nodeType: string;
267
- private logger;
268
- protected previousPointer: string | null;
269
- register(instance: Weave): WeaveNode;
270
- getNodeType(): string;
271
- getLogger(): Logger;
272
- getSelectionPlugin(): WeaveNodesSelectionPlugin;
273
- isSelecting(): boolean;
274
- isPasting(): boolean;
275
- isNodeSelected(ele: Konva.Node): boolean;
276
- setupDefaultNodeEvents(node: Konva.Node): void;
277
- create(key: string, props: WeaveElementAttributes$1): WeaveStateElement$1;
278
- abstract onRender(props: WeaveElementAttributes$1): WeaveElementInstance;
279
- abstract onUpdate(instance: WeaveElementInstance, nextProps: WeaveElementAttributes$1): void;
280
- onDestroy(nodeInstance: WeaveElementInstance): void;
281
- serialize(instance: WeaveElementInstance): WeaveStateElement$1;
282
- }
283
-
284
- //#endregion
285
- //#region src/actions/types.d.ts
286
- type WeaveActionPropsChangeCallback = (props: WeaveElementAttributes$1) => void;
287
- type WeaveActionCallbacks = {
288
- onPropsChange?: WeaveActionPropsChangeCallback;
289
- };
290
-
291
- //#endregion
292
- //#region src/actions/action.d.ts
293
- declare abstract class WeaveAction {
294
- protected instance: Weave;
295
- protected name: string;
296
- props: WeaveElementAttributes$1;
297
- protected callbacks: WeaveActionCallbacks | undefined;
298
- private logger;
299
- constructor(callbacks?: WeaveActionCallbacks);
300
- getName(): string;
301
- getLogger(): Logger;
302
- register(instance: Weave): WeaveAction;
303
- updateProps(props: WeaveElementAttributes$1): void;
304
- getProps(): WeaveElementAttributes$1;
305
- abstract onInit?(): void;
306
- abstract trigger(cancelAction: () => void, params?: unknown): unknown;
307
- abstract internalUpdate?(): void;
308
- abstract cleanup?(): void;
309
- }
310
-
311
- //#endregion
312
- //#region src/logger/logger.d.ts
313
- declare class WeaveLogger {
314
- private config;
315
- private disabled;
316
- private logger;
317
- constructor(config: WeaveLoggerConfig);
318
- private log;
319
- getDisabled(): boolean;
320
- getLevel(): pino.LevelWithSilentOrString;
321
- getLogger(): Logger;
322
- getChildLogger(name: string): pino.Logger<never, boolean>;
323
- }
324
-
325
- //#endregion
326
- //#region src/managers/register.d.ts
327
- declare class WeaveRegisterManager {
328
- private instance;
329
- private nodesHandlers;
330
- private actionsHandlers;
331
- private plugins;
332
- private logger;
333
- constructor(instance: Weave);
334
- getPlugins(): Record<string, WeavePlugin>;
335
- getNodesHandlers(): Record<string, WeaveNode>;
336
- getActionsHandlers(): Record<string, WeaveAction>;
337
- getPlugin<T>(pluginName: string): T;
338
- getActionHandler<T>(actionName: string): T;
339
- getNodeHandler(nodeType: string): WeaveNode;
340
- registerPlugins(): void;
341
- registerPlugin(plugin: WeavePlugin): void;
342
- registerNodesHandlers(): void;
343
- registerNodeHandler(node: WeaveNode): void;
344
- registerActionsHandlers(): void;
345
- registerActionHandler(action: WeaveAction): void;
346
- }
347
-
348
- //#endregion
349
- //#region src/managers/stage.d.ts
350
- declare class WeaveStageManager {
351
- private instance;
352
- private logger;
353
- private stage;
354
- private config;
355
- constructor(instance: Weave, config: Konva.StageConfig);
356
- getConfiguration(): StageConfig;
357
- setStage(stage: Konva.Stage): void;
358
- getStage(): Konva.Stage;
359
- getMainLayer(): Konva.Layer | undefined;
360
- getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
361
- initStage(): void;
362
- }
363
-
364
- //#endregion
365
- //#region src/weave.d.ts
366
- declare class Weave extends Emittery {
367
- private id;
368
- private config;
369
- private logger;
370
- private moduleLogger;
371
- private reconciler;
372
- private stateSerializer;
373
- private renderer;
374
- private status;
375
- private setupManager;
376
- private registerManager;
377
- private stateManager;
378
- private storeManager;
379
- private stageManager;
380
- private groupsManager;
381
- private targetingManager;
382
- private cloningManager;
383
- private fontsManager;
384
- private zIndexManager;
385
- private pluginsManager;
386
- private actionsManager;
387
- private exportManager;
388
- constructor(weaveConfig: WeaveConfig, stageConfig: Konva.StageConfig);
389
- setupRenderer(): void;
390
- setStatus(status: WeaveStatus$1): void;
391
- getStatus(): WeaveStatus$1;
392
- setStore(store: WeaveStore): void;
393
- start(): Promise<void>;
394
- getId(): string;
395
- getConfiguration(): WeaveConfig;
396
- emitEvent<T>(event: string, payload: T): void;
397
- addEventListener<T>(event: string, callback: (payload: T) => void): void;
398
- removeEventListener<T>(event: string, callback: (payload: T) => void): void;
399
- getLogger(): WeaveLogger;
400
- getMainLogger(): Logger;
401
- getChildLogger(name: string): pino.Logger<never, boolean>;
402
- getStageManager(): WeaveStageManager;
403
- getStage(): Konva.Stage;
404
- getMainLayer(): Konva.Layer | undefined;
405
- setStage(stage: Konva.Stage): void;
406
- getStageConfiguration(): StageConfig;
407
- getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
408
- getRegisterManager(): WeaveRegisterManager;
409
- getPlugins(): Record<string, WeavePlugin>;
410
- getPlugin<T>(pluginName: string): T;
411
- getNodesHandlers(): Record<string, WeaveNode>;
412
- getNodeHandler<T>(nodeType: string): T;
413
- getActionsHandlers(): Record<string, WeaveAction>;
414
- getActionHandler<T>(actionName: string): T;
415
- getStore<T extends WeaveStore>(): T;
416
- registerPlugin(plugin: WeavePlugin): void;
417
- registerNodeHandler(node: WeaveNode): void;
418
- registerActionHandler(action: WeaveAction): void;
419
- registerStore(store: WeaveStore): void;
420
- isPluginEnabled(pluginName: string): boolean;
421
- enablePlugin(pluginName: string): void;
422
- disablePlugin(pluginName: string): void;
423
- getActiveAction(): string | undefined;
424
- triggerAction<T>(actionName: string, params?: T): unknown;
425
- getPropsAction(actionName: string): WeaveElementAttributes$1;
426
- updatePropsAction(actionName: string, params: WeaveElementAttributes$1): void;
427
- cancelAction(actionName: string): void;
428
- update(newState: WeaveState$1): void;
429
- render(): void;
430
- findNodeById(tree: WeaveStateElement$1, key: string, parent?: WeaveStateElement$1 | null, index?: number): WeaveNodeFound;
431
- findNodesByType(tree: WeaveStateElement$1, nodeType: string): WeaveStateElement$1[];
432
- getNode(nodeKey: string): {
433
- node: WeaveStateElement$1 | null;
434
- parent: WeaveStateElement$1 | null;
435
- index: number;
436
- };
437
- addNode(node: WeaveStateElement$1, parentId?: string, index?: number | undefined, doRender?: boolean): void;
438
- updateNode(node: WeaveStateElement$1, doRender?: boolean): void;
439
- removeNode(node: WeaveStateElement$1, doRender?: boolean): void;
440
- removeNodes(nodes: WeaveStateElement$1[], doRender?: boolean): void;
441
- moveNode(node: WeaveStateElement$1, position: WeavePosition, doRender?: boolean): void;
442
- moveUp(node: WeaveElementInstance): void;
443
- moveDown(node: WeaveElementInstance): void;
444
- sendToBack(node: WeaveElementInstance): void;
445
- bringToFront(node: WeaveElementInstance): void;
446
- group(nodes: WeaveStateElement$1[]): void;
447
- unGroup(group: WeaveStateElement$1): void;
448
- getMousePointer(point?: Vector2d): WeaveMousePointInfo;
449
- getMousePointerRelativeToContainer(container: Konva.Group | Konva.Layer): WeaveMousePointInfoSimple;
450
- nodesToGroupSerialized(instancesToClone: Konva.Node[]): WeaveSerializedGroup;
451
- cloneNodes(instancesToClone: Konva.Node[], targetContainer: Konva.Layer | Konva.Group | undefined, onPoint: Vector2d): void;
452
- getFonts(): WeaveFont$1[];
453
- exportStage(options: WeaveExportNodeOptions): Promise<HTMLImageElement>;
454
- exportNode(node: WeaveElementInstance, options: WeaveExportNodeOptions): Promise<HTMLImageElement>;
455
- }
456
-
457
- //#endregion
458
- //#region src/utils.d.ts
459
-
460
- type WeaveConnectedUsersChanged = {
461
- [userName: string]: WeaveUser$1;
462
- }; //#endregion
463
8
  //#region ../types/dist/types.d.ts
464
9
  declare const WEAVE_INSTANCE_STATUS: {
465
10
  readonly "IDLE": "idle";
@@ -516,9 +61,7 @@ type WeaveCallbacks = {
516
61
  onActiveActionChange?: (actionName: string | undefined) => void;
517
62
  onStateChange?: (state: WeaveState) => void;
518
63
  onUndoManagerStatusChange?: (undoManagerStatus: WeaveUndoRedoChange) => void;
519
- };
520
-
521
- //#endregion
64
+ }; //#endregion
522
65
  //#region src/components/provider.d.ts
523
66
  type WeaveProviderType = {
524
67
  containerId: string;
package/dist/react.d.ts CHANGED
@@ -1,465 +1,10 @@
1
1
  import React from "react";
2
+ import { Weave, WeaveAction, WeaveConnectedUsersChanged, WeaveNode, WeavePlugin, WeaveStore } from "@inditextech/weave-sdk";
2
3
  import Konva from "konva";
3
- import * as Y from "yjs";
4
- import { Doc } from "yjs";
5
- import { Vector2d } from "konva/lib/types";
6
- import Emittery from "emittery";
7
- import pino, { Logger } from "pino";
8
- import { StageConfig } from "konva/lib/Stage";
4
+ import "yjs";
5
+ import "konva/lib/types";
9
6
  import { StoreApi, UseBoundStore } from "zustand";
10
7
 
11
- //#region ../sdk/dist/sdk.d.ts
12
- //#region ../types/dist/types.d.ts
13
- declare const WEAVE_INSTANCE_STATUS$1: {
14
- readonly "IDLE": "idle";
15
- readonly "STARTING": "starting";
16
- readonly "LOADING_FONTS": "loadingFonts";
17
- readonly "RUNNING": "running";
18
- };
19
- declare const WEAVE_NODE_POSITION: {
20
- readonly "UP": "up";
21
- readonly "DOWN": "down";
22
- readonly "FRONT": "front";
23
- readonly "BACK": "back";
24
- };
25
- declare const WEAVE_EXPORT_FORMATS: {
26
- readonly "PNG": "image/png";
27
- readonly "JPEG": "image/jpeg";
28
- };
29
- //#endregion
30
- //#region src/base/action.d.ts
31
- interface WeaveActionBase {
32
- onInit?(): void;
33
- trigger(cancelAction: () => void, params?: unknown): unknown;
34
- internalUpdate?(): void;
35
- cleanup?(): void;
36
- }
37
-
38
- //#endregion
39
- //#region src/base/plugin.d.ts
40
- interface WeavePluginBase {
41
- onInit?(): void;
42
- onRender?(): void;
43
- enable(): void;
44
- disable(): void;
45
- isEnabled(): boolean;
46
- }
47
-
48
- //#endregion
49
- //#region src/base/store.d.ts
50
- type WeaveStoreOptions = {
51
- getUser: () => WeaveUser$1;
52
- undoManagerOptions?: WeaveUndoManagerOptions;
53
- };
54
- interface WeaveStoreBase {
55
- connect(): void;
56
- disconnect(): void;
57
- onAwarenessChange<K extends string, T>(callback: (changes: WeaveAwarenessChange<K, T>[]) => void): void;
58
- setAwarenessInfo(field: string, value: unknown): void;
59
- }
60
-
61
- //#endregion
62
- //#region src/types.d.ts
63
- type WeaveConfig = {
64
- store: WeaveStoreBase;
65
- nodes?: WeaveNodeBase[];
66
- actions?: WeaveActionBase[];
67
- plugins?: WeavePluginBase[];
68
- fonts?: WeaveFont$1[];
69
- callbacks?: WeaveCallbacks$1;
70
- logger?: WeaveLoggerConfig;
71
- };
72
- type WeaveStatusKeys$1 = keyof typeof WEAVE_INSTANCE_STATUS$1;
73
- type WeaveStatus$1 = (typeof WEAVE_INSTANCE_STATUS$1)[WeaveStatusKeys$1];
74
- type WeaveElementAttributes$1 = {
75
- [key: string]: any;
76
- id?: string;
77
- nodeType?: string;
78
- children?: WeaveStateElement$1[];
79
- };
80
- type WeaveStateElement$1 = {
81
- key: string;
82
- type: string;
83
- props: WeaveElementAttributes$1;
84
- };
85
- type WeaveState$1 = {
86
- weave: {
87
- key: "stage";
88
- type: "stage";
89
- props: {
90
- [key: string]: unknown;
91
- id: "stage";
92
- children: WeaveStateElement$1[];
93
- };
94
- } | Record<string, WeaveStateElement$1>;
95
- };
96
- type WeaveSelection$1 = {
97
- instance: Konva.Shape | Konva.Group;
98
- node: WeaveStateElement$1;
99
- };
100
- type WeaveMousePointInfoSimple = {
101
- mousePoint: Vector2d;
102
- container: Konva.Layer | Konva.Group | undefined;
103
- };
104
- type WeaveMousePointInfo = WeaveMousePointInfoSimple & {
105
- measureContainer: Konva.Layer | Konva.Group | undefined;
106
- };
107
- type WeaveSerializedGroup = {
108
- serializedNodes: WeaveStateElement$1[];
109
- minPoint: Vector2d;
110
- } | undefined;
111
- type WeaveNodeFound = {
112
- node: WeaveStateElement$1 | null;
113
- parent: WeaveStateElement$1 | null;
114
- index: number;
115
- };
116
- type WeaveAwarenessChange<K extends string, T> = { [key in K]: T };
117
- type WeaveElementInstance = Konva.Layer | Konva.Group | Konva.Shape;
118
- type WeaveLoggerConfig = {
119
- disabled?: boolean;
120
- level?: "debug" | "info" | "warn" | "error";
121
- };
122
- type WeavePositionKeys = keyof typeof WEAVE_NODE_POSITION;
123
- type WeavePosition = (typeof WEAVE_NODE_POSITION)[WeavePositionKeys];
124
- type WeaveExportNodeOptions = {
125
- format?: typeof WEAVE_EXPORT_FORMATS.PNG;
126
- padding?: number;
127
- pixelRatio?: number;
128
- backgroundColor?: string;
129
- quality?: number;
130
- };
131
- type WeaveUser$1 = {
132
- name: string;
133
- email: string;
134
- };
135
- type WeaveFont$1 = {
136
- id: string;
137
- name: string;
138
- };
139
- type WeaveUndoManagerOptions = {
140
- captureTimeout?: number;
141
- trackedOrigins?: Set<any>;
142
- };
143
- type WeaveUndoRedoChange$1 = {
144
- canRedo: boolean;
145
- canUndo: boolean;
146
- redoStackLength: number;
147
- undoStackLength: number;
148
- };
149
- type WeaveCallbacks$1 = {
150
- onRender?: () => void;
151
- onRoomLoaded?: (loaded: boolean) => void;
152
- onInstanceStatus?: (status: WeaveStatus$1) => void;
153
- onActiveActionChange?: (actionName: string | undefined) => void;
154
- onStateChange?: (state: WeaveState$1) => void;
155
- onUndoManagerStatusChange?: (undoManagerStatus: WeaveUndoRedoChange$1) => void;
156
- };
157
- declare type docElementTypeDescription = "xml" | "text" | Array<any> | object;
158
- declare type DocTypeDescription = {
159
- [key: string]: docElementTypeDescription;
160
- };
161
- 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 };
162
- //#endregion
163
- //#region src/base/node.d.ts
164
- interface WeaveNodeBase {
165
- create(id: string, props: WeaveElementAttributes$1): WeaveStateElement$1;
166
- onRender(props: WeaveElementAttributes$1): WeaveElementInstance;
167
- onUpdate(instance: WeaveElementInstance, nextProps: WeaveElementAttributes$1): void;
168
- onDestroy(instance: WeaveElementInstance): void;
169
- serialize(instance: WeaveElementInstance): WeaveStateElement$1;
170
- } //#endregion
171
- //#region src/stores/store.d.ts
172
-
173
- //#endregion
174
- declare abstract class WeaveStore implements WeaveStoreBase {
175
- protected instance: Weave;
176
- protected name: string;
177
- protected supportsUndoManager: boolean;
178
- protected config: WeaveStoreOptions;
179
- private state;
180
- private latestState;
181
- private document;
182
- private logger;
183
- private undoManager;
184
- private isRoomLoaded;
185
- constructor(config: WeaveStoreOptions);
186
- getName(): string;
187
- getLogger(): Logger;
188
- register(instance: Weave): WeaveStore;
189
- getUser(): WeaveUser$1;
190
- setState(state: WeaveState$1): void;
191
- setLatestState(newState: WeaveState$1): void;
192
- getLatestState(): WeaveState$1;
193
- getDocument(): Doc;
194
- getState(): MappedTypeDescription<WeaveState$1>;
195
- getStateJson(): WeaveState$1;
196
- setup(): void;
197
- canUndoStateStep(): boolean;
198
- canRedoStateStep(): boolean;
199
- undoStateStep(): void;
200
- redoStateStep(): void;
201
- abstract connect(): void;
202
- abstract disconnect(): void;
203
- abstract onAwarenessChange<K extends string, T>(callback: (changes: WeaveAwarenessChange<K, T>[]) => void): void;
204
- abstract setAwarenessInfo(field: string, value: unknown): void;
205
- }
206
-
207
- //#endregion
208
- //#region src/plugins/plugin.d.ts
209
- declare abstract class WeavePlugin implements WeavePluginBase {
210
- protected instance: Weave;
211
- protected name: string;
212
- protected enabled: boolean;
213
- private logger;
214
- register(instance: Weave): WeavePlugin;
215
- getName(): string;
216
- getLogger(): Logger;
217
- isEnabled(): boolean;
218
- abstract onInit?(): void;
219
- abstract onRender?(): void;
220
- abstract enable(): void;
221
- abstract disable(): void;
222
- }
223
-
224
- //#endregion
225
- //#region src/plugins/nodes-selection/types.d.ts
226
- type WeaveNodesSelectionChangeCallback = (nodes: WeaveSelection$1[]) => void;
227
- type WeaveNodesSelectionStageSelectionCallback = () => void;
228
- type WeaveNodesSelectionPluginCallbacks = {
229
- onNodesChange: WeaveNodesSelectionChangeCallback;
230
- onStageSelection?: WeaveNodesSelectionStageSelectionCallback;
231
- };
232
-
233
- //#endregion
234
- //#region src/plugins/nodes-selection/nodes-selection.d.ts
235
- declare class WeaveNodesSelectionPlugin extends WeavePlugin {
236
- private tr;
237
- private selectionRectangle;
238
- private active;
239
- private cameFromSelectingMultiple;
240
- private selecting;
241
- private initialized;
242
- private callbacks;
243
- onRender: undefined;
244
- constructor(callbacks: WeaveNodesSelectionPluginCallbacks);
245
- getName(): string;
246
- getLayerName(): string;
247
- initLayer(): void;
248
- onInit(): void;
249
- private getLayer;
250
- private triggerSelectedNodesEvent;
251
- private initEvents;
252
- getTransformer(): Konva.Transformer;
253
- setSelectedNodes(nodes: Konva.Node[]): void;
254
- getSelectedNodes(): (Konva.Group | Konva.Shape)[];
255
- removeSelectedNodes(): void;
256
- selectAll(): void;
257
- selectNone(): void;
258
- enable(): void;
259
- disable(): void;
260
- }
261
-
262
- //#endregion
263
- //#region src/nodes/node.d.ts
264
- declare abstract class WeaveNode implements WeaveNodeBase {
265
- protected instance: Weave;
266
- protected nodeType: string;
267
- private logger;
268
- protected previousPointer: string | null;
269
- register(instance: Weave): WeaveNode;
270
- getNodeType(): string;
271
- getLogger(): Logger;
272
- getSelectionPlugin(): WeaveNodesSelectionPlugin;
273
- isSelecting(): boolean;
274
- isPasting(): boolean;
275
- isNodeSelected(ele: Konva.Node): boolean;
276
- setupDefaultNodeEvents(node: Konva.Node): void;
277
- create(key: string, props: WeaveElementAttributes$1): WeaveStateElement$1;
278
- abstract onRender(props: WeaveElementAttributes$1): WeaveElementInstance;
279
- abstract onUpdate(instance: WeaveElementInstance, nextProps: WeaveElementAttributes$1): void;
280
- onDestroy(nodeInstance: WeaveElementInstance): void;
281
- serialize(instance: WeaveElementInstance): WeaveStateElement$1;
282
- }
283
-
284
- //#endregion
285
- //#region src/actions/types.d.ts
286
- type WeaveActionPropsChangeCallback = (props: WeaveElementAttributes$1) => void;
287
- type WeaveActionCallbacks = {
288
- onPropsChange?: WeaveActionPropsChangeCallback;
289
- };
290
-
291
- //#endregion
292
- //#region src/actions/action.d.ts
293
- declare abstract class WeaveAction {
294
- protected instance: Weave;
295
- protected name: string;
296
- props: WeaveElementAttributes$1;
297
- protected callbacks: WeaveActionCallbacks | undefined;
298
- private logger;
299
- constructor(callbacks?: WeaveActionCallbacks);
300
- getName(): string;
301
- getLogger(): Logger;
302
- register(instance: Weave): WeaveAction;
303
- updateProps(props: WeaveElementAttributes$1): void;
304
- getProps(): WeaveElementAttributes$1;
305
- abstract onInit?(): void;
306
- abstract trigger(cancelAction: () => void, params?: unknown): unknown;
307
- abstract internalUpdate?(): void;
308
- abstract cleanup?(): void;
309
- }
310
-
311
- //#endregion
312
- //#region src/logger/logger.d.ts
313
- declare class WeaveLogger {
314
- private config;
315
- private disabled;
316
- private logger;
317
- constructor(config: WeaveLoggerConfig);
318
- private log;
319
- getDisabled(): boolean;
320
- getLevel(): pino.LevelWithSilentOrString;
321
- getLogger(): Logger;
322
- getChildLogger(name: string): pino.Logger<never, boolean>;
323
- }
324
-
325
- //#endregion
326
- //#region src/managers/register.d.ts
327
- declare class WeaveRegisterManager {
328
- private instance;
329
- private nodesHandlers;
330
- private actionsHandlers;
331
- private plugins;
332
- private logger;
333
- constructor(instance: Weave);
334
- getPlugins(): Record<string, WeavePlugin>;
335
- getNodesHandlers(): Record<string, WeaveNode>;
336
- getActionsHandlers(): Record<string, WeaveAction>;
337
- getPlugin<T>(pluginName: string): T;
338
- getActionHandler<T>(actionName: string): T;
339
- getNodeHandler(nodeType: string): WeaveNode;
340
- registerPlugins(): void;
341
- registerPlugin(plugin: WeavePlugin): void;
342
- registerNodesHandlers(): void;
343
- registerNodeHandler(node: WeaveNode): void;
344
- registerActionsHandlers(): void;
345
- registerActionHandler(action: WeaveAction): void;
346
- }
347
-
348
- //#endregion
349
- //#region src/managers/stage.d.ts
350
- declare class WeaveStageManager {
351
- private instance;
352
- private logger;
353
- private stage;
354
- private config;
355
- constructor(instance: Weave, config: Konva.StageConfig);
356
- getConfiguration(): StageConfig;
357
- setStage(stage: Konva.Stage): void;
358
- getStage(): Konva.Stage;
359
- getMainLayer(): Konva.Layer | undefined;
360
- getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
361
- initStage(): void;
362
- }
363
-
364
- //#endregion
365
- //#region src/weave.d.ts
366
- declare class Weave extends Emittery {
367
- private id;
368
- private config;
369
- private logger;
370
- private moduleLogger;
371
- private reconciler;
372
- private stateSerializer;
373
- private renderer;
374
- private status;
375
- private setupManager;
376
- private registerManager;
377
- private stateManager;
378
- private storeManager;
379
- private stageManager;
380
- private groupsManager;
381
- private targetingManager;
382
- private cloningManager;
383
- private fontsManager;
384
- private zIndexManager;
385
- private pluginsManager;
386
- private actionsManager;
387
- private exportManager;
388
- constructor(weaveConfig: WeaveConfig, stageConfig: Konva.StageConfig);
389
- setupRenderer(): void;
390
- setStatus(status: WeaveStatus$1): void;
391
- getStatus(): WeaveStatus$1;
392
- setStore(store: WeaveStore): void;
393
- start(): Promise<void>;
394
- getId(): string;
395
- getConfiguration(): WeaveConfig;
396
- emitEvent<T>(event: string, payload: T): void;
397
- addEventListener<T>(event: string, callback: (payload: T) => void): void;
398
- removeEventListener<T>(event: string, callback: (payload: T) => void): void;
399
- getLogger(): WeaveLogger;
400
- getMainLogger(): Logger;
401
- getChildLogger(name: string): pino.Logger<never, boolean>;
402
- getStageManager(): WeaveStageManager;
403
- getStage(): Konva.Stage;
404
- getMainLayer(): Konva.Layer | undefined;
405
- setStage(stage: Konva.Stage): void;
406
- getStageConfiguration(): StageConfig;
407
- getInstanceRecursive(instance: Konva.Node, filterInstanceType?: string[]): Konva.Node;
408
- getRegisterManager(): WeaveRegisterManager;
409
- getPlugins(): Record<string, WeavePlugin>;
410
- getPlugin<T>(pluginName: string): T;
411
- getNodesHandlers(): Record<string, WeaveNode>;
412
- getNodeHandler<T>(nodeType: string): T;
413
- getActionsHandlers(): Record<string, WeaveAction>;
414
- getActionHandler<T>(actionName: string): T;
415
- getStore<T extends WeaveStore>(): T;
416
- registerPlugin(plugin: WeavePlugin): void;
417
- registerNodeHandler(node: WeaveNode): void;
418
- registerActionHandler(action: WeaveAction): void;
419
- registerStore(store: WeaveStore): void;
420
- isPluginEnabled(pluginName: string): boolean;
421
- enablePlugin(pluginName: string): void;
422
- disablePlugin(pluginName: string): void;
423
- getActiveAction(): string | undefined;
424
- triggerAction<T>(actionName: string, params?: T): unknown;
425
- getPropsAction(actionName: string): WeaveElementAttributes$1;
426
- updatePropsAction(actionName: string, params: WeaveElementAttributes$1): void;
427
- cancelAction(actionName: string): void;
428
- update(newState: WeaveState$1): void;
429
- render(): void;
430
- findNodeById(tree: WeaveStateElement$1, key: string, parent?: WeaveStateElement$1 | null, index?: number): WeaveNodeFound;
431
- findNodesByType(tree: WeaveStateElement$1, nodeType: string): WeaveStateElement$1[];
432
- getNode(nodeKey: string): {
433
- node: WeaveStateElement$1 | null;
434
- parent: WeaveStateElement$1 | null;
435
- index: number;
436
- };
437
- addNode(node: WeaveStateElement$1, parentId?: string, index?: number | undefined, doRender?: boolean): void;
438
- updateNode(node: WeaveStateElement$1, doRender?: boolean): void;
439
- removeNode(node: WeaveStateElement$1, doRender?: boolean): void;
440
- removeNodes(nodes: WeaveStateElement$1[], doRender?: boolean): void;
441
- moveNode(node: WeaveStateElement$1, position: WeavePosition, doRender?: boolean): void;
442
- moveUp(node: WeaveElementInstance): void;
443
- moveDown(node: WeaveElementInstance): void;
444
- sendToBack(node: WeaveElementInstance): void;
445
- bringToFront(node: WeaveElementInstance): void;
446
- group(nodes: WeaveStateElement$1[]): void;
447
- unGroup(group: WeaveStateElement$1): void;
448
- getMousePointer(point?: Vector2d): WeaveMousePointInfo;
449
- getMousePointerRelativeToContainer(container: Konva.Group | Konva.Layer): WeaveMousePointInfoSimple;
450
- nodesToGroupSerialized(instancesToClone: Konva.Node[]): WeaveSerializedGroup;
451
- cloneNodes(instancesToClone: Konva.Node[], targetContainer: Konva.Layer | Konva.Group | undefined, onPoint: Vector2d): void;
452
- getFonts(): WeaveFont$1[];
453
- exportStage(options: WeaveExportNodeOptions): Promise<HTMLImageElement>;
454
- exportNode(node: WeaveElementInstance, options: WeaveExportNodeOptions): Promise<HTMLImageElement>;
455
- }
456
-
457
- //#endregion
458
- //#region src/utils.d.ts
459
-
460
- type WeaveConnectedUsersChanged = {
461
- [userName: string]: WeaveUser$1;
462
- }; //#endregion
463
8
  //#region ../types/dist/types.d.ts
464
9
  declare const WEAVE_INSTANCE_STATUS: {
465
10
  readonly "IDLE": "idle";
@@ -516,9 +61,7 @@ type WeaveCallbacks = {
516
61
  onActiveActionChange?: (actionName: string | undefined) => void;
517
62
  onStateChange?: (state: WeaveState) => void;
518
63
  onUndoManagerStatusChange?: (undoManagerStatus: WeaveUndoRedoChange) => void;
519
- };
520
-
521
- //#endregion
64
+ }; //#endregion
522
65
  //#region src/components/provider.d.ts
523
66
  type WeaveProviderType = {
524
67
  containerId: string;
package/dist/react.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Weave, WeaveConnectedUsersPlugin, WeaveCopyPasteNodesPlugin, WeaveNodesSelectionPlugin, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveUsersPointersPlugin } from "@inditextech/weave-sdk";
2
+ import { Weave, WeaveAction, WeaveConnectedUsersPlugin, WeaveCopyPasteNodesPlugin, WeaveNode, WeaveNodesSelectionPlugin, WeavePlugin, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStore, WeaveUsersPointersPlugin } from "@inditextech/weave-sdk";
3
3
  import Konva from "konva";
4
4
  import "yjs";
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inditextech/weave-react",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>",
@@ -43,12 +43,12 @@
43
43
  "version:release": "npm version $RELEASE_VERSION -m \"[npm-scripts] prepare release $RELEASE_VERSION\" --tag-version-prefix \"\""
44
44
  },
45
45
  "dependencies": {
46
- "@inditextech/weave-sdk": "0.3.1",
47
46
  "@syncedstore/core": "0.6.0",
48
47
  "konva": "9.3.20",
49
48
  "yjs": "13.6.26"
50
49
  },
51
50
  "devDependencies": {
51
+ "@inditextech/weave-sdk": "0.3.2",
52
52
  "@types/node": "^22.15.3",
53
53
  "@typescript-eslint/eslint-plugin": "8.26.0",
54
54
  "@typescript-eslint/parser": "8.26.0",
@@ -72,6 +72,7 @@
72
72
  "zustand": "5.0.3"
73
73
  },
74
74
  "peerDependencies": {
75
+ "@inditextech/weave-sdk": "0.4.0-SNAPSHOT",
75
76
  "@types/react": ">= 18.3.1 && < 19",
76
77
  "@types/react-dom": ">= 18.3.0 && < 19",
77
78
  "react": ">= 18.2.0 && < 19",