@inditextech/weave-sdk 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sdk.cjs CHANGED
@@ -15871,9 +15871,6 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
15871
15871
  });
15872
15872
  this.initEvents();
15873
15873
  this.initialized = true;
15874
- this.instance.on("onRender", () => {
15875
- this.triggerSelectedNodesEvent();
15876
- });
15877
15874
  this.instance.on("onActiveActionChange", (activeAction) => {
15878
15875
  if (typeof activeAction !== "undefined" && activeAction !== "selectionTool") {
15879
15876
  this.active = false;
@@ -16143,9 +16140,9 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
16143
16140
  weave: object.weave,
16144
16141
  weaveMinPoint: object.weaveMinPoint
16145
16142
  };
16146
- resolve();
16147
- } catch (ex) {
16148
- reject(ex);
16143
+ resolve(true);
16144
+ } catch (_) {
16145
+ resolve(false);
16149
16146
  }
16150
16147
  }).catch((error) => {
16151
16148
  reject(error);
@@ -16167,31 +16164,36 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
16167
16164
  }
16168
16165
  initEvents() {
16169
16166
  const stage = this.instance.getStage();
16170
- document.oncopy = async () => {
16171
- this.performCopy();
16172
- return;
16173
- };
16174
- document.onpaste = async (event) => {
16175
- if (!this.enabled) return;
16176
- const items = event.clipboardData?.items;
16177
- if (!items) return;
16178
- try {
16179
- await this.readClipboardData();
16180
- this.performPaste();
16181
- } catch (ex) {
16182
- this.instance.emitEvent("onPaste", ex);
16167
+ window.addEventListener("keydown", async (e) => {
16168
+ if (e.key === "c" && (e.ctrlKey || e.metaKey)) {
16169
+ e.preventDefault();
16170
+ await this.performCopy();
16171
+ return;
16183
16172
  }
16184
- try {
16185
- const items$1 = await navigator.clipboard.read();
16186
- if (items$1 && items$1.length === 1) {
16187
- const item = items$1[0];
16188
- this.instance.emitEvent("onPasteExternal", item);
16173
+ if (e.key === "v" && (e.ctrlKey || e.metaKey)) {
16174
+ e.preventDefault();
16175
+ if (!this.enabled) return;
16176
+ try {
16177
+ const continueToPaste = await this.readClipboardData();
16178
+ if (!continueToPaste) {
16179
+ this.instance.emitEvent("onPaste", new Error("Invalid elements to paste"));
16180
+ return;
16181
+ }
16182
+ this.performPaste();
16183
+ } catch (ex) {
16184
+ this.instance.emitEvent("onPaste", ex);
16189
16185
  }
16190
- } catch (ex) {
16191
- this.instance.emitEvent("onPaste", ex);
16186
+ try {
16187
+ const items = await navigator.clipboard.read();
16188
+ if (items && items.length === 1) {
16189
+ const item = items[0];
16190
+ this.instance.emitEvent("onPasteExternal", item);
16191
+ }
16192
+ } catch (ex) {
16193
+ this.instance.emitEvent("onPaste", ex);
16194
+ }
16195
+ return;
16192
16196
  }
16193
- };
16194
- stage.container().addEventListener("keydown", (e) => {
16195
16197
  if (e.key === "Escape") {
16196
16198
  this.cancel();
16197
16199
  return;
@@ -16275,7 +16277,11 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
16275
16277
  await this.performCopy();
16276
16278
  }
16277
16279
  async paste() {
16278
- await this.readClipboardData();
16280
+ const continueToPaste = await this.readClipboardData();
16281
+ if (!continueToPaste) {
16282
+ this.instance.emitEvent("onPaste", new Error("Invalid elements to paste"));
16283
+ return;
16284
+ }
16279
16285
  this.performPaste();
16280
16286
  }
16281
16287
  getSelectedNodes() {
@@ -17838,7 +17844,7 @@ var WeaveRegisterManager = class {
17838
17844
 
17839
17845
  //#endregion
17840
17846
  //#region package.json
17841
- var version = "0.10.2";
17847
+ var version = "0.11.0";
17842
17848
 
17843
17849
  //#endregion
17844
17850
  //#region src/managers/setup.ts
@@ -19738,6 +19744,7 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
19738
19744
  ...config
19739
19745
  };
19740
19746
  if (!this.config.zoomSteps.includes(this.config.defaultZoom)) throw new Error(`Default zoom ${this.config.defaultZoom} is not in zoom steps`);
19747
+ this.isCtrlOrMetaPressed = false;
19741
19748
  this.actualStep = this.config.zoomSteps.findIndex((step) => step === this.config.defaultZoom);
19742
19749
  this.actualScale = this.config.zoomSteps[this.actualStep];
19743
19750
  this.defaultStep = this.actualStep;
@@ -19746,6 +19753,7 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
19746
19753
  return WEAVE_STAGE_ZOOM_KEY;
19747
19754
  }
19748
19755
  onInit() {
19756
+ this.initEvents();
19749
19757
  this.setZoom(this.config.zoomSteps[this.actualStep]);
19750
19758
  }
19751
19759
  setZoom(scale, centered = true) {
@@ -19894,6 +19902,21 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
19894
19902
  disable() {
19895
19903
  this.enabled = false;
19896
19904
  }
19905
+ initEvents() {
19906
+ const stage = this.instance.getStage();
19907
+ stage.container().addEventListener("keydown", (e) => {
19908
+ if (e.ctrlKey || e.metaKey) this.isCtrlOrMetaPressed = true;
19909
+ });
19910
+ stage.container().addEventListener("keyup", (e) => {
19911
+ if (!(e.ctrlKey || e.metaKey)) this.isCtrlOrMetaPressed = false;
19912
+ });
19913
+ stage.on("wheel", (e) => {
19914
+ e.evt.preventDefault();
19915
+ if (!this.enabled || !this.isCtrlOrMetaPressed) return;
19916
+ if (e.evt.deltaY > 0) this.zoomOut();
19917
+ if (e.evt.deltaY < 0) this.zoomIn();
19918
+ });
19919
+ }
19897
19920
  };
19898
19921
 
19899
19922
  //#endregion
@@ -20995,6 +21018,9 @@ const WEAVE_GRID_LAYER_ID = "gridLayer";
20995
21018
 
20996
21019
  //#endregion
20997
21020
  //#region src/plugins/stage-grid/stage-grid.ts
21021
+ function isZeroOrClose(value, tolerance = 1e-6) {
21022
+ return Math.abs(value) <= tolerance;
21023
+ }
20998
21024
  var WeaveStageGridPlugin = class extends WeavePlugin {
20999
21025
  constructor(params) {
21000
21026
  super();
@@ -21030,10 +21056,10 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21030
21056
  }
21031
21057
  initEvents() {
21032
21058
  const stage = this.instance.getStage();
21033
- stage.container().addEventListener("keydown", (e) => {
21059
+ window.addEventListener("keydown", (e) => {
21034
21060
  if (e.code === "Space") this.isSpaceKeyPressed = true;
21035
21061
  });
21036
- stage.container().addEventListener("keyup", (e) => {
21062
+ window.addEventListener("keyup", (e) => {
21037
21063
  if (e.code === "Space") this.isSpaceKeyPressed = false;
21038
21064
  });
21039
21065
  stage.on("mousedown", (e) => {
@@ -21104,11 +21130,13 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21104
21130
  if (!layer) return;
21105
21131
  const stage = this.instance.getStage();
21106
21132
  const stageXRound = this.round(stage.x(), this.config.gridSize) * -1;
21133
+ const overflowX = 10 * this.config.gridSize;
21134
+ const overflowY = 10 * this.config.gridSize;
21107
21135
  const pointsX = [];
21108
- for (let i = stageXRound; i < stageXRound + stage.width(); i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21136
+ for (let i = stageXRound - overflowX; i < stageXRound + stage.width() + overflowX; i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21109
21137
  const stageYRound = this.round(stage.y(), this.config.gridSize) * -1;
21110
21138
  const pointsY = [];
21111
- for (let i = stageYRound; i < stageYRound + stage.height(); i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21139
+ for (let i = stageYRound - overflowY; i < stageYRound + stage.height() + overflowY; i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21112
21140
  for (let index = 0; index < pointsX.length; index++) {
21113
21141
  const point = pointsX[index];
21114
21142
  let color = this.config.gridColor;
@@ -21116,12 +21144,12 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21116
21144
  layer.add(new konva_lib_shapes_Line.Line({
21117
21145
  points: [
21118
21146
  point,
21119
- (-stage.y() - 2 * this.config.gridSize) / stage.scaleY(),
21147
+ (-stage.y() - overflowY) / stage.scaleY(),
21120
21148
  point,
21121
- (stage.height() - stage.y() + 2 * this.config.gridSize) / stage.scaleY()
21149
+ (-stage.y() + stage.height() + overflowY) / stage.scaleY()
21122
21150
  ],
21123
21151
  stroke: color,
21124
- strokeWidth: (point % (10 * (this.config.gridSize / stage.scaleX())) === 0 ? 2.5 : .5) / stage.scaleX(),
21152
+ strokeWidth: (isZeroOrClose(point % (10 * (this.config.gridSize / stage.scaleX()))) ? 2.5 : .5) / stage.scaleX(),
21125
21153
  listening: false
21126
21154
  }));
21127
21155
  }
@@ -21131,13 +21159,13 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21131
21159
  if (point === 0) color = this.config.gridOriginColor;
21132
21160
  layer.add(new konva_lib_shapes_Line.Line({
21133
21161
  points: [
21134
- (-stage.x() - 2 * this.config.gridSize) / stage.scaleX(),
21162
+ (-stage.x() - overflowX) / stage.scaleX(),
21135
21163
  point,
21136
- (stage.width() - stage.x() + 2 * this.config.gridSize) / stage.scaleX(),
21164
+ (-stage.x() + stage.width() + overflowX) / stage.scaleX(),
21137
21165
  point
21138
21166
  ],
21139
21167
  stroke: color,
21140
- strokeWidth: (point % (10 * (this.config.gridSize / stage.scaleY())) === 0 ? 2.5 : .5) / stage.scaleX(),
21168
+ strokeWidth: (isZeroOrClose(point % (10 * (this.config.gridSize / stage.scaleY()))) ? 2.5 : .5) / stage.scaleX(),
21141
21169
  listening: false
21142
21170
  }));
21143
21171
  }
@@ -21146,12 +21174,14 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21146
21174
  const layer = this.getLayer();
21147
21175
  if (!layer) return;
21148
21176
  const stage = this.instance.getStage();
21177
+ const overflowX = Math.max(stage.width() * .2, 10 * this.config.gridSize);
21178
+ const overflowY = Math.max(stage.height() * .2, 10 * this.config.gridSize);
21149
21179
  const stageXRound = this.round(stage.x(), this.config.gridSize) * -1;
21150
21180
  const pointsX = [];
21151
- for (let i = stageXRound; i < stageXRound + stage.width(); i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21181
+ for (let i = stageXRound - overflowX; i < stageXRound + stage.width() + overflowX; i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21152
21182
  const stageYRound = this.round(stage.y(), this.config.gridSize) * -1;
21153
21183
  const pointsY = [];
21154
- for (let i = stageYRound; i < stageYRound + stage.height(); i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21184
+ for (let i = stageYRound - overflowY; i < stageYRound + stage.height() + overflowY; i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21155
21185
  for (let indexX = 0; indexX < pointsX.length; indexX++) {
21156
21186
  const pointX = pointsX[indexX];
21157
21187
  for (let indexY = 0; indexY < pointsY.length; indexY++) {
@@ -21206,6 +21236,7 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
21206
21236
  this.enabled = true;
21207
21237
  this.moveToolActive = false;
21208
21238
  this.isMouseMiddleButtonPressed = false;
21239
+ this.isCtrlOrMetaPressed = false;
21209
21240
  this.isSpaceKeyPressed = false;
21210
21241
  this.previousPointer = null;
21211
21242
  }
@@ -21233,13 +21264,15 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
21233
21264
  let previousMouseX = Infinity;
21234
21265
  let previousMouseY = Infinity;
21235
21266
  const stage = this.instance.getStage();
21236
- stage.container().addEventListener("keydown", (e) => {
21267
+ window.addEventListener("keydown", (e) => {
21268
+ if (e.ctrlKey || e.metaKey) this.isCtrlOrMetaPressed = true;
21237
21269
  if (e.code === "Space") {
21238
21270
  this.isSpaceKeyPressed = true;
21239
21271
  this.enableMove();
21240
21272
  }
21241
21273
  });
21242
- stage.container().addEventListener("keyup", (e) => {
21274
+ window.addEventListener("keyup", (e) => {
21275
+ if (e.ctrlKey || e.metaKey) this.isCtrlOrMetaPressed = false;
21243
21276
  if (e.code === "Space") {
21244
21277
  this.isSpaceKeyPressed = false;
21245
21278
  this.disableMove();
@@ -21313,7 +21346,7 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
21313
21346
  });
21314
21347
  stage.on("wheel", (e) => {
21315
21348
  e.evt.preventDefault();
21316
- if (!this.enabled || this.isSpaceKeyPressed || this.isMouseMiddleButtonPressed) return;
21349
+ if (!this.enabled || this.isCtrlOrMetaPressed || this.isSpaceKeyPressed || this.isMouseMiddleButtonPressed) return;
21317
21350
  stage.x(stage.x() - e.evt.deltaX);
21318
21351
  stage.y(stage.y() - e.evt.deltaY);
21319
21352
  });
@@ -21442,9 +21475,7 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21442
21475
  constructor(params) {
21443
21476
  super();
21444
21477
  const { config } = params;
21445
- this.renderCursors = true;
21446
21478
  this.usersPointers = {};
21447
- this.usersPointersTimers = {};
21448
21479
  this.config = config;
21449
21480
  }
21450
21481
  getName() {
@@ -21455,9 +21486,15 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21455
21486
  }
21456
21487
  initLayer() {
21457
21488
  const stage = this.instance.getStage();
21458
- const layer = new konva.default.Layer({ id: this.getLayerName() });
21489
+ const layer = new konva.default.Layer({
21490
+ id: this.getLayerName(),
21491
+ listening: false
21492
+ });
21459
21493
  stage.add(layer);
21460
21494
  }
21495
+ onRender() {
21496
+ this.renderPointers();
21497
+ }
21461
21498
  getLayer() {
21462
21499
  const stage = this.instance.getStage();
21463
21500
  return stage.findOne(`#${WEAVE_USERS_POINTERS_LAYER_ID}`);
@@ -21467,10 +21504,12 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21467
21504
  const stage = this.instance.getStage();
21468
21505
  this.instance.addEventListener("onAwarenessChange", (changes) => {
21469
21506
  const selfUser = this.config.getUser();
21507
+ const allActiveUsers = [];
21470
21508
  for (const change of changes) {
21471
21509
  if (!change[WEAVE_USER_POINTER_KEY]) continue;
21472
21510
  if (change[WEAVE_USER_POINTER_KEY] && selfUser.name !== change[WEAVE_USER_POINTER_KEY].user) {
21473
21511
  const userPointer = change[WEAVE_USER_POINTER_KEY];
21512
+ allActiveUsers.push(userPointer.user);
21474
21513
  this.usersPointers[userPointer.user] = {
21475
21514
  oldPos: this.usersPointers[userPointer.user]?.actualPos ?? {
21476
21515
  user: userPointer.user,
@@ -21481,6 +21520,17 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21481
21520
  };
21482
21521
  }
21483
21522
  }
21523
+ const allActiveUsersPointers = Object.keys(this.usersPointers).map((userPointerKey) => {
21524
+ const pointerInfo = this.usersPointers[userPointerKey];
21525
+ return pointerInfo.actualPos.user;
21526
+ });
21527
+ const inactivePointers = import_lodash.default.differenceWith(allActiveUsersPointers, allActiveUsers, import_lodash.default.isEqual);
21528
+ const pointersLayer = this.getLayer();
21529
+ for (const inactivePointer of inactivePointers) {
21530
+ const userPointerNode = pointersLayer?.findOne(`#${inactivePointer}`);
21531
+ if (userPointerNode) userPointerNode.destroy();
21532
+ delete this.usersPointers[inactivePointer];
21533
+ }
21484
21534
  this.renderPointers();
21485
21535
  });
21486
21536
  stage.on("dragmove", (e) => {
@@ -21503,9 +21553,7 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21503
21553
  y: mousePos.y
21504
21554
  });
21505
21555
  });
21506
- this.instance.addEventListener("onZoomChange", () => {
21507
- this.renderPointers();
21508
- });
21556
+ this.renderPointers();
21509
21557
  }
21510
21558
  stringToColour(str) {
21511
21559
  let hash = 0;
@@ -21519,29 +21567,16 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21519
21567
  }
21520
21568
  return colour;
21521
21569
  }
21522
- setUserMovementTimer(userPointer) {
21523
- const pointersLayer = this.getLayer();
21524
- if (this.usersPointersTimers[`${userPointer.user}-opacity`]) clearTimeout(this.usersPointersTimers[`${userPointer.user}-opacity`]);
21525
- this.usersPointersTimers[`${userPointer.user}-opacity`] = setTimeout(() => {
21526
- const userPointerNode = pointersLayer?.findOne(`#${userPointer.user}`);
21527
- if (userPointerNode) userPointerNode.opacity(.5);
21528
- }, 5e3);
21529
- if (this.usersPointersTimers[`${userPointer.user}-destroy`]) clearTimeout(this.usersPointersTimers[`${userPointer.user}-destroy`]);
21530
- this.usersPointersTimers[`${userPointer.user}-destroy`] = setTimeout(() => {
21531
- const userPointerNode = pointersLayer?.findOne(`#${userPointer.user}`);
21532
- if (userPointerNode) userPointerNode.destroy();
21533
- }, 3e4);
21534
- }
21535
21570
  renderPointers() {
21536
21571
  const stage = this.instance.getStage();
21537
21572
  const pointersLayer = this.getLayer();
21538
- pointersLayer?.clear();
21539
21573
  if (!this.enabled) return;
21540
- if (this.renderCursors) for (const userPointerKey of Object.keys(this.usersPointers)) {
21574
+ for (const userPointerKey of Object.keys(this.usersPointers)) {
21541
21575
  const userPointer = this.usersPointers[userPointerKey];
21542
21576
  const userPointerNode = pointersLayer?.findOne(`#${userPointer.actualPos.user}`);
21543
21577
  if (!userPointerNode) {
21544
21578
  const userPointerNode$1 = new konva.default.Group({
21579
+ name: "pointer",
21545
21580
  id: userPointer.actualPos.user,
21546
21581
  x: userPointer.actualPos.x,
21547
21582
  y: userPointer.actualPos.y,
@@ -21587,7 +21622,6 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21587
21622
  userPointerNode$1.add(userNameBackground);
21588
21623
  userPointerNode$1.add(userNameNode);
21589
21624
  pointersLayer?.add(userPointerNode$1);
21590
- this.setUserMovementTimer(userPointer.actualPos);
21591
21625
  continue;
21592
21626
  }
21593
21627
  const oldPos = {
@@ -21620,22 +21654,13 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21620
21654
  height: userPointNodeText[0]?.height() + this.userPointerBackgroundPaddingY * 2
21621
21655
  });
21622
21656
  userPointNode[0]?.setAttrs({ y: userPointNodeBackground[0]?.y() + userPointNodeBackground[0]?.height() / 2 });
21623
- if (hasChanged) {
21624
- userPointerNode.setAttrs({
21625
- x: userPointer.actualPos.x,
21626
- y: userPointer.actualPos.y,
21627
- opacity: 1
21628
- });
21629
- if (hasChanged) this.setUserMovementTimer(userPointer.actualPos);
21630
- }
21657
+ if (hasChanged) userPointerNode.setAttrs({
21658
+ x: userPointer.actualPos.x,
21659
+ y: userPointer.actualPos.y,
21660
+ opacity: 1
21661
+ });
21631
21662
  }
21632
21663
  }
21633
- toggleRenderCursors() {
21634
- this.renderCursors = !this.renderCursors;
21635
- }
21636
- setRenderCursors(render) {
21637
- this.renderCursors = render;
21638
- }
21639
21664
  enable() {
21640
21665
  this.getLayer()?.show();
21641
21666
  this.enabled = true;
package/dist/sdk.d.cts CHANGED
@@ -1166,6 +1166,7 @@ declare class WeaveStageGridPlugin extends WeavePlugin {
1166
1166
  declare class WeaveStagePanningPlugin extends WeavePlugin {
1167
1167
  private moveToolActive;
1168
1168
  private isMouseMiddleButtonPressed;
1169
+ private isCtrlOrMetaPressed;
1169
1170
  private isSpaceKeyPressed;
1170
1171
  protected previousPointer: string | null;
1171
1172
  getLayerName: undefined;
@@ -1216,6 +1217,8 @@ type WeaveStageZoomPluginParams = {
1216
1217
  //#endregion
1217
1218
  //#region src/plugins/stage-zoom/stage-zoom.d.ts
1218
1219
  declare class WeaveStageZoomPlugin extends WeavePlugin {
1220
+ private isCtrlOrMetaPressed;
1221
+ protected previousPointer: string | null;
1219
1222
  getLayerName: undefined;
1220
1223
  initLayer: undefined;
1221
1224
  onRender: undefined;
@@ -1238,6 +1241,7 @@ declare class WeaveStageZoomPlugin extends WeavePlugin {
1238
1241
  fitToSelection(): void;
1239
1242
  enable(): void;
1240
1243
  disable(): void;
1244
+ private initEvents;
1241
1245
  }
1242
1246
 
1243
1247
  //#endregion
@@ -1301,9 +1305,7 @@ type WeaveUserPointerKey = typeof WEAVE_USER_POINTER_KEY;
1301
1305
  //#region src/plugins/users-pointers/users-pointers.d.ts
1302
1306
  declare class WeaveUsersPointersPlugin extends WeavePlugin {
1303
1307
  private usersPointers;
1304
- private usersPointersTimers;
1305
1308
  private config;
1306
- private renderCursors;
1307
1309
  private userPointerCircleRadius;
1308
1310
  private userPointerSeparation;
1309
1311
  private userPointerCircleStrokeWidth;
@@ -1311,18 +1313,15 @@ declare class WeaveUsersPointersPlugin extends WeavePlugin {
1311
1313
  private userPointerBackgroundCornerRadius;
1312
1314
  private userPointerBackgroundPaddingX;
1313
1315
  private userPointerBackgroundPaddingY;
1314
- onRender: undefined;
1315
1316
  constructor(params: WeaveUsersPointersPluginParams);
1316
1317
  getName(): string;
1317
1318
  getLayerName(): string;
1318
1319
  initLayer(): void;
1320
+ onRender(): void;
1319
1321
  getLayer(): Konva.Layer | undefined;
1320
1322
  onInit(): void;
1321
1323
  private stringToColour;
1322
- private setUserMovementTimer;
1323
1324
  private renderPointers;
1324
- toggleRenderCursors(): void;
1325
- setRenderCursors(render: boolean): void;
1326
1325
  enable(): void;
1327
1326
  disable(): void;
1328
1327
  }
@@ -1417,7 +1416,7 @@ declare class WeaveCopyPasteNodesPlugin extends WeavePlugin {
1417
1416
  onInit(): void;
1418
1417
  private readClipboardData;
1419
1418
  private writeClipboardData;
1420
- private initEvents;
1419
+ initEvents(): void;
1421
1420
  private mapToPasteNodes;
1422
1421
  private setState;
1423
1422
  private handlePaste;
package/dist/sdk.d.ts CHANGED
@@ -1166,6 +1166,7 @@ declare class WeaveStageGridPlugin extends WeavePlugin {
1166
1166
  declare class WeaveStagePanningPlugin extends WeavePlugin {
1167
1167
  private moveToolActive;
1168
1168
  private isMouseMiddleButtonPressed;
1169
+ private isCtrlOrMetaPressed;
1169
1170
  private isSpaceKeyPressed;
1170
1171
  protected previousPointer: string | null;
1171
1172
  getLayerName: undefined;
@@ -1216,6 +1217,8 @@ type WeaveStageZoomPluginParams = {
1216
1217
  //#endregion
1217
1218
  //#region src/plugins/stage-zoom/stage-zoom.d.ts
1218
1219
  declare class WeaveStageZoomPlugin extends WeavePlugin {
1220
+ private isCtrlOrMetaPressed;
1221
+ protected previousPointer: string | null;
1219
1222
  getLayerName: undefined;
1220
1223
  initLayer: undefined;
1221
1224
  onRender: undefined;
@@ -1238,6 +1241,7 @@ declare class WeaveStageZoomPlugin extends WeavePlugin {
1238
1241
  fitToSelection(): void;
1239
1242
  enable(): void;
1240
1243
  disable(): void;
1244
+ private initEvents;
1241
1245
  }
1242
1246
 
1243
1247
  //#endregion
@@ -1301,9 +1305,7 @@ type WeaveUserPointerKey = typeof WEAVE_USER_POINTER_KEY;
1301
1305
  //#region src/plugins/users-pointers/users-pointers.d.ts
1302
1306
  declare class WeaveUsersPointersPlugin extends WeavePlugin {
1303
1307
  private usersPointers;
1304
- private usersPointersTimers;
1305
1308
  private config;
1306
- private renderCursors;
1307
1309
  private userPointerCircleRadius;
1308
1310
  private userPointerSeparation;
1309
1311
  private userPointerCircleStrokeWidth;
@@ -1311,18 +1313,15 @@ declare class WeaveUsersPointersPlugin extends WeavePlugin {
1311
1313
  private userPointerBackgroundCornerRadius;
1312
1314
  private userPointerBackgroundPaddingX;
1313
1315
  private userPointerBackgroundPaddingY;
1314
- onRender: undefined;
1315
1316
  constructor(params: WeaveUsersPointersPluginParams);
1316
1317
  getName(): string;
1317
1318
  getLayerName(): string;
1318
1319
  initLayer(): void;
1320
+ onRender(): void;
1319
1321
  getLayer(): Konva.Layer | undefined;
1320
1322
  onInit(): void;
1321
1323
  private stringToColour;
1322
- private setUserMovementTimer;
1323
1324
  private renderPointers;
1324
- toggleRenderCursors(): void;
1325
- setRenderCursors(render: boolean): void;
1326
1325
  enable(): void;
1327
1326
  disable(): void;
1328
1327
  }
@@ -1417,7 +1416,7 @@ declare class WeaveCopyPasteNodesPlugin extends WeavePlugin {
1417
1416
  onInit(): void;
1418
1417
  private readClipboardData;
1419
1418
  private writeClipboardData;
1420
- private initEvents;
1419
+ initEvents(): void;
1421
1420
  private mapToPasteNodes;
1422
1421
  private setState;
1423
1422
  private handlePaste;
package/dist/sdk.js CHANGED
@@ -15871,9 +15871,6 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
15871
15871
  });
15872
15872
  this.initEvents();
15873
15873
  this.initialized = true;
15874
- this.instance.on("onRender", () => {
15875
- this.triggerSelectedNodesEvent();
15876
- });
15877
15874
  this.instance.on("onActiveActionChange", (activeAction) => {
15878
15875
  if (typeof activeAction !== "undefined" && activeAction !== "selectionTool") {
15879
15876
  this.active = false;
@@ -16143,9 +16140,9 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
16143
16140
  weave: object.weave,
16144
16141
  weaveMinPoint: object.weaveMinPoint
16145
16142
  };
16146
- resolve();
16147
- } catch (ex) {
16148
- reject(ex);
16143
+ resolve(true);
16144
+ } catch (_) {
16145
+ resolve(false);
16149
16146
  }
16150
16147
  }).catch((error) => {
16151
16148
  reject(error);
@@ -16167,31 +16164,36 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
16167
16164
  }
16168
16165
  initEvents() {
16169
16166
  const stage = this.instance.getStage();
16170
- document.oncopy = async () => {
16171
- this.performCopy();
16172
- return;
16173
- };
16174
- document.onpaste = async (event) => {
16175
- if (!this.enabled) return;
16176
- const items = event.clipboardData?.items;
16177
- if (!items) return;
16178
- try {
16179
- await this.readClipboardData();
16180
- this.performPaste();
16181
- } catch (ex) {
16182
- this.instance.emitEvent("onPaste", ex);
16167
+ window.addEventListener("keydown", async (e) => {
16168
+ if (e.key === "c" && (e.ctrlKey || e.metaKey)) {
16169
+ e.preventDefault();
16170
+ await this.performCopy();
16171
+ return;
16183
16172
  }
16184
- try {
16185
- const items$1 = await navigator.clipboard.read();
16186
- if (items$1 && items$1.length === 1) {
16187
- const item = items$1[0];
16188
- this.instance.emitEvent("onPasteExternal", item);
16173
+ if (e.key === "v" && (e.ctrlKey || e.metaKey)) {
16174
+ e.preventDefault();
16175
+ if (!this.enabled) return;
16176
+ try {
16177
+ const continueToPaste = await this.readClipboardData();
16178
+ if (!continueToPaste) {
16179
+ this.instance.emitEvent("onPaste", new Error("Invalid elements to paste"));
16180
+ return;
16181
+ }
16182
+ this.performPaste();
16183
+ } catch (ex) {
16184
+ this.instance.emitEvent("onPaste", ex);
16189
16185
  }
16190
- } catch (ex) {
16191
- this.instance.emitEvent("onPaste", ex);
16186
+ try {
16187
+ const items = await navigator.clipboard.read();
16188
+ if (items && items.length === 1) {
16189
+ const item = items[0];
16190
+ this.instance.emitEvent("onPasteExternal", item);
16191
+ }
16192
+ } catch (ex) {
16193
+ this.instance.emitEvent("onPaste", ex);
16194
+ }
16195
+ return;
16192
16196
  }
16193
- };
16194
- stage.container().addEventListener("keydown", (e) => {
16195
16197
  if (e.key === "Escape") {
16196
16198
  this.cancel();
16197
16199
  return;
@@ -16275,7 +16277,11 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
16275
16277
  await this.performCopy();
16276
16278
  }
16277
16279
  async paste() {
16278
- await this.readClipboardData();
16280
+ const continueToPaste = await this.readClipboardData();
16281
+ if (!continueToPaste) {
16282
+ this.instance.emitEvent("onPaste", new Error("Invalid elements to paste"));
16283
+ return;
16284
+ }
16279
16285
  this.performPaste();
16280
16286
  }
16281
16287
  getSelectedNodes() {
@@ -17838,7 +17844,7 @@ var WeaveRegisterManager = class {
17838
17844
 
17839
17845
  //#endregion
17840
17846
  //#region package.json
17841
- var version = "0.10.2";
17847
+ var version = "0.11.0";
17842
17848
 
17843
17849
  //#endregion
17844
17850
  //#region src/managers/setup.ts
@@ -19738,6 +19744,7 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
19738
19744
  ...config
19739
19745
  };
19740
19746
  if (!this.config.zoomSteps.includes(this.config.defaultZoom)) throw new Error(`Default zoom ${this.config.defaultZoom} is not in zoom steps`);
19747
+ this.isCtrlOrMetaPressed = false;
19741
19748
  this.actualStep = this.config.zoomSteps.findIndex((step) => step === this.config.defaultZoom);
19742
19749
  this.actualScale = this.config.zoomSteps[this.actualStep];
19743
19750
  this.defaultStep = this.actualStep;
@@ -19746,6 +19753,7 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
19746
19753
  return WEAVE_STAGE_ZOOM_KEY;
19747
19754
  }
19748
19755
  onInit() {
19756
+ this.initEvents();
19749
19757
  this.setZoom(this.config.zoomSteps[this.actualStep]);
19750
19758
  }
19751
19759
  setZoom(scale, centered = true) {
@@ -19894,6 +19902,21 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
19894
19902
  disable() {
19895
19903
  this.enabled = false;
19896
19904
  }
19905
+ initEvents() {
19906
+ const stage = this.instance.getStage();
19907
+ stage.container().addEventListener("keydown", (e) => {
19908
+ if (e.ctrlKey || e.metaKey) this.isCtrlOrMetaPressed = true;
19909
+ });
19910
+ stage.container().addEventListener("keyup", (e) => {
19911
+ if (!(e.ctrlKey || e.metaKey)) this.isCtrlOrMetaPressed = false;
19912
+ });
19913
+ stage.on("wheel", (e) => {
19914
+ e.evt.preventDefault();
19915
+ if (!this.enabled || !this.isCtrlOrMetaPressed) return;
19916
+ if (e.evt.deltaY > 0) this.zoomOut();
19917
+ if (e.evt.deltaY < 0) this.zoomIn();
19918
+ });
19919
+ }
19897
19920
  };
19898
19921
 
19899
19922
  //#endregion
@@ -20995,6 +21018,9 @@ const WEAVE_GRID_LAYER_ID = "gridLayer";
20995
21018
 
20996
21019
  //#endregion
20997
21020
  //#region src/plugins/stage-grid/stage-grid.ts
21021
+ function isZeroOrClose(value, tolerance = 1e-6) {
21022
+ return Math.abs(value) <= tolerance;
21023
+ }
20998
21024
  var WeaveStageGridPlugin = class extends WeavePlugin {
20999
21025
  constructor(params) {
21000
21026
  super();
@@ -21030,10 +21056,10 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21030
21056
  }
21031
21057
  initEvents() {
21032
21058
  const stage = this.instance.getStage();
21033
- stage.container().addEventListener("keydown", (e) => {
21059
+ window.addEventListener("keydown", (e) => {
21034
21060
  if (e.code === "Space") this.isSpaceKeyPressed = true;
21035
21061
  });
21036
- stage.container().addEventListener("keyup", (e) => {
21062
+ window.addEventListener("keyup", (e) => {
21037
21063
  if (e.code === "Space") this.isSpaceKeyPressed = false;
21038
21064
  });
21039
21065
  stage.on("mousedown", (e) => {
@@ -21104,11 +21130,13 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21104
21130
  if (!layer) return;
21105
21131
  const stage = this.instance.getStage();
21106
21132
  const stageXRound = this.round(stage.x(), this.config.gridSize) * -1;
21133
+ const overflowX = 10 * this.config.gridSize;
21134
+ const overflowY = 10 * this.config.gridSize;
21107
21135
  const pointsX = [];
21108
- for (let i = stageXRound; i < stageXRound + stage.width(); i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21136
+ for (let i = stageXRound - overflowX; i < stageXRound + stage.width() + overflowX; i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21109
21137
  const stageYRound = this.round(stage.y(), this.config.gridSize) * -1;
21110
21138
  const pointsY = [];
21111
- for (let i = stageYRound; i < stageYRound + stage.height(); i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21139
+ for (let i = stageYRound - overflowY; i < stageYRound + stage.height() + overflowY; i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21112
21140
  for (let index = 0; index < pointsX.length; index++) {
21113
21141
  const point = pointsX[index];
21114
21142
  let color = this.config.gridColor;
@@ -21116,12 +21144,12 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21116
21144
  layer.add(new Line({
21117
21145
  points: [
21118
21146
  point,
21119
- (-stage.y() - 2 * this.config.gridSize) / stage.scaleY(),
21147
+ (-stage.y() - overflowY) / stage.scaleY(),
21120
21148
  point,
21121
- (stage.height() - stage.y() + 2 * this.config.gridSize) / stage.scaleY()
21149
+ (-stage.y() + stage.height() + overflowY) / stage.scaleY()
21122
21150
  ],
21123
21151
  stroke: color,
21124
- strokeWidth: (point % (10 * (this.config.gridSize / stage.scaleX())) === 0 ? 2.5 : .5) / stage.scaleX(),
21152
+ strokeWidth: (isZeroOrClose(point % (10 * (this.config.gridSize / stage.scaleX()))) ? 2.5 : .5) / stage.scaleX(),
21125
21153
  listening: false
21126
21154
  }));
21127
21155
  }
@@ -21131,13 +21159,13 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21131
21159
  if (point === 0) color = this.config.gridOriginColor;
21132
21160
  layer.add(new Line({
21133
21161
  points: [
21134
- (-stage.x() - 2 * this.config.gridSize) / stage.scaleX(),
21162
+ (-stage.x() - overflowX) / stage.scaleX(),
21135
21163
  point,
21136
- (stage.width() - stage.x() + 2 * this.config.gridSize) / stage.scaleX(),
21164
+ (-stage.x() + stage.width() + overflowX) / stage.scaleX(),
21137
21165
  point
21138
21166
  ],
21139
21167
  stroke: color,
21140
- strokeWidth: (point % (10 * (this.config.gridSize / stage.scaleY())) === 0 ? 2.5 : .5) / stage.scaleX(),
21168
+ strokeWidth: (isZeroOrClose(point % (10 * (this.config.gridSize / stage.scaleY()))) ? 2.5 : .5) / stage.scaleX(),
21141
21169
  listening: false
21142
21170
  }));
21143
21171
  }
@@ -21146,12 +21174,14 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
21146
21174
  const layer = this.getLayer();
21147
21175
  if (!layer) return;
21148
21176
  const stage = this.instance.getStage();
21177
+ const overflowX = Math.max(stage.width() * .2, 10 * this.config.gridSize);
21178
+ const overflowY = Math.max(stage.height() * .2, 10 * this.config.gridSize);
21149
21179
  const stageXRound = this.round(stage.x(), this.config.gridSize) * -1;
21150
21180
  const pointsX = [];
21151
- for (let i = stageXRound; i < stageXRound + stage.width(); i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21181
+ for (let i = stageXRound - overflowX; i < stageXRound + stage.width() + overflowX; i += this.config.gridSize) pointsX.push(i / stage.scaleX());
21152
21182
  const stageYRound = this.round(stage.y(), this.config.gridSize) * -1;
21153
21183
  const pointsY = [];
21154
- for (let i = stageYRound; i < stageYRound + stage.height(); i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21184
+ for (let i = stageYRound - overflowY; i < stageYRound + stage.height() + overflowY; i += this.config.gridSize) pointsY.push(i / stage.scaleY());
21155
21185
  for (let indexX = 0; indexX < pointsX.length; indexX++) {
21156
21186
  const pointX = pointsX[indexX];
21157
21187
  for (let indexY = 0; indexY < pointsY.length; indexY++) {
@@ -21206,6 +21236,7 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
21206
21236
  this.enabled = true;
21207
21237
  this.moveToolActive = false;
21208
21238
  this.isMouseMiddleButtonPressed = false;
21239
+ this.isCtrlOrMetaPressed = false;
21209
21240
  this.isSpaceKeyPressed = false;
21210
21241
  this.previousPointer = null;
21211
21242
  }
@@ -21233,13 +21264,15 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
21233
21264
  let previousMouseX = Infinity;
21234
21265
  let previousMouseY = Infinity;
21235
21266
  const stage = this.instance.getStage();
21236
- stage.container().addEventListener("keydown", (e) => {
21267
+ window.addEventListener("keydown", (e) => {
21268
+ if (e.ctrlKey || e.metaKey) this.isCtrlOrMetaPressed = true;
21237
21269
  if (e.code === "Space") {
21238
21270
  this.isSpaceKeyPressed = true;
21239
21271
  this.enableMove();
21240
21272
  }
21241
21273
  });
21242
- stage.container().addEventListener("keyup", (e) => {
21274
+ window.addEventListener("keyup", (e) => {
21275
+ if (e.ctrlKey || e.metaKey) this.isCtrlOrMetaPressed = false;
21243
21276
  if (e.code === "Space") {
21244
21277
  this.isSpaceKeyPressed = false;
21245
21278
  this.disableMove();
@@ -21313,7 +21346,7 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
21313
21346
  });
21314
21347
  stage.on("wheel", (e) => {
21315
21348
  e.evt.preventDefault();
21316
- if (!this.enabled || this.isSpaceKeyPressed || this.isMouseMiddleButtonPressed) return;
21349
+ if (!this.enabled || this.isCtrlOrMetaPressed || this.isSpaceKeyPressed || this.isMouseMiddleButtonPressed) return;
21317
21350
  stage.x(stage.x() - e.evt.deltaX);
21318
21351
  stage.y(stage.y() - e.evt.deltaY);
21319
21352
  });
@@ -21442,9 +21475,7 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21442
21475
  constructor(params) {
21443
21476
  super();
21444
21477
  const { config } = params;
21445
- this.renderCursors = true;
21446
21478
  this.usersPointers = {};
21447
- this.usersPointersTimers = {};
21448
21479
  this.config = config;
21449
21480
  }
21450
21481
  getName() {
@@ -21455,9 +21486,15 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21455
21486
  }
21456
21487
  initLayer() {
21457
21488
  const stage = this.instance.getStage();
21458
- const layer = new Konva.Layer({ id: this.getLayerName() });
21489
+ const layer = new Konva.Layer({
21490
+ id: this.getLayerName(),
21491
+ listening: false
21492
+ });
21459
21493
  stage.add(layer);
21460
21494
  }
21495
+ onRender() {
21496
+ this.renderPointers();
21497
+ }
21461
21498
  getLayer() {
21462
21499
  const stage = this.instance.getStage();
21463
21500
  return stage.findOne(`#${WEAVE_USERS_POINTERS_LAYER_ID}`);
@@ -21467,10 +21504,12 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21467
21504
  const stage = this.instance.getStage();
21468
21505
  this.instance.addEventListener("onAwarenessChange", (changes) => {
21469
21506
  const selfUser = this.config.getUser();
21507
+ const allActiveUsers = [];
21470
21508
  for (const change of changes) {
21471
21509
  if (!change[WEAVE_USER_POINTER_KEY]) continue;
21472
21510
  if (change[WEAVE_USER_POINTER_KEY] && selfUser.name !== change[WEAVE_USER_POINTER_KEY].user) {
21473
21511
  const userPointer = change[WEAVE_USER_POINTER_KEY];
21512
+ allActiveUsers.push(userPointer.user);
21474
21513
  this.usersPointers[userPointer.user] = {
21475
21514
  oldPos: this.usersPointers[userPointer.user]?.actualPos ?? {
21476
21515
  user: userPointer.user,
@@ -21481,6 +21520,17 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21481
21520
  };
21482
21521
  }
21483
21522
  }
21523
+ const allActiveUsersPointers = Object.keys(this.usersPointers).map((userPointerKey) => {
21524
+ const pointerInfo = this.usersPointers[userPointerKey];
21525
+ return pointerInfo.actualPos.user;
21526
+ });
21527
+ const inactivePointers = import_lodash.default.differenceWith(allActiveUsersPointers, allActiveUsers, import_lodash.default.isEqual);
21528
+ const pointersLayer = this.getLayer();
21529
+ for (const inactivePointer of inactivePointers) {
21530
+ const userPointerNode = pointersLayer?.findOne(`#${inactivePointer}`);
21531
+ if (userPointerNode) userPointerNode.destroy();
21532
+ delete this.usersPointers[inactivePointer];
21533
+ }
21484
21534
  this.renderPointers();
21485
21535
  });
21486
21536
  stage.on("dragmove", (e) => {
@@ -21503,9 +21553,7 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21503
21553
  y: mousePos.y
21504
21554
  });
21505
21555
  });
21506
- this.instance.addEventListener("onZoomChange", () => {
21507
- this.renderPointers();
21508
- });
21556
+ this.renderPointers();
21509
21557
  }
21510
21558
  stringToColour(str) {
21511
21559
  let hash = 0;
@@ -21519,29 +21567,16 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21519
21567
  }
21520
21568
  return colour;
21521
21569
  }
21522
- setUserMovementTimer(userPointer) {
21523
- const pointersLayer = this.getLayer();
21524
- if (this.usersPointersTimers[`${userPointer.user}-opacity`]) clearTimeout(this.usersPointersTimers[`${userPointer.user}-opacity`]);
21525
- this.usersPointersTimers[`${userPointer.user}-opacity`] = setTimeout(() => {
21526
- const userPointerNode = pointersLayer?.findOne(`#${userPointer.user}`);
21527
- if (userPointerNode) userPointerNode.opacity(.5);
21528
- }, 5e3);
21529
- if (this.usersPointersTimers[`${userPointer.user}-destroy`]) clearTimeout(this.usersPointersTimers[`${userPointer.user}-destroy`]);
21530
- this.usersPointersTimers[`${userPointer.user}-destroy`] = setTimeout(() => {
21531
- const userPointerNode = pointersLayer?.findOne(`#${userPointer.user}`);
21532
- if (userPointerNode) userPointerNode.destroy();
21533
- }, 3e4);
21534
- }
21535
21570
  renderPointers() {
21536
21571
  const stage = this.instance.getStage();
21537
21572
  const pointersLayer = this.getLayer();
21538
- pointersLayer?.clear();
21539
21573
  if (!this.enabled) return;
21540
- if (this.renderCursors) for (const userPointerKey of Object.keys(this.usersPointers)) {
21574
+ for (const userPointerKey of Object.keys(this.usersPointers)) {
21541
21575
  const userPointer = this.usersPointers[userPointerKey];
21542
21576
  const userPointerNode = pointersLayer?.findOne(`#${userPointer.actualPos.user}`);
21543
21577
  if (!userPointerNode) {
21544
21578
  const userPointerNode$1 = new Konva.Group({
21579
+ name: "pointer",
21545
21580
  id: userPointer.actualPos.user,
21546
21581
  x: userPointer.actualPos.x,
21547
21582
  y: userPointer.actualPos.y,
@@ -21587,7 +21622,6 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21587
21622
  userPointerNode$1.add(userNameBackground);
21588
21623
  userPointerNode$1.add(userNameNode);
21589
21624
  pointersLayer?.add(userPointerNode$1);
21590
- this.setUserMovementTimer(userPointer.actualPos);
21591
21625
  continue;
21592
21626
  }
21593
21627
  const oldPos = {
@@ -21620,22 +21654,13 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
21620
21654
  height: userPointNodeText[0]?.height() + this.userPointerBackgroundPaddingY * 2
21621
21655
  });
21622
21656
  userPointNode[0]?.setAttrs({ y: userPointNodeBackground[0]?.y() + userPointNodeBackground[0]?.height() / 2 });
21623
- if (hasChanged) {
21624
- userPointerNode.setAttrs({
21625
- x: userPointer.actualPos.x,
21626
- y: userPointer.actualPos.y,
21627
- opacity: 1
21628
- });
21629
- if (hasChanged) this.setUserMovementTimer(userPointer.actualPos);
21630
- }
21657
+ if (hasChanged) userPointerNode.setAttrs({
21658
+ x: userPointer.actualPos.x,
21659
+ y: userPointer.actualPos.y,
21660
+ opacity: 1
21661
+ });
21631
21662
  }
21632
21663
  }
21633
- toggleRenderCursors() {
21634
- this.renderCursors = !this.renderCursors;
21635
- }
21636
- setRenderCursors(render) {
21637
- this.renderCursors = render;
21638
- }
21639
21664
  enable() {
21640
21665
  this.getLayer()?.show();
21641
21666
  this.enabled = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inditextech/weave-sdk",
3
- "version": "0.10.2",
3
+ "version": "0.11.0",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>",
@@ -43,7 +43,7 @@
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-types": "0.10.2",
46
+ "@inditextech/weave-types": "0.11.0",
47
47
  "@syncedstore/core": "0.6.0",
48
48
  "canvas": "3.1.0",
49
49
  "konva": "9.3.20",