@inditextech/weave-sdk 5.2.2 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sdk.js +165 -12
- package/dist/sdk.node.js +165 -12
- package/dist/sdk.node.stats.html +1 -1
- package/dist/sdk.stats.html +1 -1
- package/dist/types.d.ts +50 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +165 -12
- package/dist/types.js.map +1 -1
- package/dist/types.stats.html +1 -1
- package/package.json +2 -2
package/dist/types.js
CHANGED
|
@@ -1659,7 +1659,8 @@ const WEAVE_NODES_SELECTION_DEFAULT_CONFIG = {
|
|
|
1659
1659
|
};
|
|
1660
1660
|
}
|
|
1661
1661
|
},
|
|
1662
|
-
style: { dragOpacity: .75 }
|
|
1662
|
+
style: { dragOpacity: .75 },
|
|
1663
|
+
selectionMode: "intersects"
|
|
1663
1664
|
};
|
|
1664
1665
|
//#endregion
|
|
1665
1666
|
//#region ../../node_modules/lodash/_listCacheClear.js
|
|
@@ -4675,7 +4676,15 @@ function handleClickOrTap(ctx, e) {
|
|
|
4675
4676
|
nodeTargeted.dblClick();
|
|
4676
4677
|
return;
|
|
4677
4678
|
}
|
|
4678
|
-
|
|
4679
|
+
const isCtrlOrCmdPressed = e.evt.ctrlKey || e.evt.metaKey;
|
|
4680
|
+
if (!e.evt.shiftKey) {
|
|
4681
|
+
const wasSelectedBeforeThisClick = tr.nodes().findIndex((node) => node.getAttrs().id === nodeTargeted.getAttrs().id) !== -1;
|
|
4682
|
+
nodeTargeted.click({
|
|
4683
|
+
wasSelected: wasSelectedBeforeThisClick,
|
|
4684
|
+
ctrlOrMetaPressed: isCtrlOrCmdPressed
|
|
4685
|
+
});
|
|
4686
|
+
}
|
|
4687
|
+
if (isCtrlOrCmdPressed) return;
|
|
4679
4688
|
if (!metaPressed) {
|
|
4680
4689
|
tr.nodes([nodeTargeted]);
|
|
4681
4690
|
tr.show();
|
|
@@ -4873,6 +4882,13 @@ function handlePointerMove(ctx, e) {
|
|
|
4873
4882
|
//#endregion
|
|
4874
4883
|
//#region src/plugins/nodes-selection/events/pointer-up.ts
|
|
4875
4884
|
/**
|
|
4885
|
+
* Returns true when `inner` is fully enclosed within `outer` (an AABB
|
|
4886
|
+
* containment test, as opposed to mere overlap/intersection).
|
|
4887
|
+
*/
|
|
4888
|
+
function isBoxContained(outer, inner) {
|
|
4889
|
+
return inner.x >= outer.x && inner.y >= outer.y && inner.x + inner.width <= outer.x + outer.width && inner.y + inner.height <= outer.y + outer.height;
|
|
4890
|
+
}
|
|
4891
|
+
/**
|
|
4876
4892
|
* Handles the stage `pointerup` event: ends any in-progress area-selection
|
|
4877
4893
|
* (including the node-filtering/commit step), or delegates to the click/tap
|
|
4878
4894
|
* handler for point interactions.
|
|
@@ -4937,17 +4953,17 @@ function handlePointerUp(ctx, e) {
|
|
|
4937
4953
|
});
|
|
4938
4954
|
const box = ctx.getAreaSelector().getBox();
|
|
4939
4955
|
ctx.getAreaSelector().getRect().visible(false);
|
|
4956
|
+
const selectionMode = ctx.getConfiguration().selectionMode ?? "intersects";
|
|
4940
4957
|
const selected = shapes.filter((shape) => {
|
|
4941
4958
|
const shapeMutex = weave.getNodeMutexLock(shape.id());
|
|
4942
4959
|
if (shapeMutex && shapeMutex.user.id !== actUser.id) return false;
|
|
4943
4960
|
let parent = weave.getInstanceRecursive(shape.getParent());
|
|
4944
4961
|
if (parent.getAttrs().nodeId) parent = stage.findOne(`#${parent.getAttrs().nodeId}`);
|
|
4945
|
-
if (shape.getAttrs().nodeType && shape.getAttrs().nodeType === "frame")
|
|
4946
|
-
|
|
4947
|
-
|
|
4962
|
+
if (shape.getAttrs().nodeType && shape.getAttrs().nodeType === "frame") return isBoxContained(box, shape.getClientRect());
|
|
4963
|
+
if (shape.getAttrs().nodeType && ["layer", "frame"].includes(parent?.getAttrs().nodeType)) {
|
|
4964
|
+
const shapeBox = shape.getClientRect();
|
|
4965
|
+
return selectionMode === "contains" ? isBoxContained(box, shapeBox) : Konva.Util.haveIntersection(box, shapeBox);
|
|
4948
4966
|
}
|
|
4949
|
-
if (shape.getAttrs().nodeType && shape?.getAttrs().nodeType === "group" && ["layer", "frame"].includes(parent?.getAttrs().nodeType)) return shape.getAttrs().nodeType && Konva.Util.haveIntersection(box, shape.getClientRect());
|
|
4950
|
-
if (shape.getAttrs().nodeType && shape.getAttrs().nodeType !== "group" && ["layer", "frame"].includes(parent?.getAttrs().nodeType)) return shape.getAttrs().nodeType && Konva.Util.haveIntersection(box, shape.getClientRect());
|
|
4951
4967
|
return false;
|
|
4952
4968
|
});
|
|
4953
4969
|
const selectedNodes = /* @__PURE__ */ new Set();
|
|
@@ -5937,6 +5953,7 @@ const augmentKonvaNodeClass = (config) => {
|
|
|
5937
5953
|
Konva.Node.prototype.closeCrop = function() {};
|
|
5938
5954
|
Konva.Node.prototype.resetCrop = function() {};
|
|
5939
5955
|
Konva.Node.prototype.dblClick = function() {};
|
|
5956
|
+
Konva.Node.prototype.click = function() {};
|
|
5940
5957
|
Konva.Node.prototype.allowedAnchors = function() {
|
|
5941
5958
|
return [];
|
|
5942
5959
|
};
|
|
@@ -9449,7 +9466,7 @@ var WeaveRegisterManager = class {
|
|
|
9449
9466
|
};
|
|
9450
9467
|
//#endregion
|
|
9451
9468
|
//#region package.json
|
|
9452
|
-
var version = "5.
|
|
9469
|
+
var version = "5.4.0";
|
|
9453
9470
|
//#endregion
|
|
9454
9471
|
//#region src/managers/setup.ts
|
|
9455
9472
|
var WeaveSetupManager = class {
|
|
@@ -13422,8 +13439,13 @@ const WEAVE_TEXT_NODE_DEFAULT_CONFIG = {
|
|
|
13422
13439
|
transform: { ...WEAVE_NODES_SELECTION_DEFAULT_CONFIG.selection },
|
|
13423
13440
|
outline: { enabled: false },
|
|
13424
13441
|
cursor: { color: "#000000" },
|
|
13425
|
-
edition: { borderSize: 2 }
|
|
13442
|
+
edition: { borderSize: 2 },
|
|
13443
|
+
link: {
|
|
13444
|
+
defaultColor: "#1155ccff",
|
|
13445
|
+
hoverColor: "#3d7be0ff"
|
|
13446
|
+
}
|
|
13426
13447
|
};
|
|
13448
|
+
const WEAVE_TEXT_LINK_ALLOWED_PROTOCOLS = ["http:", "https:"];
|
|
13427
13449
|
const TEXT_LAYOUT = {
|
|
13428
13450
|
["SMART"]: "smart",
|
|
13429
13451
|
["AUTO_ALL"]: "auto-all",
|
|
@@ -13432,6 +13454,21 @@ const TEXT_LAYOUT = {
|
|
|
13432
13454
|
};
|
|
13433
13455
|
//#endregion
|
|
13434
13456
|
//#region src/nodes/text/text.ts
|
|
13457
|
+
/**
|
|
13458
|
+
* Validates that a link is an absolute http(s) URL. Used both by the zod
|
|
13459
|
+
* schema (getSchema()) and defensively again at click-time (setLink() and
|
|
13460
|
+
* the pointerclick handler), since the value is user-authored content
|
|
13461
|
+
* rendered and clicked on by other collaborators — schemes like
|
|
13462
|
+
* `javascript:` or `data:` must never reach `window.open`.
|
|
13463
|
+
*/
|
|
13464
|
+
function isValidTextLink(value) {
|
|
13465
|
+
try {
|
|
13466
|
+
const url = new URL(value);
|
|
13467
|
+
return WEAVE_TEXT_LINK_ALLOWED_PROTOCOLS.includes(url.protocol);
|
|
13468
|
+
} catch {
|
|
13469
|
+
return false;
|
|
13470
|
+
}
|
|
13471
|
+
}
|
|
13435
13472
|
var WeaveTextNode = class extends WeaveNode {
|
|
13436
13473
|
config;
|
|
13437
13474
|
nodeType = WEAVE_TEXT_NODE_TYPE;
|
|
@@ -13495,6 +13532,8 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13495
13532
|
}
|
|
13496
13533
|
}
|
|
13497
13534
|
onRender(props) {
|
|
13535
|
+
const linkPreviousFill = props.link ? props.linkPreviousFill ?? props.fill : props.linkPreviousFill;
|
|
13536
|
+
const linkPreviousTextDecoration = props.link ? props.linkPreviousTextDecoration ?? props.textDecoration : props.linkPreviousTextDecoration;
|
|
13498
13537
|
const text = new Konva.Text({
|
|
13499
13538
|
...props,
|
|
13500
13539
|
name: "node",
|
|
@@ -13504,6 +13543,12 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13504
13543
|
stroke: this.config.outline.color,
|
|
13505
13544
|
strokeWidth: this.config.outline.width,
|
|
13506
13545
|
fillAfterStrokeEnabled: true
|
|
13546
|
+
},
|
|
13547
|
+
...props.link && {
|
|
13548
|
+
textDecoration: "underline",
|
|
13549
|
+
fill: this.config.link.defaultColor,
|
|
13550
|
+
linkPreviousFill,
|
|
13551
|
+
linkPreviousTextDecoration
|
|
13507
13552
|
}
|
|
13508
13553
|
});
|
|
13509
13554
|
this.setupDefaultNodeAugmentation(text);
|
|
@@ -13562,6 +13607,7 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13562
13607
|
this.triggerEditMode(text);
|
|
13563
13608
|
};
|
|
13564
13609
|
text.setAttr("triggerEditMode", this.triggerEditMode.bind(this));
|
|
13610
|
+
this.setupLinkBehavior(text);
|
|
13565
13611
|
let actualAnchor = void 0;
|
|
13566
13612
|
text.on("transformstart", (e) => {
|
|
13567
13613
|
const isCtrlOrMetaPressed = e.evt.ctrlKey || e.evt.metaKey;
|
|
@@ -13658,6 +13704,9 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13658
13704
|
return text;
|
|
13659
13705
|
}
|
|
13660
13706
|
onUpdate(nodeInstance, nextProps) {
|
|
13707
|
+
const isLinked = Boolean(nextProps.link);
|
|
13708
|
+
const linkPreviousFill = nextProps.link ? nextProps.linkPreviousFill ?? nextProps.fill : nextProps.linkPreviousFill;
|
|
13709
|
+
const linkPreviousTextDecoration = nextProps.link ? nextProps.linkPreviousTextDecoration ?? nextProps.textDecoration : nextProps.linkPreviousTextDecoration;
|
|
13661
13710
|
nodeInstance.setAttrs({
|
|
13662
13711
|
...nextProps,
|
|
13663
13712
|
...!this.config.outline.enabled && { strokeEnabled: false },
|
|
@@ -13666,6 +13715,13 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13666
13715
|
stroke: this.config.outline.color,
|
|
13667
13716
|
strokeWidth: this.config.outline.width,
|
|
13668
13717
|
fillAfterStrokeEnabled: true
|
|
13718
|
+
},
|
|
13719
|
+
link: nextProps.link,
|
|
13720
|
+
linkPreviousFill: isLinked ? linkPreviousFill : void 0,
|
|
13721
|
+
linkPreviousTextDecoration: isLinked ? linkPreviousTextDecoration : void 0,
|
|
13722
|
+
...isLinked && {
|
|
13723
|
+
textDecoration: "underline",
|
|
13724
|
+
fill: this.config.link.defaultColor
|
|
13669
13725
|
}
|
|
13670
13726
|
});
|
|
13671
13727
|
let width = nextProps.width;
|
|
@@ -13707,6 +13763,10 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13707
13763
|
delete cleanedAttrs.overridesMouseControl;
|
|
13708
13764
|
delete cleanedAttrs.shouldUpdateOnTransform;
|
|
13709
13765
|
delete cleanedAttrs.dragBoundFunc;
|
|
13766
|
+
if (cleanedAttrs.link) {
|
|
13767
|
+
if (typeof cleanedAttrs.linkPreviousFill === "string") cleanedAttrs.fill = cleanedAttrs.linkPreviousFill;
|
|
13768
|
+
if (typeof cleanedAttrs.linkPreviousTextDecoration === "string") cleanedAttrs.textDecoration = cleanedAttrs.linkPreviousTextDecoration;
|
|
13769
|
+
}
|
|
13710
13770
|
return {
|
|
13711
13771
|
key: attrs.id ?? "",
|
|
13712
13772
|
type: attrs.nodeType,
|
|
@@ -14112,6 +14172,94 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14112
14172
|
this.createTextAreaDOM(textNode, areaPosition);
|
|
14113
14173
|
this.instance.emitEvent("onEnterTextNodeEditMode", { node: textNode });
|
|
14114
14174
|
}
|
|
14175
|
+
/**
|
|
14176
|
+
* Wires the hover colour swap, link cursor and click-to-open behaviour for
|
|
14177
|
+
* a rendered text node. Runs on top of (not instead of) the generic
|
|
14178
|
+
* selection-hover-halo handling in setupDefaultNodeEvents()/node.ts, the
|
|
14179
|
+
* same way connector.ts layers its own handleMouseover/handleMouseout.
|
|
14180
|
+
*/
|
|
14181
|
+
setupLinkBehavior(text) {
|
|
14182
|
+
text.handleMouseover = () => {
|
|
14183
|
+
if (!text.getAttrs().link) return;
|
|
14184
|
+
text.fill(this.config.link.hoverColor);
|
|
14185
|
+
text.getLayer()?.batchDraw();
|
|
14186
|
+
};
|
|
14187
|
+
text.handleMouseout = () => {
|
|
14188
|
+
if (!text.getAttrs().link) return;
|
|
14189
|
+
text.fill(this.config.link.defaultColor);
|
|
14190
|
+
text.getLayer()?.batchDraw();
|
|
14191
|
+
};
|
|
14192
|
+
text.defineMousePointer = () => {
|
|
14193
|
+
return text.getAttrs().link ? "pointer" : "default";
|
|
14194
|
+
};
|
|
14195
|
+
let linkClickTimeout;
|
|
14196
|
+
const clearLinkClickTimeout = () => {
|
|
14197
|
+
if (linkClickTimeout) {
|
|
14198
|
+
clearTimeout(linkClickTimeout);
|
|
14199
|
+
linkClickTimeout = void 0;
|
|
14200
|
+
}
|
|
14201
|
+
};
|
|
14202
|
+
const previousDblClick = text.dblClick.bind(text);
|
|
14203
|
+
text.dblClick = () => {
|
|
14204
|
+
clearLinkClickTimeout();
|
|
14205
|
+
previousDblClick();
|
|
14206
|
+
};
|
|
14207
|
+
text.click = ({ wasSelected, ctrlOrMetaPressed }) => {
|
|
14208
|
+
if (!text.getAttrs().link) return;
|
|
14209
|
+
if (ctrlOrMetaPressed) {
|
|
14210
|
+
clearLinkClickTimeout();
|
|
14211
|
+
this.openTextLink(text);
|
|
14212
|
+
return;
|
|
14213
|
+
}
|
|
14214
|
+
if (wasSelected) {
|
|
14215
|
+
clearLinkClickTimeout();
|
|
14216
|
+
linkClickTimeout = setTimeout(() => {
|
|
14217
|
+
linkClickTimeout = void 0;
|
|
14218
|
+
if (!this.editing) this.openTextLink(text);
|
|
14219
|
+
}, Konva.dblClickWindow);
|
|
14220
|
+
}
|
|
14221
|
+
};
|
|
14222
|
+
}
|
|
14223
|
+
openTextLink(textNode) {
|
|
14224
|
+
if (this.instance.isServerSide()) return;
|
|
14225
|
+
const link = textNode.getAttrs().link;
|
|
14226
|
+
if (typeof link !== "string" || !isValidTextLink(link)) return;
|
|
14227
|
+
window.open(link, "_blank", "noopener,noreferrer");
|
|
14228
|
+
}
|
|
14229
|
+
/**
|
|
14230
|
+
* Public API to read/set/remove the URL a text node links to. Setting an
|
|
14231
|
+
* invalid or non-http(s) URL is a no-op (see isValidTextLink()).
|
|
14232
|
+
*
|
|
14233
|
+
* The node's real fill/textDecoration are captured once into
|
|
14234
|
+
* `linkPreviousFill`/`linkPreviousTextDecoration` the first time a link is
|
|
14235
|
+
* rendered (see onRender()/onUpdate()) and restored by serialize()
|
|
14236
|
+
* whenever the node is re-serialized while linked — so they survive any
|
|
14237
|
+
* number of resizes/drags/edits while the link is active. removeLink()
|
|
14238
|
+
* relies on that: it omits `link` *and* those two bookkeeping props from
|
|
14239
|
+
* the serialized props entirely, so all three are deleted from shared
|
|
14240
|
+
* state (see updateYjsMapFromObject in managers/state.ts) rather than
|
|
14241
|
+
* persisted as `undefined`, and the node's original fill/text decoration
|
|
14242
|
+
* reappear immediately.
|
|
14243
|
+
*/
|
|
14244
|
+
getLink(nodeInstance) {
|
|
14245
|
+
const link = nodeInstance.getAttrs().link;
|
|
14246
|
+
return typeof link === "string" ? link : void 0;
|
|
14247
|
+
}
|
|
14248
|
+
setLink(nodeInstance, url) {
|
|
14249
|
+
if (!isValidTextLink(url)) return;
|
|
14250
|
+
const serialized = this.serialize(nodeInstance);
|
|
14251
|
+
serialized.props.linkPreviousFill = serialized.props.fill;
|
|
14252
|
+
serialized.props.linkPreviousTextDecoration = serialized.props.textDecoration;
|
|
14253
|
+
serialized.props.link = url;
|
|
14254
|
+
this.instance.updateNode(serialized);
|
|
14255
|
+
}
|
|
14256
|
+
removeLink(nodeInstance) {
|
|
14257
|
+
const serialized = this.serialize(nodeInstance);
|
|
14258
|
+
delete serialized.props.link;
|
|
14259
|
+
delete serialized.props.linkPreviousFill;
|
|
14260
|
+
delete serialized.props.linkPreviousTextDecoration;
|
|
14261
|
+
this.instance.updateNode(serialized);
|
|
14262
|
+
}
|
|
14115
14263
|
onDestroyInstance() {
|
|
14116
14264
|
super.onDestroyInstance();
|
|
14117
14265
|
if (!this.instance.isServerSide() && this.keyPressHandler) {
|
|
@@ -14177,7 +14325,8 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14177
14325
|
...props.strokeEnabled && { strokeEnabled: props.strokeEnabled },
|
|
14178
14326
|
...props.stroke && { stroke: props.stroke },
|
|
14179
14327
|
...props.strokeWidth && { strokeWidth: props.strokeWidth },
|
|
14180
|
-
...props.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: props.fillAfterStrokeEnabled }
|
|
14328
|
+
...props.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: props.fillAfterStrokeEnabled },
|
|
14329
|
+
...props.link && { link: props.link }
|
|
14181
14330
|
} });
|
|
14182
14331
|
}
|
|
14183
14332
|
static updateNodeState(prevNodeState, nextProps) {
|
|
@@ -14202,7 +14351,8 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14202
14351
|
...nextProps.strokeEnabled && { strokeEnabled: nextProps.strokeEnabled },
|
|
14203
14352
|
...nextProps.stroke && { stroke: nextProps.stroke },
|
|
14204
14353
|
...nextProps.strokeWidth && { strokeWidth: nextProps.strokeWidth },
|
|
14205
|
-
...nextProps.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: nextProps.fillAfterStrokeEnabled }
|
|
14354
|
+
...nextProps.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: nextProps.fillAfterStrokeEnabled },
|
|
14355
|
+
...nextProps.link && { link: nextProps.link }
|
|
14206
14356
|
} });
|
|
14207
14357
|
}
|
|
14208
14358
|
static getSchema() {
|
|
@@ -14236,6 +14386,9 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14236
14386
|
]).default("top").describe("Vertical alignment of the text, can be 'top', 'middle' or 'bottom'."),
|
|
14237
14387
|
fill: z.string().default("#000000ff").describe("Fill color of the text in hex format with alpha channel (e.g. #RRGGBBAA)."),
|
|
14238
14388
|
text: z.string().default("text").describe("The actual text content of the node."),
|
|
14389
|
+
link: z.string().url().refine((value) => isValidTextLink(value), { message: "Link must be an absolute http:// or https:// URL." }).optional().describe("External URL the whole text of the node links to. When set, the text is forced underlined and coloured with the configured link colours regardless of fill/textDecoration, is clickable, and opens the URL in a new tab. Only http(s) URLs are accepted. Omit/remove to make the node plain text again."),
|
|
14390
|
+
linkPreviousFill: z.string().optional().describe("Internal bookkeeping: the fill colour the node had right before a link was set, captured automatically so it can be restored when the link is removed. Managed automatically — do not set directly."),
|
|
14391
|
+
linkPreviousTextDecoration: z.string().optional().describe("Internal bookkeeping: the textDecoration the node had right before a link was set, captured automatically so it can be restored when the link is removed. Managed automatically — do not set directly."),
|
|
14239
14392
|
strokeEnabled: z.boolean().default(false).describe("Whether the text outline is enabled."),
|
|
14240
14393
|
stroke: z.string().optional().default("#d6d6d6").describe("Color of the text outline in hex format with alpha channel (e.g. #RRGGBBAA)."),
|
|
14241
14394
|
strokeWidth: z.number().optional().default(2).describe("Width of the text outline in pixels."),
|
|
@@ -32946,6 +33099,6 @@ var WeaveNodesSnappingPlugin = class extends WeavePlugin {
|
|
|
32946
33099
|
}
|
|
32947
33100
|
};
|
|
32948
33101
|
//#endregion
|
|
32949
|
-
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, setupCanvasBackend, setupSkiaBackend, sleep, spreadLabelProps, weavejsToYjsBinary };
|
|
33102
|
+
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_LINK_ALLOWED_PROTOCOLS, 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, setupCanvasBackend, setupSkiaBackend, sleep, spreadLabelProps, weavejsToYjsBinary };
|
|
32950
33103
|
|
|
32951
33104
|
//# sourceMappingURL=types.js.map
|