@inditextech/weave-sdk 0.5.0 → 0.6.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
@@ -15793,6 +15793,14 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
15793
15793
  const layer = new konva.default.Layer({ id: this.getLayerName() });
15794
15794
  stage.add(layer);
15795
15795
  }
15796
+ isSelecting() {
15797
+ return this.instance.getActiveAction() === "selectionTool";
15798
+ }
15799
+ isNodeSelected(ele) {
15800
+ let selected = false;
15801
+ if (this.getSelectedNodes().length === 1 && this.getSelectedNodes()[0].getAttrs().id === ele.getAttrs().id) selected = true;
15802
+ return selected;
15803
+ }
15796
15804
  onInit() {
15797
15805
  const stage = this.instance.getStage();
15798
15806
  const selectionLayer = this.getLayer();
@@ -15812,6 +15820,21 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
15812
15820
  ...this.config.transformer
15813
15821
  });
15814
15822
  selectionLayer?.add(tr);
15823
+ tr.on("transform", (e) => {
15824
+ const node = e.target;
15825
+ const nodesSnappingPlugin = this.instance.getPlugin("nodesSnapping");
15826
+ if (nodesSnappingPlugin && this.isSelecting() && this.isNodeSelected(node)) nodesSnappingPlugin.evaluateGuidelines(e);
15827
+ if (this.isSelecting() && this.isNodeSelected(node)) {
15828
+ const nodeHandler = this.instance.getNodeHandler(node.getAttrs().nodeType);
15829
+ this.instance.updateNode(nodeHandler.serialize(node));
15830
+ e.cancelBubble = true;
15831
+ }
15832
+ });
15833
+ tr.on("transformend", (e) => {
15834
+ const node = e.target;
15835
+ const nodesSnappingPlugin = this.instance.getPlugin("nodesSnapping");
15836
+ if (nodesSnappingPlugin && this.isSelecting() && this.isNodeSelected(node)) nodesSnappingPlugin.cleanupEvaluateGuidelines();
15837
+ });
15815
15838
  tr.on("mouseenter", (e) => {
15816
15839
  const stage$1 = this.instance.getStage();
15817
15840
  stage$1.container().style.cursor = "grab";
@@ -16342,12 +16365,6 @@ var WeaveNode = class {
16342
16365
  }
16343
16366
  node.draggable(false);
16344
16367
  });
16345
- node.on("transform", (e) => {
16346
- if (this.isSelecting() && this.isNodeSelected(node)) {
16347
- this.instance.updateNode(this.serialize(node));
16348
- e.cancelBubble = true;
16349
- }
16350
- });
16351
16368
  node.on("dragmove", (e) => {
16352
16369
  if (this.isSelecting() && this.isNodeSelected(node)) {
16353
16370
  this.clearContainerTargets();
@@ -17789,7 +17806,7 @@ var WeaveRegisterManager = class {
17789
17806
 
17790
17807
  //#endregion
17791
17808
  //#region package.json
17792
- var version = "0.5.0";
17809
+ var version = "0.6.0";
17793
17810
 
17794
17811
  //#endregion
17795
17812
  //#region src/managers/setup.ts
@@ -21616,6 +21633,13 @@ var WeaveStageDropAreaPlugin = class extends WeavePlugin {
21616
21633
  //#region src/plugins/nodes-snapping/constants.ts
21617
21634
  const WEAVE_NODES_SNAPPING_KEY = "nodesSnapping";
21618
21635
  const GUIDE_LINE_NAME = "guide-line";
21636
+ const GUIDE_LINE_DEFAULT_CONFIG = {
21637
+ stroke: "rgb(0, 161, 255)",
21638
+ strokeWidth: 1,
21639
+ dash: [4, 6]
21640
+ };
21641
+ const GUIDE_LINE_DRAG_SNAPPING_THRESHOLD = 10;
21642
+ const GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD = 10;
21619
21643
  const GUIDE_ORIENTATION = {
21620
21644
  ["HORIZONTAL"]: "H",
21621
21645
  ["VERTICAL"]: "V"
@@ -21629,9 +21653,12 @@ const NODE_SNAP = {
21629
21653
  //#endregion
21630
21654
  //#region src/plugins/nodes-snapping/nodes-snapping.ts
21631
21655
  var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21632
- constructor() {
21656
+ constructor(params) {
21633
21657
  super();
21634
- this.guideLineOffset = 10;
21658
+ const { config } = params ?? {};
21659
+ this.guideLineConfig = config?.guideLine ?? GUIDE_LINE_DEFAULT_CONFIG;
21660
+ this.dragSnappingThreshold = config?.dragSnappingThreshold ?? GUIDE_LINE_DRAG_SNAPPING_THRESHOLD;
21661
+ this.transformSnappingThreshold = config?.transformSnappingThreshold ?? GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD;
21635
21662
  this.enabled = true;
21636
21663
  }
21637
21664
  getName() {
@@ -21643,42 +21670,76 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21643
21670
  setEnabled(enabled) {
21644
21671
  this.enabled = enabled;
21645
21672
  }
21646
- initEvents() {
21647
- const stage = this.instance.getStage();
21673
+ evaluateGuidelines(e) {
21648
21674
  const mainLayer = this.instance.getMainLayer();
21649
- if (mainLayer) {
21650
- stage.on("dragmove", (e) => {
21651
- if (!this.enabled) return;
21652
- if (e.target instanceof konva.default.Transformer) {
21653
- const actualTarget = e.target;
21654
- const node = actualTarget.getNodes()[0];
21655
- if (typeof node === "undefined") return;
21656
- mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21657
- const lineGuideStops = this.getLineGuideStops(node);
21658
- const itemBounds = this.getObjectSnappingEdges(node);
21659
- const guides = this.getGuides(lineGuideStops, itemBounds);
21660
- if (!guides.length) return;
21661
- this.drawGuides(guides);
21662
- const absPos = node.absolutePosition();
21675
+ if (!this.enabled) return;
21676
+ if (!mainLayer) return;
21677
+ let node = void 0;
21678
+ if (e.type === "dragmove" && e.target instanceof konva.default.Transformer) {
21679
+ const actualTarget = e.target;
21680
+ node = actualTarget.getNodes()[0];
21681
+ }
21682
+ if (e.type === "transform") node = e.target;
21683
+ if (typeof node === "undefined") return;
21684
+ mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21685
+ const lineGuideStops = this.getLineGuideStops(node);
21686
+ const itemBounds = this.getObjectSnappingEdges(node);
21687
+ const guides = this.getGuides(lineGuideStops, itemBounds, e.type);
21688
+ if (!guides.length) return;
21689
+ this.drawGuides(guides);
21690
+ if (e.type === "dragmove") {
21691
+ const absPos = node.absolutePosition();
21692
+ guides.forEach((lg) => {
21693
+ switch (lg.orientation) {
21694
+ case GUIDE_ORIENTATION.VERTICAL: {
21695
+ absPos.x = lg.lineGuide + lg.offset;
21696
+ break;
21697
+ }
21698
+ case GUIDE_ORIENTATION.HORIZONTAL: {
21699
+ absPos.y = lg.lineGuide + lg.offset;
21700
+ break;
21701
+ }
21702
+ }
21703
+ });
21704
+ node.absolutePosition(absPos);
21705
+ }
21706
+ if (e.type === "transform") {
21707
+ const nodesSelectionPlugin = this.instance.getPlugin("nodesSelection");
21708
+ if (nodesSelectionPlugin) {
21709
+ const transformer = nodesSelectionPlugin.getTransformer();
21710
+ transformer.anchorDragBoundFunc((_, newAbsPos) => {
21711
+ const finalPos = { ...newAbsPos };
21663
21712
  guides.forEach((lg) => {
21664
21713
  switch (lg.orientation) {
21665
21714
  case GUIDE_ORIENTATION.VERTICAL: {
21666
- absPos.x = lg.lineGuide + lg.offset;
21715
+ const distX = Math.sqrt(Math.pow(newAbsPos.x - lg.lineGuide, 2));
21716
+ if (distX < this.transformSnappingThreshold) finalPos.x = lg.lineGuide;
21667
21717
  break;
21668
21718
  }
21669
21719
  case GUIDE_ORIENTATION.HORIZONTAL: {
21670
- absPos.y = lg.lineGuide + lg.offset;
21720
+ const distY = Math.sqrt(Math.pow(newAbsPos.y - lg.lineGuide, 2));
21721
+ if (distY < this.transformSnappingThreshold) finalPos.y = lg.lineGuide;
21671
21722
  break;
21672
21723
  }
21673
21724
  }
21674
21725
  });
21675
- node.absolutePosition(absPos);
21676
- }
21677
- });
21678
- stage.on("dragend", () => {
21679
- if (!this.enabled) return;
21680
- mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21681
- });
21726
+ return finalPos;
21727
+ });
21728
+ }
21729
+ }
21730
+ }
21731
+ cleanupEvaluateGuidelines() {
21732
+ const mainLayer = this.instance.getMainLayer();
21733
+ if (!this.enabled) return;
21734
+ if (!mainLayer) return;
21735
+ mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21736
+ }
21737
+ initEvents() {
21738
+ const stage = this.instance.getStage();
21739
+ const mainLayer = this.instance.getMainLayer();
21740
+ if (mainLayer) {
21741
+ stage.on("dragmove", this.evaluateGuidelines.bind(this));
21742
+ stage.on("dragend", this.cleanupEvaluateGuidelines.bind(this));
21682
21743
  }
21683
21744
  }
21684
21745
  getLineGuideStops(skipShape) {
@@ -21715,7 +21776,7 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21715
21776
  getObjectSnappingEdges(node) {
21716
21777
  const box = node.getClientRect();
21717
21778
  const absPos = node.absolutePosition();
21718
- return {
21779
+ const snappingEdges = {
21719
21780
  vertical: [
21720
21781
  {
21721
21782
  guide: Math.round(box.x),
@@ -21751,14 +21812,15 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21751
21812
  }
21752
21813
  ]
21753
21814
  };
21815
+ return snappingEdges;
21754
21816
  }
21755
- getGuides(lineGuideStops, itemBounds) {
21817
+ getGuides(lineGuideStops, itemBounds, type) {
21756
21818
  const resultV = [];
21757
21819
  const resultH = [];
21758
21820
  lineGuideStops.vertical.forEach((lineGuide) => {
21759
21821
  itemBounds.vertical.forEach((itemBound) => {
21760
21822
  const diff = Math.abs(lineGuide - itemBound.guide);
21761
- if (diff < this.guideLineOffset) resultV.push({
21823
+ if (diff < this.dragSnappingThreshold) resultV.push({
21762
21824
  lineGuide,
21763
21825
  diff,
21764
21826
  snap: itemBound.snap,
@@ -21769,7 +21831,7 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21769
21831
  lineGuideStops.horizontal.forEach((lineGuide) => {
21770
21832
  itemBounds.horizontal.forEach((itemBound) => {
21771
21833
  const diff = Math.abs(lineGuide - itemBound.guide);
21772
- if (diff < this.guideLineOffset) resultH.push({
21834
+ if (diff < this.dragSnappingThreshold) resultH.push({
21773
21835
  lineGuide,
21774
21836
  diff,
21775
21837
  snap: itemBound.snap,
@@ -21778,20 +21840,40 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21778
21840
  });
21779
21841
  });
21780
21842
  const guides = [];
21781
- const minV = resultV.sort((a, b) => a.diff - b.diff)[0];
21782
- const minH = resultH.sort((a, b) => a.diff - b.diff)[0];
21783
- if (minV) guides.push({
21784
- lineGuide: minV.lineGuide,
21785
- offset: minV.offset,
21786
- orientation: GUIDE_ORIENTATION.VERTICAL,
21787
- snap: minV.snap
21788
- });
21789
- if (minH) guides.push({
21790
- lineGuide: minH.lineGuide,
21791
- offset: minH.offset,
21792
- orientation: GUIDE_ORIENTATION.HORIZONTAL,
21793
- snap: minH.snap
21794
- });
21843
+ if (type === "dragmove") {
21844
+ const minV = resultV.sort((a, b) => a.diff - b.diff)[0];
21845
+ const minH = resultH.sort((a, b) => a.diff - b.diff)[0];
21846
+ if (minV) guides.push({
21847
+ lineGuide: minV.lineGuide,
21848
+ offset: minV.offset,
21849
+ orientation: GUIDE_ORIENTATION.VERTICAL,
21850
+ snap: minV.snap
21851
+ });
21852
+ if (minH) guides.push({
21853
+ lineGuide: minH.lineGuide,
21854
+ offset: minH.offset,
21855
+ orientation: GUIDE_ORIENTATION.HORIZONTAL,
21856
+ snap: minH.snap
21857
+ });
21858
+ }
21859
+ if (type === "transform") {
21860
+ resultV.forEach((v) => {
21861
+ guides.push({
21862
+ lineGuide: v.lineGuide,
21863
+ offset: v.offset,
21864
+ orientation: GUIDE_ORIENTATION.VERTICAL,
21865
+ snap: v.snap
21866
+ });
21867
+ });
21868
+ resultH.forEach((h) => {
21869
+ guides.push({
21870
+ lineGuide: h.lineGuide,
21871
+ offset: h.offset,
21872
+ orientation: GUIDE_ORIENTATION.HORIZONTAL,
21873
+ snap: h.snap
21874
+ });
21875
+ });
21876
+ }
21795
21877
  return guides;
21796
21878
  }
21797
21879
  drawGuides(guides) {
@@ -21800,16 +21882,16 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21800
21882
  if (mainLayer) guides.forEach((lg) => {
21801
21883
  if (lg.orientation === GUIDE_ORIENTATION.HORIZONTAL) {
21802
21884
  const line = new konva.default.Line({
21885
+ ...this.guideLineConfig,
21886
+ strokeWidth: (this.guideLineConfig.strokeWidth ?? GUIDE_LINE_DEFAULT_CONFIG.strokeWidth) / stage.scaleX(),
21887
+ dash: this.guideLineConfig.dash?.map((e) => e / stage.scaleX()),
21803
21888
  points: [
21804
21889
  -6e3,
21805
21890
  0,
21806
21891
  6e3,
21807
21892
  0
21808
21893
  ],
21809
- stroke: "rgb(0, 161, 255)",
21810
- strokeWidth: 1 / stage.scaleX(),
21811
- name: GUIDE_LINE_NAME,
21812
- dash: [4 / stage.scaleX(), 6 / stage.scaleX()]
21894
+ name: GUIDE_LINE_NAME
21813
21895
  });
21814
21896
  mainLayer.add(line);
21815
21897
  line.absolutePosition({
@@ -21819,16 +21901,16 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21819
21901
  }
21820
21902
  if (lg.orientation === GUIDE_ORIENTATION.VERTICAL) {
21821
21903
  const line = new konva.default.Line({
21904
+ ...this.guideLineConfig,
21905
+ strokeWidth: (this.guideLineConfig.strokeWidth ?? GUIDE_LINE_DEFAULT_CONFIG.strokeWidth) / stage.scaleX(),
21906
+ dash: this.guideLineConfig.dash?.map((e) => e / stage.scaleX()),
21822
21907
  points: [
21823
21908
  0,
21824
21909
  -6e3,
21825
21910
  0,
21826
21911
  6e3
21827
21912
  ],
21828
- stroke: "rgb(0, 161, 255)",
21829
- strokeWidth: 1 / stage.scaleX(),
21830
- name: GUIDE_LINE_NAME,
21831
- dash: [4 / stage.scaleX(), 6 / stage.scaleX()]
21913
+ name: GUIDE_LINE_NAME
21832
21914
  });
21833
21915
  mainLayer.add(line);
21834
21916
  line.absolutePosition({
@@ -21851,7 +21933,10 @@ exports.BRUSH_TOOL_STATE = BRUSH_TOOL_STATE
21851
21933
  exports.COPY_PASTE_NODES_PLUGIN_STATE = COPY_PASTE_NODES_PLUGIN_STATE
21852
21934
  exports.FRAME_TOOL_ACTION_NAME = FRAME_TOOL_ACTION_NAME
21853
21935
  exports.FRAME_TOOL_STATE = FRAME_TOOL_STATE
21936
+ exports.GUIDE_LINE_DEFAULT_CONFIG = GUIDE_LINE_DEFAULT_CONFIG
21937
+ exports.GUIDE_LINE_DRAG_SNAPPING_THRESHOLD = GUIDE_LINE_DRAG_SNAPPING_THRESHOLD
21854
21938
  exports.GUIDE_LINE_NAME = GUIDE_LINE_NAME
21939
+ exports.GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD = GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD
21855
21940
  exports.GUIDE_ORIENTATION = GUIDE_ORIENTATION
21856
21941
  exports.IMAGE_TOOL_STATE = IMAGE_TOOL_STATE
21857
21942
  exports.MOVE_TOOL_ACTION_NAME = MOVE_TOOL_ACTION_NAME
package/dist/sdk.d.cts CHANGED
@@ -5,6 +5,7 @@ import pino, { Logger } from "pino";
5
5
  import * as Y from "yjs";
6
6
  import { Doc } from "yjs";
7
7
  import { StageConfig } from "konva/lib/Stage";
8
+ import { KonvaEventObject } from "konva/lib/Node";
8
9
 
9
10
  //#region ../types/dist/types.d.ts
10
11
  declare const WEAVE_INSTANCE_STATUS: {
@@ -255,6 +256,8 @@ declare class WeaveNodesSelectionPlugin extends WeavePlugin {
255
256
  getName(): string;
256
257
  getLayerName(): string;
257
258
  initLayer(): void;
259
+ isSelecting(): boolean;
260
+ isNodeSelected(ele: Konva.Node): boolean;
258
261
  onInit(): void;
259
262
  private getLayer;
260
263
  private triggerSelectedNodesEvent;
@@ -1462,6 +1465,9 @@ declare class WeaveCopyPasteNodesPlugin extends WeavePlugin {
1462
1465
  //#region src/plugins/nodes-snapping/constants.d.ts
1463
1466
  declare const WEAVE_NODES_SNAPPING_KEY = "nodesSnapping";
1464
1467
  declare const GUIDE_LINE_NAME = "guide-line";
1468
+ declare const GUIDE_LINE_DEFAULT_CONFIG: Required<Pick<Konva.LineConfig, "stroke" | "strokeWidth" | "dash">>;
1469
+ declare const GUIDE_LINE_DRAG_SNAPPING_THRESHOLD = 10;
1470
+ declare const GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD = 10;
1465
1471
  declare const GUIDE_ORIENTATION: {
1466
1472
  readonly "HORIZONTAL": "H";
1467
1473
  readonly "VERTICAL": "V";
@@ -1503,24 +1509,36 @@ type Guide = {
1503
1509
  orientation: GuideOrientation;
1504
1510
  snap: NodeSnap;
1505
1511
  };
1512
+ type WeaveNodesSnappingPluginConfig = {
1513
+ guideLine: Konva.LineConfig;
1514
+ dragSnappingThreshold: number;
1515
+ transformSnappingThreshold: number;
1516
+ };
1517
+ type WeaveNodesSnappingPluginParams = {
1518
+ config?: WeaveNodesSnappingPluginConfig;
1519
+ };
1506
1520
 
1507
1521
  //#endregion
1508
1522
  //#region src/plugins/nodes-snapping/nodes-snapping.d.ts
1509
1523
  declare class WeaveNodesSnappingPlugin extends WeavePlugin {
1510
- private guideLineOffset;
1524
+ private guideLineConfig;
1525
+ private dragSnappingThreshold;
1526
+ private transformSnappingThreshold;
1511
1527
  onRender: undefined;
1512
- constructor();
1528
+ constructor(params?: Partial<WeaveNodesSnappingPluginParams>);
1513
1529
  getName(): string;
1514
1530
  onInit(): void;
1515
1531
  setEnabled(enabled: boolean): void;
1532
+ evaluateGuidelines(e: KonvaEventObject<any>): void;
1533
+ cleanupEvaluateGuidelines(): void;
1516
1534
  private initEvents;
1517
1535
  getLineGuideStops(skipShape: Konva.Node): LineGuideStop;
1518
1536
  getObjectSnappingEdges(node: Konva.Node): NodeSnappingEdges;
1519
- getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges): Guide[];
1537
+ getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges, type: string): Guide[];
1520
1538
  drawGuides(guides: Guide[]): void;
1521
1539
  enable(): void;
1522
1540
  disable(): void;
1523
1541
  }
1524
1542
 
1525
1543
  //#endregion
1526
- 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_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionCallbacks, WeaveActionPropsChangeCallback, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveBrushToolCallbacks, WeaveConnectedUserInfoKey, WeaveConnectedUsersChangeCallback, WeaveConnectedUsersChanged, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginCallbacks, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesCanCopyChangeCallback, WeaveCopyPasteNodesCanPasteChangeCallback, WeaveCopyPasteNodesOnCopyCallback, WeaveCopyPasteNodesOnPasteCallback, WeaveCopyPasteNodesOnPasteExternalCallback, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginCallbacks, WeaveCopyPasteNodesPluginParams, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, 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, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginParams, WeaveNodesSelectionStageSelectionCallback, WeaveNodesSnappingPlugin, WeaveOnNodeMenuCallback, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePenToolCallbacks, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRectangleToolCallbacks, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginCallbacks, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropAreaPluginCallbacks, WeaveStageDropAreaPluginParams, WeaveStageDropCallback, WeaveStageDropUploadFileCallback, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomOnZoomChangeCallback, WeaveStageZoomPlugin, WeaveStageZoomPluginCallbacks, WeaveStageZoomPluginConfig, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };
1544
+ export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, 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_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionCallbacks, WeaveActionPropsChangeCallback, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveBrushToolCallbacks, WeaveConnectedUserInfoKey, WeaveConnectedUsersChangeCallback, WeaveConnectedUsersChanged, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginCallbacks, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesCanCopyChangeCallback, WeaveCopyPasteNodesCanPasteChangeCallback, WeaveCopyPasteNodesOnCopyCallback, WeaveCopyPasteNodesOnPasteCallback, WeaveCopyPasteNodesOnPasteExternalCallback, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginCallbacks, WeaveCopyPasteNodesPluginParams, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, 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, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginParams, WeaveNodesSelectionStageSelectionCallback, WeaveNodesSnappingPlugin, WeaveNodesSnappingPluginConfig, WeaveNodesSnappingPluginParams, WeaveOnNodeMenuCallback, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePenToolCallbacks, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRectangleToolCallbacks, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginCallbacks, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropAreaPluginCallbacks, WeaveStageDropAreaPluginParams, WeaveStageDropCallback, WeaveStageDropUploadFileCallback, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomOnZoomChangeCallback, WeaveStageZoomPlugin, WeaveStageZoomPluginCallbacks, WeaveStageZoomPluginConfig, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };
package/dist/sdk.d.ts CHANGED
@@ -5,6 +5,7 @@ import { Doc } from "yjs";
5
5
  import Emittery from "emittery";
6
6
  import pino, { Logger } from "pino";
7
7
  import { StageConfig } from "konva/lib/Stage";
8
+ import { KonvaEventObject } from "konva/lib/Node";
8
9
 
9
10
  //#region ../types/dist/types.d.ts
10
11
  declare const WEAVE_INSTANCE_STATUS: {
@@ -255,6 +256,8 @@ declare class WeaveNodesSelectionPlugin extends WeavePlugin {
255
256
  getName(): string;
256
257
  getLayerName(): string;
257
258
  initLayer(): void;
259
+ isSelecting(): boolean;
260
+ isNodeSelected(ele: Konva.Node): boolean;
258
261
  onInit(): void;
259
262
  private getLayer;
260
263
  private triggerSelectedNodesEvent;
@@ -1462,6 +1465,9 @@ declare class WeaveCopyPasteNodesPlugin extends WeavePlugin {
1462
1465
  //#region src/plugins/nodes-snapping/constants.d.ts
1463
1466
  declare const WEAVE_NODES_SNAPPING_KEY = "nodesSnapping";
1464
1467
  declare const GUIDE_LINE_NAME = "guide-line";
1468
+ declare const GUIDE_LINE_DEFAULT_CONFIG: Required<Pick<Konva.LineConfig, "stroke" | "strokeWidth" | "dash">>;
1469
+ declare const GUIDE_LINE_DRAG_SNAPPING_THRESHOLD = 10;
1470
+ declare const GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD = 10;
1465
1471
  declare const GUIDE_ORIENTATION: {
1466
1472
  readonly "HORIZONTAL": "H";
1467
1473
  readonly "VERTICAL": "V";
@@ -1503,24 +1509,36 @@ type Guide = {
1503
1509
  orientation: GuideOrientation;
1504
1510
  snap: NodeSnap;
1505
1511
  };
1512
+ type WeaveNodesSnappingPluginConfig = {
1513
+ guideLine: Konva.LineConfig;
1514
+ dragSnappingThreshold: number;
1515
+ transformSnappingThreshold: number;
1516
+ };
1517
+ type WeaveNodesSnappingPluginParams = {
1518
+ config?: WeaveNodesSnappingPluginConfig;
1519
+ };
1506
1520
 
1507
1521
  //#endregion
1508
1522
  //#region src/plugins/nodes-snapping/nodes-snapping.d.ts
1509
1523
  declare class WeaveNodesSnappingPlugin extends WeavePlugin {
1510
- private guideLineOffset;
1524
+ private guideLineConfig;
1525
+ private dragSnappingThreshold;
1526
+ private transformSnappingThreshold;
1511
1527
  onRender: undefined;
1512
- constructor();
1528
+ constructor(params?: Partial<WeaveNodesSnappingPluginParams>);
1513
1529
  getName(): string;
1514
1530
  onInit(): void;
1515
1531
  setEnabled(enabled: boolean): void;
1532
+ evaluateGuidelines(e: KonvaEventObject<any>): void;
1533
+ cleanupEvaluateGuidelines(): void;
1516
1534
  private initEvents;
1517
1535
  getLineGuideStops(skipShape: Konva.Node): LineGuideStop;
1518
1536
  getObjectSnappingEdges(node: Konva.Node): NodeSnappingEdges;
1519
- getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges): Guide[];
1537
+ getGuides(lineGuideStops: LineGuideStop, itemBounds: NodeSnappingEdges, type: string): Guide[];
1520
1538
  drawGuides(guides: Guide[]): void;
1521
1539
  enable(): void;
1522
1540
  disable(): void;
1523
1541
  }
1524
1542
 
1525
1543
  //#endregion
1526
- 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_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionCallbacks, WeaveActionPropsChangeCallback, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveBrushToolCallbacks, WeaveConnectedUserInfoKey, WeaveConnectedUsersChangeCallback, WeaveConnectedUsersChanged, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginCallbacks, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesCanCopyChangeCallback, WeaveCopyPasteNodesCanPasteChangeCallback, WeaveCopyPasteNodesOnCopyCallback, WeaveCopyPasteNodesOnPasteCallback, WeaveCopyPasteNodesOnPasteExternalCallback, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginCallbacks, WeaveCopyPasteNodesPluginParams, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, 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, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginParams, WeaveNodesSelectionStageSelectionCallback, WeaveNodesSnappingPlugin, WeaveOnNodeMenuCallback, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePenToolCallbacks, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRectangleToolCallbacks, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginCallbacks, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropAreaPluginCallbacks, WeaveStageDropAreaPluginParams, WeaveStageDropCallback, WeaveStageDropUploadFileCallback, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomOnZoomChangeCallback, WeaveStageZoomPlugin, WeaveStageZoomPluginCallbacks, WeaveStageZoomPluginConfig, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };
1544
+ export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, 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_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveActionCallbacks, WeaveActionPropsChangeCallback, WeaveBrushToolAction, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveBrushToolCallbacks, WeaveConnectedUserInfoKey, WeaveConnectedUsersChangeCallback, WeaveConnectedUsersChanged, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginCallbacks, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesCanCopyChangeCallback, WeaveCopyPasteNodesCanPasteChangeCallback, WeaveCopyPasteNodesOnCopyCallback, WeaveCopyPasteNodesOnPasteCallback, WeaveCopyPasteNodesOnPasteExternalCallback, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginCallbacks, WeaveCopyPasteNodesPluginParams, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveExportNodeActionParams, WeaveExportNodeToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeSizes, WeaveFrameNodeSizesInfo, WeaveFrameNodeSizesKeys, WeaveFrameNodeSizesOrientation, WeaveFrameNodeSizesOrientationKeys, 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, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginParams, WeaveNodesSelectionStageSelectionCallback, WeaveNodesSnappingPlugin, WeaveNodesSnappingPluginConfig, WeaveNodesSnappingPluginParams, WeaveOnNodeMenuCallback, WeavePasteModel, WeavePenToolAction, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePenToolCallbacks, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRectangleToolCallbacks, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginCallbacks, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropAreaPluginCallbacks, WeaveStageDropAreaPluginParams, WeaveStageDropCallback, WeaveStageDropUploadFileCallback, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomOnZoomChangeCallback, WeaveStageZoomPlugin, WeaveStageZoomPluginCallbacks, WeaveStageZoomPluginConfig, WeaveStageZoomPluginParams, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, resetScale };
package/dist/sdk.js CHANGED
@@ -15793,6 +15793,14 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
15793
15793
  const layer = new Konva.Layer({ id: this.getLayerName() });
15794
15794
  stage.add(layer);
15795
15795
  }
15796
+ isSelecting() {
15797
+ return this.instance.getActiveAction() === "selectionTool";
15798
+ }
15799
+ isNodeSelected(ele) {
15800
+ let selected = false;
15801
+ if (this.getSelectedNodes().length === 1 && this.getSelectedNodes()[0].getAttrs().id === ele.getAttrs().id) selected = true;
15802
+ return selected;
15803
+ }
15796
15804
  onInit() {
15797
15805
  const stage = this.instance.getStage();
15798
15806
  const selectionLayer = this.getLayer();
@@ -15812,6 +15820,21 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
15812
15820
  ...this.config.transformer
15813
15821
  });
15814
15822
  selectionLayer?.add(tr);
15823
+ tr.on("transform", (e) => {
15824
+ const node = e.target;
15825
+ const nodesSnappingPlugin = this.instance.getPlugin("nodesSnapping");
15826
+ if (nodesSnappingPlugin && this.isSelecting() && this.isNodeSelected(node)) nodesSnappingPlugin.evaluateGuidelines(e);
15827
+ if (this.isSelecting() && this.isNodeSelected(node)) {
15828
+ const nodeHandler = this.instance.getNodeHandler(node.getAttrs().nodeType);
15829
+ this.instance.updateNode(nodeHandler.serialize(node));
15830
+ e.cancelBubble = true;
15831
+ }
15832
+ });
15833
+ tr.on("transformend", (e) => {
15834
+ const node = e.target;
15835
+ const nodesSnappingPlugin = this.instance.getPlugin("nodesSnapping");
15836
+ if (nodesSnappingPlugin && this.isSelecting() && this.isNodeSelected(node)) nodesSnappingPlugin.cleanupEvaluateGuidelines();
15837
+ });
15815
15838
  tr.on("mouseenter", (e) => {
15816
15839
  const stage$1 = this.instance.getStage();
15817
15840
  stage$1.container().style.cursor = "grab";
@@ -16342,12 +16365,6 @@ var WeaveNode = class {
16342
16365
  }
16343
16366
  node.draggable(false);
16344
16367
  });
16345
- node.on("transform", (e) => {
16346
- if (this.isSelecting() && this.isNodeSelected(node)) {
16347
- this.instance.updateNode(this.serialize(node));
16348
- e.cancelBubble = true;
16349
- }
16350
- });
16351
16368
  node.on("dragmove", (e) => {
16352
16369
  if (this.isSelecting() && this.isNodeSelected(node)) {
16353
16370
  this.clearContainerTargets();
@@ -17789,7 +17806,7 @@ var WeaveRegisterManager = class {
17789
17806
 
17790
17807
  //#endregion
17791
17808
  //#region package.json
17792
- var version = "0.5.0";
17809
+ var version = "0.6.0";
17793
17810
 
17794
17811
  //#endregion
17795
17812
  //#region src/managers/setup.ts
@@ -21616,6 +21633,13 @@ var WeaveStageDropAreaPlugin = class extends WeavePlugin {
21616
21633
  //#region src/plugins/nodes-snapping/constants.ts
21617
21634
  const WEAVE_NODES_SNAPPING_KEY = "nodesSnapping";
21618
21635
  const GUIDE_LINE_NAME = "guide-line";
21636
+ const GUIDE_LINE_DEFAULT_CONFIG = {
21637
+ stroke: "rgb(0, 161, 255)",
21638
+ strokeWidth: 1,
21639
+ dash: [4, 6]
21640
+ };
21641
+ const GUIDE_LINE_DRAG_SNAPPING_THRESHOLD = 10;
21642
+ const GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD = 10;
21619
21643
  const GUIDE_ORIENTATION = {
21620
21644
  ["HORIZONTAL"]: "H",
21621
21645
  ["VERTICAL"]: "V"
@@ -21629,9 +21653,12 @@ const NODE_SNAP = {
21629
21653
  //#endregion
21630
21654
  //#region src/plugins/nodes-snapping/nodes-snapping.ts
21631
21655
  var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21632
- constructor() {
21656
+ constructor(params) {
21633
21657
  super();
21634
- this.guideLineOffset = 10;
21658
+ const { config } = params ?? {};
21659
+ this.guideLineConfig = config?.guideLine ?? GUIDE_LINE_DEFAULT_CONFIG;
21660
+ this.dragSnappingThreshold = config?.dragSnappingThreshold ?? GUIDE_LINE_DRAG_SNAPPING_THRESHOLD;
21661
+ this.transformSnappingThreshold = config?.transformSnappingThreshold ?? GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD;
21635
21662
  this.enabled = true;
21636
21663
  }
21637
21664
  getName() {
@@ -21643,42 +21670,76 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21643
21670
  setEnabled(enabled) {
21644
21671
  this.enabled = enabled;
21645
21672
  }
21646
- initEvents() {
21647
- const stage = this.instance.getStage();
21673
+ evaluateGuidelines(e) {
21648
21674
  const mainLayer = this.instance.getMainLayer();
21649
- if (mainLayer) {
21650
- stage.on("dragmove", (e) => {
21651
- if (!this.enabled) return;
21652
- if (e.target instanceof Konva.Transformer) {
21653
- const actualTarget = e.target;
21654
- const node = actualTarget.getNodes()[0];
21655
- if (typeof node === "undefined") return;
21656
- mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21657
- const lineGuideStops = this.getLineGuideStops(node);
21658
- const itemBounds = this.getObjectSnappingEdges(node);
21659
- const guides = this.getGuides(lineGuideStops, itemBounds);
21660
- if (!guides.length) return;
21661
- this.drawGuides(guides);
21662
- const absPos = node.absolutePosition();
21675
+ if (!this.enabled) return;
21676
+ if (!mainLayer) return;
21677
+ let node = void 0;
21678
+ if (e.type === "dragmove" && e.target instanceof Konva.Transformer) {
21679
+ const actualTarget = e.target;
21680
+ node = actualTarget.getNodes()[0];
21681
+ }
21682
+ if (e.type === "transform") node = e.target;
21683
+ if (typeof node === "undefined") return;
21684
+ mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21685
+ const lineGuideStops = this.getLineGuideStops(node);
21686
+ const itemBounds = this.getObjectSnappingEdges(node);
21687
+ const guides = this.getGuides(lineGuideStops, itemBounds, e.type);
21688
+ if (!guides.length) return;
21689
+ this.drawGuides(guides);
21690
+ if (e.type === "dragmove") {
21691
+ const absPos = node.absolutePosition();
21692
+ guides.forEach((lg) => {
21693
+ switch (lg.orientation) {
21694
+ case GUIDE_ORIENTATION.VERTICAL: {
21695
+ absPos.x = lg.lineGuide + lg.offset;
21696
+ break;
21697
+ }
21698
+ case GUIDE_ORIENTATION.HORIZONTAL: {
21699
+ absPos.y = lg.lineGuide + lg.offset;
21700
+ break;
21701
+ }
21702
+ }
21703
+ });
21704
+ node.absolutePosition(absPos);
21705
+ }
21706
+ if (e.type === "transform") {
21707
+ const nodesSelectionPlugin = this.instance.getPlugin("nodesSelection");
21708
+ if (nodesSelectionPlugin) {
21709
+ const transformer = nodesSelectionPlugin.getTransformer();
21710
+ transformer.anchorDragBoundFunc((_, newAbsPos) => {
21711
+ const finalPos = { ...newAbsPos };
21663
21712
  guides.forEach((lg) => {
21664
21713
  switch (lg.orientation) {
21665
21714
  case GUIDE_ORIENTATION.VERTICAL: {
21666
- absPos.x = lg.lineGuide + lg.offset;
21715
+ const distX = Math.sqrt(Math.pow(newAbsPos.x - lg.lineGuide, 2));
21716
+ if (distX < this.transformSnappingThreshold) finalPos.x = lg.lineGuide;
21667
21717
  break;
21668
21718
  }
21669
21719
  case GUIDE_ORIENTATION.HORIZONTAL: {
21670
- absPos.y = lg.lineGuide + lg.offset;
21720
+ const distY = Math.sqrt(Math.pow(newAbsPos.y - lg.lineGuide, 2));
21721
+ if (distY < this.transformSnappingThreshold) finalPos.y = lg.lineGuide;
21671
21722
  break;
21672
21723
  }
21673
21724
  }
21674
21725
  });
21675
- node.absolutePosition(absPos);
21676
- }
21677
- });
21678
- stage.on("dragend", () => {
21679
- if (!this.enabled) return;
21680
- mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21681
- });
21726
+ return finalPos;
21727
+ });
21728
+ }
21729
+ }
21730
+ }
21731
+ cleanupEvaluateGuidelines() {
21732
+ const mainLayer = this.instance.getMainLayer();
21733
+ if (!this.enabled) return;
21734
+ if (!mainLayer) return;
21735
+ mainLayer.find(`.${GUIDE_LINE_NAME}`).forEach((l) => l.destroy());
21736
+ }
21737
+ initEvents() {
21738
+ const stage = this.instance.getStage();
21739
+ const mainLayer = this.instance.getMainLayer();
21740
+ if (mainLayer) {
21741
+ stage.on("dragmove", this.evaluateGuidelines.bind(this));
21742
+ stage.on("dragend", this.cleanupEvaluateGuidelines.bind(this));
21682
21743
  }
21683
21744
  }
21684
21745
  getLineGuideStops(skipShape) {
@@ -21715,7 +21776,7 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21715
21776
  getObjectSnappingEdges(node) {
21716
21777
  const box = node.getClientRect();
21717
21778
  const absPos = node.absolutePosition();
21718
- return {
21779
+ const snappingEdges = {
21719
21780
  vertical: [
21720
21781
  {
21721
21782
  guide: Math.round(box.x),
@@ -21751,14 +21812,15 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21751
21812
  }
21752
21813
  ]
21753
21814
  };
21815
+ return snappingEdges;
21754
21816
  }
21755
- getGuides(lineGuideStops, itemBounds) {
21817
+ getGuides(lineGuideStops, itemBounds, type) {
21756
21818
  const resultV = [];
21757
21819
  const resultH = [];
21758
21820
  lineGuideStops.vertical.forEach((lineGuide) => {
21759
21821
  itemBounds.vertical.forEach((itemBound) => {
21760
21822
  const diff = Math.abs(lineGuide - itemBound.guide);
21761
- if (diff < this.guideLineOffset) resultV.push({
21823
+ if (diff < this.dragSnappingThreshold) resultV.push({
21762
21824
  lineGuide,
21763
21825
  diff,
21764
21826
  snap: itemBound.snap,
@@ -21769,7 +21831,7 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21769
21831
  lineGuideStops.horizontal.forEach((lineGuide) => {
21770
21832
  itemBounds.horizontal.forEach((itemBound) => {
21771
21833
  const diff = Math.abs(lineGuide - itemBound.guide);
21772
- if (diff < this.guideLineOffset) resultH.push({
21834
+ if (diff < this.dragSnappingThreshold) resultH.push({
21773
21835
  lineGuide,
21774
21836
  diff,
21775
21837
  snap: itemBound.snap,
@@ -21778,20 +21840,40 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21778
21840
  });
21779
21841
  });
21780
21842
  const guides = [];
21781
- const minV = resultV.sort((a, b) => a.diff - b.diff)[0];
21782
- const minH = resultH.sort((a, b) => a.diff - b.diff)[0];
21783
- if (minV) guides.push({
21784
- lineGuide: minV.lineGuide,
21785
- offset: minV.offset,
21786
- orientation: GUIDE_ORIENTATION.VERTICAL,
21787
- snap: minV.snap
21788
- });
21789
- if (minH) guides.push({
21790
- lineGuide: minH.lineGuide,
21791
- offset: minH.offset,
21792
- orientation: GUIDE_ORIENTATION.HORIZONTAL,
21793
- snap: minH.snap
21794
- });
21843
+ if (type === "dragmove") {
21844
+ const minV = resultV.sort((a, b) => a.diff - b.diff)[0];
21845
+ const minH = resultH.sort((a, b) => a.diff - b.diff)[0];
21846
+ if (minV) guides.push({
21847
+ lineGuide: minV.lineGuide,
21848
+ offset: minV.offset,
21849
+ orientation: GUIDE_ORIENTATION.VERTICAL,
21850
+ snap: minV.snap
21851
+ });
21852
+ if (minH) guides.push({
21853
+ lineGuide: minH.lineGuide,
21854
+ offset: minH.offset,
21855
+ orientation: GUIDE_ORIENTATION.HORIZONTAL,
21856
+ snap: minH.snap
21857
+ });
21858
+ }
21859
+ if (type === "transform") {
21860
+ resultV.forEach((v) => {
21861
+ guides.push({
21862
+ lineGuide: v.lineGuide,
21863
+ offset: v.offset,
21864
+ orientation: GUIDE_ORIENTATION.VERTICAL,
21865
+ snap: v.snap
21866
+ });
21867
+ });
21868
+ resultH.forEach((h) => {
21869
+ guides.push({
21870
+ lineGuide: h.lineGuide,
21871
+ offset: h.offset,
21872
+ orientation: GUIDE_ORIENTATION.HORIZONTAL,
21873
+ snap: h.snap
21874
+ });
21875
+ });
21876
+ }
21795
21877
  return guides;
21796
21878
  }
21797
21879
  drawGuides(guides) {
@@ -21800,16 +21882,16 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21800
21882
  if (mainLayer) guides.forEach((lg) => {
21801
21883
  if (lg.orientation === GUIDE_ORIENTATION.HORIZONTAL) {
21802
21884
  const line = new Konva.Line({
21885
+ ...this.guideLineConfig,
21886
+ strokeWidth: (this.guideLineConfig.strokeWidth ?? GUIDE_LINE_DEFAULT_CONFIG.strokeWidth) / stage.scaleX(),
21887
+ dash: this.guideLineConfig.dash?.map((e) => e / stage.scaleX()),
21803
21888
  points: [
21804
21889
  -6e3,
21805
21890
  0,
21806
21891
  6e3,
21807
21892
  0
21808
21893
  ],
21809
- stroke: "rgb(0, 161, 255)",
21810
- strokeWidth: 1 / stage.scaleX(),
21811
- name: GUIDE_LINE_NAME,
21812
- dash: [4 / stage.scaleX(), 6 / stage.scaleX()]
21894
+ name: GUIDE_LINE_NAME
21813
21895
  });
21814
21896
  mainLayer.add(line);
21815
21897
  line.absolutePosition({
@@ -21819,16 +21901,16 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21819
21901
  }
21820
21902
  if (lg.orientation === GUIDE_ORIENTATION.VERTICAL) {
21821
21903
  const line = new Konva.Line({
21904
+ ...this.guideLineConfig,
21905
+ strokeWidth: (this.guideLineConfig.strokeWidth ?? GUIDE_LINE_DEFAULT_CONFIG.strokeWidth) / stage.scaleX(),
21906
+ dash: this.guideLineConfig.dash?.map((e) => e / stage.scaleX()),
21822
21907
  points: [
21823
21908
  0,
21824
21909
  -6e3,
21825
21910
  0,
21826
21911
  6e3
21827
21912
  ],
21828
- stroke: "rgb(0, 161, 255)",
21829
- strokeWidth: 1 / stage.scaleX(),
21830
- name: GUIDE_LINE_NAME,
21831
- dash: [4 / stage.scaleX(), 6 / stage.scaleX()]
21913
+ name: GUIDE_LINE_NAME
21832
21914
  });
21833
21915
  mainLayer.add(line);
21834
21916
  line.absolutePosition({
@@ -21847,4 +21929,4 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
21847
21929
  };
21848
21930
 
21849
21931
  //#endregion
21850
- export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_NAME, GUIDE_ORIENTATION, IMAGE_TOOL_STATE, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveBrushToolAction, WeaveConnectedUsersPlugin, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveExportNodeToolAction, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToSelectionToolAction, WeaveFrameNode, WeaveFrameToolAction, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSnappingPlugin, WeavePenToolAction, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveZoomInToolAction, WeaveZoomOutToolAction, resetScale };
21932
+ export { BRUSH_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, IMAGE_TOOL_STATE, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, TEXT_TOOL_STATE, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_SIZES, WEAVE_FRAME_NODE_SIZES_MULTIPLIER, WEAVE_FRAME_NODE_SIZES_ORIENTATION, WEAVE_FRAME_NODE_SIZES_TYPES, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_NODES_SNAPPING_KEY, WEAVE_STAGE_GRID_KEY, Weave, WeaveAction, WeaveBrushToolAction, WeaveConnectedUsersPlugin, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveExportNodeToolAction, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToSelectionToolAction, WeaveFrameNode, WeaveFrameToolAction, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveLayerNode, WeaveLineNode, WeaveMoveToolAction, WeaveNode, WeaveNodesSelectionPlugin, WeaveNodesSnappingPlugin, WeavePenToolAction, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStore, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveZoomInToolAction, WeaveZoomOutToolAction, resetScale };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inditextech/weave-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.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.5.0",
46
+ "@inditextech/weave-types": "0.6.0",
47
47
  "@syncedstore/core": "0.6.0",
48
48
  "canvas": "3.1.0",
49
49
  "konva": "9.3.20",