@inditextech/weave-sdk 3.4.0-SNAPSHOT.38.1 → 3.4.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/types.js CHANGED
@@ -32,13 +32,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
32
  }) : target, mod));
33
33
 
34
34
  //#endregion
35
- //#region ../../node_modules/emittery/maps.js
35
+ //#region node_modules/emittery/maps.js
36
36
  const anyMap = new WeakMap();
37
37
  const eventsMap = new WeakMap();
38
38
  const producersMap = new WeakMap();
39
39
 
40
40
  //#endregion
41
- //#region ../../node_modules/emittery/index.js
41
+ //#region node_modules/emittery/index.js
42
42
  const anyProducer = Symbol("anyProducer");
43
43
  const resolvedPromise = Promise.resolve();
44
44
  const listenerAdded = Symbol("listenerAdded");
@@ -15084,11 +15084,6 @@ var WeaveStore = class {
15084
15084
  getDocument() {
15085
15085
  return this.document;
15086
15086
  }
15087
- restartDocument() {
15088
- this.latestState = { weave: {} };
15089
- this.state = syncedStore({ weave: {} });
15090
- this.document = getYjsDoc(this.state);
15091
- }
15092
15087
  loadDocument(roomData) {
15093
15088
  yjs_default.applyUpdate(this.document, roomData);
15094
15089
  }
@@ -17964,15 +17959,6 @@ var WeaveContextMenuPlugin = class extends WeavePlugin {
17964
17959
  initLayer = void 0;
17965
17960
  constructor(params) {
17966
17961
  super();
17967
- const { config } = params ?? {};
17968
- this.config = {
17969
- xOffset: WEAVE_CONTEXT_MENU_X_OFFSET_DEFAULT,
17970
- yOffset: WEAVE_CONTEXT_MENU_Y_OFFSET_DEFAULT,
17971
- ...config
17972
- };
17973
- this.initialize();
17974
- }
17975
- initialize() {
17976
17962
  this.timer = null;
17977
17963
  this.tapHold = false;
17978
17964
  this.contextMenuVisible = false;
@@ -17982,6 +17968,12 @@ var WeaveContextMenuPlugin = class extends WeavePlugin {
17982
17968
  time: 0
17983
17969
  };
17984
17970
  this.tapHoldTimeout = WEAVE_CONTEXT_MENU_TAP_HOLD_TIMEOUT;
17971
+ const { config } = params ?? {};
17972
+ this.config = {
17973
+ xOffset: WEAVE_CONTEXT_MENU_X_OFFSET_DEFAULT,
17974
+ yOffset: WEAVE_CONTEXT_MENU_Y_OFFSET_DEFAULT,
17975
+ ...config
17976
+ };
17985
17977
  this.pointers = {};
17986
17978
  }
17987
17979
  getName() {
@@ -18654,9 +18646,6 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
18654
18646
  constructor(params) {
18655
18647
  super();
18656
18648
  this.config = mergeExceptArrays(WEAVE_NODES_SELECTION_DEFAULT_CONFIG, params?.config ?? {});
18657
- this.initialize();
18658
- }
18659
- initialize() {
18660
18649
  this.defaultEnabledAnchors = this.config.selection?.enabledAnchors ?? [
18661
18650
  "top-left",
18662
18651
  "top-center",
@@ -19446,7 +19435,7 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
19446
19435
  if (existNode) newSelectedNodes.push(existNode);
19447
19436
  }
19448
19437
  this.tr.nodes([...newSelectedNodes]);
19449
- if (newSelectedNodes.length > 0) this.tr.forceUpdate();
19438
+ this.tr.forceUpdate();
19450
19439
  this.triggerSelectedNodesEvent();
19451
19440
  }
19452
19441
  getSelectionPlugin() {
@@ -19699,9 +19688,6 @@ var WeaveCopyPasteNodesPlugin = class extends WeavePlugin {
19699
19688
  super();
19700
19689
  this.getImageBase64 = params.getImageBase64;
19701
19690
  this.config = mergeExceptArrays(WEAVE_COPY_PASTE_CONFIG_DEFAULT, params?.config);
19702
- this.initialize();
19703
- }
19704
- initialize() {
19705
19691
  this.actualInternalPaddingX = 0;
19706
19692
  this.actualInternalPaddingY = 0;
19707
19693
  this.lastInternalPasteSnapshot = "";
@@ -21992,34 +21978,11 @@ var WeaveRegisterManager = class {
21992
21978
  }
21993
21979
  }
21994
21980
  }
21995
- resetNodesHandlers() {
21996
- for (const nodeHandlerId of Object.keys(this.nodesHandlers)) {
21997
- const nodeHandler = this.nodesHandlers[nodeHandlerId];
21998
- nodeHandler.initialize?.();
21999
- }
22000
- }
22001
- resetActionsHandlers() {
22002
- for (const actionHandlerId of Object.keys(this.actionsHandlers)) {
22003
- const actionHandler = this.actionsHandlers[actionHandlerId];
22004
- actionHandler.initialize?.();
22005
- }
22006
- }
22007
- resetPlugins() {
22008
- for (const pluginId of Object.keys(this.plugins)) {
22009
- const plugin = this.plugins[pluginId];
22010
- plugin.initialize?.();
22011
- }
22012
- }
22013
- reset() {
22014
- this.resetNodesHandlers();
22015
- this.resetActionsHandlers();
22016
- this.resetPlugins();
22017
- }
22018
21981
  };
22019
21982
 
22020
21983
  //#endregion
22021
21984
  //#region package.json
22022
- var version = "3.4.0-SNAPSHOT.38.1";
21985
+ var version = "3.4.0";
22023
21986
 
22024
21987
  //#endregion
22025
21988
  //#region src/managers/setup.ts
@@ -22136,9 +22099,6 @@ var WeaveStageManager = class {
22136
22099
  initialZIndex: void 0
22137
22100
  };
22138
22101
  const stage = new Konva.Stage({ ...props });
22139
- const containerParent = stage.container().parentNode;
22140
- stage.width(containerParent.clientWidth);
22141
- stage.height(containerParent.clientHeight);
22142
22102
  const realContainer = stage.container();
22143
22103
  if (realContainer !== void 0 && realContainer.style?.position !== "relative") realContainer.style.position = "relative";
22144
22104
  this.setStage(stage);
@@ -22447,91 +22407,6 @@ var WeaveExportManager = class {
22447
22407
  height: imageHeight * pixelRatio
22448
22408
  };
22449
22409
  }
22450
- async exportAreaServerSide(area, options) {
22451
- const { format = WEAVE_EXPORT_FORMATS.PNG, padding = 0, pixelRatio = 1, backgroundColor = WEAVE_EXPORT_BACKGROUND_COLOR } = options;
22452
- this.getNodesSelectionPlugin()?.disable();
22453
- this.getNodesDistanceSnappingPlugin()?.disable();
22454
- this.getNodesEdgeSnappingPlugin()?.disable();
22455
- this.getStageGridPlugin()?.disable();
22456
- const stage = this.instance.getStage();
22457
- const mainLayer = this.instance.getMainLayer();
22458
- if (!mainLayer) throw new Error("Main layer not found");
22459
- const originalPosition = {
22460
- x: stage.x(),
22461
- y: stage.y()
22462
- };
22463
- const originalScale = {
22464
- x: stage.scaleX(),
22465
- y: stage.scaleY()
22466
- };
22467
- stage.scale({
22468
- x: 1,
22469
- y: 1
22470
- });
22471
- const bounds = area;
22472
- const scaleX = stage.scaleX();
22473
- const scaleY = stage.scaleY();
22474
- const unscaledBounds = {
22475
- x: bounds.x / scaleX,
22476
- y: bounds.y / scaleY,
22477
- width: bounds.width / scaleX,
22478
- height: bounds.height / scaleY
22479
- };
22480
- const background = new Konva.Rect({
22481
- x: unscaledBounds.x - padding,
22482
- y: unscaledBounds.y - padding,
22483
- width: unscaledBounds.width + 2 * padding,
22484
- height: unscaledBounds.height + 2 * padding,
22485
- strokeWidth: 0,
22486
- fill: backgroundColor
22487
- });
22488
- mainLayer.add(background);
22489
- background.moveToBottom();
22490
- const backgroundRect = background.getClientRect();
22491
- const composites = [];
22492
- const imageWidth = Math.round(backgroundRect.width);
22493
- const imageHeight = Math.round(backgroundRect.height);
22494
- const maxRenderSize = 1920;
22495
- const cols = Math.ceil(imageWidth / maxRenderSize);
22496
- const rows = Math.ceil(imageHeight / maxRenderSize);
22497
- const tileWidth = Math.floor(imageWidth / cols);
22498
- const tileHeight = Math.floor(imageHeight / rows);
22499
- for (let y = 0; y < imageHeight; y += tileHeight) for (let x = 0; x < imageWidth; x += tileWidth) {
22500
- const width = Math.min(tileWidth, imageWidth - x);
22501
- const height = Math.min(tileHeight, imageHeight - y);
22502
- const canvas = await mainLayer.toCanvas({
22503
- x: Math.round(backgroundRect.x) + x,
22504
- y: Math.round(backgroundRect.y) + y,
22505
- width,
22506
- height,
22507
- mimeType: format,
22508
- pixelRatio,
22509
- quality: options.quality ?? 1
22510
- });
22511
- let buffer = null;
22512
- if (globalThis._weave_serverSideBackend === WEAVE_KONVA_BACKEND.CANVAS) buffer = canvas.toBuffer();
22513
- if (globalThis._weave_serverSideBackend === WEAVE_KONVA_BACKEND.SKIA) buffer = await canvas.toBuffer();
22514
- if (!buffer) throw new Error("Failed to generate image buffer");
22515
- composites.push({
22516
- top: y * pixelRatio,
22517
- left: x * pixelRatio,
22518
- input: buffer
22519
- });
22520
- }
22521
- background.destroy();
22522
- stage.position(originalPosition);
22523
- stage.scale(originalScale);
22524
- stage.batchDraw();
22525
- this.getNodesSelectionPlugin()?.enable();
22526
- this.getNodesDistanceSnappingPlugin()?.enable();
22527
- this.getNodesEdgeSnappingPlugin()?.enable();
22528
- this.getStageGridPlugin()?.enable();
22529
- return {
22530
- composites,
22531
- width: imageWidth * pixelRatio,
22532
- height: imageHeight * pixelRatio
22533
- };
22534
- }
22535
22410
  imageToBase64(img, mimeType) {
22536
22411
  if (img.naturalWidth === 0 && img.naturalHeight === 0) throw new Error("Image has no content");
22537
22412
  const canvas = document.createElement("canvas");
@@ -22811,12 +22686,7 @@ var WeaveAsyncManager = class {
22811
22686
  this.instance.emitEvent("onAsyncElementChange");
22812
22687
  }, new Map());
22813
22688
  }
22814
- reset() {
22815
- this.asyncElements.clear();
22816
- this.asyncElementsLoadedEventEmitted = false;
22817
- }
22818
22689
  checkForAsyncElements(elements) {
22819
- this.instance.emitEvent("onAsyncElementsIdle");
22820
22690
  const amountAsyncResourcesExtracted = this.extractAsyncResources(elements);
22821
22691
  if (amountAsyncResourcesExtracted === 0 && !this.asyncElementsLoadedEventEmitted) {
22822
22692
  this.instance.emitEvent("onAsyncElementsLoaded");
@@ -22869,7 +22739,7 @@ var WeaveAsyncManager = class {
22869
22739
  status: WEAVE_ASYNC_STATUS.LOADING
22870
22740
  };
22871
22741
  this.asyncElements.set(nodeId, element);
22872
- if (!this.asyncElementsLoadedEventEmitted) this.instance.emitEvent("onAsyncElementsLoading", {
22742
+ this.instance.emitEvent("onAsyncElementsLoading", {
22873
22743
  loaded: this.getAmountAsyncElementsLoaded(),
22874
22744
  total: this.getAmountAsyncElements()
22875
22745
  });
@@ -22882,11 +22752,11 @@ var WeaveAsyncManager = class {
22882
22752
  status: WEAVE_ASYNC_STATUS.LOADED
22883
22753
  };
22884
22754
  this.asyncElements.set(nodeId, element);
22755
+ this.instance.emitEvent("onAsyncElementsLoading", {
22756
+ loaded: this.getAmountAsyncElementsLoaded(),
22757
+ total: this.getAmountAsyncElements()
22758
+ });
22885
22759
  if (!this.asyncElementsLoadedEventEmitted) {
22886
- this.instance.emitEvent("onAsyncElementsLoading", {
22887
- loaded: this.getAmountAsyncElementsLoaded(),
22888
- total: this.getAmountAsyncElements()
22889
- });
22890
22760
  const allLoaded = this.asyncElementsLoaded();
22891
22761
  if (allLoaded) {
22892
22762
  this.instance.emitEvent("onAsyncElementsLoaded");
@@ -23103,34 +22973,6 @@ var Weave = class {
23103
22973
  store.setup();
23104
22974
  store.connect();
23105
22975
  }
23106
- async switchRoom() {
23107
- this.moduleLogger.info(`Switching room`);
23108
- const nodeHandlers = this.registerManager.getNodesHandlers();
23109
- for (const nodeHandlerKey of Object.keys(nodeHandlers)) {
23110
- const nodeHandler = nodeHandlers[nodeHandlerKey];
23111
- nodeHandler?.onDestroyInstance();
23112
- }
23113
- const stage = this.getStage();
23114
- if (stage) stage.destroy();
23115
- this.registerManager.reset();
23116
- this.asyncManager.reset();
23117
- this.moduleLogger.info("Switching room instance");
23118
- if (!this.isServerSide()) {
23119
- if (!window.weave) window.weave = this;
23120
- }
23121
- this.emitEvent("onRoomLoaded", false);
23122
- this.status = WEAVE_INSTANCE_STATUS.STARTING;
23123
- this.emitEvent("onInstanceStatus", this.status);
23124
- this.registerManager.reset();
23125
- this.status = WEAVE_INSTANCE_STATUS.LOADING_FONTS;
23126
- this.emitEvent("onInstanceStatus", this.status);
23127
- await this.fontsManager.loadFonts();
23128
- this.setupManager.setupLog();
23129
- this.stageManager.initStage();
23130
- this.status = WEAVE_INSTANCE_STATUS.CONNECTING_TO_ROOM;
23131
- this.emitEvent("onInstanceStatus", this.status);
23132
- this.addEventListener("onStoreConnectionStatusChange", this.handleStoreConnectionStatusChange.bind(this));
23133
- }
23134
22976
  destroy() {
23135
22977
  this.moduleLogger.info(`Destroying the instance`);
23136
22978
  this.emitter.clearListeners();
@@ -23602,9 +23444,6 @@ var Weave = class {
23602
23444
  async exportNodesServerSide(nodes, boundingNodes, options) {
23603
23445
  return await this.exportManager.exportNodesServerSide(nodes, boundingNodes, options);
23604
23446
  }
23605
- async exportAreaServerSide(area, options) {
23606
- return await this.exportManager.exportAreaServerSide(area, options);
23607
- }
23608
23447
  async exportNodes(nodes, boundingNodes, options) {
23609
23448
  return await this.exportManager.exportNodesAsImage(nodes, boundingNodes, options);
23610
23449
  }
@@ -23892,14 +23731,7 @@ const setupUpscaleStage = (instance, stage) => {
23892
23731
  innerElement.style.transformOrigin = "0 0";
23893
23732
  innerElement.style.transform = `scale(${scaleToCover})`;
23894
23733
  }
23895
- } else {
23896
- const realContainer = stage.container();
23897
- const containerWidth = realContainer.offsetWidth;
23898
- const containerHeight = realContainer.offsetHeight;
23899
- stage.width(containerWidth);
23900
- stage.height(containerHeight);
23901
- stage.setAttrs({ upscaleScale: 1 });
23902
- }
23734
+ } else stage.setAttrs({ upscaleScale: 1 });
23903
23735
  };
23904
23736
 
23905
23737
  //#endregion
@@ -23910,7 +23742,6 @@ var WeaveStageNode = class extends WeaveNode {
23910
23742
  wheelMousePressed = false;
23911
23743
  isCmdCtrlPressed = false;
23912
23744
  globalEventsInitialized = false;
23913
- initialize = void 0;
23914
23745
  onRender(props) {
23915
23746
  const stage = new Konva.Stage({
23916
23747
  ...props,
@@ -24033,7 +23864,6 @@ const WEAVE_LAYER_NODE_TYPE = "layer";
24033
23864
  //#region src/nodes/layer/layer.ts
24034
23865
  var WeaveLayerNode = class extends WeaveNode {
24035
23866
  nodeType = WEAVE_LAYER_NODE_TYPE;
24036
- initialize = void 0;
24037
23867
  onRender(props) {
24038
23868
  const layer = new Konva.Layer({ ...props });
24039
23869
  layer.canMoveToContainer = function() {
@@ -24081,7 +23911,6 @@ const WEAVE_GROUP_NODE_TYPE = "group";
24081
23911
  //#region src/nodes/group/group.ts
24082
23912
  var WeaveGroupNode = class extends WeaveNode {
24083
23913
  nodeType = WEAVE_GROUP_NODE_TYPE;
24084
- initialize = void 0;
24085
23914
  constructor(params) {
24086
23915
  super();
24087
23916
  const { config } = params ?? {};
@@ -24174,7 +24003,6 @@ const WEAVE_RECTANGLE_NODE_TYPE = "rectangle";
24174
24003
  //#region src/nodes/rectangle/rectangle.ts
24175
24004
  var WeaveRectangleNode = class extends WeaveNode {
24176
24005
  nodeType = WEAVE_RECTANGLE_NODE_TYPE;
24177
- initialize = void 0;
24178
24006
  constructor(params) {
24179
24007
  super();
24180
24008
  const { config } = params ?? {};
@@ -24218,7 +24046,6 @@ const WEAVE_ELLIPSE_NODE_TYPE = "ellipse";
24218
24046
  //#region src/nodes/ellipse/ellipse.ts
24219
24047
  var WeaveEllipseNode = class extends WeaveNode {
24220
24048
  nodeType = WEAVE_ELLIPSE_NODE_TYPE;
24221
- initialize = void 0;
24222
24049
  constructor(params) {
24223
24050
  super();
24224
24051
  const { config } = params ?? {};
@@ -24364,16 +24191,13 @@ var WeaveLineNode = class extends WeaveNode {
24364
24191
  constructor(params) {
24365
24192
  super();
24366
24193
  this.config = mergeExceptArrays(WEAVE_LINE_NODE_DEFAULT_CONFIG, params?.config ?? {});
24194
+ this.handleNodeChanges = null;
24195
+ this.handleZoomChanges = null;
24367
24196
  this.snapper = new GreedySnapper({
24368
24197
  snapAngles: this.config.snapAngles.angles,
24369
24198
  activateThreshold: this.config.snapAngles.activateThreshold,
24370
24199
  releaseThreshold: this.config.snapAngles.releaseThreshold
24371
24200
  });
24372
- this.initialize();
24373
- }
24374
- initialize() {
24375
- this.handleNodeChanges = null;
24376
- this.handleZoomChanges = null;
24377
24201
  }
24378
24202
  onRender(props) {
24379
24203
  const line = new Konva.Line({
@@ -24678,19 +24502,17 @@ const TEXT_LAYOUT = {
24678
24502
  //#region src/nodes/text/text.ts
24679
24503
  var WeaveTextNode = class extends WeaveNode {
24680
24504
  nodeType = WEAVE_TEXT_NODE_TYPE;
24505
+ editing = false;
24506
+ textAreaSuperContainer = null;
24507
+ textAreaContainer = null;
24508
+ textArea = null;
24509
+ eventsInitialized = false;
24510
+ isCtrlMetaPressed = false;
24681
24511
  constructor(params) {
24682
24512
  super();
24683
24513
  const { config } = params ?? {};
24684
24514
  this.config = (0, import_lodash.merge)({}, WEAVE_TEXT_NODE_DEFAULT_CONFIG, config);
24685
- this.initialize();
24686
- }
24687
- initialize() {
24688
24515
  this.keyPressHandler = void 0;
24689
- this.eventsInitialized = false;
24690
- this.isCtrlMetaPressed = false;
24691
- this.textAreaSuperContainer = null;
24692
- this.textAreaContainer = null;
24693
- this.textArea = null;
24694
24516
  this.editing = false;
24695
24517
  this.textArea = null;
24696
24518
  }
@@ -25351,6 +25173,8 @@ const WEAVE_IMAGE_DEFAULT_CONFIG = {
25351
25173
  crossOrigin: "anonymous",
25352
25174
  useFallbackImage: true,
25353
25175
  cropMode: {
25176
+ enabled: true,
25177
+ triggers: { ctrlCmd: true },
25354
25178
  gridLines: { enabled: true },
25355
25179
  overlay: { fill: "rgba(0,0,0,0.2)" },
25356
25180
  selection: {
@@ -26012,21 +25836,24 @@ const isAllowedUrl = (value) => {
26012
25836
  //#endregion
26013
25837
  //#region src/nodes/image/image.ts
26014
25838
  var WeaveImageNode = class extends WeaveNode {
25839
+ imageBitmapCache = {};
25840
+ imageSource = {};
25841
+ imageFallback = {};
25842
+ imageState = {};
25843
+ imageTryoutAttempts = {};
25844
+ imageTryoutIds = {};
26015
25845
  nodeType = WEAVE_IMAGE_NODE_TYPE;
26016
25846
  cursorsFallback = { loading: "wait" };
26017
25847
  cursors = {};
26018
25848
  constructor(params) {
26019
25849
  super();
26020
25850
  const { config } = params ?? {};
26021
- this.config = mergeExceptArrays(WEAVE_IMAGE_DEFAULT_CONFIG, config);
26022
- this.initialize();
26023
- }
26024
- initialize() {
26025
25851
  this.tapStart = {
26026
25852
  x: 0,
26027
25853
  y: 0,
26028
25854
  time: 0
26029
25855
  };
25856
+ this.config = mergeExceptArrays(WEAVE_IMAGE_DEFAULT_CONFIG, config);
26030
25857
  this.imageCrop = null;
26031
25858
  this.imageBitmapCache = {};
26032
25859
  this.imageSource = {};
@@ -26057,6 +25884,7 @@ var WeaveImageNode = class extends WeaveNode {
26057
25884
  this.logger.info(`image caching enabled: ${this.config.performance.cache.enabled}`);
26058
25885
  }
26059
25886
  triggerCrop(imageNode, options) {
25887
+ if (!this.config.cropMode.enabled) return;
26060
25888
  const stage = this.instance.getStage();
26061
25889
  if (imageNode.getAttrs().cropping ?? false) return;
26062
25890
  if (!(this.isSelecting() && this.isNodeSelected(imageNode))) return;
@@ -26082,6 +25910,7 @@ var WeaveImageNode = class extends WeaveNode {
26082
25910
  });
26083
25911
  }
26084
25912
  closeCrop = (imageNode, type) => {
25913
+ if (!this.config.cropMode.enabled) return;
26085
25914
  if (!this.imageCrop) return;
26086
25915
  const stage = this.instance.getStage();
26087
25916
  stage.mode(WEAVE_STAGE_DEFAULT_MODE);
@@ -26095,6 +25924,7 @@ var WeaveImageNode = class extends WeaveNode {
26095
25924
  }
26096
25925
  };
26097
25926
  resetCrop = (imageNode) => {
25927
+ if (!this.config.cropMode.enabled) return;
26098
25928
  const internalImage = imageNode.findOne(`#${imageNode.getAttrs().id}-image`);
26099
25929
  const cropGroup = imageNode.findOne(`#${imageNode.getAttrs().id}-cropGroup`);
26100
25930
  if (!internalImage || !cropGroup) return;
@@ -26138,19 +25968,21 @@ var WeaveImageNode = class extends WeaveNode {
26138
25968
  const image$1 = stage.findOne(`#${id}`);
26139
25969
  if (!image$1) return;
26140
25970
  };
26141
- image.triggerCrop = () => {
26142
- this.triggerCrop(image, { cmdCtrl: { triggered: false } });
26143
- };
26144
- image.closeCrop = (type) => {
26145
- this.closeCrop(image, type);
26146
- };
26147
- image.resetCrop = () => {
26148
- const stage = this.instance.getStage();
26149
- const image$1 = stage.findOne(`#${id}`);
26150
- if (!image$1) return;
26151
- const imageCrop = new WeaveImageCrop(this.instance, this, image$1, internalImage, cropGroup);
26152
- imageCrop.unCrop();
26153
- };
25971
+ if (this.config.cropMode.enabled) {
25972
+ image.triggerCrop = () => {
25973
+ this.triggerCrop(image, { cmdCtrl: { triggered: false } });
25974
+ };
25975
+ image.closeCrop = (type) => {
25976
+ this.closeCrop(image, type);
25977
+ };
25978
+ image.resetCrop = () => {
25979
+ const stage = this.instance.getStage();
25980
+ const image$1 = stage.findOne(`#${id}`);
25981
+ if (!image$1) return;
25982
+ const imageCrop = new WeaveImageCrop(this.instance, this, image$1, internalImage, cropGroup);
25983
+ imageCrop.unCrop();
25984
+ };
25985
+ }
26154
25986
  const defaultTransformerProperties = this.defaultGetTransformerProperties(this.config.transform);
26155
25987
  image.getTransformerProperties = function() {
26156
25988
  return defaultTransformerProperties;
@@ -26257,24 +26089,26 @@ var WeaveImageNode = class extends WeaveNode {
26257
26089
  if (this.imageCrop) this.closeCrop(image, WEAVE_IMAGE_CROP_END_TYPE.CANCEL);
26258
26090
  }
26259
26091
  });
26260
- image.on("onCmdCtrlPressed", () => {
26261
- const transformer = this.getSelectionPlugin()?.getTransformer();
26262
- if (!transformer) return;
26263
- transformer.hide();
26264
- const utilityLayer = this.instance.getUtilityLayer();
26265
- if (!utilityLayer) return;
26266
- utilityLayer?.destroyChildren();
26267
- this.renderCropMode(utilityLayer, image);
26268
- utilityLayer?.show();
26269
- });
26270
- image.on("onCmdCtrlReleased", () => {
26271
- const transformer = this.getSelectionPlugin()?.getTransformer();
26272
- if (!transformer) return;
26273
- transformer.show();
26274
- const utilityLayer = this.instance.getUtilityLayer();
26275
- if (!utilityLayer) return;
26276
- utilityLayer?.destroyChildren();
26277
- });
26092
+ if (this.config.cropMode.enabled && this.config.cropMode.triggers.ctrlCmd) {
26093
+ image.on("onCmdCtrlPressed", () => {
26094
+ const transformer = this.getSelectionPlugin()?.getTransformer();
26095
+ if (!transformer) return;
26096
+ transformer.hide();
26097
+ const utilityLayer = this.instance.getUtilityLayer();
26098
+ if (!utilityLayer) return;
26099
+ utilityLayer?.destroyChildren();
26100
+ this.renderCropMode(utilityLayer, image);
26101
+ utilityLayer?.show();
26102
+ });
26103
+ image.on("onCmdCtrlReleased", () => {
26104
+ const transformer = this.getSelectionPlugin()?.getTransformer();
26105
+ if (!transformer) return;
26106
+ transformer.show();
26107
+ const utilityLayer = this.instance.getUtilityLayer();
26108
+ if (!utilityLayer) return;
26109
+ utilityLayer?.destroyChildren();
26110
+ });
26111
+ }
26278
26112
  image.on("onSelectionCleared", () => {
26279
26113
  const transformer = this.getSelectionPlugin()?.getTransformer();
26280
26114
  if (!transformer) return;
@@ -26328,6 +26162,7 @@ var WeaveImageNode = class extends WeaveNode {
26328
26162
  width: absoluteCorners[1].x - absoluteCorners[0].x,
26329
26163
  height: absoluteCorners[2].y - absoluteCorners[0].y,
26330
26164
  fill: "transparent",
26165
+ strokeScaleEnabled: false,
26331
26166
  strokeWidth: 2,
26332
26167
  stroke: "#1a1aff",
26333
26168
  draggable: false,
@@ -26340,13 +26175,6 @@ var WeaveImageNode = class extends WeaveNode {
26340
26175
  x: 1 / stageScale,
26341
26176
  y: 1 / stageScale
26342
26177
  });
26343
- stage.on("scaleXChange scaleYChange", () => {
26344
- const scale = stage.scaleX();
26345
- rect.scale({
26346
- x: 1 / scale,
26347
- y: 1 / scale
26348
- });
26349
- });
26350
26178
  }
26351
26179
  renderCropAnchor(position, node, layer, onClick) {
26352
26180
  const transform = node.getAbsoluteTransform().copy();
@@ -26632,7 +26460,7 @@ var WeaveImageNode = class extends WeaveNode {
26632
26460
  }
26633
26461
  this.loadAsyncElement(id);
26634
26462
  preloadFunction(id, realImageURL ?? "", {
26635
- onLoad: async () => {
26463
+ onLoad: () => {
26636
26464
  if (useFallback) this.imageTryoutIds[id] = setTimeout(() => {
26637
26465
  const node = this.instance.getStage().findOne(`#${id}`);
26638
26466
  if (node) {
@@ -26864,7 +26692,6 @@ const WEAVE_STAR_NODE_TYPE = "star";
26864
26692
  //#region src/nodes/star/star.ts
26865
26693
  var WeaveStarNode = class extends WeaveNode {
26866
26694
  nodeType = WEAVE_STAR_NODE_TYPE;
26867
- initialize = void 0;
26868
26695
  constructor(params) {
26869
26696
  super();
26870
26697
  const { config } = params ?? {};
@@ -26950,7 +26777,6 @@ const WEAVE_ARROW_NODE_TYPE = "arrow";
26950
26777
  //#region src/nodes/arrow/arrow.ts
26951
26778
  var WeaveArrowNode = class extends WeaveNode {
26952
26779
  nodeType = WEAVE_ARROW_NODE_TYPE;
26953
- initialize = void 0;
26954
26780
  constructor(params) {
26955
26781
  super();
26956
26782
  const { config } = params ?? {};
@@ -27007,7 +26833,6 @@ const WEAVE_REGULAR_POLYGON_NODE_TYPE = "regular-polygon";
27007
26833
  //#region src/nodes/regular-polygon/regular-polygon.ts
27008
26834
  var WeaveRegularPolygonNode = class extends WeaveNode {
27009
26835
  nodeType = WEAVE_REGULAR_POLYGON_NODE_TYPE;
27010
- initialize = void 0;
27011
26836
  constructor(params) {
27012
26837
  super();
27013
26838
  const { config } = params ?? {};
@@ -27121,7 +26946,6 @@ var GroupFrame = class extends Konva.Group {
27121
26946
  //#region src/nodes/frame/frame.ts
27122
26947
  var WeaveFrameNode = class extends WeaveNode {
27123
26948
  nodeType = WEAVE_FRAME_NODE_TYPE;
27124
- initialize = void 0;
27125
26949
  constructor(params) {
27126
26950
  super();
27127
26951
  const { config } = params ?? {};
@@ -27422,7 +27246,6 @@ const WEAVE_STROKE_NODE_DEFAULT_CONFIG = {
27422
27246
  //#region src/nodes/stroke/stroke.ts
27423
27247
  var WeaveStrokeNode = class extends WeaveNode {
27424
27248
  nodeType = WEAVE_STROKE_NODE_TYPE;
27425
- initialize = void 0;
27426
27249
  constructor(params) {
27427
27250
  super();
27428
27251
  const { config } = params ?? {};
@@ -27999,6 +27822,8 @@ var WeaveSquareLineTipManager = class extends WeaveBaseLineTipManager {
27999
27822
  //#endregion
28000
27823
  //#region src/nodes/stroke-single/stroke-single.ts
28001
27824
  var WeaveStrokeSingleNode = class extends WeaveNode {
27825
+ startHandle = null;
27826
+ endHandle = null;
28002
27827
  nodeType = WEAVE_STROKE_SINGLE_NODE_TYPE;
28003
27828
  tipManagers = {
28004
27829
  [WEAVE_STROKE_SINGLE_NODE_TIP_TYPE.ARROW]: new WeaveArrowLineTipManager(),
@@ -28009,20 +27834,15 @@ var WeaveStrokeSingleNode = class extends WeaveNode {
28009
27834
  constructor(params) {
28010
27835
  super();
28011
27836
  this.config = mergeExceptArrays(WEAVE_STROKE_SINGLE_NODE_DEFAULT_CONFIG, params?.config ?? {});
27837
+ this.handleNodeChanges = null;
27838
+ this.handleZoomChanges = null;
27839
+ this.shiftPressed = false;
28012
27840
  this.snapper = new GreedySnapper({
28013
27841
  snapAngles: this.config.snapAngles.angles,
28014
27842
  activateThreshold: this.config.snapAngles.activateThreshold,
28015
27843
  releaseThreshold: this.config.snapAngles.releaseThreshold
28016
27844
  });
28017
- this.initialize();
28018
- }
28019
- initialize() {
28020
27845
  this.eventsInitialized = false;
28021
- this.startHandle = null;
28022
- this.endHandle = null;
28023
- this.handleNodeChanges = null;
28024
- this.handleZoomChanges = null;
28025
- this.shiftPressed = false;
28026
27846
  }
28027
27847
  initEvents() {
28028
27848
  if (this.eventsInitialized) return;
@@ -28518,9 +28338,6 @@ var WeaveCommentNode = class extends WeaveNode {
28518
28338
  constructor(params) {
28519
28339
  super();
28520
28340
  this.config = mergeExceptArrays(WEAVE_COMMENT_NODE_DEFAULTS, params.config);
28521
- this.initialize();
28522
- }
28523
- initialize() {
28524
28341
  this.commentDomVisibleId = null;
28525
28342
  this.commentDomVisible = false;
28526
28343
  this.commentDomAction = null;
@@ -29149,6 +28966,10 @@ const WEAVE_VIDEO_DEFAULT_CONFIG = {
29149
28966
  //#endregion
29150
28967
  //#region src/nodes/video/video.ts
29151
28968
  var WeaveVideoNode = class extends WeaveNode {
28969
+ videoState = {};
28970
+ videoSourceFrameId = {};
28971
+ videoSource = {};
28972
+ videoPlaceholder = {};
29152
28973
  nodeType = WEAVE_VIDEO_NODE_TYPE;
29153
28974
  constructor(params) {
29154
28975
  super();
@@ -29161,13 +28982,6 @@ var WeaveVideoNode = class extends WeaveNode {
29161
28982
  this.videoIconImage.src = this.config.style.icon.dataURL;
29162
28983
  }
29163
28984
  }
29164
- initialize() {
29165
- this.videoState = {};
29166
- this.videoSource = {};
29167
- this.videoSourceFrameId = {};
29168
- this.videoPlaceholder = {};
29169
- this.videoIconImage = void 0;
29170
- }
29171
28985
  async loadPlaceholder(params, video) {
29172
28986
  const videoProps = params;
29173
28987
  const { id } = videoProps;
@@ -29662,7 +29476,6 @@ const WEAVE_MEASURE_NODE_DEFAULT_CONFIG = { style: {
29662
29476
  var WeaveMeasureNode = class extends WeaveNode {
29663
29477
  nodeType = WEAVE_MEASURE_NODE_TYPE;
29664
29478
  handlePointCircleRadius = 6;
29665
- initialize = void 0;
29666
29479
  constructor(params) {
29667
29480
  super();
29668
29481
  this.config = mergeExceptArrays(WEAVE_MEASURE_NODE_DEFAULT_CONFIG, params?.config ?? {});
@@ -30953,7 +30766,6 @@ var WeaveConnectorNode = class extends WeaveNode {
30953
30766
  [WEAVE_CONNECTOR_NODE_DECORATOR_TYPE.DOT]: setupNodeDecoratorDot,
30954
30767
  [WEAVE_CONNECTOR_NODE_DECORATOR_TYPE.ARROW]: setupNodeDecoratorArrow
30955
30768
  };
30956
- initialize = void 0;
30957
30769
  constructor(params) {
30958
30770
  super();
30959
30771
  this.config = mergeExceptArrays(WEAVE_CONNECTOR_NODE_DEFAULT_CONFIG, params?.config);
@@ -31704,6 +31516,10 @@ const WEAVE_STAGE_ZOOM_DEFAULT_CONFIG = {
31704
31516
  var WeaveStageZoomPlugin = class extends WeavePlugin {
31705
31517
  getLayerName = void 0;
31706
31518
  initLayer = void 0;
31519
+ pinching = false;
31520
+ zooming = false;
31521
+ isTrackpad = false;
31522
+ zoomVelocity = 0;
31707
31523
  zoomInertiaType = WEAVE_STAGE_ZOOM_TYPE.MOUSE_WHEEL;
31708
31524
  defaultStep = 3;
31709
31525
  constructor(params) {
@@ -31711,13 +31527,8 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
31711
31527
  const { config } = params ?? {};
31712
31528
  this.config = mergeExceptArrays(WEAVE_STAGE_ZOOM_DEFAULT_CONFIG, config);
31713
31529
  if (!this.config.zoomSteps.includes(this.config.defaultZoom)) throw new Error(`Default zoom ${this.config.defaultZoom} is not in zoom steps`);
31714
- this.initialize();
31715
- }
31716
- initialize() {
31717
31530
  this.pinching = false;
31718
- this.zooming = false;
31719
31531
  this.isTrackpad = false;
31720
- this.zoomVelocity = 0;
31721
31532
  this.isCtrlOrMetaPressed = false;
31722
31533
  this.updatedMinimumZoom = false;
31723
31534
  this.actualStep = this.config.zoomSteps.findIndex((step) => step === this.config.defaultZoom);
@@ -32004,15 +31815,6 @@ var WeaveStageZoomPlugin = class extends WeavePlugin {
32004
31815
  if (box.width === 0 || box.height === 0) return;
32005
31816
  this.fitToElements(box, finalOptions);
32006
31817
  }
32007
- fitToArea(area, options) {
32008
- const finalOptions = mergeExceptArrays({
32009
- smartZoom: false,
32010
- overrideZoom: true
32011
- }, options);
32012
- if (!this.enabled) return;
32013
- if (area.width === 0 || area.height === 0) return;
32014
- this.fitToElements(area, finalOptions);
32015
- }
32016
31818
  enable() {
32017
31819
  this.enabled = true;
32018
31820
  }
@@ -32193,7 +31995,6 @@ const ZOOM_OUT_TOOL_ACTION_NAME = "zoomOutTool";
32193
31995
  //#region src/actions/zoom-out-tool/zoom-out-tool.ts
32194
31996
  var WeaveZoomOutToolAction = class extends WeaveAction {
32195
31997
  onPropsChange = void 0;
32196
- initialize = void 0;
32197
31998
  getName() {
32198
31999
  return ZOOM_OUT_TOOL_ACTION_NAME;
32199
32000
  }
@@ -32228,10 +32029,6 @@ const ZOOM_IN_TOOL_ACTION_NAME = "zoomInTool";
32228
32029
  //#region src/actions/zoom-in-tool/zoom-in-tool.ts
32229
32030
  var WeaveZoomInToolAction = class extends WeaveAction {
32230
32031
  onPropsChange = void 0;
32231
- initialize = void 0;
32232
- constructor() {
32233
- super();
32234
- }
32235
32032
  getName() {
32236
32033
  return ZOOM_IN_TOOL_ACTION_NAME;
32237
32034
  }
@@ -32266,10 +32063,6 @@ const FIT_TO_SCREEN_TOOL_ACTION_NAME = "fitToScreenTool";
32266
32063
  //#region src/actions/fit-to-screen-tool/fit-to-screen-tool.ts
32267
32064
  var WeaveFitToScreenToolAction = class extends WeaveAction {
32268
32065
  onPropsChange = void 0;
32269
- initialize = void 0;
32270
- constructor() {
32271
- super();
32272
- }
32273
32066
  getName() {
32274
32067
  return FIT_TO_SCREEN_TOOL_ACTION_NAME;
32275
32068
  }
@@ -32303,10 +32096,6 @@ const FIT_TO_SELECTION_TOOL_ACTION_NAME = "fitToSelectionTool";
32303
32096
  //#region src/actions/fit-to-selection-tool/fit-to-selection-tool.ts
32304
32097
  var WeaveFitToSelectionToolAction = class extends WeaveAction {
32305
32098
  onPropsChange = void 0;
32306
- initialize = void 0;
32307
- constructor() {
32308
- super();
32309
- }
32310
32099
  getName() {
32311
32100
  return FIT_TO_SELECTION_TOOL_ACTION_NAME;
32312
32101
  }
@@ -32349,9 +32138,6 @@ var WeaveMoveToolAction = class extends WeaveAction {
32349
32138
  onInit = void 0;
32350
32139
  constructor() {
32351
32140
  super();
32352
- this.initialize();
32353
- }
32354
- initialize() {
32355
32141
  this.initialized = false;
32356
32142
  this.state = MOVE_TOOL_STATE.IDLE;
32357
32143
  }
@@ -32424,9 +32210,6 @@ var WeaveSelectionToolAction = class extends WeaveAction {
32424
32210
  onInit = void 0;
32425
32211
  constructor() {
32426
32212
  super();
32427
- this.initialize();
32428
- }
32429
- initialize() {
32430
32213
  this.initialized = false;
32431
32214
  this.state = SELECTION_TOOL_STATE.IDLE;
32432
32215
  }
@@ -32490,9 +32273,6 @@ var WeaveEraserToolAction = class extends WeaveAction {
32490
32273
  onInit = void 0;
32491
32274
  constructor() {
32492
32275
  super();
32493
- this.initialize();
32494
- }
32495
- initialize() {
32496
32276
  this.initialized = false;
32497
32277
  this.erasing = false;
32498
32278
  this.state = ERASER_TOOL_STATE.IDLE;
@@ -32593,9 +32373,6 @@ var WeaveRectangleToolAction = class extends WeaveAction {
32593
32373
  onInit = void 0;
32594
32374
  constructor() {
32595
32375
  super();
32596
- this.initialize();
32597
- }
32598
- initialize() {
32599
32376
  this.pointers = new Map();
32600
32377
  this.initialized = false;
32601
32378
  this.state = RECTANGLE_TOOL_STATE.IDLE;
@@ -32805,9 +32582,6 @@ var WeaveEllipseToolAction = class extends WeaveAction {
32805
32582
  onInit = void 0;
32806
32583
  constructor() {
32807
32584
  super();
32808
- this.initialize();
32809
- }
32810
- initialize() {
32811
32585
  this.pointers = new Map();
32812
32586
  this.initialized = false;
32813
32587
  this.state = ELLIPSE_TOOL_STATE.IDLE;
@@ -33024,9 +32798,6 @@ var WeavePenToolAction = class extends WeaveAction {
33024
32798
  onInit = void 0;
33025
32799
  constructor() {
33026
32800
  super();
33027
- this.initialize();
33028
- }
33029
- initialize() {
33030
32801
  this.pointers = new Map();
33031
32802
  this.initialized = false;
33032
32803
  this.state = PEN_TOOL_STATE.IDLE;
@@ -33299,9 +33070,6 @@ var WeaveLineToolAction = class extends WeaveAction {
33299
33070
  constructor(params) {
33300
33071
  super();
33301
33072
  this.config = mergeExceptArrays(LINE_TOOL_DEFAULT_CONFIG, params?.config ?? {});
33302
- this.initialize();
33303
- }
33304
- initialize() {
33305
33073
  this.pointers = new Map();
33306
33074
  this.initialized = false;
33307
33075
  this.state = LINE_TOOL_STATE.IDLE;
@@ -33567,9 +33335,6 @@ var WeaveBrushToolAction = class extends WeaveAction {
33567
33335
  constructor(params) {
33568
33336
  super();
33569
33337
  this.config = mergeExceptArrays(BRUSH_TOOL_DEFAULT_CONFIG, params?.config ?? {});
33570
- this.initialize();
33571
- }
33572
- initialize() {
33573
33338
  this.initialized = false;
33574
33339
  this.state = BRUSH_TOOL_STATE.INACTIVE;
33575
33340
  this.strokeId = null;
@@ -33823,9 +33588,6 @@ var WeaveTextToolAction = class extends WeaveAction {
33823
33588
  onInit = void 0;
33824
33589
  constructor() {
33825
33590
  super();
33826
- this.initialize();
33827
- }
33828
- initialize() {
33829
33591
  this.initialized = false;
33830
33592
  this.state = TEXT_TOOL_STATE.IDLE;
33831
33593
  this.textId = null;
@@ -33983,9 +33745,6 @@ var WeaveImageToolAction = class extends WeaveAction {
33983
33745
  constructor(params) {
33984
33746
  super();
33985
33747
  this.config = mergeExceptArrays(WEAVE_IMAGE_TOOL_CONFIG_DEFAULT, params?.config ?? {});
33986
- this.initialize();
33987
- }
33988
- initialize() {
33989
33748
  this.pointers = new Map();
33990
33749
  this.initialized = false;
33991
33750
  this.imageId = null;
@@ -34426,9 +34185,6 @@ var WeaveImagesToolAction = class extends WeaveAction {
34426
34185
  constructor(params) {
34427
34186
  super();
34428
34187
  this.config = mergeExceptArrays(WEAVE_IMAGES_TOOL_DEFAULT_CONFIG, params ?? {});
34429
- this.initialize();
34430
- }
34431
- initialize() {
34432
34188
  this.pointers = new Map();
34433
34189
  this.initialized = false;
34434
34190
  this.tempPointerFeedbackNode = null;
@@ -34857,9 +34613,6 @@ var WeaveStarToolAction = class extends WeaveAction {
34857
34613
  onInit = void 0;
34858
34614
  constructor() {
34859
34615
  super();
34860
- this.initialize();
34861
- }
34862
- initialize() {
34863
34616
  this.pointers = new Map();
34864
34617
  this.initialized = false;
34865
34618
  this.state = STAR_TOOL_STATE.IDLE;
@@ -35061,8 +34814,8 @@ var WeaveStarToolAction = class extends WeaveAction {
35061
34814
 
35062
34815
  //#endregion
35063
34816
  //#region src/actions/arrow-tool/constants.ts
35064
- const WEAVE_ARROW_TOOL_ACTION_NAME = "arrowTool";
35065
- const WEAVE_ARROW_TOOL_STATE = {
34817
+ const ARROW_TOOL_ACTION_NAME = "arrowTool";
34818
+ const ARROW_TOOL_STATE = {
35066
34819
  ["IDLE"]: "idle",
35067
34820
  ["ADDING"]: "adding",
35068
34821
  ["DEFINING_SIZE"]: "definingSize",
@@ -35078,12 +34831,9 @@ var WeaveArrowToolAction = class extends WeaveAction {
35078
34831
  onInit = void 0;
35079
34832
  constructor() {
35080
34833
  super();
35081
- this.initialize();
35082
- }
35083
- initialize() {
35084
34834
  this.pointers = new Map();
35085
34835
  this.initialized = false;
35086
- this.state = WEAVE_ARROW_TOOL_STATE.IDLE;
34836
+ this.state = ARROW_TOOL_STATE.IDLE;
35087
34837
  this.arrowId = null;
35088
34838
  this.tempArrowId = null;
35089
34839
  this.tempMainArrowNode = null;
@@ -35096,7 +34846,7 @@ var WeaveArrowToolAction = class extends WeaveAction {
35096
34846
  this.props = this.initProps();
35097
34847
  }
35098
34848
  getName() {
35099
- return WEAVE_ARROW_TOOL_ACTION_NAME;
34849
+ return ARROW_TOOL_ACTION_NAME;
35100
34850
  }
35101
34851
  initProps() {
35102
34852
  return {
@@ -35113,11 +34863,14 @@ var WeaveArrowToolAction = class extends WeaveAction {
35113
34863
  setupEvents() {
35114
34864
  const stage = this.instance.getStage();
35115
34865
  window.addEventListener("keydown", (e) => {
35116
- if (e.code === "Enter" && this.instance.getActiveAction() === WEAVE_ARROW_TOOL_ACTION_NAME) {
34866
+ if (e.code === "Enter" && this.instance.getActiveAction() === ARROW_TOOL_ACTION_NAME) {
34867
+ this.cancelAction();
34868
+ return;
34869
+ }
34870
+ if (e.code === "Escape" && this.instance.getActiveAction() === ARROW_TOOL_ACTION_NAME) {
35117
34871
  this.cancelAction();
35118
34872
  return;
35119
34873
  }
35120
- if (e.code === "Escape" && this.instance.getActiveAction() === WEAVE_ARROW_TOOL_ACTION_NAME) this.cancelAction();
35121
34874
  });
35122
34875
  stage.on("pointerdown", (e) => {
35123
34876
  this.setTapStart(e);
@@ -35125,25 +34878,25 @@ var WeaveArrowToolAction = class extends WeaveAction {
35125
34878
  x: e.evt.clientX,
35126
34879
  y: e.evt.clientY
35127
34880
  });
35128
- if (this.pointers.size === 2 && this.instance.getActiveAction() === WEAVE_ARROW_TOOL_ACTION_NAME) {
35129
- this.state = WEAVE_ARROW_TOOL_STATE.ADDING;
34881
+ if (this.pointers.size === 2 && this.instance.getActiveAction() === ARROW_TOOL_ACTION_NAME) {
34882
+ this.state = ARROW_TOOL_STATE.ADDING;
35130
34883
  return;
35131
34884
  }
35132
- if (!this.tempMainArrowNode && this.state === WEAVE_ARROW_TOOL_STATE.ADDING) this.handleAdding();
35133
- if (this.tempMainArrowNode && this.state === WEAVE_ARROW_TOOL_STATE.ADDING) this.state = WEAVE_ARROW_TOOL_STATE.DEFINING_SIZE;
34885
+ if (!this.tempMainArrowNode && this.state === ARROW_TOOL_STATE.ADDING) this.handleAdding();
34886
+ if (this.tempMainArrowNode && this.state === ARROW_TOOL_STATE.ADDING) this.state = ARROW_TOOL_STATE.DEFINING_SIZE;
35134
34887
  });
35135
34888
  stage.on("pointermove", () => {
35136
- if (this.state === WEAVE_ARROW_TOOL_STATE.IDLE) return;
34889
+ if (this.state === ARROW_TOOL_STATE.IDLE) return;
35137
34890
  this.setCursor();
35138
- if (this.pointers.size === 2 && this.instance.getActiveAction() === WEAVE_ARROW_TOOL_ACTION_NAME) {
35139
- this.state = WEAVE_ARROW_TOOL_STATE.ADDING;
34891
+ if (this.pointers.size === 2 && this.instance.getActiveAction() === ARROW_TOOL_ACTION_NAME) {
34892
+ this.state = ARROW_TOOL_STATE.ADDING;
35140
34893
  return;
35141
34894
  }
35142
- if (this.state === WEAVE_ARROW_TOOL_STATE.DEFINING_SIZE) this.handleMovement();
34895
+ if (this.state === ARROW_TOOL_STATE.DEFINING_SIZE) this.handleMovement();
35143
34896
  });
35144
34897
  stage.on("pointerup", (e) => {
35145
34898
  this.pointers.delete(e.evt.pointerId);
35146
- if (this.state === WEAVE_ARROW_TOOL_STATE.DEFINING_SIZE) this.handleSettingSize();
34899
+ if (this.state === ARROW_TOOL_STATE.DEFINING_SIZE) this.handleSettingSize();
35147
34900
  });
35148
34901
  this.initialized = true;
35149
34902
  }
@@ -35157,7 +34910,7 @@ var WeaveArrowToolAction = class extends WeaveAction {
35157
34910
  this.tempPoint = void 0;
35158
34911
  this.tempNextPoint = void 0;
35159
34912
  this.clickPoint = null;
35160
- this.setState(WEAVE_ARROW_TOOL_STATE.ADDING);
34913
+ this.setState(ARROW_TOOL_STATE.ADDING);
35161
34914
  }
35162
34915
  handleAdding() {
35163
34916
  const stage = this.instance.getStage();
@@ -35208,7 +34961,7 @@ var WeaveArrowToolAction = class extends WeaveAction {
35208
34961
  this.measureContainer?.add(this.tempNextPoint);
35209
34962
  this.tempPoint.moveToTop();
35210
34963
  this.tempNextPoint.moveToTop();
35211
- this.setState(WEAVE_ARROW_TOOL_STATE.DEFINING_SIZE);
34964
+ this.setState(ARROW_TOOL_STATE.DEFINING_SIZE);
35212
34965
  }
35213
34966
  }
35214
34967
  handleSettingSize() {
@@ -35235,11 +34988,11 @@ var WeaveArrowToolAction = class extends WeaveAction {
35235
34988
  y: mousePoint.y,
35236
34989
  points: [0, 0]
35237
34990
  });
35238
- this.setState(WEAVE_ARROW_TOOL_STATE.DEFINING_SIZE);
34991
+ this.setState(ARROW_TOOL_STATE.DEFINING_SIZE);
35239
34992
  }
35240
34993
  }
35241
34994
  handleMovement() {
35242
- if (this.state !== WEAVE_ARROW_TOOL_STATE.DEFINING_SIZE) return;
34995
+ if (this.state !== ARROW_TOOL_STATE.DEFINING_SIZE) return;
35243
34996
  if (this.arrowId && this.tempArrowNode && this.measureContainer && this.tempNextPoint) {
35244
34997
  const { mousePoint } = this.instance.getMousePointerRelativeToContainer(this.measureContainer);
35245
34998
  this.tempArrowNode.setAttrs({
@@ -35306,7 +35059,7 @@ var WeaveArrowToolAction = class extends WeaveAction {
35306
35059
  this.container = void 0;
35307
35060
  this.measureContainer = void 0;
35308
35061
  this.clickPoint = null;
35309
- this.setState(WEAVE_ARROW_TOOL_STATE.IDLE);
35062
+ this.setState(ARROW_TOOL_STATE.IDLE);
35310
35063
  }
35311
35064
  setCursor() {
35312
35065
  const stage = this.instance.getStage();
@@ -35350,15 +35103,13 @@ const WEAVE_STROKE_TOOL_DEFAULT_CONFIG = { snapAngles: {
35350
35103
  var WeaveStrokeToolAction = class extends WeaveAction {
35351
35104
  initialized = false;
35352
35105
  initialCursor = null;
35106
+ snappedAngle = null;
35353
35107
  shiftPressed = false;
35354
35108
  onPropsChange = void 0;
35355
35109
  onInit = void 0;
35356
35110
  constructor(params) {
35357
35111
  super();
35358
35112
  this.config = mergeExceptArrays(WEAVE_STROKE_TOOL_DEFAULT_CONFIG, params?.config ?? {});
35359
- this.initialize();
35360
- }
35361
- initialize() {
35362
35113
  this.pointers = new Map();
35363
35114
  this.initialized = false;
35364
35115
  this.state = WEAVE_STROKE_TOOL_STATE.IDLE;
@@ -35367,6 +35118,7 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35367
35118
  this.tempLineId = null;
35368
35119
  this.tempLineNode = null;
35369
35120
  this.container = void 0;
35121
+ this.snappedAngle = null;
35370
35122
  this.measureContainer = void 0;
35371
35123
  this.clickPoint = null;
35372
35124
  this.snapper = new GreedySnapper({
@@ -35379,9 +35131,6 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35379
35131
  getName() {
35380
35132
  return WEAVE_STROKE_TOOL_ACTION_NAME;
35381
35133
  }
35382
- getNames() {
35383
- return [WEAVE_STROKE_TOOL_ACTION_NAME, ...WEAVE_STROKE_TOOL_ACTION_NAME_ALIASES];
35384
- }
35385
35134
  hasAliases() {
35386
35135
  return true;
35387
35136
  }
@@ -35400,18 +35149,24 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35400
35149
  setupEvents() {
35401
35150
  const stage = this.instance.getStage();
35402
35151
  window.addEventListener("keydown", (e) => {
35403
- if (e.code === "Enter" && this.getNames().includes(this.instance.getActiveAction() ?? "")) {
35152
+ if (e.code === "Enter" && this.instance.getActiveAction() === WEAVE_STROKE_TOOL_ACTION_NAME) {
35404
35153
  this.cancelAction();
35405
35154
  return;
35406
35155
  }
35407
- if (e.code === "Escape" && this.getNames().includes(this.instance.getActiveAction() ?? "")) {
35156
+ if (e.code === "Escape" && this.instance.getActiveAction() === WEAVE_STROKE_TOOL_ACTION_NAME) {
35408
35157
  this.cancelAction();
35409
35158
  return;
35410
35159
  }
35411
- if (e.key === "Shift" && this.getNames().includes(this.instance.getActiveAction() ?? "")) this.shiftPressed = true;
35160
+ if (e.key === "Shift" && this.instance.getActiveAction() === WEAVE_STROKE_TOOL_ACTION_NAME) {
35161
+ this.snappedAngle = null;
35162
+ this.shiftPressed = true;
35163
+ }
35412
35164
  });
35413
35165
  window.addEventListener("keyup", (e) => {
35414
- if (e.key === "Shift" && this.getNames().includes(this.instance.getActiveAction() ?? "")) this.shiftPressed = false;
35166
+ if (e.key === "Shift" && this.instance.getActiveAction() === WEAVE_STROKE_TOOL_ACTION_NAME) {
35167
+ this.snappedAngle = null;
35168
+ this.shiftPressed = false;
35169
+ }
35415
35170
  });
35416
35171
  stage.on("pointerdown", (e) => {
35417
35172
  this.setTapStart(e);
@@ -35419,7 +35174,7 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35419
35174
  x: e.evt.clientX,
35420
35175
  y: e.evt.clientY
35421
35176
  });
35422
- if (this.pointers.size === 2 && this.getNames().includes(this.instance.getActiveAction() ?? "")) {
35177
+ if (this.pointers.size === 2 && this.instance.getActiveAction() === WEAVE_STROKE_TOOL_ACTION_NAME) {
35423
35178
  this.state = WEAVE_STROKE_TOOL_STATE.ADDING;
35424
35179
  return;
35425
35180
  }
@@ -35429,7 +35184,7 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35429
35184
  stage.on("pointermove", () => {
35430
35185
  if (this.state === WEAVE_STROKE_TOOL_STATE.IDLE) return;
35431
35186
  this.setCursor();
35432
- if (this.pointers.size === 2 && this.getNames().includes(this.instance.getActiveAction() ?? "")) {
35187
+ if (this.pointers.size === 2 && this.instance.getActiveAction() === WEAVE_STROKE_TOOL_ACTION_NAME) {
35433
35188
  this.state = WEAVE_STROKE_TOOL_STATE.ADDING;
35434
35189
  return;
35435
35190
  }
@@ -35447,7 +35202,7 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35447
35202
  addLine() {
35448
35203
  this.setCursor();
35449
35204
  this.setFocusStage();
35450
- this.instance.emitEvent("onAddingStroke", { actionName: this.instance.getActiveAction() ?? "not-defined" });
35205
+ this.instance.emitEvent("onAddingStroke", { actionName: this.instance.getActiveAction() ?? WEAVE_STROKE_TOOL_ACTION_NAME });
35451
35206
  this.shiftPressed = false;
35452
35207
  this.clickPoint = null;
35453
35208
  this.setState(WEAVE_STROKE_TOOL_STATE.ADDING);
@@ -35555,7 +35310,7 @@ var WeaveStrokeToolAction = class extends WeaveAction {
35555
35310
  });
35556
35311
  delete finalLine.props.dragBoundFunc;
35557
35312
  this.instance.addNode(finalLine, this.container?.getAttrs().id);
35558
- this.instance.emitEvent("onAddedStroke", { actionName: this.instance.getActiveAction() ?? "not-defined" });
35313
+ this.instance.emitEvent("onAddedStroke", { actionName: this.instance.getActiveAction() ?? WEAVE_STROKE_TOOL_ACTION_NAME });
35559
35314
  nodeCreated = true;
35560
35315
  }
35561
35316
  }
@@ -35605,9 +35360,6 @@ var WeaveRegularPolygonToolAction = class extends WeaveAction {
35605
35360
  onInit = void 0;
35606
35361
  constructor() {
35607
35362
  super();
35608
- this.initialize();
35609
- }
35610
- initialize() {
35611
35363
  this.pointers = new Map();
35612
35364
  this.initialized = false;
35613
35365
  this.state = REGULAR_POLYGON_TOOL_STATE.IDLE;
@@ -35816,9 +35568,6 @@ var WeaveFrameToolAction = class extends WeaveAction {
35816
35568
  onInit = void 0;
35817
35569
  constructor() {
35818
35570
  super();
35819
- this.initialize();
35820
- }
35821
- initialize() {
35822
35571
  this.initialized = false;
35823
35572
  this.state = FRAME_TOOL_STATE.IDLE;
35824
35573
  this.frameId = null;
@@ -35948,10 +35697,6 @@ var WeaveExportStageToolAction = class extends WeaveAction {
35948
35697
  };
35949
35698
  onPropsChange = void 0;
35950
35699
  onInit = void 0;
35951
- initialize = void 0;
35952
- constructor() {
35953
- super();
35954
- }
35955
35700
  getName() {
35956
35701
  return EXPORT_STAGE_TOOL_ACTION_NAME;
35957
35702
  }
@@ -35999,10 +35744,6 @@ var WeaveExportNodesToolAction = class extends WeaveAction {
35999
35744
  };
36000
35745
  onPropsChange = void 0;
36001
35746
  onInit = void 0;
36002
- initialize = void 0;
36003
- constructor() {
36004
- super();
36005
- }
36006
35747
  getName() {
36007
35748
  return EXPORT_NODES_TOOL_ACTION_NAME;
36008
35749
  }
@@ -36055,9 +35796,6 @@ var WeaveAlignNodesToolAction = class extends WeaveAction {
36055
35796
  onInit = void 0;
36056
35797
  constructor() {
36057
35798
  super();
36058
- this.initialize();
36059
- }
36060
- initialize() {
36061
35799
  this.initialized = false;
36062
35800
  this.state = ALIGN_NODES_TOOL_STATE.IDLE;
36063
35801
  }
@@ -36307,9 +36045,6 @@ var WeaveCommentToolAction = class extends WeaveAction {
36307
36045
  super();
36308
36046
  const { config } = params ?? {};
36309
36047
  this.config = mergeExceptArrays(WEAVE_COMMENT_TOOL_DEFAULT_CONFIG, config);
36310
- this.initialize();
36311
- }
36312
- initialize() {
36313
36048
  this.pointers = new Map();
36314
36049
  this.initialized = false;
36315
36050
  this.state = WEAVE_COMMENT_TOOL_STATE.IDLE;
@@ -36538,9 +36273,6 @@ var WeaveVideoToolAction = class extends WeaveAction {
36538
36273
  update = void 0;
36539
36274
  constructor() {
36540
36275
  super();
36541
- this.initialize();
36542
- }
36543
- initialize() {
36544
36276
  this.pointers = new Map();
36545
36277
  this.initialized = false;
36546
36278
  this.state = VIDEO_TOOL_STATE.IDLE;
@@ -36766,9 +36498,6 @@ var WeaveMeasureToolAction = class extends WeaveAction {
36766
36498
  constructor(params) {
36767
36499
  super();
36768
36500
  this.config = mergeExceptArrays(WEAVE_MEASURE_TOOL_DEFAULT_CONFIG, params?.config ?? {});
36769
- this.initialize();
36770
- }
36771
- initialize() {
36772
36501
  this.initialized = false;
36773
36502
  this.state = MEASURE_TOOL_STATE.IDLE;
36774
36503
  this.measureId = null;
@@ -37065,9 +36794,6 @@ var WeaveConnectorToolAction = class extends WeaveAction {
37065
36794
  constructor(params) {
37066
36795
  super();
37067
36796
  this.config = mergeExceptArrays(CONNECTOR_TOOL_DEFAULT_CONFIG, params?.config);
37068
- this.initialize();
37069
- }
37070
- initialize() {
37071
36797
  this.pointers = new Map();
37072
36798
  this.initialized = false;
37073
36799
  this.tempLineNode = null;
@@ -37421,9 +37147,16 @@ var WeaveConnectorToolAction = class extends WeaveAction {
37421
37147
  //#endregion
37422
37148
  //#region src/plugins/stage-grid/stage-grid.ts
37423
37149
  var WeaveStageGridPlugin = class extends WeavePlugin {
37150
+ actStageZoomX = 1;
37151
+ actStageZoomY = 1;
37152
+ actStagePosX = 0;
37153
+ actStagePosY = 0;
37424
37154
  constructor(params) {
37425
37155
  super();
37426
37156
  const { config } = params ?? {};
37157
+ this.moveToolActive = false;
37158
+ this.isMouseMiddleButtonPressed = false;
37159
+ this.isSpaceKeyPressed = false;
37427
37160
  this.config = {
37428
37161
  type: WEAVE_GRID_DEFAULT_TYPE,
37429
37162
  gridColor: WEAVE_GRID_DEFAULT_COLOR,
@@ -37432,17 +37165,7 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
37432
37165
  gridDotMaxDotsPerAxis: WEAVE_GRID_DEFAULT_DOT_MAX_DOTS_PER_AXIS,
37433
37166
  ...config
37434
37167
  };
37435
- this.initialize();
37436
- }
37437
- initialize() {
37438
- this.moveToolActive = false;
37439
- this.isMouseMiddleButtonPressed = false;
37440
- this.isSpaceKeyPressed = false;
37441
37168
  this.forceStageChange = false;
37442
- this.actStagePosX = 0;
37443
- this.actStagePosY = 0;
37444
- this.actStageZoomX = 1;
37445
- this.actStageZoomY = 1;
37446
37169
  }
37447
37170
  getName() {
37448
37171
  return WEAVE_STAGE_GRID_PLUGIN_KEY;
@@ -37704,14 +37427,15 @@ var WeaveStageGridPlugin = class extends WeavePlugin {
37704
37427
  //#endregion
37705
37428
  //#region src/plugins/stage-panning/stage-panning.ts
37706
37429
  var WeaveStagePanningPlugin = class extends WeavePlugin {
37430
+ panning = false;
37431
+ currentPointer = null;
37432
+ stageScrollInterval = void 0;
37433
+ panEdgeTargets = {};
37707
37434
  getLayerName = void 0;
37708
37435
  initLayer = void 0;
37709
37436
  constructor(params) {
37710
37437
  super();
37711
37438
  this.config = mergeExceptArrays(WEAVE_STAGE_PANNING_DEFAULT_CONFIG, params?.config ?? {});
37712
- this.initialize();
37713
- }
37714
- initialize() {
37715
37439
  this.pointers = new Map();
37716
37440
  this.panning = false;
37717
37441
  this.isDragging = false;
@@ -37723,9 +37447,6 @@ var WeaveStagePanningPlugin = class extends WeavePlugin {
37723
37447
  this.isCtrlOrMetaPressed = false;
37724
37448
  this.isSpaceKeyPressed = false;
37725
37449
  this.previousPointer = null;
37726
- this.currentPointer = null;
37727
- this.stageScrollInterval = void 0;
37728
- this.panEdgeTargets = {};
37729
37450
  }
37730
37451
  getName() {
37731
37452
  return WEAVE_STAGE_PANNING_KEY;
@@ -37979,9 +37700,6 @@ var WeaveStageMinimapPlugin = class extends WeavePlugin {
37979
37700
  constructor(params) {
37980
37701
  super();
37981
37702
  this.config = mergeExceptArrays(STAGE_MINIMAP_DEFAULT_CONFIG, params.config);
37982
- this.initialize();
37983
- }
37984
- initialize() {
37985
37703
  this.initialized = false;
37986
37704
  }
37987
37705
  getName() {
@@ -38159,7 +37877,6 @@ const WEAVE_STAGE_RESIZE_KEY = "stageResize";
38159
37877
  var WeaveStageResizePlugin = class extends WeavePlugin {
38160
37878
  getLayerName = void 0;
38161
37879
  initLayer = void 0;
38162
- initialize = void 0;
38163
37880
  getName() {
38164
37881
  return WEAVE_STAGE_RESIZE_KEY;
38165
37882
  }
@@ -38179,10 +37896,6 @@ var WeaveStageResizePlugin = class extends WeavePlugin {
38179
37896
  const pluginInstance = plugins[pluginId];
38180
37897
  pluginInstance.onRender?.();
38181
37898
  }
38182
- this.instance.emitEvent("onStageResize", {
38183
- width: stage.width(),
38184
- height: stage.height()
38185
- });
38186
37899
  }
38187
37900
  }
38188
37901
  onInit() {
@@ -38209,12 +37922,10 @@ var WeaveStageResizePlugin = class extends WeavePlugin {
38209
37922
  //#endregion
38210
37923
  //#region src/plugins/nodes-multi-selection-feedback/nodes-multi-selection-feedback.ts
38211
37924
  var WeaveNodesMultiSelectionFeedbackPlugin = class extends WeavePlugin {
37925
+ selectedHalos = {};
38212
37926
  constructor(params) {
38213
37927
  super();
38214
37928
  this.config = mergeExceptArrays(WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_DEFAULT_CONFIG, params?.config ?? {});
38215
- this.initialize();
38216
- }
38217
- initialize() {
38218
37929
  this.selectedHalos = {};
38219
37930
  }
38220
37931
  getName() {
@@ -38380,14 +38091,12 @@ var WeaveNodesMultiSelectionFeedbackPlugin = class extends WeavePlugin {
38380
38091
  //#endregion
38381
38092
  //#region src/plugins/connected-users/connected-users.ts
38382
38093
  var WeaveConnectedUsersPlugin = class extends WeavePlugin {
38094
+ connectedUsers = {};
38383
38095
  getLayerName = void 0;
38384
38096
  constructor(params) {
38385
38097
  super();
38386
38098
  const { config } = params ?? {};
38387
38099
  this.config = config;
38388
- this.initialize();
38389
- }
38390
- initialize() {
38391
38100
  this.connectedUsers = {};
38392
38101
  }
38393
38102
  getName() {
@@ -38434,9 +38143,6 @@ var WeaveUsersSelectionPlugin = class extends WeavePlugin {
38434
38143
  this.config = config;
38435
38144
  this.config.getUser = memoize(this.config.getUser);
38436
38145
  this.config.getUserColor = memoize(this.config.getUserColor);
38437
- this.initialize();
38438
- }
38439
- initialize() {
38440
38146
  this.usersSelection = {};
38441
38147
  }
38442
38148
  getName() {
@@ -38629,9 +38335,6 @@ var WeaveUsersPointersPlugin = class extends WeavePlugin {
38629
38335
  this.config.getUser = memoize(this.config.getUser);
38630
38336
  this.config.getUserBackgroundColor = memoize(this.config.getUserBackgroundColor);
38631
38337
  this.config.getUserForegroundColor = memoize(this.config.getUserForegroundColor);
38632
- this.initialize();
38633
- }
38634
- initialize() {
38635
38338
  this.usersPointers = {};
38636
38339
  this.usersOperations = {};
38637
38340
  }
@@ -38842,9 +38545,6 @@ var WeaveUsersPresencePlugin = class extends WeavePlugin {
38842
38545
  super();
38843
38546
  const { config } = params;
38844
38547
  this.config = mergeExceptArrays(WEAVE_USERS_PRESENCE_CONFIG_DEFAULT_PROPS, config);
38845
- this.initialize();
38846
- }
38847
- initialize() {
38848
38548
  this.userPresence = {};
38849
38549
  }
38850
38550
  getName() {
@@ -38920,9 +38620,6 @@ var WeaveStageDropAreaPlugin = class extends WeavePlugin {
38920
38620
  initLayer = void 0;
38921
38621
  constructor() {
38922
38622
  super();
38923
- this.initialize();
38924
- }
38925
- initialize() {
38926
38623
  this.enabled = true;
38927
38624
  }
38928
38625
  getName() {
@@ -38962,9 +38659,6 @@ var WeaveNodesEdgeSnappingPlugin = class extends WeavePlugin {
38962
38659
  this.guideLineConfig = config?.guideLine ?? GUIDE_LINE_DEFAULT_CONFIG;
38963
38660
  this.dragSnappingThreshold = config?.dragSnappingThreshold ?? GUIDE_LINE_DRAG_SNAPPING_THRESHOLD;
38964
38661
  this.transformSnappingThreshold = config?.transformSnappingThreshold ?? GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD;
38965
- this.initialize();
38966
- }
38967
- initialize() {
38968
38662
  this.enabled = true;
38969
38663
  }
38970
38664
  getName() {
@@ -39341,9 +39035,6 @@ var WeaveNodesDistanceSnappingPlugin = class extends WeavePlugin {
39341
39035
  this.enterSnappingTolerance = config?.enterSnappingTolerance ?? GUIDE_ENTER_SNAPPING_TOLERANCE;
39342
39036
  this.exitSnappingTolerance = config?.exitSnappingTolerance ?? GUIDE_EXIT_SNAPPING_TOLERANCE;
39343
39037
  this.uiConfig = mergeExceptArrays(GUIDE_DISTANCE_LINE_DEFAULT_CONFIG, config?.ui);
39344
- this.initialize();
39345
- }
39346
- initialize() {
39347
39038
  this.enabled = true;
39348
39039
  }
39349
39040
  getName() {
@@ -39990,14 +39681,12 @@ var WeaveNodesDistanceSnappingPlugin = class extends WeavePlugin {
39990
39681
  //#endregion
39991
39682
  //#region src/plugins/comments-renderer/comments-renderer.ts
39992
39683
  var WeaveCommentsRendererPlugin = class extends WeavePlugin {
39684
+ comments = [];
39993
39685
  getLayerName = void 0;
39994
39686
  constructor(params) {
39995
39687
  super();
39996
39688
  const { config } = params ?? {};
39997
39689
  this.config = config;
39998
- this.initialize();
39999
- }
40000
- initialize() {
40001
39690
  this.comments = [];
40002
39691
  }
40003
39692
  getName() {
@@ -40088,7 +39777,6 @@ const WEAVE_STAGE_KEYBOARD_MOVE_DEFAULT_CONFIG = { movementDelta: 5 };
40088
39777
  var WeaveStageKeyboardMovePlugin = class extends WeavePlugin {
40089
39778
  getLayerName = void 0;
40090
39779
  initLayer = void 0;
40091
- initialize = void 0;
40092
39780
  constructor(params) {
40093
39781
  super();
40094
39782
  this.config = mergeExceptArrays(WEAVE_STAGE_KEYBOARD_MOVE_DEFAULT_CONFIG, params?.config ?? {});
@@ -40138,5 +39826,5 @@ var WeaveStageKeyboardMovePlugin = class extends WeavePlugin {
40138
39826
  };
40139
39827
 
40140
39828
  //#endregion
40141
- export { ALIGN_NODES_ALIGN_TO, ALIGN_NODES_TOOL_ACTION_NAME, ALIGN_NODES_TOOL_STATE, BRUSH_TOOL_ACTION_NAME, BRUSH_TOOL_DEFAULT_CONFIG, BRUSH_TOOL_STATE, CONNECTOR_TOOL_ACTION_NAME, CONNECTOR_TOOL_DEFAULT_CONFIG, CONNECTOR_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, ELLIPSE_TOOL_ACTION_NAME, ELLIPSE_TOOL_STATE, ERASER_TOOL_ACTION_NAME, ERASER_TOOL_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_DISTANCE_LINE_DEFAULT_CONFIG, GUIDE_ENTER_SNAPPING_TOLERANCE, GUIDE_EXIT_SNAPPING_TOLERANCE, GUIDE_HORIZONTAL_LINE_NAME, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, GUIDE_VERTICAL_LINE_NAME, LINE_TOOL_ACTION_NAME, LINE_TOOL_DEFAULT_CONFIG, LINE_TOOL_STATE, MEASURE_TOOL_ACTION_NAME, MEASURE_TOOL_STATE, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NODE_SNAP_HORIZONTAL, NODE_SNAP_VERTICAL, PEN_TOOL_ACTION_NAME, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, REGULAR_POLYGON_TOOL_ACTION_NAME, REGULAR_POLYGON_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, STAGE_MINIMAP_DEFAULT_CONFIG, STAR_TOOL_ACTION_NAME, STAR_TOOL_STATE, TEXT_LAYOUT, TEXT_TOOL_ACTION_NAME, TEXT_TOOL_STATE, VIDEO_TOOL_ACTION_NAME, VIDEO_TOOL_STATE, WEAVE_ARROW_NODE_TYPE, WEAVE_ARROW_TOOL_ACTION_NAME, WEAVE_ARROW_TOOL_STATE, WEAVE_COMMENTS_RENDERER_KEY, WEAVE_COMMENTS_TOOL_LAYER_ID, WEAVE_COMMENT_CREATE_ACTION, WEAVE_COMMENT_NODE_ACTION, WEAVE_COMMENT_NODE_DEFAULTS, WEAVE_COMMENT_NODE_TYPE, WEAVE_COMMENT_STATUS, WEAVE_COMMENT_TOOL_ACTION_NAME, WEAVE_COMMENT_TOOL_DEFAULT_CONFIG, WEAVE_COMMENT_TOOL_STATE, WEAVE_COMMENT_VIEW_ACTION, WEAVE_CONNECTOR_NODE_ANCHOR_ORIGIN, WEAVE_CONNECTOR_NODE_DECORATOR_TYPE, WEAVE_CONNECTOR_NODE_DEFAULT_CONFIG, WEAVE_CONNECTOR_NODE_LINE_ORIGIN, WEAVE_CONNECTOR_NODE_LINE_TYPE, WEAVE_CONNECTOR_NODE_TYPE, WEAVE_COPY_PASTE_CONFIG_DEFAULT, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_COPY_PASTE_PASTE_CATCHER_ID, WEAVE_COPY_PASTE_PASTE_MODES, WEAVE_DEFAULT_USER_INFO_FUNCTION, WEAVE_ELLIPSE_NODE_TYPE, WEAVE_FRAME_DEFAULT_BACKGROUND_COLOR, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_DOT_MAX_DOTS_PER_AXIS, WEAVE_GRID_DEFAULT_MAJOR_DOT_RATIO, WEAVE_GRID_DEFAULT_MAJOR_EVERY, WEAVE_GRID_DEFAULT_MAJOR_LINE_RATIO, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_RADIUS, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_STROKE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_GROUP_NODE_TYPE, WEAVE_IMAGES_TOOL_ACTION_NAME, WEAVE_IMAGES_TOOL_DEFAULT_CONFIG, WEAVE_IMAGES_TOOL_STATE, WEAVE_IMAGES_TOOL_UPLOAD_TYPE, WEAVE_IMAGE_CROP_ANCHOR_POSITION, WEAVE_IMAGE_CROP_END_TYPE, WEAVE_IMAGE_DEFAULT_CONFIG, WEAVE_IMAGE_NODE_TYPE, WEAVE_IMAGE_TOOL_ACTION_NAME, WEAVE_IMAGE_TOOL_CONFIG_DEFAULT, WEAVE_IMAGE_TOOL_STATE, WEAVE_IMAGE_TOOL_UPLOAD_TYPE, WEAVE_LAYER_NODE_TYPE, WEAVE_LINE_NODE_DEFAULT_CONFIG, WEAVE_LINE_NODE_TYPE, WEAVE_MEASURE_NODE_DEFAULT_CONFIG, WEAVE_MEASURE_NODE_TYPE, WEAVE_MEASURE_TOOL_DEFAULT_CONFIG, WEAVE_NODES_DISTANCE_SNAPPING_PLUGIN_KEY, WEAVE_NODES_EDGE_SNAPPING_PLUGIN_KEY, WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_DEFAULT_CONFIG, WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_KEY, WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_LAYER_ID, WEAVE_NODES_SELECTION_DEFAULT_CONFIG, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_RECTANGLE_NODE_TYPE, WEAVE_REGULAR_POLYGON_NODE_TYPE, WEAVE_STAGE_DEFAULT_MODE, WEAVE_STAGE_DROP_AREA_KEY, WEAVE_STAGE_GRID_PLUGIN_KEY, WEAVE_STAGE_IMAGE_CROPPING_MODE, WEAVE_STAGE_KEYBOARD_MOVE_DEFAULT_CONFIG, WEAVE_STAGE_KEYBOARD_MOVE_KEY, WEAVE_STAGE_MINIMAP_KEY, WEAVE_STAGE_NODE_TYPE, WEAVE_STAGE_PANNING_DEFAULT_CONFIG, WEAVE_STAGE_PANNING_KEY, WEAVE_STAGE_PANNING_THROTTLE_MS, WEAVE_STAGE_TEXT_EDITION_MODE, WEAVE_STAGE_ZOOM_DEFAULT_CONFIG, WEAVE_STAGE_ZOOM_KEY, WEAVE_STAGE_ZOOM_TYPE, WEAVE_STAR_NODE_TYPE, WEAVE_STROKE_NODE_DEFAULT_CONFIG, WEAVE_STROKE_NODE_TYPE, WEAVE_STROKE_SINGLE_NODE_DEFAULT_CONFIG, WEAVE_STROKE_SINGLE_NODE_TIP_SIDE, WEAVE_STROKE_SINGLE_NODE_TIP_TYPE, WEAVE_STROKE_SINGLE_NODE_TYPE, WEAVE_STROKE_TOOL_ACTION_NAME, WEAVE_STROKE_TOOL_ACTION_NAME_ALIASES, WEAVE_STROKE_TOOL_DEFAULT_CONFIG, WEAVE_STROKE_TOOL_STATE, WEAVE_TEXT_NODE_DEFAULT_CONFIG, WEAVE_TEXT_NODE_TYPE, WEAVE_USERS_POINTERS_CONFIG_DEFAULT_PROPS, WEAVE_USERS_POINTERS_KEY, WEAVE_USERS_PRESENCE_CONFIG_DEFAULT_PROPS, WEAVE_USERS_PRESENCE_PLUGIN_KEY, WEAVE_USERS_SELECTION_KEY, WEAVE_USER_POINTER_KEY, WEAVE_USER_PRESENCE_KEY, WEAVE_USER_SELECTION_KEY, WEAVE_VIDEO_DEFAULT_CONFIG, WEAVE_VIDEO_NODE_TYPE, Weave, WeaveAction, WeaveAlignNodesToolAction, WeaveArrowNode, WeaveArrowToolAction, WeaveBrushToolAction, WeaveCommentNode, WeaveCommentToolAction, WeaveCommentsRendererPlugin, WeaveConnectedUsersPlugin, WeaveConnectorNode, WeaveConnectorToolAction, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveEllipseNode, WeaveEllipseToolAction, WeaveEraserToolAction, WeaveExportNodesToolAction, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToSelectionToolAction, WeaveFrameNode, WeaveFrameToolAction, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImagesToolAction, WeaveLayerNode, WeaveLineNode, WeaveLineToolAction, WeaveMeasureNode, WeaveMeasureToolAction, WeaveMoveToolAction, WeaveNode, WeaveNodesDistanceSnappingPlugin, WeaveNodesEdgeSnappingPlugin, WeaveNodesMultiSelectionFeedbackPlugin, WeaveNodesSelectionPlugin, WeavePenToolAction, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRegularPolygonNode, WeaveRegularPolygonToolAction, WeaveRenderer, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageKeyboardMovePlugin, WeaveStageMinimapPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStarNode, WeaveStarToolAction, WeaveStore, WeaveStrokeNode, WeaveStrokeSingleNode, WeaveStrokeToolAction, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveUsersPresencePlugin, WeaveUsersSelectionPlugin, WeaveVideoNode, WeaveVideoToolAction, WeaveZoomInToolAction, WeaveZoomOutToolAction, canComposite, clearContainerTargets, containerOverCursor, containsNodeDeep, defaultInitialState, downscaleImageFile, downscaleImageFromURL, getBoundingBox, getDownscaleRatio, getExportBoundingBox, getImageSizeFromFile, getJSONFromYjsBinary, getPositionRelativeToContainerOnPosition, getSelectedNodesMetadata, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, intersectArrays, isArray, isIOS, isInShadowDOM, isNodeInSelection, isObject, isServer, loadImageSource, mapJsonToYjsArray, mapJsonToYjsElements, mapJsonToYjsMap, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, setupCanvasBackend, setupSkiaBackend, weavejsToYjsBinary };
39829
+ export { ALIGN_NODES_ALIGN_TO, ALIGN_NODES_TOOL_ACTION_NAME, ALIGN_NODES_TOOL_STATE, ARROW_TOOL_ACTION_NAME, ARROW_TOOL_STATE, BRUSH_TOOL_ACTION_NAME, BRUSH_TOOL_DEFAULT_CONFIG, BRUSH_TOOL_STATE, CONNECTOR_TOOL_ACTION_NAME, CONNECTOR_TOOL_DEFAULT_CONFIG, CONNECTOR_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, ELLIPSE_TOOL_ACTION_NAME, ELLIPSE_TOOL_STATE, ERASER_TOOL_ACTION_NAME, ERASER_TOOL_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_DISTANCE_LINE_DEFAULT_CONFIG, GUIDE_ENTER_SNAPPING_TOLERANCE, GUIDE_EXIT_SNAPPING_TOLERANCE, GUIDE_HORIZONTAL_LINE_NAME, GUIDE_LINE_DEFAULT_CONFIG, GUIDE_LINE_DRAG_SNAPPING_THRESHOLD, GUIDE_LINE_NAME, GUIDE_LINE_TRANSFORM_SNAPPING_THRESHOLD, GUIDE_ORIENTATION, GUIDE_VERTICAL_LINE_NAME, LINE_TOOL_ACTION_NAME, LINE_TOOL_DEFAULT_CONFIG, LINE_TOOL_STATE, MEASURE_TOOL_ACTION_NAME, MEASURE_TOOL_STATE, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NODE_SNAP_HORIZONTAL, NODE_SNAP_VERTICAL, PEN_TOOL_ACTION_NAME, PEN_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, REGULAR_POLYGON_TOOL_ACTION_NAME, REGULAR_POLYGON_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, STAGE_MINIMAP_DEFAULT_CONFIG, STAR_TOOL_ACTION_NAME, STAR_TOOL_STATE, TEXT_LAYOUT, TEXT_TOOL_ACTION_NAME, TEXT_TOOL_STATE, VIDEO_TOOL_ACTION_NAME, VIDEO_TOOL_STATE, WEAVE_ARROW_NODE_TYPE, WEAVE_COMMENTS_RENDERER_KEY, WEAVE_COMMENTS_TOOL_LAYER_ID, WEAVE_COMMENT_CREATE_ACTION, WEAVE_COMMENT_NODE_ACTION, WEAVE_COMMENT_NODE_DEFAULTS, WEAVE_COMMENT_NODE_TYPE, WEAVE_COMMENT_STATUS, WEAVE_COMMENT_TOOL_ACTION_NAME, WEAVE_COMMENT_TOOL_DEFAULT_CONFIG, WEAVE_COMMENT_TOOL_STATE, WEAVE_COMMENT_VIEW_ACTION, WEAVE_CONNECTOR_NODE_ANCHOR_ORIGIN, WEAVE_CONNECTOR_NODE_DECORATOR_TYPE, WEAVE_CONNECTOR_NODE_DEFAULT_CONFIG, WEAVE_CONNECTOR_NODE_LINE_ORIGIN, WEAVE_CONNECTOR_NODE_LINE_TYPE, WEAVE_CONNECTOR_NODE_TYPE, WEAVE_COPY_PASTE_CONFIG_DEFAULT, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_COPY_PASTE_PASTE_CATCHER_ID, WEAVE_COPY_PASTE_PASTE_MODES, WEAVE_DEFAULT_USER_INFO_FUNCTION, WEAVE_ELLIPSE_NODE_TYPE, WEAVE_FRAME_DEFAULT_BACKGROUND_COLOR, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_COLOR, WEAVE_GRID_DEFAULT_DOT_MAX_DOTS_PER_AXIS, WEAVE_GRID_DEFAULT_MAJOR_DOT_RATIO, WEAVE_GRID_DEFAULT_MAJOR_EVERY, WEAVE_GRID_DEFAULT_MAJOR_LINE_RATIO, WEAVE_GRID_DEFAULT_ORIGIN_COLOR, WEAVE_GRID_DEFAULT_RADIUS, WEAVE_GRID_DEFAULT_SIZE, WEAVE_GRID_DEFAULT_STROKE, WEAVE_GRID_DEFAULT_TYPE, WEAVE_GRID_LAYER_ID, WEAVE_GRID_TYPES, WEAVE_GROUP_NODE_TYPE, WEAVE_IMAGES_TOOL_ACTION_NAME, WEAVE_IMAGES_TOOL_DEFAULT_CONFIG, WEAVE_IMAGES_TOOL_STATE, WEAVE_IMAGES_TOOL_UPLOAD_TYPE, WEAVE_IMAGE_CROP_ANCHOR_POSITION, WEAVE_IMAGE_CROP_END_TYPE, WEAVE_IMAGE_DEFAULT_CONFIG, WEAVE_IMAGE_NODE_TYPE, WEAVE_IMAGE_TOOL_ACTION_NAME, WEAVE_IMAGE_TOOL_CONFIG_DEFAULT, WEAVE_IMAGE_TOOL_STATE, WEAVE_IMAGE_TOOL_UPLOAD_TYPE, WEAVE_LAYER_NODE_TYPE, WEAVE_LINE_NODE_DEFAULT_CONFIG, WEAVE_LINE_NODE_TYPE, WEAVE_MEASURE_NODE_DEFAULT_CONFIG, WEAVE_MEASURE_NODE_TYPE, WEAVE_MEASURE_TOOL_DEFAULT_CONFIG, WEAVE_NODES_DISTANCE_SNAPPING_PLUGIN_KEY, WEAVE_NODES_EDGE_SNAPPING_PLUGIN_KEY, WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_DEFAULT_CONFIG, WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_KEY, WEAVE_NODES_MULTI_SELECTION_FEEDBACK_PLUGIN_LAYER_ID, WEAVE_NODES_SELECTION_DEFAULT_CONFIG, WEAVE_NODES_SELECTION_KEY, WEAVE_NODES_SELECTION_LAYER_ID, WEAVE_RECTANGLE_NODE_TYPE, WEAVE_REGULAR_POLYGON_NODE_TYPE, WEAVE_STAGE_DEFAULT_MODE, WEAVE_STAGE_DROP_AREA_KEY, WEAVE_STAGE_GRID_PLUGIN_KEY, WEAVE_STAGE_IMAGE_CROPPING_MODE, WEAVE_STAGE_KEYBOARD_MOVE_DEFAULT_CONFIG, WEAVE_STAGE_KEYBOARD_MOVE_KEY, WEAVE_STAGE_MINIMAP_KEY, WEAVE_STAGE_NODE_TYPE, WEAVE_STAGE_PANNING_DEFAULT_CONFIG, WEAVE_STAGE_PANNING_KEY, WEAVE_STAGE_PANNING_THROTTLE_MS, WEAVE_STAGE_TEXT_EDITION_MODE, WEAVE_STAGE_ZOOM_DEFAULT_CONFIG, WEAVE_STAGE_ZOOM_KEY, WEAVE_STAGE_ZOOM_TYPE, WEAVE_STAR_NODE_TYPE, WEAVE_STROKE_NODE_DEFAULT_CONFIG, WEAVE_STROKE_NODE_TYPE, WEAVE_STROKE_SINGLE_NODE_DEFAULT_CONFIG, WEAVE_STROKE_SINGLE_NODE_TIP_SIDE, WEAVE_STROKE_SINGLE_NODE_TIP_TYPE, WEAVE_STROKE_SINGLE_NODE_TYPE, WEAVE_STROKE_TOOL_ACTION_NAME, WEAVE_STROKE_TOOL_ACTION_NAME_ALIASES, WEAVE_STROKE_TOOL_DEFAULT_CONFIG, WEAVE_STROKE_TOOL_STATE, WEAVE_TEXT_NODE_DEFAULT_CONFIG, WEAVE_TEXT_NODE_TYPE, WEAVE_USERS_POINTERS_CONFIG_DEFAULT_PROPS, WEAVE_USERS_POINTERS_KEY, WEAVE_USERS_PRESENCE_CONFIG_DEFAULT_PROPS, WEAVE_USERS_PRESENCE_PLUGIN_KEY, WEAVE_USERS_SELECTION_KEY, WEAVE_USER_POINTER_KEY, WEAVE_USER_PRESENCE_KEY, WEAVE_USER_SELECTION_KEY, WEAVE_VIDEO_DEFAULT_CONFIG, WEAVE_VIDEO_NODE_TYPE, Weave, WeaveAction, WeaveAlignNodesToolAction, WeaveArrowNode, WeaveArrowToolAction, WeaveBrushToolAction, WeaveCommentNode, WeaveCommentToolAction, WeaveCommentsRendererPlugin, WeaveConnectedUsersPlugin, WeaveConnectorNode, WeaveConnectorToolAction, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveEllipseNode, WeaveEllipseToolAction, WeaveEraserToolAction, WeaveExportNodesToolAction, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToSelectionToolAction, WeaveFrameNode, WeaveFrameToolAction, WeaveGroupNode, WeaveImageNode, WeaveImageToolAction, WeaveImagesToolAction, WeaveLayerNode, WeaveLineNode, WeaveLineToolAction, WeaveMeasureNode, WeaveMeasureToolAction, WeaveMoveToolAction, WeaveNode, WeaveNodesDistanceSnappingPlugin, WeaveNodesEdgeSnappingPlugin, WeaveNodesMultiSelectionFeedbackPlugin, WeaveNodesSelectionPlugin, WeavePenToolAction, WeavePlugin, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRegularPolygonNode, WeaveRegularPolygonToolAction, WeaveRenderer, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageKeyboardMovePlugin, WeaveStageMinimapPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStarNode, WeaveStarToolAction, WeaveStore, WeaveStrokeNode, WeaveStrokeSingleNode, WeaveStrokeToolAction, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveUsersPresencePlugin, WeaveUsersSelectionPlugin, WeaveVideoNode, WeaveVideoToolAction, WeaveZoomInToolAction, WeaveZoomOutToolAction, canComposite, clearContainerTargets, containerOverCursor, containsNodeDeep, defaultInitialState, downscaleImageFile, downscaleImageFromURL, getBoundingBox, getDownscaleRatio, getExportBoundingBox, getImageSizeFromFile, getJSONFromYjsBinary, getPositionRelativeToContainerOnPosition, getSelectedNodesMetadata, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, intersectArrays, isArray, isIOS, isInShadowDOM, isNodeInSelection, isObject, isServer, loadImageSource, mapJsonToYjsArray, mapJsonToYjsElements, mapJsonToYjsMap, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, setupCanvasBackend, setupSkiaBackend, weavejsToYjsBinary };
40142
39830
  //# sourceMappingURL=types.js.map