@inditextech/weave-sdk 5.0.0-SNAPSHOT.397.1 → 5.0.0-SNAPSHOT.403.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.js +235 -29
- package/dist/sdk.node.js +235 -29
- package/dist/sdk.node.stats.html +1 -1
- package/dist/sdk.stats.html +1 -1
- package/dist/types.d.ts +61 -45
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +235 -29
- package/dist/types.js.map +1 -1
- package/dist/types.stats.html +1 -1
- package/package.json +2 -2
package/dist/sdk.js
CHANGED
|
@@ -3501,13 +3501,34 @@ function getBoundingBox(nodes, config) {
|
|
|
3501
3501
|
height: maxY - minY
|
|
3502
3502
|
};
|
|
3503
3503
|
}
|
|
3504
|
+
/**
|
|
3505
|
+
* Builds an array of Weave node IDs from `groupId` up to the root,
|
|
3506
|
+
* including only nodes that have a `nodeType` attribute (actual Weave nodes,
|
|
3507
|
+
* not Konva stage/layer). Used as the multi-stop set for `getInstanceRecursive`
|
|
3508
|
+
* and group-context ancestor checks.
|
|
3509
|
+
*/
|
|
3510
|
+
function buildAncestorGroupIds(groupId, stage) {
|
|
3511
|
+
const ids = [];
|
|
3512
|
+
let cur = stage.findOne(`#${groupId}`) ?? null;
|
|
3513
|
+
while (cur) {
|
|
3514
|
+
const id = cur.getAttrs().id;
|
|
3515
|
+
if (id && cur.getAttrs().nodeType) ids.push(id);
|
|
3516
|
+
cur = cur.getParent();
|
|
3517
|
+
}
|
|
3518
|
+
return ids;
|
|
3519
|
+
}
|
|
3504
3520
|
function getTargetedNode(instance) {
|
|
3505
3521
|
const stage = instance.getStage();
|
|
3506
3522
|
let selectedGroup = void 0;
|
|
3507
3523
|
const mousePos = stage.getPointerPosition();
|
|
3508
3524
|
if (mousePos) {
|
|
3509
3525
|
const inter = stage.getIntersection(mousePos);
|
|
3510
|
-
if (inter)
|
|
3526
|
+
if (inter) {
|
|
3527
|
+
const selectionPlugin = instance.getPlugin("nodesSelection");
|
|
3528
|
+
const activeGroupContext = selectionPlugin?.getActiveGroupContext() ?? void 0;
|
|
3529
|
+
const stopIds = activeGroupContext ? buildAncestorGroupIds(activeGroupContext, stage) : void 0;
|
|
3530
|
+
selectedGroup = instance.getInstanceRecursive(inter, [], stopIds);
|
|
3531
|
+
}
|
|
3511
3532
|
}
|
|
3512
3533
|
return selectedGroup;
|
|
3513
3534
|
}
|
|
@@ -3648,7 +3669,7 @@ function getVisibleNodes({ instance, skipNodes, referenceLayer }) {
|
|
|
3648
3669
|
nodes.forEach((node) => {
|
|
3649
3670
|
const actualNodeParent = instance.getNodeContainer(node);
|
|
3650
3671
|
if (actualNodeParent?.getAttrs().id !== referenceLayer?.getAttrs().id) return;
|
|
3651
|
-
if (node.getParent()?.getAttrs().nodeType === "group") return;
|
|
3672
|
+
if (node.getParent()?.getAttrs().nodeType === "group" && node.getParent()?.getAttrs().id !== referenceLayer?.getAttrs().id) return;
|
|
3652
3673
|
if (skipNodes.includes(node.getParent()?.getAttrs().nodeId)) return;
|
|
3653
3674
|
if (skipNodes.includes(node.getAttrs().id ?? "")) return;
|
|
3654
3675
|
if (node.getAttrs().nodeType === "connector") return;
|
|
@@ -4826,6 +4847,7 @@ function handleClickOrTap(ctx, e) {
|
|
|
4826
4847
|
let areNodesSelected = false;
|
|
4827
4848
|
let nodeTargeted = selectedGroup && !(selectedGroup.getAttrs().active ?? false) ? selectedGroup : e.target;
|
|
4828
4849
|
if (e.target === weave.getStage()) {
|
|
4850
|
+
if (ctx.getActiveGroupContext() !== null) ctx.exitGroupContext();
|
|
4829
4851
|
ctx.getGesture().resetDoubleTap();
|
|
4830
4852
|
ctx.getNodesSelectionFeedbackPlugin()?.cleanupSelectedHalos();
|
|
4831
4853
|
return;
|
|
@@ -4835,6 +4857,18 @@ function handleClickOrTap(ctx, e) {
|
|
|
4835
4857
|
ctx.getGesture().resetDoubleTap();
|
|
4836
4858
|
return;
|
|
4837
4859
|
}
|
|
4860
|
+
const activeGroupContext = ctx.getActiveGroupContext();
|
|
4861
|
+
if (activeGroupContext !== null) {
|
|
4862
|
+
const isInsideActiveGroup = isNodeInsideGroup(nodeTargeted, activeGroupContext, stage);
|
|
4863
|
+
if (isInsideActiveGroup) {
|
|
4864
|
+
const parentId = nodeTargeted.getParent()?.getAttrs().id ?? "";
|
|
4865
|
+
if (parentId !== activeGroupContext) ctx.enterGroupContext(parentId);
|
|
4866
|
+
}
|
|
4867
|
+
if (!isInsideActiveGroup) {
|
|
4868
|
+
ctx.exitGroupContext();
|
|
4869
|
+
nodeTargeted = weave.getInstanceRecursive(nodeTargeted);
|
|
4870
|
+
}
|
|
4871
|
+
}
|
|
4838
4872
|
const metaPressed = e.evt.shiftKey || e.evt.ctrlKey || e.evt.metaKey;
|
|
4839
4873
|
const nodeSelectedIndex = tr.nodes().findIndex((node) => {
|
|
4840
4874
|
return node.getAttrs().id === nodeTargeted.getAttrs().id;
|
|
@@ -4858,6 +4892,13 @@ function handleClickOrTap(ctx, e) {
|
|
|
4858
4892
|
if (realNode) nodeTargeted = realNode;
|
|
4859
4893
|
}
|
|
4860
4894
|
if (typeof nodeTargeted.getAttrs().isContainerPrincipal !== "undefined" && !nodeTargeted.getAttrs().isContainerPrincipal) return;
|
|
4895
|
+
let cur = nodeTargeted;
|
|
4896
|
+
let p = cur.getParent();
|
|
4897
|
+
while (p?.getAttrs().nodeType === "group" && activeGroupContext !== p.getAttrs().id && !isAncestorOfActiveGroup(p, activeGroupContext, stage)) {
|
|
4898
|
+
cur = p;
|
|
4899
|
+
p = cur.getParent();
|
|
4900
|
+
}
|
|
4901
|
+
nodeTargeted = cur;
|
|
4861
4902
|
if (ctx.getGesture().isDoubleTap && !metaPressed) {
|
|
4862
4903
|
ctx.getGesture().resetDoubleTap();
|
|
4863
4904
|
nodeTargeted.dblClick();
|
|
@@ -4889,6 +4930,40 @@ function handleClickOrTap(ctx, e) {
|
|
|
4889
4930
|
}
|
|
4890
4931
|
ctx.triggerSelectedNodesEvent();
|
|
4891
4932
|
}
|
|
4933
|
+
/**
|
|
4934
|
+
* Returns true if `node` is anywhere within the group hierarchy rooted at
|
|
4935
|
+
* `groupId`: either a descendant of the active group itself, or a descendant
|
|
4936
|
+
* of any ancestor group in the path from `groupId` to the root.
|
|
4937
|
+
* Used to decide whether a click should keep the current group context active.
|
|
4938
|
+
*/
|
|
4939
|
+
function isNodeInsideGroup(node, groupId, stage) {
|
|
4940
|
+
const groupNode = stage.findOne(`#${groupId}`);
|
|
4941
|
+
if (!groupNode) return false;
|
|
4942
|
+
const containerIds = new Set(buildAncestorGroupIds(groupId, stage));
|
|
4943
|
+
let current = node;
|
|
4944
|
+
while (current) {
|
|
4945
|
+
if (containerIds.has(current.getAttrs().id ?? "")) return true;
|
|
4946
|
+
current = current.getParent();
|
|
4947
|
+
}
|
|
4948
|
+
return false;
|
|
4949
|
+
}
|
|
4950
|
+
/**
|
|
4951
|
+
* Returns true if `node` is a (strict) ancestor of the active group — i.e.
|
|
4952
|
+
* it appears in the parent chain above `activeGroupId`, not at the group
|
|
4953
|
+
* itself and not below it.
|
|
4954
|
+
*/
|
|
4955
|
+
function isAncestorOfActiveGroup(node, activeGroupId, stage) {
|
|
4956
|
+
if (!node || !activeGroupId) return false;
|
|
4957
|
+
const nodeId = node.getAttrs().id ?? "";
|
|
4958
|
+
const activeGroupNode = stage.findOne(`#${activeGroupId}`);
|
|
4959
|
+
if (!activeGroupNode) return false;
|
|
4960
|
+
let cur = activeGroupNode.getParent();
|
|
4961
|
+
while (cur) {
|
|
4962
|
+
if ((cur.getAttrs().id ?? "") === nodeId) return true;
|
|
4963
|
+
cur = cur.getParent();
|
|
4964
|
+
}
|
|
4965
|
+
return false;
|
|
4966
|
+
}
|
|
4892
4967
|
|
|
4893
4968
|
//#endregion
|
|
4894
4969
|
//#region src/plugins/nodes-selection/events/keyboard.ts
|
|
@@ -4902,6 +4977,13 @@ function registerKeyboardHandlers(ctx) {
|
|
|
4902
4977
|
const signal = ctx.getWeaveInstance().getEventsController().signal;
|
|
4903
4978
|
stage.container().addEventListener("keydown", (e) => {
|
|
4904
4979
|
if (e.code === "Space") ctx.setSpaceKeyPressed(true);
|
|
4980
|
+
if (e.code === "Escape") {
|
|
4981
|
+
if (ctx.getActiveGroupContext() !== null) {
|
|
4982
|
+
ctx.exitGroupContext();
|
|
4983
|
+
e.stopPropagation();
|
|
4984
|
+
return;
|
|
4985
|
+
}
|
|
4986
|
+
}
|
|
4905
4987
|
if (e.code === "Backspace" || e.code === "Delete") {
|
|
4906
4988
|
Promise.resolve().then(() => {
|
|
4907
4989
|
ctx.removeSelectedNodes();
|
|
@@ -4965,6 +5047,8 @@ function handlePointerDown(ctx, e) {
|
|
|
4965
5047
|
const nodesSelected = tr.nodes();
|
|
4966
5048
|
for (const node of nodesSelected) node.fire("onSelectionCleared", { bubbles: true });
|
|
4967
5049
|
}
|
|
5050
|
+
const activeGroupContext = ctx.getActiveGroupContext();
|
|
5051
|
+
if (activeGroupContext !== null) ctx.exitGroupContext();
|
|
4968
5052
|
ctx.selectNone();
|
|
4969
5053
|
ctx.triggerSelectedNodesEvent();
|
|
4970
5054
|
ctx.getWeaveInstance().emitEvent("onSelectionState", true);
|
|
@@ -5112,6 +5196,8 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
|
5112
5196
|
gesture = new GestureDetector();
|
|
5113
5197
|
_handledClickOrTap = false;
|
|
5114
5198
|
dragSelectedNodes = [];
|
|
5199
|
+
_activeGroupContext = null;
|
|
5200
|
+
onRender = void 0;
|
|
5115
5201
|
constructor(params) {
|
|
5116
5202
|
super();
|
|
5117
5203
|
this.config = mergeExceptArrays(WEAVE_NODES_SELECTION_DEFAULT_CONFIG, params?.config ?? {});
|
|
@@ -5136,6 +5222,8 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
|
5136
5222
|
this.enabled = false;
|
|
5137
5223
|
this.pointers = {};
|
|
5138
5224
|
this.dragSelectedNodes = [];
|
|
5225
|
+
this._handledClickOrTap = false;
|
|
5226
|
+
this._activeGroupContext = null;
|
|
5139
5227
|
}
|
|
5140
5228
|
getName() {
|
|
5141
5229
|
return WEAVE_NODES_SELECTION_KEY;
|
|
@@ -5257,6 +5345,7 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
|
5257
5345
|
this.active = true;
|
|
5258
5346
|
});
|
|
5259
5347
|
this.instance.addEventListener("onNodeRemoved", (node) => {
|
|
5348
|
+
if (this._activeGroupContext === node.id) this.exitGroupContext();
|
|
5260
5349
|
const selectedNodes = this.getSelectedNodes();
|
|
5261
5350
|
const newSelectedNodes = selectedNodes.filter((actNode) => actNode.getAttrs().id !== node.id);
|
|
5262
5351
|
this.setSelectedNodes(newSelectedNodes);
|
|
@@ -5265,6 +5354,31 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
|
|
|
5265
5354
|
stage.container().style.cursor = "default";
|
|
5266
5355
|
});
|
|
5267
5356
|
}
|
|
5357
|
+
getActiveGroupContext() {
|
|
5358
|
+
return this._activeGroupContext;
|
|
5359
|
+
}
|
|
5360
|
+
enterGroupContext(groupId) {
|
|
5361
|
+
const stage = this.instance.getStage();
|
|
5362
|
+
const groupNode = stage.findOne(`#${groupId}`);
|
|
5363
|
+
if (!groupNode) return;
|
|
5364
|
+
this._activeGroupContext = groupId;
|
|
5365
|
+
groupNode.getChildren().forEach((child) => {
|
|
5366
|
+
child.setAttr("draggable", true);
|
|
5367
|
+
});
|
|
5368
|
+
this.selectNone();
|
|
5369
|
+
this.instance.emitEvent("onGroupContextChange", groupId);
|
|
5370
|
+
}
|
|
5371
|
+
exitGroupContext() {
|
|
5372
|
+
if (this._activeGroupContext === null) return;
|
|
5373
|
+
const stage = this.instance.getStage();
|
|
5374
|
+
const groupNode = stage.findOne(`#${this._activeGroupContext}`);
|
|
5375
|
+
if (groupNode) groupNode.getChildren().forEach((child) => {
|
|
5376
|
+
child.setAttr("draggable", false);
|
|
5377
|
+
});
|
|
5378
|
+
this._activeGroupContext = null;
|
|
5379
|
+
this.selectNone();
|
|
5380
|
+
this.instance.emitEvent("onGroupContextChange", null);
|
|
5381
|
+
}
|
|
5268
5382
|
getLayer() {
|
|
5269
5383
|
const stage = this.instance.getStage();
|
|
5270
5384
|
return stage.findOne(`#${this.getLayerName()}`);
|
|
@@ -6215,10 +6329,27 @@ var WeaveNode = class {
|
|
|
6215
6329
|
this.hideHoverState();
|
|
6216
6330
|
return;
|
|
6217
6331
|
}
|
|
6332
|
+
if (this.isHoverSuppressedByGroupContext(node, selectionPlugin)) {
|
|
6333
|
+
this.hideHoverState();
|
|
6334
|
+
return;
|
|
6335
|
+
}
|
|
6218
6336
|
if (node?.canBeHovered?.()) selectionPlugin.getHoverTransformer().nodes([node]);
|
|
6219
6337
|
else selectionPlugin.getHoverTransformer().nodes([]);
|
|
6220
6338
|
selectionPlugin.getHoverTransformer().moveToTop();
|
|
6221
6339
|
}
|
|
6340
|
+
isHoverSuppressedByGroupContext(node, selectionPlugin) {
|
|
6341
|
+
const activeGroupId = selectionPlugin.getActiveGroupContext();
|
|
6342
|
+
if (activeGroupId === null) return false;
|
|
6343
|
+
const activeGroupNode = this.instance.getStage().findOne(`#${activeGroupId}`);
|
|
6344
|
+
if (!activeGroupNode) return false;
|
|
6345
|
+
const hoveredId = node.getAttrs().id ?? "";
|
|
6346
|
+
let current = activeGroupNode;
|
|
6347
|
+
while (current) {
|
|
6348
|
+
if ((current.getAttrs().id ?? "") === hoveredId) return true;
|
|
6349
|
+
current = current.getParent();
|
|
6350
|
+
}
|
|
6351
|
+
return false;
|
|
6352
|
+
}
|
|
6222
6353
|
hideHoverState() {
|
|
6223
6354
|
const selectionPlugin = this.getSelectionPlugin();
|
|
6224
6355
|
if (!selectionPlugin) return;
|
|
@@ -6476,7 +6607,8 @@ var WeaveNode = class {
|
|
|
6476
6607
|
}
|
|
6477
6608
|
this.instance.emitEvent("onDrag", null);
|
|
6478
6609
|
const realNodeTarget = this.getRealSelectedNode(nodeTarget);
|
|
6479
|
-
|
|
6610
|
+
const isInGroupContext = (this.getSelectionPlugin()?.getActiveGroupContext() ?? null) !== null;
|
|
6611
|
+
if (!isInGroupContext && this.isSelecting() && this.getSelectionPlugin()?.getSelectedNodes().length === 1 && (realNodeTarget.getAttrs().lockToContainer === void 0 || !realNodeTarget.getAttrs().lockToContainer)) this.instance.stateTransactional(() => {
|
|
6480
6612
|
clearContainerTargets(this.instance);
|
|
6481
6613
|
const layerToMove = containerOverCursor(this.instance, [realNodeTarget]);
|
|
6482
6614
|
let containerToMove = this.instance.getMainLayer();
|
|
@@ -6564,7 +6696,19 @@ var WeaveNode = class {
|
|
|
6564
6696
|
const user = this.instance.getStore().getUser();
|
|
6565
6697
|
const activeAction = this.instance.getActiveAction();
|
|
6566
6698
|
const isNodeSelectionEnabled = this.getSelectionPlugin()?.isEnabled();
|
|
6567
|
-
const
|
|
6699
|
+
const activeGroupCtx = this.getSelectionPlugin()?.getActiveGroupContext() ?? void 0;
|
|
6700
|
+
let realNode;
|
|
6701
|
+
if (activeGroupCtx) {
|
|
6702
|
+
const stage$1 = this.instance.getStage();
|
|
6703
|
+
const stopIds = [];
|
|
6704
|
+
let cur = stage$1.findOne(`#${activeGroupCtx}`) ?? null;
|
|
6705
|
+
while (cur) {
|
|
6706
|
+
const id = cur.getAttrs().id;
|
|
6707
|
+
if (id) stopIds.push(id);
|
|
6708
|
+
cur = cur.getParent();
|
|
6709
|
+
}
|
|
6710
|
+
realNode = this.instance.getInstanceRecursive(node, [], stopIds);
|
|
6711
|
+
} else realNode = this.instance.getInstanceRecursive(node);
|
|
6568
6712
|
const canBeTargeted = realNode.getAttrs().canBeTargeted !== false;
|
|
6569
6713
|
const isLocked = realNode.getAttrs().locked ?? false;
|
|
6570
6714
|
const isMutexLocked = realNode.getAttrs().mutexLocked && realNode.getAttrs().mutexUserId !== user.id;
|
|
@@ -9518,7 +9662,7 @@ var WeaveRegisterManager = class {
|
|
|
9518
9662
|
|
|
9519
9663
|
//#endregion
|
|
9520
9664
|
//#region package.json
|
|
9521
|
-
var version = "5.0.0-SNAPSHOT.
|
|
9665
|
+
var version = "5.0.0-SNAPSHOT.403.1";
|
|
9522
9666
|
|
|
9523
9667
|
//#endregion
|
|
9524
9668
|
//#region src/managers/setup.ts
|
|
@@ -9612,13 +9756,18 @@ var WeaveStageManager = class {
|
|
|
9612
9756
|
const stage = this.getStage();
|
|
9613
9757
|
return stage.findOne(`#${WEAVE_UTILITY_LAYER_ID}`);
|
|
9614
9758
|
}
|
|
9615
|
-
getInstanceRecursive(instance, filterInstanceType = []) {
|
|
9759
|
+
getInstanceRecursive(instance, filterInstanceType = [], stopAtGroupId) {
|
|
9616
9760
|
const attributes = instance.getAttrs();
|
|
9761
|
+
if (stopAtGroupId) {
|
|
9762
|
+
const parentId = instance.getParent()?.getAttrs().id ?? "";
|
|
9763
|
+
const matches = Array.isArray(stopAtGroupId) ? stopAtGroupId.includes(parentId) : parentId === stopAtGroupId;
|
|
9764
|
+
if (matches) return instance;
|
|
9765
|
+
}
|
|
9617
9766
|
if (instance.getParent() && instance.getParent()?.getAttrs().nodeType && ![
|
|
9618
9767
|
"stage",
|
|
9619
9768
|
"layer",
|
|
9620
9769
|
...filterInstanceType
|
|
9621
|
-
].includes(instance.getParent()?.getAttrs().nodeType)) return this.getInstanceRecursive(instance.getParent());
|
|
9770
|
+
].includes(instance.getParent()?.getAttrs().nodeType)) return this.getInstanceRecursive(instance.getParent(), filterInstanceType, stopAtGroupId);
|
|
9622
9771
|
if (attributes.id === "mainLayer") return this.instance.getMainLayer();
|
|
9623
9772
|
if (attributes.id === "stage") return this.instance.getMainLayer();
|
|
9624
9773
|
return instance;
|
|
@@ -10957,8 +11106,8 @@ var Weave = class {
|
|
|
10957
11106
|
getStageConfiguration() {
|
|
10958
11107
|
return this.stageManager.getConfiguration();
|
|
10959
11108
|
}
|
|
10960
|
-
getInstanceRecursive(instance, filterInstanceType = []) {
|
|
10961
|
-
return this.stageManager.getInstanceRecursive(instance, filterInstanceType);
|
|
11109
|
+
getInstanceRecursive(instance, filterInstanceType = [], stopAtGroupId) {
|
|
11110
|
+
return this.stageManager.getInstanceRecursive(instance, filterInstanceType, stopAtGroupId);
|
|
10962
11111
|
}
|
|
10963
11112
|
getContainerNodes() {
|
|
10964
11113
|
return this.stageManager.getContainerNodes();
|
|
@@ -11926,6 +12075,25 @@ var WeaveGroupNode = class extends WeaveNode {
|
|
|
11926
12075
|
y: 1
|
|
11927
12076
|
});
|
|
11928
12077
|
});
|
|
12078
|
+
group.dblClick = () => {
|
|
12079
|
+
const selectionPlugin = this.instance.getPlugin("nodesSelection");
|
|
12080
|
+
if (!selectionPlugin) return;
|
|
12081
|
+
const groupId = group.getAttrs().id ?? "";
|
|
12082
|
+
selectionPlugin.enterGroupContext(groupId);
|
|
12083
|
+
const stage = this.instance.getStage();
|
|
12084
|
+
const mousePos = stage.getPointerPosition();
|
|
12085
|
+
if (!mousePos) return;
|
|
12086
|
+
const selectionLayer = stage.findOne("#" + selectionPlugin.getLayerName());
|
|
12087
|
+
selectionLayer?.listening(false);
|
|
12088
|
+
const intersected = stage.getIntersection(mousePos);
|
|
12089
|
+
selectionLayer?.listening(true);
|
|
12090
|
+
if (!intersected) return;
|
|
12091
|
+
const directChild = this.instance.getInstanceRecursive(intersected, [], groupId);
|
|
12092
|
+
if (directChild.getParent()?.getAttrs().id === groupId) {
|
|
12093
|
+
selectionPlugin.setSelectedNodes([directChild]);
|
|
12094
|
+
selectionPlugin.triggerSelectedNodesEvent();
|
|
12095
|
+
}
|
|
12096
|
+
};
|
|
11929
12097
|
return group;
|
|
11930
12098
|
}
|
|
11931
12099
|
onUpdate(nodeInstance, nextProps) {
|
|
@@ -12130,6 +12298,7 @@ var WeaveShapeLabelEditor = class {
|
|
|
12130
12298
|
this.instance.releaseMutexLock();
|
|
12131
12299
|
this.instance.getStage().mode(WEAVE_STAGE_DEFAULT_MODE);
|
|
12132
12300
|
this.editing = false;
|
|
12301
|
+
const editedGroupId = this.editingGroup?.id() ?? null;
|
|
12133
12302
|
if (this.editingGroup) {
|
|
12134
12303
|
const liveGroup = this.instance.getStage().findOne(`#${this.editingGroup.id()}`);
|
|
12135
12304
|
const labelNode = liveGroup?.findOne(`#${labelId(this.editingGroup.id())}`);
|
|
@@ -12145,7 +12314,13 @@ var WeaveShapeLabelEditor = class {
|
|
|
12145
12314
|
this.editingTextBounds = null;
|
|
12146
12315
|
this.instance.getStage().off(".weaveLabelEdit");
|
|
12147
12316
|
const selectionPlugin = this.instance.getPlugin("nodesSelection");
|
|
12148
|
-
if (selectionPlugin)
|
|
12317
|
+
if (selectionPlugin) {
|
|
12318
|
+
this.instance.enablePlugin("nodesSelection");
|
|
12319
|
+
if (editedGroupId) requestAnimationFrame(() => {
|
|
12320
|
+
const liveGroup = this.instance.getStage().findOne(`#${editedGroupId}`);
|
|
12321
|
+
if (liveGroup) selectionPlugin.setSelectedNodes([liveGroup]);
|
|
12322
|
+
});
|
|
12323
|
+
}
|
|
12149
12324
|
}
|
|
12150
12325
|
updateTextAreaPosition(group, textBounds) {
|
|
12151
12326
|
if (!this.editing || !this.textArea) return;
|
|
@@ -32190,19 +32365,40 @@ var WeaveNodesSnappingGuides = class {
|
|
|
32190
32365
|
const stage = this.instance.getStage();
|
|
32191
32366
|
const scaleX = stage.scaleX();
|
|
32192
32367
|
const scaleY = stage.scaleY();
|
|
32193
|
-
|
|
32194
|
-
if (container
|
|
32195
|
-
|
|
32196
|
-
|
|
32197
|
-
|
|
32198
|
-
|
|
32199
|
-
|
|
32200
|
-
|
|
32368
|
+
const mainLayer = this.instance.getMainLayer();
|
|
32369
|
+
if (container === stage || container === mainLayer) {
|
|
32370
|
+
const pos$1 = stage.position();
|
|
32371
|
+
return {
|
|
32372
|
+
x: -pos$1.x / scaleX,
|
|
32373
|
+
y: -pos$1.y / scaleY,
|
|
32374
|
+
width: stage.width() / scaleX,
|
|
32375
|
+
height: stage.height() / scaleY
|
|
32376
|
+
};
|
|
32377
|
+
}
|
|
32378
|
+
let frameNode = null;
|
|
32379
|
+
let cur = container;
|
|
32380
|
+
while (cur && cur !== mainLayer && cur !== stage) {
|
|
32381
|
+
if (cur.getAttrs().nodeType === "frame") {
|
|
32382
|
+
frameNode = cur;
|
|
32383
|
+
break;
|
|
32384
|
+
}
|
|
32385
|
+
cur = cur.getParent();
|
|
32386
|
+
}
|
|
32387
|
+
if (frameNode) {
|
|
32388
|
+
const rect = frameNode.getClientRect({ relativeTo: stage });
|
|
32389
|
+
return {
|
|
32390
|
+
x: rect.x,
|
|
32391
|
+
y: rect.y,
|
|
32392
|
+
width: rect.width,
|
|
32393
|
+
height: rect.height
|
|
32394
|
+
};
|
|
32395
|
+
}
|
|
32396
|
+
const pos = stage.position();
|
|
32201
32397
|
return {
|
|
32202
|
-
x,
|
|
32203
|
-
y,
|
|
32204
|
-
width,
|
|
32205
|
-
height
|
|
32398
|
+
x: -pos.x / scaleX,
|
|
32399
|
+
y: -pos.y / scaleY,
|
|
32400
|
+
width: stage.width() / scaleX,
|
|
32401
|
+
height: stage.height() / scaleY
|
|
32206
32402
|
};
|
|
32207
32403
|
}
|
|
32208
32404
|
renderSnapGuides(container, snap) {
|
|
@@ -32214,8 +32410,11 @@ var WeaveNodesSnappingGuides = class {
|
|
|
32214
32410
|
if (snap.containerId !== "mainLayer") {
|
|
32215
32411
|
const containerNode = stage.findOne(`#${snap.containerId}`);
|
|
32216
32412
|
if (containerNode) {
|
|
32217
|
-
const
|
|
32218
|
-
|
|
32413
|
+
const canvasPt = containerNode.getAbsoluteTransform().point({
|
|
32414
|
+
x: snap.guide,
|
|
32415
|
+
y: 0
|
|
32416
|
+
});
|
|
32417
|
+
value = stage.getAbsoluteTransform().copy().invert().point(canvasPt).x;
|
|
32219
32418
|
}
|
|
32220
32419
|
}
|
|
32221
32420
|
this.layer.add(new Konva.Line({
|
|
@@ -32238,8 +32437,11 @@ var WeaveNodesSnappingGuides = class {
|
|
|
32238
32437
|
if (snap.containerId !== "mainLayer") {
|
|
32239
32438
|
const containerNode = stage.findOne(`#${snap.containerId}`);
|
|
32240
32439
|
if (containerNode) {
|
|
32241
|
-
const
|
|
32242
|
-
|
|
32440
|
+
const canvasPt = containerNode.getAbsoluteTransform().point({
|
|
32441
|
+
x: 0,
|
|
32442
|
+
y: snap.guide
|
|
32443
|
+
});
|
|
32444
|
+
value = stage.getAbsoluteTransform().copy().invert().point(canvasPt).y;
|
|
32243
32445
|
}
|
|
32244
32446
|
}
|
|
32245
32447
|
this.layer.add(new Konva.Line({
|
|
@@ -32705,6 +32907,10 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
|
|
|
32705
32907
|
this.relativeToId = containerNode.id();
|
|
32706
32908
|
}
|
|
32707
32909
|
}
|
|
32910
|
+
if (container !== this.instance.getMainLayer() && !container.getAttrs().nodeId && container.getAttrs().nodeType === "group") {
|
|
32911
|
+
this.relativeTo = container;
|
|
32912
|
+
this.relativeToId = container.id();
|
|
32913
|
+
}
|
|
32708
32914
|
if (!this.relativeTo) return;
|
|
32709
32915
|
this.visibleNodes = getVisibleNodes({
|
|
32710
32916
|
instance: this.instance,
|
|
@@ -32735,8 +32941,8 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
|
|
|
32735
32941
|
y: -1 * (relativeTo.getAttrs().containerCompensationY ?? 0)
|
|
32736
32942
|
};
|
|
32737
32943
|
const diff = {
|
|
32738
|
-
x:
|
|
32739
|
-
y:
|
|
32944
|
+
x: node.x() - nodeBox.x,
|
|
32945
|
+
y: node.y() - nodeBox.y
|
|
32740
32946
|
};
|
|
32741
32947
|
this.selectionOffsets.push({
|
|
32742
32948
|
x: nodeBox.x - nodesBox.x + diff.x + containerCompensation.x,
|
|
@@ -32930,4 +33136,4 @@ function getJSONFromYjsBinary(actualState) {
|
|
|
32930
33136
|
}
|
|
32931
33137
|
|
|
32932
33138
|
//#endregion
|
|
32933
|
-
export { ALIGN_NODES_ALIGN_TO, ALIGN_NODES_TOOL_ACTION_NAME, ALIGN_NODES_TOOL_STATE, BRUSH_TOOL_ACTION_NAME, BRUSH_TOOL_DEFAULT_CONFIG, BRUSH_TOOL_STATE, CONNECTOR_TOOL_ACTION_NAME, CONNECTOR_TOOL_DEFAULT_CONFIG, CONNECTOR_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, DEFAULT_GUIDE_TOOL_ACTION_CONFIG, DEFAULT_SNAPPING_MANAGER_CONFIG, ELLIPSE_TOOL_ACTION_NAME, ELLIPSE_TOOL_STATE, ERASER_TOOL_ACTION_NAME, ERASER_TOOL_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_DISTANCE_NAME, GUIDE_DISTANCE_ORIGIN, GUIDE_KIND, GUIDE_NAME, GUIDE_ORIENTATION, GUIDE_STATE, GUIDE_TOOL_ACTION_NAME, GUIDE_TOOL_STATE, LINE_TOOL_ACTION_NAME, LINE_TOOL_DEFAULT_CONFIG, LINE_TOOL_STATE, MEASURE_TOOL_ACTION_NAME, MEASURE_TOOL_STATE, MOVE_ORIENTATION, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, PEN_TOOL_ACTION_NAME, PEN_TOOL_STATE, POLYGON_TOOL_ACTION_NAME, POLYGON_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, REGULAR_POLYGON_TOOL_ACTION_NAME, REGULAR_POLYGON_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, STAGE_MINIMAP_DEFAULT_CONFIG, STAR_TOOL_ACTION_NAME, STAR_TOOL_STATE, TEXT_LAYOUT, TEXT_TOOL_ACTION_NAME, TEXT_TOOL_STATE, VIDEO_TOOL_ACTION_NAME, VIDEO_TOOL_STATE, WEAVE_ARROW_NODE_TYPE, WEAVE_ARROW_TOOL_ACTION_NAME, WEAVE_ARROW_TOOL_STATE, WEAVE_COMMENTS_RENDERER_KEY, WEAVE_COMMENTS_TOOL_LAYER_ID, WEAVE_COMMENT_CREATE_ACTION, WEAVE_COMMENT_NODE_ACTION, WEAVE_COMMENT_NODE_DEFAULTS, WEAVE_COMMENT_NODE_TYPE, WEAVE_COMMENT_STATUS, WEAVE_COMMENT_TOOL_ACTION_NAME, WEAVE_COMMENT_TOOL_DEFAULT_CONFIG, WEAVE_COMMENT_TOOL_STATE, WEAVE_COMMENT_VIEW_ACTION, WEAVE_CONNECTOR_NODE_ANCHOR_ORIGIN, WEAVE_CONNECTOR_NODE_DECORATOR_TYPE, WEAVE_CONNECTOR_NODE_DEFAULT_CONFIG, WEAVE_CONNECTOR_NODE_LINE_ORIGIN, WEAVE_CONNECTOR_NODE_LINE_TYPE, WEAVE_CONNECTOR_NODE_TYPE, WEAVE_COPY_PASTE_CONFIG_DEFAULT, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_COPY_PASTE_PASTE_CATCHER_ID, WEAVE_COPY_PASTE_PASTE_MODES, WEAVE_DEFAULT_USER_INFO_FUNCTION, WEAVE_ELLIPSE_NODE_TYPE, WEAVE_FRAME_DEFAULT_BACKGROUND_COLOR, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_CONFIG, WEAVE_GRID_DOT_TYPES, 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_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_NODES_SNAPPING_PLUGIN_KEY, WEAVE_POLYGON_NODE_TYPE, WEAVE_POLYGON_PRESETS, WEAVE_RECTANGLE_NODE_TYPE, WEAVE_REGULAR_POLYGON_NODE_TYPE, WEAVE_SHAPE_LABEL_DEFAULTS, 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_KEYBOARD_MOVE_ORIENTATION, WEAVE_STAGE_MINIMAP_KEY, WEAVE_STAGE_NODE_TYPE, WEAVE_STAGE_PANNING_DEFAULT_CONFIG, WEAVE_STAGE_PANNING_KEY, WEAVE_STAGE_PANNING_THROTTLE_MS, WEAVE_STAGE_SHAPE_LABEL_EDITION_MODE, 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, WeaveGuideToolAction, WeaveImageNode, WeaveImageToolAction, WeaveImagesToolAction, WeaveLayerNode, WeaveLineNode, WeaveLineToolAction, WeaveMeasureNode, WeaveMeasureToolAction, WeaveMoveToolAction, WeaveNode, WeaveNodesMultiSelectionFeedbackPlugin, WeaveNodesSelectionPlugin, WeaveNodesSnappingPlugin, WeavePenToolAction, WeavePlugin, WeavePolygonNode, WeavePolygonToolAction, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRegularPolygonNode, WeaveRegularPolygonToolAction, WeaveRenderer, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageKeyboardMovePlugin, WeaveStageMinimapPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStarNode, WeaveStarToolAction, WeaveStateManipulation, WeaveStore, WeaveStrokeNode, WeaveStrokeSingleNode, WeaveStrokeToolAction, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveUsersPresencePlugin, WeaveUsersSelectionPlugin, WeaveVideoNode, WeaveVideoToolAction, WeaveZoomInToolAction, WeaveZoomOutToolAction, canComposite, clearContainerTargets, computeEllipseLabelMinSize, computePolygonLabelMinSize, computeRectangleLabelMinSize, containerOverCursor, containsNodeDeep, defaultInitialState, downscaleImageFile, downscaleImageFromURL, getBoundingBox, getDownscaleRatio, getExportBoundingBox, getImageSizeFromFile, getJSONFromYjsBinary, getSelectedNodesMetadata, getShapeLabelSchemaFields, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, instantiatePreset, intersectArrays, isArray, isIOS, isInShadowDOM, isNodeInSelection, isNumber, isObject, isServer, labelId, loadImageSource, mapJsonToYjsArray, mapJsonToYjsElements, mapJsonToYjsMap, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, spreadLabelProps, weavejsToYjsBinary };
|
|
33139
|
+
export { ALIGN_NODES_ALIGN_TO, ALIGN_NODES_TOOL_ACTION_NAME, ALIGN_NODES_TOOL_STATE, BRUSH_TOOL_ACTION_NAME, BRUSH_TOOL_DEFAULT_CONFIG, BRUSH_TOOL_STATE, CONNECTOR_TOOL_ACTION_NAME, CONNECTOR_TOOL_DEFAULT_CONFIG, CONNECTOR_TOOL_STATE, COPY_PASTE_NODES_PLUGIN_STATE, DEFAULT_GUIDE_TOOL_ACTION_CONFIG, DEFAULT_SNAPPING_MANAGER_CONFIG, ELLIPSE_TOOL_ACTION_NAME, ELLIPSE_TOOL_STATE, ERASER_TOOL_ACTION_NAME, ERASER_TOOL_STATE, FRAME_TOOL_ACTION_NAME, FRAME_TOOL_STATE, GUIDE_DISTANCE_NAME, GUIDE_DISTANCE_ORIGIN, GUIDE_KIND, GUIDE_NAME, GUIDE_ORIENTATION, GUIDE_STATE, GUIDE_TOOL_ACTION_NAME, GUIDE_TOOL_STATE, LINE_TOOL_ACTION_NAME, LINE_TOOL_DEFAULT_CONFIG, LINE_TOOL_STATE, MEASURE_TOOL_ACTION_NAME, MEASURE_TOOL_STATE, MOVE_ORIENTATION, MOVE_TOOL_ACTION_NAME, MOVE_TOOL_STATE, PEN_TOOL_ACTION_NAME, PEN_TOOL_STATE, POLYGON_TOOL_ACTION_NAME, POLYGON_TOOL_STATE, RECTANGLE_TOOL_ACTION_NAME, RECTANGLE_TOOL_STATE, REGULAR_POLYGON_TOOL_ACTION_NAME, REGULAR_POLYGON_TOOL_STATE, SELECTION_TOOL_ACTION_NAME, SELECTION_TOOL_STATE, STAGE_MINIMAP_DEFAULT_CONFIG, STAR_TOOL_ACTION_NAME, STAR_TOOL_STATE, TEXT_LAYOUT, TEXT_TOOL_ACTION_NAME, TEXT_TOOL_STATE, VIDEO_TOOL_ACTION_NAME, VIDEO_TOOL_STATE, WEAVE_ARROW_NODE_TYPE, WEAVE_ARROW_TOOL_ACTION_NAME, WEAVE_ARROW_TOOL_STATE, WEAVE_COMMENTS_RENDERER_KEY, WEAVE_COMMENTS_TOOL_LAYER_ID, WEAVE_COMMENT_CREATE_ACTION, WEAVE_COMMENT_NODE_ACTION, WEAVE_COMMENT_NODE_DEFAULTS, WEAVE_COMMENT_NODE_TYPE, WEAVE_COMMENT_STATUS, WEAVE_COMMENT_TOOL_ACTION_NAME, WEAVE_COMMENT_TOOL_DEFAULT_CONFIG, WEAVE_COMMENT_TOOL_STATE, WEAVE_COMMENT_VIEW_ACTION, WEAVE_CONNECTOR_NODE_ANCHOR_ORIGIN, WEAVE_CONNECTOR_NODE_DECORATOR_TYPE, WEAVE_CONNECTOR_NODE_DEFAULT_CONFIG, WEAVE_CONNECTOR_NODE_LINE_ORIGIN, WEAVE_CONNECTOR_NODE_LINE_TYPE, WEAVE_CONNECTOR_NODE_TYPE, WEAVE_COPY_PASTE_CONFIG_DEFAULT, WEAVE_COPY_PASTE_NODES_KEY, WEAVE_COPY_PASTE_PASTE_CATCHER_ID, WEAVE_COPY_PASTE_PASTE_MODES, WEAVE_DEFAULT_USER_INFO_FUNCTION, WEAVE_ELLIPSE_NODE_TYPE, WEAVE_FRAME_DEFAULT_BACKGROUND_COLOR, WEAVE_FRAME_NODE_DEFAULT_CONFIG, WEAVE_FRAME_NODE_DEFAULT_PROPS, WEAVE_FRAME_NODE_TYPE, WEAVE_GRID_DEFAULT_CONFIG, WEAVE_GRID_DOT_TYPES, 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_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_NODES_SNAPPING_PLUGIN_KEY, WEAVE_POLYGON_NODE_TYPE, WEAVE_POLYGON_PRESETS, WEAVE_RECTANGLE_NODE_TYPE, WEAVE_REGULAR_POLYGON_NODE_TYPE, WEAVE_SHAPE_LABEL_DEFAULTS, 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_KEYBOARD_MOVE_ORIENTATION, WEAVE_STAGE_MINIMAP_KEY, WEAVE_STAGE_NODE_TYPE, WEAVE_STAGE_PANNING_DEFAULT_CONFIG, WEAVE_STAGE_PANNING_KEY, WEAVE_STAGE_PANNING_THROTTLE_MS, WEAVE_STAGE_SHAPE_LABEL_EDITION_MODE, 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, WeaveGuideToolAction, WeaveImageNode, WeaveImageToolAction, WeaveImagesToolAction, WeaveLayerNode, WeaveLineNode, WeaveLineToolAction, WeaveMeasureNode, WeaveMeasureToolAction, WeaveMoveToolAction, WeaveNode, WeaveNodesMultiSelectionFeedbackPlugin, WeaveNodesSelectionPlugin, WeaveNodesSnappingPlugin, WeavePenToolAction, WeavePlugin, WeavePolygonNode, WeavePolygonToolAction, WeaveRectangleNode, WeaveRectangleToolAction, WeaveRegularPolygonNode, WeaveRegularPolygonToolAction, WeaveRenderer, WeaveSelectionToolAction, WeaveStageDropAreaPlugin, WeaveStageGridPlugin, WeaveStageKeyboardMovePlugin, WeaveStageMinimapPlugin, WeaveStageNode, WeaveStagePanningPlugin, WeaveStageResizePlugin, WeaveStageZoomPlugin, WeaveStarNode, WeaveStarToolAction, WeaveStateManipulation, WeaveStore, WeaveStrokeNode, WeaveStrokeSingleNode, WeaveStrokeToolAction, WeaveTextNode, WeaveTextToolAction, WeaveUsersPointersPlugin, WeaveUsersPresencePlugin, WeaveUsersSelectionPlugin, WeaveVideoNode, WeaveVideoToolAction, WeaveZoomInToolAction, WeaveZoomOutToolAction, buildAncestorGroupIds, canComposite, clearContainerTargets, computeEllipseLabelMinSize, computePolygonLabelMinSize, computeRectangleLabelMinSize, containerOverCursor, containsNodeDeep, defaultInitialState, downscaleImageFile, downscaleImageFromURL, getBoundingBox, getDownscaleRatio, getExportBoundingBox, getImageSizeFromFile, getJSONFromYjsBinary, getSelectedNodesMetadata, getShapeLabelSchemaFields, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, instantiatePreset, intersectArrays, isArray, isIOS, isInShadowDOM, isNodeInSelection, isNumber, isObject, isServer, labelId, loadImageSource, mapJsonToYjsArray, mapJsonToYjsElements, mapJsonToYjsMap, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, spreadLabelProps, weavejsToYjsBinary };
|