@inditextech/weave-sdk 0.76.3 → 0.77.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sdk.cjs CHANGED
@@ -33,6 +33,7 @@ const yjs = __toESM(require("yjs"));
33
33
  const konva_lib_shapes_Transformer = __toESM(require("konva/lib/shapes/Transformer"));
34
34
  const react = __toESM(require("react"));
35
35
  const react_reconciler = __toESM(require("react-reconciler"));
36
+ const canvas = __toESM(require("canvas"));
36
37
 
37
38
  //#region ../../node_modules/emittery/maps.js
38
39
  const anyMap = new WeakMap();
@@ -806,8 +807,8 @@ var require_caller = __commonJS({ "../../node_modules/pino/lib/caller.js"(export
806
807
  } });
807
808
 
808
809
  //#endregion
809
- //#region ../../node_modules/slow-redact/index.js
810
- var require_slow_redact = __commonJS({ "../../node_modules/slow-redact/index.js"(exports, module) {
810
+ //#region ../../node_modules/@pinojs/redact/index.js
811
+ var require_redact = __commonJS({ "../../node_modules/@pinojs/redact/index.js"(exports, module) {
811
812
  function deepClone(obj) {
812
813
  if (obj === null || typeof obj !== "object") return obj;
813
814
  if (obj instanceof Date) return new Date(obj.getTime());
@@ -893,6 +894,17 @@ var require_slow_redact = __commonJS({ "../../node_modules/slow-redact/index.js"
893
894
  } else if (typeof current === "object" && current !== null && lastKey in current && Object.prototype.hasOwnProperty.call(current, lastKey)) delete current[lastKey];
894
895
  return true;
895
896
  }
897
+ const PATH_NOT_FOUND = Symbol("PATH_NOT_FOUND");
898
+ function getValueIfExists(obj, parts) {
899
+ let current = obj;
900
+ for (const part of parts) {
901
+ if (current === null || current === void 0) return PATH_NOT_FOUND;
902
+ if (typeof current !== "object" || current === null) return PATH_NOT_FOUND;
903
+ if (!(part in current)) return PATH_NOT_FOUND;
904
+ current = current[part];
905
+ }
906
+ return current;
907
+ }
896
908
  function getValue(obj, parts) {
897
909
  let current = obj;
898
910
  for (const part of parts) {
@@ -908,7 +920,9 @@ var require_slow_redact = __commonJS({ "../../node_modules/slow-redact/index.js"
908
920
  if (parts.includes("*")) redactWildcardPath(obj, parts, censor, path$1, remove);
909
921
  else if (remove) removeKey(obj, parts);
910
922
  else {
911
- const actualCensor = typeof censor === "function" ? censor(getValue(obj, parts), parts) : censor;
923
+ const value = getValueIfExists(obj, parts);
924
+ if (value === PATH_NOT_FOUND) continue;
925
+ const actualCensor = typeof censor === "function" ? censor(value, parts) : censor;
912
926
  setValue(obj, parts, actualCensor);
913
927
  }
914
928
  }
@@ -960,10 +974,15 @@ var require_slow_redact = __commonJS({ "../../node_modules/slow-redact/index.js"
960
974
  pathArray[pathLength] = nextKey;
961
975
  traverse(current[nextKey], pathLength + 1);
962
976
  }
977
+ } else if (afterWildcard.includes("*")) {
978
+ const wrappedCensor = typeof censor === "function" ? (value, path$1) => {
979
+ const fullPath = [...pathArray.slice(0, pathLength), ...path$1];
980
+ return censor(value, fullPath);
981
+ } : censor;
982
+ redactWildcardPath(current, afterWildcard, wrappedCensor, originalPath, remove);
963
983
  } else if (remove) removeKey(current, afterWildcard);
964
984
  else {
965
- const fullPath = [...pathArray.slice(0, pathLength), ...afterWildcard];
966
- const actualCensor = typeof censor === "function" ? censor(getValue(current, afterWildcard), fullPath) : censor;
985
+ const actualCensor = typeof censor === "function" ? censor(getValue(current, afterWildcard), [...pathArray.slice(0, pathLength), ...afterWildcard]) : censor;
967
986
  setValue(current, afterWildcard, actualCensor);
968
987
  }
969
988
  }
@@ -1046,7 +1065,7 @@ var require_slow_redact = __commonJS({ "../../node_modules/slow-redact/index.js"
1046
1065
  if (!Array.isArray(paths)) throw new TypeError("paths must be an array");
1047
1066
  for (const path$1 of paths) validatePath(path$1);
1048
1067
  }
1049
- function slowRedact$1(options = {}) {
1068
+ function slowRedact(options = {}) {
1050
1069
  const { paths = [], censor = "[REDACTED]", serialize = JSON.stringify, strict: strict$1 = true, remove = false } = options;
1051
1070
  validatePaths(paths);
1052
1071
  const pathStructure = buildPathStructure(paths);
@@ -1070,7 +1089,7 @@ var require_slow_redact = __commonJS({ "../../node_modules/slow-redact/index.js"
1070
1089
  return JSON.stringify(cloned);
1071
1090
  };
1072
1091
  }
1073
- module.exports = slowRedact$1;
1092
+ module.exports = slowRedact;
1074
1093
  } });
1075
1094
 
1076
1095
  //#endregion
@@ -1145,7 +1164,7 @@ var require_symbols = __commonJS({ "../../node_modules/pino/lib/symbols.js"(expo
1145
1164
  //#endregion
1146
1165
  //#region ../../node_modules/pino/lib/redaction.js
1147
1166
  var require_redaction = __commonJS({ "../../node_modules/pino/lib/redaction.js"(exports, module) {
1148
- const slowRedact = require_slow_redact();
1167
+ const Redact = require_redact();
1149
1168
  const { redactFmtSym: redactFmtSym$2, wildcardFirstSym: wildcardFirstSym$1 } = require_symbols();
1150
1169
  const rx = /[^.[\]]+|\[([^[\]]*?)\]/g;
1151
1170
  const CENSOR = "[Redacted]";
@@ -1173,7 +1192,7 @@ var require_redaction = __commonJS({ "../../node_modules/pino/lib/redaction.js"(
1173
1192
  o[ns].push(nextPath);
1174
1193
  return o;
1175
1194
  }, {});
1176
- const result = { [redactFmtSym$2]: slowRedact({
1195
+ const result = { [redactFmtSym$2]: Redact({
1177
1196
  paths,
1178
1197
  censor,
1179
1198
  serialize,
@@ -1189,7 +1208,7 @@ var require_redaction = __commonJS({ "../../node_modules/pino/lib/redaction.js"(
1189
1208
  const wrappedCensor = typeof censor === "function" ? (value, path$1) => {
1190
1209
  return censor(value, [k, ...path$1]);
1191
1210
  } : censor;
1192
- o[k] = slowRedact({
1211
+ o[k] = Redact({
1193
1212
  paths: shape[k],
1194
1213
  censor: wrappedCensor,
1195
1214
  serialize,
@@ -2675,7 +2694,7 @@ var require_tools = __commonJS({ "../../node_modules/pino/lib/tools.js"(exports,
2675
2694
  bindings$1 = formatter(bindings$1);
2676
2695
  for (const key in bindings$1) {
2677
2696
  value = bindings$1[key];
2678
- const valid = key !== "level" && key !== "serializers" && key !== "formatters" && key !== "customLevels" && bindings$1.hasOwnProperty(key) && value !== void 0;
2697
+ const valid = (key.length < 5 || key !== "level" && key !== "serializers" && key !== "formatters" && key !== "customLevels") && bindings$1.hasOwnProperty(key) && value !== void 0;
2679
2698
  if (valid === true) {
2680
2699
  value = serializers$1[key] ? serializers$1[key](value) : value;
2681
2700
  value = (stringifiers[key] || wildcardStringifier || stringify$4)(value, stringifySafe);
@@ -3003,7 +3022,7 @@ var require_levels = __commonJS({ "../../node_modules/pino/lib/levels.js"(export
3003
3022
  //#endregion
3004
3023
  //#region ../../node_modules/pino/lib/meta.js
3005
3024
  var require_meta = __commonJS({ "../../node_modules/pino/lib/meta.js"(exports, module) {
3006
- module.exports = { version: "9.12.0" };
3025
+ module.exports = { version: "9.14.0" };
3007
3026
  } });
3008
3027
 
3009
3028
  //#endregion
@@ -3012,7 +3031,7 @@ var require_proto = __commonJS({ "../../node_modules/pino/lib/proto.js"(exports,
3012
3031
  const { EventEmitter } = require("node:events");
3013
3032
  const { lsCacheSym, levelValSym, setLevelSym: setLevelSym$1, getLevelSym, chindingsSym: chindingsSym$1, parsedChindingsSym, mixinSym: mixinSym$1, asJsonSym, writeSym, mixinMergeStrategySym: mixinMergeStrategySym$1, timeSym: timeSym$1, timeSliceIndexSym: timeSliceIndexSym$1, streamSym: streamSym$1, serializersSym: serializersSym$1, formattersSym: formattersSym$1, errorKeySym: errorKeySym$1, messageKeySym: messageKeySym$1, useOnlyCustomLevelsSym: useOnlyCustomLevelsSym$1, needsMetadataGsym, redactFmtSym: redactFmtSym$1, stringifySym: stringifySym$1, formatOptsSym: formatOptsSym$1, stringifiersSym: stringifiersSym$1, msgPrefixSym: msgPrefixSym$1, hooksSym: hooksSym$1 } = require_symbols();
3014
3033
  const { getLevel, setLevel, isLevelEnabled, mappings: mappings$1, initialLsCache, genLsCache: genLsCache$1, assertNoLevelCollisions } = require_levels();
3015
- const { asChindings: asChindings$1, asJson, buildFormatters: buildFormatters$1, stringify: stringify$2 } = require_tools();
3034
+ const { asChindings: asChindings$1, asJson, buildFormatters: buildFormatters$1, stringify: stringify$2, noop: noop$1 } = require_tools();
3016
3035
  const { version: version$2 } = require_meta();
3017
3036
  const redaction$1 = require_redaction();
3018
3037
  const constructor = class Pino {};
@@ -3055,10 +3074,16 @@ var require_proto = __commonJS({ "../../node_modules/pino/lib/proto.js"(exports,
3055
3074
  const resetChildingsFormatter = (bindings$1) => bindings$1;
3056
3075
  function child(bindings$1, options) {
3057
3076
  if (!bindings$1) throw Error("missing bindings for child Pino");
3058
- options = options || {};
3059
3077
  const serializers$1 = this[serializersSym$1];
3060
3078
  const formatters = this[formattersSym$1];
3061
3079
  const instance = Object.create(this);
3080
+ if (options == null) {
3081
+ if (instance[formattersSym$1].bindings !== resetChildingsFormatter) instance[formattersSym$1] = buildFormatters$1(formatters.level, resetChildingsFormatter, formatters.log);
3082
+ instance[chindingsSym$1] = asChindings$1(instance, bindings$1);
3083
+ instance[setLevelSym$1](this.level);
3084
+ if (this.onChild !== noop$1) this.onChild(instance);
3085
+ return instance;
3086
+ }
3062
3087
  if (options.hasOwnProperty("serializers") === true) {
3063
3088
  instance[serializersSym$1] = Object.create(null);
3064
3089
  for (const k in serializers$1) instance[serializersSym$1][k] = serializers$1[k];
@@ -3093,10 +3118,8 @@ var require_proto = __commonJS({ "../../node_modules/pino/lib/proto.js"(exports,
3093
3118
  }
3094
3119
  if (typeof options.msgPrefix === "string") instance[msgPrefixSym$1] = (this[msgPrefixSym$1] || "") + options.msgPrefix;
3095
3120
  instance[chindingsSym$1] = asChindings$1(instance, bindings$1);
3096
- if (options.level !== void 0 && options.level !== this.level || options.hasOwnProperty("customLevels")) {
3097
- const childLevel = options.level || this.level;
3098
- instance[setLevelSym$1](childLevel);
3099
- }
3121
+ const childLevel = options.level || this.level;
3122
+ instance[setLevelSym$1](childLevel);
3100
3123
  this.onChild(instance);
3101
3124
  return instance;
3102
3125
  }
@@ -3152,7 +3175,6 @@ var require_proto = __commonJS({ "../../node_modules/pino/lib/proto.js"(exports,
3152
3175
  }
3153
3176
  stream.write(streamWriteHook ? streamWriteHook(s) : s);
3154
3177
  }
3155
- function noop$1() {}
3156
3178
  function flush(cb) {
3157
3179
  if (cb != null && typeof cb !== "function") throw Error("callback must be a function");
3158
3180
  const stream = this[streamSym$1];
@@ -22930,7 +22952,7 @@ var WeaveRegisterManager = class {
22930
22952
 
22931
22953
  //#endregion
22932
22954
  //#region package.json
22933
- var version = "0.76.3";
22955
+ var version = "0.77.1";
22934
22956
 
22935
22957
  //#endregion
22936
22958
  //#region src/managers/setup.ts
@@ -23145,7 +23167,7 @@ var WeaveStoreManager = class {
23145
23167
  };
23146
23168
 
23147
23169
  //#endregion
23148
- //#region src/managers/export.ts
23170
+ //#region src/managers/export/export.ts
23149
23171
  var WeaveExportManager = class {
23150
23172
  constructor(instance) {
23151
23173
  this.instance = instance;
@@ -23246,18 +23268,7 @@ var WeaveExportManager = class {
23246
23268
  }
23247
23269
  });
23248
23270
  }
23249
- unpremultiply(data) {
23250
- for (let i = 0; i < data.length; i += 4) {
23251
- const a = data[i + 3];
23252
- if (a && a < 255) {
23253
- const alpha = a / 255;
23254
- data[i] = Math.min(255, Math.round(data[i] / alpha));
23255
- data[i + 1] = Math.min(255, Math.round(data[i + 1] / alpha));
23256
- data[i + 2] = Math.min(255, Math.round(data[i + 2] / alpha));
23257
- }
23258
- }
23259
- }
23260
- async exportNodesAsBuffer(nodes, boundingNodes, options) {
23271
+ async exportNodesServerSide(nodes, boundingNodes, options) {
23261
23272
  const { format: format$2 = __inditextech_weave_types.WEAVE_EXPORT_FORMATS.PNG, padding = 0, pixelRatio = 1, backgroundColor = __inditextech_weave_types.WEAVE_EXPORT_BACKGROUND_COLOR } = options;
23262
23273
  this.getNodesSelectionPlugin()?.disable();
23263
23274
  this.getNodesDistanceSnappingPlugin()?.disable();
@@ -23326,7 +23337,7 @@ var WeaveExportManager = class {
23326
23337
  for (let y = 0; y < imageHeight; y += tileHeight) for (let x = 0; x < imageWidth; x += tileWidth) {
23327
23338
  const width = Math.min(tileWidth, imageWidth - x);
23328
23339
  const height = Math.min(tileHeight, imageHeight - y);
23329
- const canvas = await exportGroup.toCanvas({
23340
+ const canvas$1 = await exportGroup.toCanvas({
23330
23341
  x: Math.round(backgroundRect.x) + x,
23331
23342
  y: Math.round(backgroundRect.y) + y,
23332
23343
  width,
@@ -23335,7 +23346,7 @@ var WeaveExportManager = class {
23335
23346
  pixelRatio,
23336
23347
  quality: options.quality ?? 1
23337
23348
  });
23338
- const buffer$1 = canvas.toBuffer();
23349
+ const buffer$1 = canvas$1.toBuffer();
23339
23350
  composites.push({
23340
23351
  top: y * pixelRatio,
23341
23352
  left: x * pixelRatio,
@@ -23359,14 +23370,14 @@ var WeaveExportManager = class {
23359
23370
  throw new Error("Failed to export nodes as data URL");
23360
23371
  }
23361
23372
  imageToBase64(img, mimeType) {
23362
- const canvas = document.createElement("canvas");
23363
- canvas.width = img.naturalWidth;
23364
- canvas.height = img.naturalHeight;
23365
- const ctx = canvas.getContext("2d");
23373
+ const canvas$1 = document.createElement("canvas");
23374
+ canvas$1.width = img.naturalWidth;
23375
+ canvas$1.height = img.naturalHeight;
23376
+ const ctx = canvas$1.getContext("2d");
23366
23377
  if (!ctx) throw new Error("Could not get canvas context");
23367
23378
  ctx.drawImage(img, 0, 0);
23368
- const URL$1 = canvas.toDataURL(mimeType);
23369
- canvas.remove();
23379
+ const URL$1 = canvas$1.toDataURL(mimeType);
23380
+ canvas$1.remove();
23370
23381
  return URL$1;
23371
23382
  }
23372
23383
  getNodesSelectionPlugin() {
@@ -23840,8 +23851,8 @@ var Weave = class {
23840
23851
  async exportNodes(nodes, boundingNodes, options) {
23841
23852
  return await this.exportManager.exportNodesAsImage(nodes, boundingNodes, options);
23842
23853
  }
23843
- async exportNodesAsBuffer(nodes, boundingNodes, options) {
23844
- return await this.exportManager.exportNodesAsBuffer(nodes, boundingNodes, options);
23854
+ async exportNodesServerSide(nodes, boundingNodes, options) {
23855
+ return await this.exportManager.exportNodesServerSide(nodes, boundingNodes, options);
23845
23856
  }
23846
23857
  allNodesLocked(nodes) {
23847
23858
  let allNodesLocked = true;
@@ -23953,6 +23964,16 @@ var Weave = class {
23953
23964
  }
23954
23965
  };
23955
23966
 
23967
+ //#endregion
23968
+ //#region src/managers/export/utils.node.ts
23969
+ const registerCanvasFonts = (fonts) => {
23970
+ if (!fonts || fonts.length === 0) return;
23971
+ for (const font of fonts) {
23972
+ const { path: path$1, properties } = font;
23973
+ (0, canvas.registerFont)(path$1, properties);
23974
+ }
23975
+ };
23976
+
23956
23977
  //#endregion
23957
23978
  //#region src/nodes/stage/stage.ts
23958
23979
  var WeaveStageNode = class extends WeaveNode {
@@ -25195,7 +25216,6 @@ var WeaveImageNode = class extends WeaveNode {
25195
25216
  this.lastTapTime = 0;
25196
25217
  this.config = mergeExceptArrays(WEAVE_IMAGE_DEFAULT_CONFIG, config);
25197
25218
  this.imageCrop = null;
25198
- this.imageLoaded = false;
25199
25219
  }
25200
25220
  triggerCrop(imageNode) {
25201
25221
  const stage = this.instance.getStage();
@@ -25256,7 +25276,9 @@ var WeaveImageNode = class extends WeaveNode {
25256
25276
  ...groupImageProps,
25257
25277
  ...internalImageProps,
25258
25278
  id,
25259
- name: "node"
25279
+ name: "node",
25280
+ loadedImage: false,
25281
+ loadedImageError: false
25260
25282
  });
25261
25283
  this.setupDefaultNodeAugmentation(image);
25262
25284
  image.movedToContainer = () => {
@@ -25335,7 +25357,7 @@ var WeaveImageNode = class extends WeaveNode {
25335
25357
  image.add(cropGroup);
25336
25358
  this.setupDefaultNodeEvents(image);
25337
25359
  image.dblClick = () => {
25338
- this.config.onDblClick?.(this, image);
25360
+ if (this.imageState[id]?.loaded && !this.imageState[id]?.error) this.config.onDblClick?.(this, image);
25339
25361
  };
25340
25362
  if (this.imageSource[id]) {
25341
25363
  imagePlaceholder.destroy();
@@ -25345,7 +25367,7 @@ var WeaveImageNode = class extends WeaveNode {
25345
25367
  image: this.imageSource[id],
25346
25368
  visible: true
25347
25369
  });
25348
- this.imageLoaded = true;
25370
+ image.setAttr("width", this.imageSource[id].width);
25349
25371
  image.setAttr("width", this.imageSource[id].width);
25350
25372
  image.setAttr("height", this.imageSource[id].height);
25351
25373
  image.setAttr("cropInfo", props.cropInfo ?? void 0);
@@ -25377,7 +25399,7 @@ var WeaveImageNode = class extends WeaveNode {
25377
25399
  delete internalImageProps.imageProperties;
25378
25400
  delete internalImageProps.imageURL;
25379
25401
  delete internalImageProps.zIndex;
25380
- if (!this.imageLoaded) {
25402
+ if (!this.imageState[id ?? ""]?.loaded) {
25381
25403
  imagePlaceholder?.setAttrs({
25382
25404
  ...internalImageProps,
25383
25405
  ...nodeAttrs.imageProperties ?? {},
@@ -25411,7 +25433,42 @@ var WeaveImageNode = class extends WeaveNode {
25411
25433
  zIndex: 1
25412
25434
  });
25413
25435
  }
25414
- if (this.imageLoaded) {
25436
+ if (this.imageState[id ?? ""]?.loaded && this.imageState[id ?? ""]?.error) {
25437
+ imagePlaceholder?.setAttrs({
25438
+ ...internalImageProps,
25439
+ ...nodeAttrs.imageProperties ?? {},
25440
+ name: void 0,
25441
+ id: `${id}-placeholder`,
25442
+ nodeId: id,
25443
+ x: 0,
25444
+ y: 0,
25445
+ scaleX: 1,
25446
+ scaleY: 1,
25447
+ rotation: 0,
25448
+ visible: true,
25449
+ fill: "#ccccccff",
25450
+ strokeWidth: 0,
25451
+ draggable: false,
25452
+ zIndex: 0
25453
+ });
25454
+ internalImage?.setAttrs({
25455
+ ...internalImageProps,
25456
+ ...nodeAttrs.imageProperties ?? {},
25457
+ name: void 0,
25458
+ id: `${id}-image`,
25459
+ image: void 0,
25460
+ nodeId: id,
25461
+ x: 0,
25462
+ y: 0,
25463
+ scaleX: 1,
25464
+ scaleY: 1,
25465
+ rotation: 0,
25466
+ visible: false,
25467
+ draggable: false,
25468
+ zIndex: 1
25469
+ });
25470
+ }
25471
+ if (this.imageState[id ?? ""]?.loaded && !this.imageState[id ?? ""]?.error) {
25415
25472
  internalImage?.setAttrs({
25416
25473
  ...internalImageProps,
25417
25474
  ...nodeAttrs.imageProperties ?? {},
@@ -25439,6 +25496,8 @@ var WeaveImageNode = class extends WeaveNode {
25439
25496
  loaded: false,
25440
25497
  error: true
25441
25498
  };
25499
+ delete this.imageSource[imageId];
25500
+ delete this.imageState[imageId];
25442
25501
  onError(error$1);
25443
25502
  };
25444
25503
  this.imageSource[imageId].onload = () => {
@@ -25452,7 +25511,11 @@ var WeaveImageNode = class extends WeaveNode {
25452
25511
  loaded: false,
25453
25512
  error: false
25454
25513
  };
25455
- if (realImageURL) this.imageSource[imageId].src = realImageURL;
25514
+ try {
25515
+ if (realImageURL) this.imageSource[imageId].src = realImageURL;
25516
+ } catch (ex) {
25517
+ console.error(ex);
25518
+ }
25456
25519
  }
25457
25520
  loadImage(params, image) {
25458
25521
  const imageProps = params;
@@ -25480,11 +25543,6 @@ var WeaveImageNode = class extends WeaveNode {
25480
25543
  height: this.imageSource[id].height
25481
25544
  });
25482
25545
  internalImage.zIndex(0);
25483
- this.imageLoaded = true;
25484
- image.setAttrs({
25485
- width: imageProps.width ? imageProps.width : this.imageSource[id].width,
25486
- height: imageProps.height ? imageProps.height : this.imageSource[id].height
25487
- });
25488
25546
  image.setAttr("imageInfo", {
25489
25547
  width: this.imageSource[id].width,
25490
25548
  height: this.imageSource[id].height
@@ -25514,6 +25572,19 @@ var WeaveImageNode = class extends WeaveNode {
25514
25572
  loaded: false,
25515
25573
  error: true
25516
25574
  };
25575
+ image.setAttrs({
25576
+ image: void 0,
25577
+ width: 100,
25578
+ height: 100,
25579
+ imageInfo: {
25580
+ width: 100,
25581
+ height: 100
25582
+ },
25583
+ uncroppedImage: {
25584
+ width: 100,
25585
+ height: 100
25586
+ }
25587
+ });
25517
25588
  this.resolveAsyncElement(id);
25518
25589
  console.error("Error loading image", realImageURL, error$1);
25519
25590
  imagePlaceholder?.setAttrs({ visible: true });
@@ -25523,6 +25594,7 @@ var WeaveImageNode = class extends WeaveNode {
25523
25594
  }
25524
25595
  updatePlaceholderSize(image, imagePlaceholder) {
25525
25596
  const imageAttrs = image.getAttrs();
25597
+ if (!imageAttrs.loadedImage) return;
25526
25598
  if (!imageAttrs.adding && imageAttrs.cropInfo) {
25527
25599
  const actualScale = imageAttrs.uncroppedImage.width / imageAttrs.imageInfo.width;
25528
25600
  const cropScale = imageAttrs.cropInfo ? imageAttrs.cropInfo.scaleX : actualScale;
@@ -25539,6 +25611,7 @@ var WeaveImageNode = class extends WeaveNode {
25539
25611
  const stage = this.instance.getStage();
25540
25612
  const image = stage.findOne(`#${imageAttrs.id}`);
25541
25613
  const internalImage = image?.findOne(`#${imageAttrs.id}-image`);
25614
+ if (!imageAttrs.loadedImage) return;
25542
25615
  if (image && internalImage && !imageAttrs.adding && imageAttrs.cropInfo) {
25543
25616
  const actualScale = imageAttrs.uncroppedImage.width / imageAttrs.imageInfo.width;
25544
25617
  const cropScale = imageAttrs.cropInfo ? imageAttrs.cropInfo.scaleX : actualScale;
@@ -33788,4 +33861,5 @@ exports.isServer = isServer
33788
33861
  exports.memoize = memoize
33789
33862
  exports.mergeExceptArrays = mergeExceptArrays
33790
33863
  exports.moveNodeToContainer = moveNodeToContainer
33864
+ exports.registerCanvasFonts = registerCanvasFonts
33791
33865
  exports.resetScale = resetScale
package/dist/sdk.d.cts CHANGED
@@ -16,8 +16,8 @@ import { Stage, StageConfig } from "konva/lib/Stage";
16
16
  import * as konva_lib_shapes_Transformer0 from "konva/lib/shapes/Transformer";
17
17
  import { TransformerConfig } from "konva/lib/shapes/Transformer";
18
18
  import { Container } from "konva/lib/Container";
19
- import * as konva_lib_Group5 from "konva/lib/Group";
20
- import * as konva_lib_Layer6 from "konva/lib/Layer";
19
+ import * as konva_lib_Group6 from "konva/lib/Group";
20
+ import * as konva_lib_Layer5 from "konva/lib/Layer";
21
21
 
22
22
  //#region ../types/dist/types.d.ts
23
23
  //#region src/base/node.d.ts
@@ -1127,7 +1127,7 @@ declare class Weave {
1127
1127
  getFonts(): WeaveFont[];
1128
1128
  imageToBase64(img: HTMLImageElement, mimeType: string): string;
1129
1129
  exportNodes(nodes: WeaveElementInstance[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<HTMLImageElement>;
1130
- exportNodesAsBuffer(nodes: string[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<{
1130
+ exportNodesServerSide(nodes: string[], boundingNodes: (nodes: Konva.Node[]) => Konva.Node[], options: WeaveExportNodesOptions): Promise<{
1131
1131
  composites: {
1132
1132
  input: Buffer;
1133
1133
  left: number;
@@ -1221,8 +1221,30 @@ declare const canComposite: (node: Konva.Node) => boolean | null;
1221
1221
  declare function mergeExceptArrays<TObject, TSource>(object: TObject, source: TSource): TObject & TSource;
1222
1222
 
1223
1223
  //#endregion
1224
- //#region src/nodes/stage/stage.d.ts
1224
+ //#region src/managers/export/types.d.ts
1225
1225
  //# sourceMappingURL=utils.d.ts.map
1226
+ type CanvasFontDefinition = {
1227
+ path: string;
1228
+ properties: {
1229
+ family: string;
1230
+ weight?: string;
1231
+ style?: string;
1232
+ };
1233
+ };
1234
+ type CanvasFonts = CanvasFontDefinition[];
1235
+ type RenderWeaveRoom = {
1236
+ instance: Weave;
1237
+ destroy: () => void;
1238
+ };
1239
+
1240
+ //#endregion
1241
+ //#region src/managers/export/utils.node.d.ts
1242
+ //# sourceMappingURL=types.d.ts.map
1243
+ declare const registerCanvasFonts: (fonts: CanvasFonts) => void;
1244
+
1245
+ //#endregion
1246
+ //#region src/nodes/stage/stage.d.ts
1247
+ //# sourceMappingURL=utils.node.d.ts.map
1226
1248
  declare class WeaveStageNode extends WeaveNode {
1227
1249
  protected nodeType: string;
1228
1250
  protected stageFocused: boolean;
@@ -1478,7 +1500,6 @@ declare class WeaveImageNode extends WeaveNode {
1478
1500
  protected lastTapTime: number;
1479
1501
  protected nodeType: string;
1480
1502
  private imageCrop;
1481
- private imageLoaded;
1482
1503
  constructor(params?: WeaveImageNodeParams);
1483
1504
  triggerCrop(imageNode: Konva.Group): void;
1484
1505
  closeCrop: (imageNode: Konva.Group, type: WeaveImageCropEndType) => void;
@@ -1905,7 +1926,7 @@ declare class WeaveCommentNode<T> extends WeaveNode {
1905
1926
  protected commentDomVisible: boolean;
1906
1927
  protected showResolved: boolean;
1907
1928
  constructor(params: WeaveCommentNodeParams<T>);
1908
- onRender(props: WeaveElementAttributes): konva_lib_Group5.Group;
1929
+ onRender(props: WeaveElementAttributes): konva_lib_Group6.Group;
1909
1930
  onUpdate(nodeInstance: WeaveElementInstance, nextProps: WeaveElementAttributes): void;
1910
1931
  onDestroy(nodeInstance: WeaveElementInstance): void;
1911
1932
  private expandNode;
@@ -3591,7 +3612,7 @@ declare class WeaveCommentsRendererPlugin<T> extends WeavePlugin {
3591
3612
  private initCommentsLayer;
3592
3613
  deleteComments(): void;
3593
3614
  render(): void;
3594
- getCommentsLayer(): konva_lib_Layer6.Layer;
3615
+ getCommentsLayer(): konva_lib_Layer5.Layer;
3595
3616
  enable(): void;
3596
3617
  disable(): void;
3597
3618
  }
@@ -3640,5 +3661,5 @@ declare const WEAVE_STAGE_KEYBOARD_MOVE_DEFAULT_CONFIG: {
3640
3661
  //#endregion
3641
3662
  //# sourceMappingURL=constants.d.ts.map
3642
3663
 
3643
- 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, COPY_PASTE_NODES_PLUGIN_STATE, DistanceInfoH, DistanceInfoV, 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, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_ACTION_NAME, IMAGE_TOOL_STATE, ImageOptions, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NODE_SNAP_HORIZONTAL, NODE_SNAP_VERTICAL, NodeSnap, NodeSnapHorizontal, NodeSnapHorizontalKeys, NodeSnapKeys, NodeSnapVertical, NodeSnapVerticalKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_ACTION_NAME, PEN_TOOL_STATE, PaddingOnPaste, 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, TextSerializable, VIDEO_TOOL_ACTION_NAME, VIDEO_TOOL_STATE, VideoBackgroundStyle, VideoIconBackgroundStyle, VideoIconStyle, VideoProps, VideoStyle, VideoTrackStyle, 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_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_IMAGE_CROP_END_TYPE, WEAVE_IMAGE_DEFAULT_CONFIG, WEAVE_IMAGE_NODE_TYPE, WEAVE_LAYER_NODE_TYPE, WEAVE_LINE_NODE_TYPE, WEAVE_NODES_DISTANCE_SNAPPING_PLUGIN_KEY, WEAVE_NODES_EDGE_SNAPPING_PLUGIN_KEY, 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_GRID_PLUGIN_KEY, 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_STAR_NODE_TYPE, WEAVE_STROKE_NODE_DEFAULT_CONFIG, WEAVE_STROKE_NODE_TYPE, WEAVE_TEXT_NODE_TYPE, WEAVE_USERS_POINTERS_CONFIG_DEFAULT_PROPS, WEAVE_USERS_POINTERS_KEY, WEAVE_USERS_SELECTION_KEY, WEAVE_USER_POINTER_KEY, WEAVE_USER_SELECTION_KEY, WEAVE_VIDEO_DEFAULT_CONFIG, WEAVE_VIDEO_NODE_TYPE, Weave, WeaveAction, WeaveActionPropsChangeEvent, WeaveAlignNodesToolAction, WeaveAlignNodesToolActionAlignTo, WeaveAlignNodesToolActionAlignToKeys, WeaveAlignNodesToolActionState, WeaveAlignNodesToolActionStateKeys, WeaveAlignNodesToolActionTriggerParams, WeaveArrowNode, WeaveArrowNodeParams, WeaveArrowProperties, WeaveArrowToolAction, WeaveArrowToolActionOnAddedEvent, WeaveArrowToolActionOnAddingEvent, WeaveArrowToolActionState, WeaveArrowToolActionStateKeys, WeaveBrushToolAction, WeaveBrushToolActionOnAddedEvent, WeaveBrushToolActionOnAddingEvent, WeaveBrushToolActionParams, WeaveBrushToolActionProperties, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveCommentNode, WeaveCommentNodeAction, WeaveCommentNodeActionKeys, WeaveCommentNodeConfig, WeaveCommentNodeCreateAction, WeaveCommentNodeCreateActionKeys, WeaveCommentNodeModel, WeaveCommentNodeOnCreateCommentEvent, WeaveCommentNodeOnDragEndEvent, WeaveCommentNodeOnFinishCreateEvent, WeaveCommentNodeOnViewEvent, WeaveCommentNodeParams, WeaveCommentNodeStyle, WeaveCommentNodeViewAction, WeaveCommentNodeViewActionKeys, WeaveCommentStatus, WeaveCommentStatusKeys, WeaveCommentToolAction, WeaveCommentToolActionConfig, WeaveCommentToolActionParams, WeaveCommentToolActionState, WeaveCommentToolActionStateKeys, WeaveCommentToolModel, WeaveCommentToolStyle, WeaveCommentsRendererModel, WeaveCommentsRendererPlugin, WeaveCommentsRendererPluginConfig, WeaveCommentsRendererPluginParams, WeaveConnectedUserInfoKey, WeaveConnectedUsers, WeaveConnectedUsersChangeEvent, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginConfig, WeaveCopyPasteNodesPluginOnCopyEvent, WeaveCopyPasteNodesPluginOnPasteEvent, WeaveCopyPasteNodesPluginOnPasteExternalEvent, WeaveCopyPasteNodesPluginParams, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveCopyPastePasteMode, WeaveCopyPastePasteModeKeys, WeaveEllipseNode, WeaveEllipseNodeParams, WeaveEllipseProperties, WeaveEllipseToolAction, WeaveEllipseToolActionOnAddedEvent, WeaveEllipseToolActionOnAddingEvent, WeaveEllipseToolActionState, WeaveEllipseToolActionStateKeys, WeaveEraserToolAction, WeaveEraserToolActionState, WeaveEraserToolActionStateKeys, WeaveExportNodesActionParams, WeaveExportNodesToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeParams, WeaveFrameProperties, WeaveFrameToolAction, WeaveFrameToolActionOnAddedEvent, WeaveFrameToolActionOnAddingEvent, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolProps, WeaveGroupNode, WeaveGroupNodeParams, WeaveGroupProperties, WeaveImageCropEndType, WeaveImageCropEndTypeKeys, WeaveImageNode, WeaveImageNodeParams, WeaveImageOnCropEndEvent, WeaveImageOnCropStartEvent, WeaveImageProperties, WeaveImageState, WeaveImageToolAction, WeaveImageToolActionOnAddedEvent, WeaveImageToolActionOnAddingEvent, WeaveImageToolActionOnEndLoadImageEvent, WeaveImageToolActionOnStartLoadImageEvent, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveLineNodeParams, WeaveLineProperties, WeaveMoveToolAction, WeaveMoveToolActionParams, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesDistanceSnappingPlugin, WeaveNodesDistanceSnappingPluginConfig, WeaveNodesDistanceSnappingPluginParams, WeaveNodesDistanceSnappingUIConfig, WeaveNodesEdgeSnappingPlugin, WeaveNodesEdgeSnappingPluginConfig, WeaveNodesEdgeSnappingPluginParams, WeaveNodesSelectionBehaviorsConfig, WeaveNodesSelectionConfig, WeaveNodesSelectionOnSelectionParams, WeaveNodesSelectionPanningOnSelectionConfig, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginOnNodesChangeEvent, WeaveNodesSelectionPluginOnSelectionStateEvent, WeaveNodesSelectionPluginOnStageSelectionEvent, WeaveNodesSelectionPluginParams, WeavePasteModel, WeavePenToolAction, WeavePenToolActionOnAddedEvent, WeavePenToolActionOnAddingEvent, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePlugin, WeaveRectangleNode, WeaveRectangleNodeParams, WeaveRectangleProperties, WeaveRectangleToolAction, WeaveRectangleToolActionOnAddedEvent, WeaveRectangleToolActionOnAddingEvent, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRegularPolygonNode, WeaveRegularPolygonNodeParams, WeaveRegularPolygonProperties, WeaveRegularPolygonToolAction, WeaveRegularPolygonToolActionOnAddedEvent, WeaveRegularPolygonToolActionOnAddingEvent, WeaveRegularPolygonToolActionState, WeaveRegularPolygonToolActionStateKeys, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginOnNodeContextMenuEvent, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropPluginOnStageDropEvent, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageKeyboardMovePlugin, WeaveStageMinimapPlugin, WeaveStageMinimapPluginConfig, WeaveStageMinimapPluginParams, WeaveStageMinimapPluginStyle, WeaveStageNode, WeaveStagePanningPlugin, WeaveStagePanningPluginConfig, WeaveStagePanningPluginParams, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomPlugin, WeaveStageZoomPluginConfig, WeaveStageZoomPluginOnZoomChangeEvent, WeaveStageZoomPluginParams, WeaveStageZoomType, WeaveStageZoomTypeKeys, WeaveStarNode, WeaveStarNodeParams, WeaveStarProperties, WeaveStarToolAction, WeaveStarToolActionOnAddedEvent, WeaveStarToolActionOnAddingEvent, WeaveStarToolActionState, WeaveStarToolActionStateKeys, WeaveStore, WeaveStoreOnNodeChangeEvent, WeaveStoreOnRoomLoadedEvent, WeaveStoreOnStateChangeEvent, WeaveStoreOnUndoRedoChangeEvent, WeaveStrokeNode, WeaveStrokeNodeParams, WeaveStrokePoint, WeaveStrokeProperties, WeaveTextLayout, WeaveTextLayoutKeys, WeaveTextNode, WeaveTextNodeParams, WeaveTextProperties, WeaveTextToolAction, WeaveTextToolActionOnAddedEvent, WeaveTextToolActionOnAddingEvent, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUserPointersUIProperties, WeaveUserSelectionInfo, WeaveUserSelectionKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveUsersSelectionPlugin, WeaveUsersSelectionPluginConfig, WeaveUsersSelectionPluginParams, WeaveVideoNode, WeaveVideoNodeParams, WeaveVideoOnVideoPauseEvent, WeaveVideoOnVideoPlayEvent, WeaveVideoOnVideoStopEvent, WeaveVideoProperties, WeaveVideoState, WeaveVideoToolAction, WeaveVideoToolActionOnAddedEvent, WeaveVideoToolActionOnAddingEvent, WeaveVideoToolActionState, WeaveVideoToolActionStateKeys, WeaveVideoToolActionTriggerParams, WeaveVideoToolActionTriggerReturn, WeaveVideoToolActionTriggerVideoParams, WeaveVideoToolDragParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, canComposite, clearContainerTargets, containerOverCursor, containsNodeDeep, getBoundingBox, getExportBoundingBox, getPositionRelativeToContainerOnPosition, getSelectedNodesMetadata, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, intersectArrays, isIOS, isInShadowDOM, isNodeInSelection, isServer, memoize, mergeExceptArrays, moveNodeToContainer, resetScale };
3664
+ 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, COPY_PASTE_NODES_PLUGIN_STATE, CanvasFontDefinition, CanvasFonts, DistanceInfoH, DistanceInfoV, 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, Guide, GuideOrientation, GuideOrientationKeys, IMAGE_TOOL_ACTION_NAME, IMAGE_TOOL_STATE, ImageOptions, ImageProps, LineGuide, LineGuideStop, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, NODE_SNAP, NODE_SNAP_HORIZONTAL, NODE_SNAP_VERTICAL, NodeSnap, NodeSnapHorizontal, NodeSnapHorizontalKeys, NodeSnapKeys, NodeSnapVertical, NodeSnapVerticalKeys, NodeSnappingEdge, NodeSnappingEdges, PEN_TOOL_ACTION_NAME, PEN_TOOL_STATE, PaddingOnPaste, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, REGULAR_POLYGON_TOOL_ACTION_NAME, REGULAR_POLYGON_TOOL_STATE, RenderWeaveRoom, 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, TextSerializable, VIDEO_TOOL_ACTION_NAME, VIDEO_TOOL_STATE, VideoBackgroundStyle, VideoIconBackgroundStyle, VideoIconStyle, VideoProps, VideoStyle, VideoTrackStyle, 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_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_IMAGE_CROP_END_TYPE, WEAVE_IMAGE_DEFAULT_CONFIG, WEAVE_IMAGE_NODE_TYPE, WEAVE_LAYER_NODE_TYPE, WEAVE_LINE_NODE_TYPE, WEAVE_NODES_DISTANCE_SNAPPING_PLUGIN_KEY, WEAVE_NODES_EDGE_SNAPPING_PLUGIN_KEY, 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_GRID_PLUGIN_KEY, 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_STAR_NODE_TYPE, WEAVE_STROKE_NODE_DEFAULT_CONFIG, WEAVE_STROKE_NODE_TYPE, WEAVE_TEXT_NODE_TYPE, WEAVE_USERS_POINTERS_CONFIG_DEFAULT_PROPS, WEAVE_USERS_POINTERS_KEY, WEAVE_USERS_SELECTION_KEY, WEAVE_USER_POINTER_KEY, WEAVE_USER_SELECTION_KEY, WEAVE_VIDEO_DEFAULT_CONFIG, WEAVE_VIDEO_NODE_TYPE, Weave, WeaveAction, WeaveActionPropsChangeEvent, WeaveAlignNodesToolAction, WeaveAlignNodesToolActionAlignTo, WeaveAlignNodesToolActionAlignToKeys, WeaveAlignNodesToolActionState, WeaveAlignNodesToolActionStateKeys, WeaveAlignNodesToolActionTriggerParams, WeaveArrowNode, WeaveArrowNodeParams, WeaveArrowProperties, WeaveArrowToolAction, WeaveArrowToolActionOnAddedEvent, WeaveArrowToolActionOnAddingEvent, WeaveArrowToolActionState, WeaveArrowToolActionStateKeys, WeaveBrushToolAction, WeaveBrushToolActionOnAddedEvent, WeaveBrushToolActionOnAddingEvent, WeaveBrushToolActionParams, WeaveBrushToolActionProperties, WeaveBrushToolActionState, WeaveBrushToolActionStateKeys, WeaveCommentNode, WeaveCommentNodeAction, WeaveCommentNodeActionKeys, WeaveCommentNodeConfig, WeaveCommentNodeCreateAction, WeaveCommentNodeCreateActionKeys, WeaveCommentNodeModel, WeaveCommentNodeOnCreateCommentEvent, WeaveCommentNodeOnDragEndEvent, WeaveCommentNodeOnFinishCreateEvent, WeaveCommentNodeOnViewEvent, WeaveCommentNodeParams, WeaveCommentNodeStyle, WeaveCommentNodeViewAction, WeaveCommentNodeViewActionKeys, WeaveCommentStatus, WeaveCommentStatusKeys, WeaveCommentToolAction, WeaveCommentToolActionConfig, WeaveCommentToolActionParams, WeaveCommentToolActionState, WeaveCommentToolActionStateKeys, WeaveCommentToolModel, WeaveCommentToolStyle, WeaveCommentsRendererModel, WeaveCommentsRendererPlugin, WeaveCommentsRendererPluginConfig, WeaveCommentsRendererPluginParams, WeaveConnectedUserInfoKey, WeaveConnectedUsers, WeaveConnectedUsersChangeEvent, WeaveConnectedUsersPlugin, WeaveConnectedUsersPluginConfig, WeaveConnectedUsersPluginParams, WeaveContextMenuPlugin, WeaveCopyPasteNodesPlugin, WeaveCopyPasteNodesPluginConfig, WeaveCopyPasteNodesPluginOnCopyEvent, WeaveCopyPasteNodesPluginOnPasteEvent, WeaveCopyPasteNodesPluginOnPasteExternalEvent, WeaveCopyPasteNodesPluginParams, WeaveCopyPasteNodesPluginState, WeaveCopyPasteNodesPluginStateKeys, WeaveCopyPastePasteMode, WeaveCopyPastePasteModeKeys, WeaveEllipseNode, WeaveEllipseNodeParams, WeaveEllipseProperties, WeaveEllipseToolAction, WeaveEllipseToolActionOnAddedEvent, WeaveEllipseToolActionOnAddingEvent, WeaveEllipseToolActionState, WeaveEllipseToolActionStateKeys, WeaveEraserToolAction, WeaveEraserToolActionState, WeaveEraserToolActionStateKeys, WeaveExportNodesActionParams, WeaveExportNodesToolAction, WeaveExportStageActionParams, WeaveExportStageToolAction, WeaveFitToScreenToolAction, WeaveFitToScreenToolActionParams, WeaveFitToSelectionToolAction, WeaveFitToSelectionToolActionParams, WeaveFrameAttributes, WeaveFrameNode, WeaveFrameNodeParams, WeaveFrameProperties, WeaveFrameToolAction, WeaveFrameToolActionOnAddedEvent, WeaveFrameToolActionOnAddingEvent, WeaveFrameToolActionState, WeaveFrameToolActionStateKeys, WeaveFrameToolActionTriggerParams, WeaveFrameToolProps, WeaveGroupNode, WeaveGroupNodeParams, WeaveGroupProperties, WeaveImageCropEndType, WeaveImageCropEndTypeKeys, WeaveImageNode, WeaveImageNodeParams, WeaveImageOnCropEndEvent, WeaveImageOnCropStartEvent, WeaveImageProperties, WeaveImageState, WeaveImageToolAction, WeaveImageToolActionOnAddedEvent, WeaveImageToolActionOnAddingEvent, WeaveImageToolActionOnEndLoadImageEvent, WeaveImageToolActionOnStartLoadImageEvent, WeaveImageToolActionState, WeaveImageToolActionStateKeys, WeaveImageToolActionTriggerParams, WeaveImageToolActionTriggerReturn, WeaveLayerNode, WeaveLineNode, WeaveLineNodeParams, WeaveLineProperties, WeaveMoveToolAction, WeaveMoveToolActionParams, WeaveMoveToolActionState, WeaveMoveToolActionStateKeys, WeaveNode, WeaveNodesDistanceSnappingPlugin, WeaveNodesDistanceSnappingPluginConfig, WeaveNodesDistanceSnappingPluginParams, WeaveNodesDistanceSnappingUIConfig, WeaveNodesEdgeSnappingPlugin, WeaveNodesEdgeSnappingPluginConfig, WeaveNodesEdgeSnappingPluginParams, WeaveNodesSelectionBehaviorsConfig, WeaveNodesSelectionConfig, WeaveNodesSelectionOnSelectionParams, WeaveNodesSelectionPanningOnSelectionConfig, WeaveNodesSelectionPlugin, WeaveNodesSelectionPluginConfig, WeaveNodesSelectionPluginOnNodesChangeEvent, WeaveNodesSelectionPluginOnSelectionStateEvent, WeaveNodesSelectionPluginOnStageSelectionEvent, WeaveNodesSelectionPluginParams, WeavePasteModel, WeavePenToolAction, WeavePenToolActionOnAddedEvent, WeavePenToolActionOnAddingEvent, WeavePenToolActionState, WeavePenToolActionStateKeys, WeavePlugin, WeaveRectangleNode, WeaveRectangleNodeParams, WeaveRectangleProperties, WeaveRectangleToolAction, WeaveRectangleToolActionOnAddedEvent, WeaveRectangleToolActionOnAddingEvent, WeaveRectangleToolActionState, WeaveRectangleToolActionStateKeys, WeaveRegularPolygonNode, WeaveRegularPolygonNodeParams, WeaveRegularPolygonProperties, WeaveRegularPolygonToolAction, WeaveRegularPolygonToolActionOnAddedEvent, WeaveRegularPolygonToolActionOnAddingEvent, WeaveRegularPolygonToolActionState, WeaveRegularPolygonToolActionStateKeys, WeaveSelectionToolAction, WeaveSelectionToolActionState, WeaveSelectionToolActionStateKeys, WeaveStageContextMenuPluginConfig, WeaveStageContextMenuPluginOnNodeContextMenuEvent, WeaveStageContextMenuPluginParams, WeaveStageDropAreaPlugin, WeaveStageDropPluginOnStageDropEvent, WeaveStageGridPlugin, WeaveStageGridPluginConfig, WeaveStageGridPluginParams, WeaveStageGridType, WeaveStageGridTypeKeys, WeaveStageKeyboardMovePlugin, WeaveStageMinimapPlugin, WeaveStageMinimapPluginConfig, WeaveStageMinimapPluginParams, WeaveStageMinimapPluginStyle, WeaveStageNode, WeaveStagePanningPlugin, WeaveStagePanningPluginConfig, WeaveStagePanningPluginParams, WeaveStageResizePlugin, WeaveStageZoomChanged, WeaveStageZoomPlugin, WeaveStageZoomPluginConfig, WeaveStageZoomPluginOnZoomChangeEvent, WeaveStageZoomPluginParams, WeaveStageZoomType, WeaveStageZoomTypeKeys, WeaveStarNode, WeaveStarNodeParams, WeaveStarProperties, WeaveStarToolAction, WeaveStarToolActionOnAddedEvent, WeaveStarToolActionOnAddingEvent, WeaveStarToolActionState, WeaveStarToolActionStateKeys, WeaveStore, WeaveStoreOnNodeChangeEvent, WeaveStoreOnRoomLoadedEvent, WeaveStoreOnStateChangeEvent, WeaveStoreOnUndoRedoChangeEvent, WeaveStrokeNode, WeaveStrokeNodeParams, WeaveStrokePoint, WeaveStrokeProperties, WeaveTextLayout, WeaveTextLayoutKeys, WeaveTextNode, WeaveTextNodeParams, WeaveTextProperties, WeaveTextToolAction, WeaveTextToolActionOnAddedEvent, WeaveTextToolActionOnAddingEvent, WeaveTextToolActionState, WeaveTextToolActionStateKeys, WeaveToPasteNode, WeaveUserPointer, WeaveUserPointerKey, WeaveUserPointersUIProperties, WeaveUserSelectionInfo, WeaveUserSelectionKey, WeaveUsersPointersPlugin, WeaveUsersPointersPluginConfig, WeaveUsersPointersPluginParams, WeaveUsersSelectionPlugin, WeaveUsersSelectionPluginConfig, WeaveUsersSelectionPluginParams, WeaveVideoNode, WeaveVideoNodeParams, WeaveVideoOnVideoPauseEvent, WeaveVideoOnVideoPlayEvent, WeaveVideoOnVideoStopEvent, WeaveVideoProperties, WeaveVideoState, WeaveVideoToolAction, WeaveVideoToolActionOnAddedEvent, WeaveVideoToolActionOnAddingEvent, WeaveVideoToolActionState, WeaveVideoToolActionStateKeys, WeaveVideoToolActionTriggerParams, WeaveVideoToolActionTriggerReturn, WeaveVideoToolActionTriggerVideoParams, WeaveVideoToolDragParams, WeaveZoomInToolAction, WeaveZoomInToolActionParams, WeaveZoomOutToolAction, WeaveZoomOutToolActionParams, canComposite, clearContainerTargets, containerOverCursor, containsNodeDeep, getBoundingBox, getExportBoundingBox, getPositionRelativeToContainerOnPosition, getSelectedNodesMetadata, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, intersectArrays, isIOS, isInShadowDOM, isNodeInSelection, isServer, memoize, mergeExceptArrays, moveNodeToContainer, registerCanvasFonts, resetScale };
3644
3665
  //# sourceMappingURL=sdk.d.cts.map