@inditextech/weave-sdk 3.2.3 → 3.2.4
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.js +89 -91
- package/dist/sdk.node.js +89 -91
- package/dist/types.d.ts +33 -29
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +89 -91
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/sdk.js
CHANGED
|
@@ -21971,7 +21971,7 @@ var WeaveRegisterManager = class {
|
|
|
21971
21971
|
|
|
21972
21972
|
//#endregion
|
|
21973
21973
|
//#region package.json
|
|
21974
|
-
var version = "3.2.
|
|
21974
|
+
var version = "3.2.4";
|
|
21975
21975
|
|
|
21976
21976
|
//#endregion
|
|
21977
21977
|
//#region src/managers/setup.ts
|
|
@@ -25722,13 +25722,57 @@ var WeaveImageCrop = class WeaveImageCrop {
|
|
|
25722
25722
|
};
|
|
25723
25723
|
|
|
25724
25724
|
//#endregion
|
|
25725
|
-
//#region src/
|
|
25726
|
-
const
|
|
25725
|
+
//#region src/utils/cursors.ts
|
|
25726
|
+
const doPreloadCursors = async (cursorsToPreload, setCursor, getFallbackCursor, resetCursors) => {
|
|
25727
|
+
resetCursors();
|
|
25728
|
+
const promiseHandler = (state, value, src) => new Promise((resolveInt, rejectInt) => {
|
|
25729
|
+
const img = Konva.Util.createImageElement();
|
|
25730
|
+
img.onload = () => {
|
|
25731
|
+
const canvas = document.createElement("canvas");
|
|
25732
|
+
canvas.width = img.width;
|
|
25733
|
+
canvas.height = img.height;
|
|
25734
|
+
const ctx = canvas.getContext("2d");
|
|
25735
|
+
ctx?.drawImage(img, 0, 0);
|
|
25736
|
+
const dataURL = canvas.toDataURL("image/png");
|
|
25737
|
+
const tokens = value.split(" ");
|
|
25738
|
+
tokens[0] = `url(${dataURL})`;
|
|
25739
|
+
setCursor(state, tokens.join(" "));
|
|
25740
|
+
resolveInt();
|
|
25741
|
+
};
|
|
25742
|
+
img.onerror = () => {
|
|
25743
|
+
setCursor(state, getFallbackCursor(state));
|
|
25744
|
+
rejectInt(new Error(`Failed to load cursor: ${src}`));
|
|
25745
|
+
};
|
|
25746
|
+
img.src = src;
|
|
25747
|
+
});
|
|
25748
|
+
return new Promise((resolve) => {
|
|
25749
|
+
(async () => {
|
|
25750
|
+
const cursors = Object.keys(cursorsToPreload);
|
|
25751
|
+
const cursorUrls = [];
|
|
25752
|
+
for (const cursorKey of cursors) {
|
|
25753
|
+
const cursorValue = cursorsToPreload[cursorKey];
|
|
25754
|
+
const { preload, cursor } = extractCursorUrl(cursorValue);
|
|
25755
|
+
if (preload) cursorUrls.push({
|
|
25756
|
+
state: cursorKey,
|
|
25757
|
+
value: cursorValue,
|
|
25758
|
+
src: cursor
|
|
25759
|
+
});
|
|
25760
|
+
}
|
|
25761
|
+
if (cursorUrls.length > 0) {
|
|
25762
|
+
const cursorsPreloading = [];
|
|
25763
|
+
for (const { state, value, src } of cursorUrls) cursorsPreloading.push(promiseHandler(state, value, src));
|
|
25764
|
+
await Promise.allSettled(cursorsPreloading);
|
|
25765
|
+
}
|
|
25766
|
+
resolve();
|
|
25767
|
+
})();
|
|
25768
|
+
});
|
|
25769
|
+
};
|
|
25770
|
+
const extractCursorUrl = (cursor) => {
|
|
25727
25771
|
const lower = cursor.toLowerCase();
|
|
25728
25772
|
const start = lower.indexOf("url(");
|
|
25729
25773
|
if (start === -1) return {
|
|
25730
25774
|
preload: false,
|
|
25731
|
-
cursor
|
|
25775
|
+
cursor: null
|
|
25732
25776
|
};
|
|
25733
25777
|
let i = start + 4;
|
|
25734
25778
|
const len = cursor.length;
|
|
@@ -25741,25 +25785,20 @@ const extractCursorUrl = (cursor, fallback) => {
|
|
|
25741
25785
|
let buf = "";
|
|
25742
25786
|
for (; i < len; i++) {
|
|
25743
25787
|
const ch = cursor[i];
|
|
25744
|
-
if (quote) {
|
|
25745
|
-
|
|
25746
|
-
|
|
25747
|
-
|
|
25748
|
-
|
|
25749
|
-
|
|
25750
|
-
} else {
|
|
25788
|
+
if (quote && ch === quote) {
|
|
25789
|
+
i++;
|
|
25790
|
+
break;
|
|
25791
|
+
}
|
|
25792
|
+
if (quote) buf += ch;
|
|
25793
|
+
else {
|
|
25751
25794
|
if (ch === ")") break;
|
|
25752
25795
|
buf += ch;
|
|
25753
25796
|
}
|
|
25754
25797
|
}
|
|
25755
25798
|
const url = buf.trim();
|
|
25756
|
-
if (!url) return {
|
|
25799
|
+
if (!url || url && !isAllowedUrl(url)) return {
|
|
25757
25800
|
preload: false,
|
|
25758
|
-
cursor:
|
|
25759
|
-
};
|
|
25760
|
-
if (!isAllowedUrl(url)) return {
|
|
25761
|
-
preload: false,
|
|
25762
|
-
cursor: fallback
|
|
25801
|
+
cursor: null
|
|
25763
25802
|
};
|
|
25764
25803
|
return {
|
|
25765
25804
|
preload: true,
|
|
@@ -25782,6 +25821,8 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25782
25821
|
imageTryoutAttempts = {};
|
|
25783
25822
|
imageTryoutIds = {};
|
|
25784
25823
|
nodeType = WEAVE_IMAGE_NODE_TYPE;
|
|
25824
|
+
cursorsFallback = { loading: "wait" };
|
|
25825
|
+
cursors = {};
|
|
25785
25826
|
constructor(params) {
|
|
25786
25827
|
super();
|
|
25787
25828
|
const { config } = params ?? {};
|
|
@@ -25800,31 +25841,15 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25800
25841
|
this.imageFallback = {};
|
|
25801
25842
|
}
|
|
25802
25843
|
preloadCursors() {
|
|
25803
|
-
const promiseHandler = (src) => new Promise((resolveInt, rejectInt) => {
|
|
25804
|
-
const img = Konva.Util.createImageElement();
|
|
25805
|
-
img.onload = () => {
|
|
25806
|
-
resolveInt();
|
|
25807
|
-
};
|
|
25808
|
-
img.onerror = () => {
|
|
25809
|
-
rejectInt(new Error(`Failed to load cursor image: ${src}`));
|
|
25810
|
-
};
|
|
25811
|
-
img.src = src;
|
|
25812
|
-
});
|
|
25813
25844
|
return new Promise((resolve) => {
|
|
25814
25845
|
(async () => {
|
|
25815
|
-
|
|
25816
|
-
|
|
25817
|
-
|
|
25818
|
-
|
|
25819
|
-
|
|
25820
|
-
|
|
25821
|
-
|
|
25822
|
-
}
|
|
25823
|
-
if (cursorUrls.length > 0) {
|
|
25824
|
-
const cursorsPreloading = [];
|
|
25825
|
-
for (const { src } of cursorUrls) cursorsPreloading.push(promiseHandler(src));
|
|
25826
|
-
await Promise.allSettled(cursorsPreloading);
|
|
25827
|
-
}
|
|
25846
|
+
await doPreloadCursors(this.config.style.cursor, (state, cursor) => {
|
|
25847
|
+
this.cursors[state] = cursor;
|
|
25848
|
+
}, (state) => {
|
|
25849
|
+
return this.cursorsFallback[state] || "default";
|
|
25850
|
+
}, () => {
|
|
25851
|
+
this.cursors = {};
|
|
25852
|
+
});
|
|
25828
25853
|
resolve();
|
|
25829
25854
|
})();
|
|
25830
25855
|
});
|
|
@@ -25908,7 +25933,7 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25908
25933
|
});
|
|
25909
25934
|
this.setupDefaultNodeAugmentation(image);
|
|
25910
25935
|
image.defineMousePointer = () => {
|
|
25911
|
-
if (this.imageState[id]?.status === "loading") return this.
|
|
25936
|
+
if (this.imageState[id]?.status === "loading") return this.cursors["loading"];
|
|
25912
25937
|
const selectedNodes = this.getSelectionPlugin()?.getSelectedNodes() ?? [];
|
|
25913
25938
|
if (this.isSelecting() && selectedNodes.includes(image)) return "grab";
|
|
25914
25939
|
return "pointer";
|
|
@@ -25991,15 +26016,17 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25991
26016
|
image.dblClick = () => {
|
|
25992
26017
|
if (this.imageState[id]?.loaded && !this.imageState[id]?.error) this.config.onDblClick?.(this, image);
|
|
25993
26018
|
};
|
|
25994
|
-
|
|
26019
|
+
const hasFinalImageLoaded = this.imageSource[id] && imageProps.imageURL;
|
|
26020
|
+
const hasFallbackAndFinalImageNotLoaded = !imageProps.imageURL && this.imageFallback[id] && this.config.useFallbackImage;
|
|
26021
|
+
if (hasFinalImageLoaded || hasFallbackAndFinalImageNotLoaded) {
|
|
25995
26022
|
imagePlaceholder?.destroy();
|
|
25996
|
-
const imageSource = this.imageSource[id];
|
|
26023
|
+
const imageSource = hasFallbackAndFinalImageNotLoaded ? this.imageFallback[id] : this.imageSource[id];
|
|
25997
26024
|
internalImage.setAttrs({
|
|
25998
26025
|
image: imageSource,
|
|
25999
26026
|
visible: true
|
|
26000
26027
|
});
|
|
26001
|
-
let sourceImageWidth =
|
|
26002
|
-
let sourceImageHeight =
|
|
26028
|
+
let sourceImageWidth = imageSource.width;
|
|
26029
|
+
let sourceImageHeight = imageSource.height;
|
|
26003
26030
|
if (image.getAttrs().imageInfo) {
|
|
26004
26031
|
sourceImageWidth = image.getAttrs().imageInfo.width;
|
|
26005
26032
|
sourceImageHeight = image.getAttrs().imageInfo.height;
|
|
@@ -26017,7 +26044,7 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
26017
26044
|
height: sourceImageHeight
|
|
26018
26045
|
});
|
|
26019
26046
|
this.imageState[id] = {
|
|
26020
|
-
status: "loaded",
|
|
26047
|
+
status: hasFallbackAndFinalImageNotLoaded ? "loading" : "loaded",
|
|
26021
26048
|
loaded: true,
|
|
26022
26049
|
error: false
|
|
26023
26050
|
};
|
|
@@ -26620,12 +26647,16 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
26620
26647
|
const nodeId = nodeInstance.getAttrs().id ?? "";
|
|
26621
26648
|
const isMoveContainer = nodeInstance.getAttr("onMoveContainer");
|
|
26622
26649
|
nodeInstance.setAttr("onMoveContainer", void 0);
|
|
26650
|
+
if (this.imageTryoutIds[nodeId]) {
|
|
26651
|
+
clearTimeout(this.imageTryoutIds[nodeId]);
|
|
26652
|
+
delete this.imageTryoutIds[nodeId];
|
|
26653
|
+
}
|
|
26623
26654
|
if (!isMoveContainer) {
|
|
26624
26655
|
delete this.imageSource[nodeId];
|
|
26625
26656
|
delete this.imageState[nodeId];
|
|
26657
|
+
delete this.imageTryoutAttempts[nodeId];
|
|
26658
|
+
delete this.imageFallback[nodeId];
|
|
26626
26659
|
}
|
|
26627
|
-
delete this.imageTryoutAttempts[nodeId];
|
|
26628
|
-
delete this.imageFallback[nodeId];
|
|
26629
26660
|
nodeInstance.destroy();
|
|
26630
26661
|
}
|
|
26631
26662
|
};
|
|
@@ -36050,50 +36081,17 @@ var WeaveCommentToolAction = class extends WeaveAction {
|
|
|
36050
36081
|
opacity: 1
|
|
36051
36082
|
};
|
|
36052
36083
|
}
|
|
36053
|
-
extractCursorUrl(cursor) {
|
|
36054
|
-
const lower = cursor.toLowerCase();
|
|
36055
|
-
const start = lower.indexOf("url(");
|
|
36056
|
-
if (start === -1) return null;
|
|
36057
|
-
let i = start + 4;
|
|
36058
|
-
const len = cursor.length;
|
|
36059
|
-
while (i < len && /\s/.test(cursor[i])) i++;
|
|
36060
|
-
let quote = null;
|
|
36061
|
-
if (cursor[i] === "\"" || cursor[i] === "'") {
|
|
36062
|
-
quote = cursor[i];
|
|
36063
|
-
i++;
|
|
36064
|
-
}
|
|
36065
|
-
let buf = "";
|
|
36066
|
-
for (; i < len; i++) {
|
|
36067
|
-
const ch = cursor[i];
|
|
36068
|
-
if (quote) {
|
|
36069
|
-
if (ch === quote) {
|
|
36070
|
-
i++;
|
|
36071
|
-
break;
|
|
36072
|
-
}
|
|
36073
|
-
buf += ch;
|
|
36074
|
-
} else {
|
|
36075
|
-
if (ch === ")") break;
|
|
36076
|
-
buf += ch;
|
|
36077
|
-
}
|
|
36078
|
-
}
|
|
36079
|
-
const url = buf.trim();
|
|
36080
|
-
if (!url) return null;
|
|
36081
|
-
return this.isAllowedUrl(url) ? url : null;
|
|
36082
|
-
}
|
|
36083
|
-
isAllowedUrl(value) {
|
|
36084
|
-
if (/^https?:\/\//i.test(value)) return true;
|
|
36085
|
-
if (/^(javascript|data|blob|ftp):/i.test(value)) return false;
|
|
36086
|
-
return true;
|
|
36087
|
-
}
|
|
36088
36084
|
preloadCursors() {
|
|
36089
36085
|
const stage = this.instance.getStage();
|
|
36090
|
-
const cursorUrls = [
|
|
36091
|
-
|
|
36092
|
-
|
|
36093
|
-
|
|
36094
|
-
|
|
36095
|
-
|
|
36096
|
-
|
|
36086
|
+
const cursorUrls = [];
|
|
36087
|
+
for (const cursorKey in this.config.style.cursor) {
|
|
36088
|
+
const cursorValue = this.config.style.cursor[cursorKey];
|
|
36089
|
+
const { preload, cursor } = extractCursorUrl(this.config.style.cursor.add) ?? "";
|
|
36090
|
+
if (preload) cursorUrls.push({
|
|
36091
|
+
src: cursor,
|
|
36092
|
+
cursor: cursorValue
|
|
36093
|
+
});
|
|
36094
|
+
}
|
|
36097
36095
|
const actualCursor = stage.container().style.cursor;
|
|
36098
36096
|
cursorUrls.forEach(({ src, cursor }) => {
|
|
36099
36097
|
const img = Konva.Util.createImageElement();
|
|
@@ -39847,4 +39845,4 @@ function getJSONFromYjsBinary(actualState) {
|
|
|
39847
39845
|
}
|
|
39848
39846
|
|
|
39849
39847
|
//#endregion
|
|
39850
|
-
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_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, weavejsToYjsBinary };
|
|
39848
|
+
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, weavejsToYjsBinary };
|
package/dist/sdk.node.js
CHANGED
|
@@ -21970,7 +21970,7 @@ var WeaveRegisterManager = class {
|
|
|
21970
21970
|
|
|
21971
21971
|
//#endregion
|
|
21972
21972
|
//#region package.json
|
|
21973
|
-
var version = "3.2.
|
|
21973
|
+
var version = "3.2.4";
|
|
21974
21974
|
|
|
21975
21975
|
//#endregion
|
|
21976
21976
|
//#region src/managers/setup.ts
|
|
@@ -25721,13 +25721,57 @@ var WeaveImageCrop = class WeaveImageCrop {
|
|
|
25721
25721
|
};
|
|
25722
25722
|
|
|
25723
25723
|
//#endregion
|
|
25724
|
-
//#region src/
|
|
25725
|
-
const
|
|
25724
|
+
//#region src/utils/cursors.ts
|
|
25725
|
+
const doPreloadCursors = async (cursorsToPreload, setCursor, getFallbackCursor, resetCursors) => {
|
|
25726
|
+
resetCursors();
|
|
25727
|
+
const promiseHandler = (state, value, src) => new Promise((resolveInt, rejectInt) => {
|
|
25728
|
+
const img = Konva.Util.createImageElement();
|
|
25729
|
+
img.onload = () => {
|
|
25730
|
+
const canvas = document.createElement("canvas");
|
|
25731
|
+
canvas.width = img.width;
|
|
25732
|
+
canvas.height = img.height;
|
|
25733
|
+
const ctx = canvas.getContext("2d");
|
|
25734
|
+
ctx?.drawImage(img, 0, 0);
|
|
25735
|
+
const dataURL = canvas.toDataURL("image/png");
|
|
25736
|
+
const tokens = value.split(" ");
|
|
25737
|
+
tokens[0] = `url(${dataURL})`;
|
|
25738
|
+
setCursor(state, tokens.join(" "));
|
|
25739
|
+
resolveInt();
|
|
25740
|
+
};
|
|
25741
|
+
img.onerror = () => {
|
|
25742
|
+
setCursor(state, getFallbackCursor(state));
|
|
25743
|
+
rejectInt(new Error(`Failed to load cursor: ${src}`));
|
|
25744
|
+
};
|
|
25745
|
+
img.src = src;
|
|
25746
|
+
});
|
|
25747
|
+
return new Promise((resolve) => {
|
|
25748
|
+
(async () => {
|
|
25749
|
+
const cursors = Object.keys(cursorsToPreload);
|
|
25750
|
+
const cursorUrls = [];
|
|
25751
|
+
for (const cursorKey of cursors) {
|
|
25752
|
+
const cursorValue = cursorsToPreload[cursorKey];
|
|
25753
|
+
const { preload, cursor } = extractCursorUrl(cursorValue);
|
|
25754
|
+
if (preload) cursorUrls.push({
|
|
25755
|
+
state: cursorKey,
|
|
25756
|
+
value: cursorValue,
|
|
25757
|
+
src: cursor
|
|
25758
|
+
});
|
|
25759
|
+
}
|
|
25760
|
+
if (cursorUrls.length > 0) {
|
|
25761
|
+
const cursorsPreloading = [];
|
|
25762
|
+
for (const { state, value, src } of cursorUrls) cursorsPreloading.push(promiseHandler(state, value, src));
|
|
25763
|
+
await Promise.allSettled(cursorsPreloading);
|
|
25764
|
+
}
|
|
25765
|
+
resolve();
|
|
25766
|
+
})();
|
|
25767
|
+
});
|
|
25768
|
+
};
|
|
25769
|
+
const extractCursorUrl = (cursor) => {
|
|
25726
25770
|
const lower = cursor.toLowerCase();
|
|
25727
25771
|
const start = lower.indexOf("url(");
|
|
25728
25772
|
if (start === -1) return {
|
|
25729
25773
|
preload: false,
|
|
25730
|
-
cursor
|
|
25774
|
+
cursor: null
|
|
25731
25775
|
};
|
|
25732
25776
|
let i = start + 4;
|
|
25733
25777
|
const len = cursor.length;
|
|
@@ -25740,25 +25784,20 @@ const extractCursorUrl = (cursor, fallback) => {
|
|
|
25740
25784
|
let buf = "";
|
|
25741
25785
|
for (; i < len; i++) {
|
|
25742
25786
|
const ch = cursor[i];
|
|
25743
|
-
if (quote) {
|
|
25744
|
-
|
|
25745
|
-
|
|
25746
|
-
|
|
25747
|
-
|
|
25748
|
-
|
|
25749
|
-
} else {
|
|
25787
|
+
if (quote && ch === quote) {
|
|
25788
|
+
i++;
|
|
25789
|
+
break;
|
|
25790
|
+
}
|
|
25791
|
+
if (quote) buf += ch;
|
|
25792
|
+
else {
|
|
25750
25793
|
if (ch === ")") break;
|
|
25751
25794
|
buf += ch;
|
|
25752
25795
|
}
|
|
25753
25796
|
}
|
|
25754
25797
|
const url = buf.trim();
|
|
25755
|
-
if (!url) return {
|
|
25798
|
+
if (!url || url && !isAllowedUrl(url)) return {
|
|
25756
25799
|
preload: false,
|
|
25757
|
-
cursor:
|
|
25758
|
-
};
|
|
25759
|
-
if (!isAllowedUrl(url)) return {
|
|
25760
|
-
preload: false,
|
|
25761
|
-
cursor: fallback
|
|
25800
|
+
cursor: null
|
|
25762
25801
|
};
|
|
25763
25802
|
return {
|
|
25764
25803
|
preload: true,
|
|
@@ -25781,6 +25820,8 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25781
25820
|
imageTryoutAttempts = {};
|
|
25782
25821
|
imageTryoutIds = {};
|
|
25783
25822
|
nodeType = WEAVE_IMAGE_NODE_TYPE;
|
|
25823
|
+
cursorsFallback = { loading: "wait" };
|
|
25824
|
+
cursors = {};
|
|
25784
25825
|
constructor(params) {
|
|
25785
25826
|
super();
|
|
25786
25827
|
const { config } = params ?? {};
|
|
@@ -25799,31 +25840,15 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25799
25840
|
this.imageFallback = {};
|
|
25800
25841
|
}
|
|
25801
25842
|
preloadCursors() {
|
|
25802
|
-
const promiseHandler = (src) => new Promise((resolveInt, rejectInt) => {
|
|
25803
|
-
const img = Konva.Util.createImageElement();
|
|
25804
|
-
img.onload = () => {
|
|
25805
|
-
resolveInt();
|
|
25806
|
-
};
|
|
25807
|
-
img.onerror = () => {
|
|
25808
|
-
rejectInt(new Error(`Failed to load cursor image: ${src}`));
|
|
25809
|
-
};
|
|
25810
|
-
img.src = src;
|
|
25811
|
-
});
|
|
25812
25843
|
return new Promise((resolve) => {
|
|
25813
25844
|
(async () => {
|
|
25814
|
-
|
|
25815
|
-
|
|
25816
|
-
|
|
25817
|
-
|
|
25818
|
-
|
|
25819
|
-
|
|
25820
|
-
|
|
25821
|
-
}
|
|
25822
|
-
if (cursorUrls.length > 0) {
|
|
25823
|
-
const cursorsPreloading = [];
|
|
25824
|
-
for (const { src } of cursorUrls) cursorsPreloading.push(promiseHandler(src));
|
|
25825
|
-
await Promise.allSettled(cursorsPreloading);
|
|
25826
|
-
}
|
|
25845
|
+
await doPreloadCursors(this.config.style.cursor, (state, cursor) => {
|
|
25846
|
+
this.cursors[state] = cursor;
|
|
25847
|
+
}, (state) => {
|
|
25848
|
+
return this.cursorsFallback[state] || "default";
|
|
25849
|
+
}, () => {
|
|
25850
|
+
this.cursors = {};
|
|
25851
|
+
});
|
|
25827
25852
|
resolve();
|
|
25828
25853
|
})();
|
|
25829
25854
|
});
|
|
@@ -25907,7 +25932,7 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25907
25932
|
});
|
|
25908
25933
|
this.setupDefaultNodeAugmentation(image);
|
|
25909
25934
|
image.defineMousePointer = () => {
|
|
25910
|
-
if (this.imageState[id]?.status === "loading") return this.
|
|
25935
|
+
if (this.imageState[id]?.status === "loading") return this.cursors["loading"];
|
|
25911
25936
|
const selectedNodes = this.getSelectionPlugin()?.getSelectedNodes() ?? [];
|
|
25912
25937
|
if (this.isSelecting() && selectedNodes.includes(image)) return "grab";
|
|
25913
25938
|
return "pointer";
|
|
@@ -25990,15 +26015,17 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
25990
26015
|
image.dblClick = () => {
|
|
25991
26016
|
if (this.imageState[id]?.loaded && !this.imageState[id]?.error) this.config.onDblClick?.(this, image);
|
|
25992
26017
|
};
|
|
25993
|
-
|
|
26018
|
+
const hasFinalImageLoaded = this.imageSource[id] && imageProps.imageURL;
|
|
26019
|
+
const hasFallbackAndFinalImageNotLoaded = !imageProps.imageURL && this.imageFallback[id] && this.config.useFallbackImage;
|
|
26020
|
+
if (hasFinalImageLoaded || hasFallbackAndFinalImageNotLoaded) {
|
|
25994
26021
|
imagePlaceholder?.destroy();
|
|
25995
|
-
const imageSource = this.imageSource[id];
|
|
26022
|
+
const imageSource = hasFallbackAndFinalImageNotLoaded ? this.imageFallback[id] : this.imageSource[id];
|
|
25996
26023
|
internalImage.setAttrs({
|
|
25997
26024
|
image: imageSource,
|
|
25998
26025
|
visible: true
|
|
25999
26026
|
});
|
|
26000
|
-
let sourceImageWidth =
|
|
26001
|
-
let sourceImageHeight =
|
|
26027
|
+
let sourceImageWidth = imageSource.width;
|
|
26028
|
+
let sourceImageHeight = imageSource.height;
|
|
26002
26029
|
if (image.getAttrs().imageInfo) {
|
|
26003
26030
|
sourceImageWidth = image.getAttrs().imageInfo.width;
|
|
26004
26031
|
sourceImageHeight = image.getAttrs().imageInfo.height;
|
|
@@ -26016,7 +26043,7 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
26016
26043
|
height: sourceImageHeight
|
|
26017
26044
|
});
|
|
26018
26045
|
this.imageState[id] = {
|
|
26019
|
-
status: "loaded",
|
|
26046
|
+
status: hasFallbackAndFinalImageNotLoaded ? "loading" : "loaded",
|
|
26020
26047
|
loaded: true,
|
|
26021
26048
|
error: false
|
|
26022
26049
|
};
|
|
@@ -26619,12 +26646,16 @@ var WeaveImageNode = class extends WeaveNode {
|
|
|
26619
26646
|
const nodeId = nodeInstance.getAttrs().id ?? "";
|
|
26620
26647
|
const isMoveContainer = nodeInstance.getAttr("onMoveContainer");
|
|
26621
26648
|
nodeInstance.setAttr("onMoveContainer", void 0);
|
|
26649
|
+
if (this.imageTryoutIds[nodeId]) {
|
|
26650
|
+
clearTimeout(this.imageTryoutIds[nodeId]);
|
|
26651
|
+
delete this.imageTryoutIds[nodeId];
|
|
26652
|
+
}
|
|
26622
26653
|
if (!isMoveContainer) {
|
|
26623
26654
|
delete this.imageSource[nodeId];
|
|
26624
26655
|
delete this.imageState[nodeId];
|
|
26656
|
+
delete this.imageTryoutAttempts[nodeId];
|
|
26657
|
+
delete this.imageFallback[nodeId];
|
|
26625
26658
|
}
|
|
26626
|
-
delete this.imageTryoutAttempts[nodeId];
|
|
26627
|
-
delete this.imageFallback[nodeId];
|
|
26628
26659
|
nodeInstance.destroy();
|
|
26629
26660
|
}
|
|
26630
26661
|
};
|
|
@@ -36049,50 +36080,17 @@ var WeaveCommentToolAction = class extends WeaveAction {
|
|
|
36049
36080
|
opacity: 1
|
|
36050
36081
|
};
|
|
36051
36082
|
}
|
|
36052
|
-
extractCursorUrl(cursor) {
|
|
36053
|
-
const lower = cursor.toLowerCase();
|
|
36054
|
-
const start = lower.indexOf("url(");
|
|
36055
|
-
if (start === -1) return null;
|
|
36056
|
-
let i = start + 4;
|
|
36057
|
-
const len = cursor.length;
|
|
36058
|
-
while (i < len && /\s/.test(cursor[i])) i++;
|
|
36059
|
-
let quote = null;
|
|
36060
|
-
if (cursor[i] === "\"" || cursor[i] === "'") {
|
|
36061
|
-
quote = cursor[i];
|
|
36062
|
-
i++;
|
|
36063
|
-
}
|
|
36064
|
-
let buf = "";
|
|
36065
|
-
for (; i < len; i++) {
|
|
36066
|
-
const ch = cursor[i];
|
|
36067
|
-
if (quote) {
|
|
36068
|
-
if (ch === quote) {
|
|
36069
|
-
i++;
|
|
36070
|
-
break;
|
|
36071
|
-
}
|
|
36072
|
-
buf += ch;
|
|
36073
|
-
} else {
|
|
36074
|
-
if (ch === ")") break;
|
|
36075
|
-
buf += ch;
|
|
36076
|
-
}
|
|
36077
|
-
}
|
|
36078
|
-
const url = buf.trim();
|
|
36079
|
-
if (!url) return null;
|
|
36080
|
-
return this.isAllowedUrl(url) ? url : null;
|
|
36081
|
-
}
|
|
36082
|
-
isAllowedUrl(value) {
|
|
36083
|
-
if (/^https?:\/\//i.test(value)) return true;
|
|
36084
|
-
if (/^(javascript|data|blob|ftp):/i.test(value)) return false;
|
|
36085
|
-
return true;
|
|
36086
|
-
}
|
|
36087
36083
|
preloadCursors() {
|
|
36088
36084
|
const stage = this.instance.getStage();
|
|
36089
|
-
const cursorUrls = [
|
|
36090
|
-
|
|
36091
|
-
|
|
36092
|
-
|
|
36093
|
-
|
|
36094
|
-
|
|
36095
|
-
|
|
36085
|
+
const cursorUrls = [];
|
|
36086
|
+
for (const cursorKey in this.config.style.cursor) {
|
|
36087
|
+
const cursorValue = this.config.style.cursor[cursorKey];
|
|
36088
|
+
const { preload, cursor } = extractCursorUrl(this.config.style.cursor.add) ?? "";
|
|
36089
|
+
if (preload) cursorUrls.push({
|
|
36090
|
+
src: cursor,
|
|
36091
|
+
cursor: cursorValue
|
|
36092
|
+
});
|
|
36093
|
+
}
|
|
36096
36094
|
const actualCursor = stage.container().style.cursor;
|
|
36097
36095
|
cursorUrls.forEach(({ src, cursor }) => {
|
|
36098
36096
|
const img = Konva.Util.createImageElement();
|
|
@@ -39811,4 +39809,4 @@ const setupCanvasBackend = async () => {
|
|
|
39811
39809
|
};
|
|
39812
39810
|
|
|
39813
39811
|
//#endregion
|
|
39814
|
-
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_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, getPositionRelativeToContainerOnPosition, getSelectedNodesMetadata, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, intersectArrays, isIOS, isInShadowDOM, isNodeInSelection, isServer, loadImageSource, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, setupCanvasBackend, setupSkiaBackend };
|
|
39812
|
+
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, getPositionRelativeToContainerOnPosition, getSelectedNodesMetadata, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, intersectArrays, isIOS, isInShadowDOM, isNodeInSelection, isServer, loadImageSource, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, setupCanvasBackend, setupSkiaBackend };
|