@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/sdk.node.js
CHANGED
|
@@ -1662,7 +1662,8 @@ const WEAVE_NODES_SELECTION_DEFAULT_CONFIG = {
|
|
|
1662
1662
|
};
|
|
1663
1663
|
}
|
|
1664
1664
|
},
|
|
1665
|
-
style: { dragOpacity: .75 }
|
|
1665
|
+
style: { dragOpacity: .75 },
|
|
1666
|
+
selectionMode: "intersects"
|
|
1666
1667
|
};
|
|
1667
1668
|
//#endregion
|
|
1668
1669
|
//#region ../../node_modules/lodash/_listCacheClear.js
|
|
@@ -4678,7 +4679,15 @@ function handleClickOrTap(ctx, e) {
|
|
|
4678
4679
|
nodeTargeted.dblClick();
|
|
4679
4680
|
return;
|
|
4680
4681
|
}
|
|
4681
|
-
|
|
4682
|
+
const isCtrlOrCmdPressed = e.evt.ctrlKey || e.evt.metaKey;
|
|
4683
|
+
if (!e.evt.shiftKey) {
|
|
4684
|
+
const wasSelectedBeforeThisClick = tr.nodes().findIndex((node) => node.getAttrs().id === nodeTargeted.getAttrs().id) !== -1;
|
|
4685
|
+
nodeTargeted.click({
|
|
4686
|
+
wasSelected: wasSelectedBeforeThisClick,
|
|
4687
|
+
ctrlOrMetaPressed: isCtrlOrCmdPressed
|
|
4688
|
+
});
|
|
4689
|
+
}
|
|
4690
|
+
if (isCtrlOrCmdPressed) return;
|
|
4682
4691
|
if (!metaPressed) {
|
|
4683
4692
|
tr.nodes([nodeTargeted]);
|
|
4684
4693
|
tr.show();
|
|
@@ -4876,6 +4885,13 @@ function handlePointerMove(ctx, e) {
|
|
|
4876
4885
|
//#endregion
|
|
4877
4886
|
//#region src/plugins/nodes-selection/events/pointer-up.ts
|
|
4878
4887
|
/**
|
|
4888
|
+
* Returns true when `inner` is fully enclosed within `outer` (an AABB
|
|
4889
|
+
* containment test, as opposed to mere overlap/intersection).
|
|
4890
|
+
*/
|
|
4891
|
+
function isBoxContained(outer, inner) {
|
|
4892
|
+
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;
|
|
4893
|
+
}
|
|
4894
|
+
/**
|
|
4879
4895
|
* Handles the stage `pointerup` event: ends any in-progress area-selection
|
|
4880
4896
|
* (including the node-filtering/commit step), or delegates to the click/tap
|
|
4881
4897
|
* handler for point interactions.
|
|
@@ -4940,17 +4956,17 @@ function handlePointerUp(ctx, e) {
|
|
|
4940
4956
|
});
|
|
4941
4957
|
const box = ctx.getAreaSelector().getBox();
|
|
4942
4958
|
ctx.getAreaSelector().getRect().visible(false);
|
|
4959
|
+
const selectionMode = ctx.getConfiguration().selectionMode ?? "intersects";
|
|
4943
4960
|
const selected = shapes.filter((shape) => {
|
|
4944
4961
|
const shapeMutex = weave.getNodeMutexLock(shape.id());
|
|
4945
4962
|
if (shapeMutex && shapeMutex.user.id !== actUser.id) return false;
|
|
4946
4963
|
let parent = weave.getInstanceRecursive(shape.getParent());
|
|
4947
4964
|
if (parent.getAttrs().nodeId) parent = stage.findOne(`#${parent.getAttrs().nodeId}`);
|
|
4948
|
-
if (shape.getAttrs().nodeType && shape.getAttrs().nodeType === "frame")
|
|
4949
|
-
|
|
4950
|
-
|
|
4965
|
+
if (shape.getAttrs().nodeType && shape.getAttrs().nodeType === "frame") return isBoxContained(box, shape.getClientRect());
|
|
4966
|
+
if (shape.getAttrs().nodeType && ["layer", "frame"].includes(parent?.getAttrs().nodeType)) {
|
|
4967
|
+
const shapeBox = shape.getClientRect();
|
|
4968
|
+
return selectionMode === "contains" ? isBoxContained(box, shapeBox) : Konva.Util.haveIntersection(box, shapeBox);
|
|
4951
4969
|
}
|
|
4952
|
-
if (shape.getAttrs().nodeType && shape?.getAttrs().nodeType === "group" && ["layer", "frame"].includes(parent?.getAttrs().nodeType)) return shape.getAttrs().nodeType && Konva.Util.haveIntersection(box, shape.getClientRect());
|
|
4953
|
-
if (shape.getAttrs().nodeType && shape.getAttrs().nodeType !== "group" && ["layer", "frame"].includes(parent?.getAttrs().nodeType)) return shape.getAttrs().nodeType && Konva.Util.haveIntersection(box, shape.getClientRect());
|
|
4954
4970
|
return false;
|
|
4955
4971
|
});
|
|
4956
4972
|
const selectedNodes = /* @__PURE__ */ new Set();
|
|
@@ -5940,6 +5956,7 @@ const augmentKonvaNodeClass = (config) => {
|
|
|
5940
5956
|
Konva.Node.prototype.closeCrop = function() {};
|
|
5941
5957
|
Konva.Node.prototype.resetCrop = function() {};
|
|
5942
5958
|
Konva.Node.prototype.dblClick = function() {};
|
|
5959
|
+
Konva.Node.prototype.click = function() {};
|
|
5943
5960
|
Konva.Node.prototype.allowedAnchors = function() {
|
|
5944
5961
|
return [];
|
|
5945
5962
|
};
|
|
@@ -9452,7 +9469,7 @@ var WeaveRegisterManager = class {
|
|
|
9452
9469
|
};
|
|
9453
9470
|
//#endregion
|
|
9454
9471
|
//#region package.json
|
|
9455
|
-
var version = "5.
|
|
9472
|
+
var version = "5.4.0";
|
|
9456
9473
|
//#endregion
|
|
9457
9474
|
//#region src/managers/setup.ts
|
|
9458
9475
|
var WeaveSetupManager = class {
|
|
@@ -13382,8 +13399,13 @@ const WEAVE_TEXT_NODE_DEFAULT_CONFIG = {
|
|
|
13382
13399
|
transform: { ...WEAVE_NODES_SELECTION_DEFAULT_CONFIG.selection },
|
|
13383
13400
|
outline: { enabled: false },
|
|
13384
13401
|
cursor: { color: "#000000" },
|
|
13385
|
-
edition: { borderSize: 2 }
|
|
13402
|
+
edition: { borderSize: 2 },
|
|
13403
|
+
link: {
|
|
13404
|
+
defaultColor: "#1155ccff",
|
|
13405
|
+
hoverColor: "#3d7be0ff"
|
|
13406
|
+
}
|
|
13386
13407
|
};
|
|
13408
|
+
const WEAVE_TEXT_LINK_ALLOWED_PROTOCOLS = ["http:", "https:"];
|
|
13387
13409
|
const TEXT_LAYOUT = {
|
|
13388
13410
|
["SMART"]: "smart",
|
|
13389
13411
|
["AUTO_ALL"]: "auto-all",
|
|
@@ -13392,6 +13414,21 @@ const TEXT_LAYOUT = {
|
|
|
13392
13414
|
};
|
|
13393
13415
|
//#endregion
|
|
13394
13416
|
//#region src/nodes/text/text.ts
|
|
13417
|
+
/**
|
|
13418
|
+
* Validates that a link is an absolute http(s) URL. Used both by the zod
|
|
13419
|
+
* schema (getSchema()) and defensively again at click-time (setLink() and
|
|
13420
|
+
* the pointerclick handler), since the value is user-authored content
|
|
13421
|
+
* rendered and clicked on by other collaborators — schemes like
|
|
13422
|
+
* `javascript:` or `data:` must never reach `window.open`.
|
|
13423
|
+
*/
|
|
13424
|
+
function isValidTextLink(value) {
|
|
13425
|
+
try {
|
|
13426
|
+
const url = new URL(value);
|
|
13427
|
+
return WEAVE_TEXT_LINK_ALLOWED_PROTOCOLS.includes(url.protocol);
|
|
13428
|
+
} catch {
|
|
13429
|
+
return false;
|
|
13430
|
+
}
|
|
13431
|
+
}
|
|
13395
13432
|
var WeaveTextNode = class extends WeaveNode {
|
|
13396
13433
|
config;
|
|
13397
13434
|
nodeType = WEAVE_TEXT_NODE_TYPE;
|
|
@@ -13455,6 +13492,8 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13455
13492
|
}
|
|
13456
13493
|
}
|
|
13457
13494
|
onRender(props) {
|
|
13495
|
+
const linkPreviousFill = props.link ? props.linkPreviousFill ?? props.fill : props.linkPreviousFill;
|
|
13496
|
+
const linkPreviousTextDecoration = props.link ? props.linkPreviousTextDecoration ?? props.textDecoration : props.linkPreviousTextDecoration;
|
|
13458
13497
|
const text = new Konva.Text({
|
|
13459
13498
|
...props,
|
|
13460
13499
|
name: "node",
|
|
@@ -13464,6 +13503,12 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13464
13503
|
stroke: this.config.outline.color,
|
|
13465
13504
|
strokeWidth: this.config.outline.width,
|
|
13466
13505
|
fillAfterStrokeEnabled: true
|
|
13506
|
+
},
|
|
13507
|
+
...props.link && {
|
|
13508
|
+
textDecoration: "underline",
|
|
13509
|
+
fill: this.config.link.defaultColor,
|
|
13510
|
+
linkPreviousFill,
|
|
13511
|
+
linkPreviousTextDecoration
|
|
13467
13512
|
}
|
|
13468
13513
|
});
|
|
13469
13514
|
this.setupDefaultNodeAugmentation(text);
|
|
@@ -13522,6 +13567,7 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13522
13567
|
this.triggerEditMode(text);
|
|
13523
13568
|
};
|
|
13524
13569
|
text.setAttr("triggerEditMode", this.triggerEditMode.bind(this));
|
|
13570
|
+
this.setupLinkBehavior(text);
|
|
13525
13571
|
let actualAnchor = void 0;
|
|
13526
13572
|
text.on("transformstart", (e) => {
|
|
13527
13573
|
const isCtrlOrMetaPressed = e.evt.ctrlKey || e.evt.metaKey;
|
|
@@ -13618,6 +13664,9 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13618
13664
|
return text;
|
|
13619
13665
|
}
|
|
13620
13666
|
onUpdate(nodeInstance, nextProps) {
|
|
13667
|
+
const isLinked = Boolean(nextProps.link);
|
|
13668
|
+
const linkPreviousFill = nextProps.link ? nextProps.linkPreviousFill ?? nextProps.fill : nextProps.linkPreviousFill;
|
|
13669
|
+
const linkPreviousTextDecoration = nextProps.link ? nextProps.linkPreviousTextDecoration ?? nextProps.textDecoration : nextProps.linkPreviousTextDecoration;
|
|
13621
13670
|
nodeInstance.setAttrs({
|
|
13622
13671
|
...nextProps,
|
|
13623
13672
|
...!this.config.outline.enabled && { strokeEnabled: false },
|
|
@@ -13626,6 +13675,13 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13626
13675
|
stroke: this.config.outline.color,
|
|
13627
13676
|
strokeWidth: this.config.outline.width,
|
|
13628
13677
|
fillAfterStrokeEnabled: true
|
|
13678
|
+
},
|
|
13679
|
+
link: nextProps.link,
|
|
13680
|
+
linkPreviousFill: isLinked ? linkPreviousFill : void 0,
|
|
13681
|
+
linkPreviousTextDecoration: isLinked ? linkPreviousTextDecoration : void 0,
|
|
13682
|
+
...isLinked && {
|
|
13683
|
+
textDecoration: "underline",
|
|
13684
|
+
fill: this.config.link.defaultColor
|
|
13629
13685
|
}
|
|
13630
13686
|
});
|
|
13631
13687
|
let width = nextProps.width;
|
|
@@ -13667,6 +13723,10 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
13667
13723
|
delete cleanedAttrs.overridesMouseControl;
|
|
13668
13724
|
delete cleanedAttrs.shouldUpdateOnTransform;
|
|
13669
13725
|
delete cleanedAttrs.dragBoundFunc;
|
|
13726
|
+
if (cleanedAttrs.link) {
|
|
13727
|
+
if (typeof cleanedAttrs.linkPreviousFill === "string") cleanedAttrs.fill = cleanedAttrs.linkPreviousFill;
|
|
13728
|
+
if (typeof cleanedAttrs.linkPreviousTextDecoration === "string") cleanedAttrs.textDecoration = cleanedAttrs.linkPreviousTextDecoration;
|
|
13729
|
+
}
|
|
13670
13730
|
return {
|
|
13671
13731
|
key: attrs.id ?? "",
|
|
13672
13732
|
type: attrs.nodeType,
|
|
@@ -14072,6 +14132,94 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14072
14132
|
this.createTextAreaDOM(textNode, areaPosition);
|
|
14073
14133
|
this.instance.emitEvent("onEnterTextNodeEditMode", { node: textNode });
|
|
14074
14134
|
}
|
|
14135
|
+
/**
|
|
14136
|
+
* Wires the hover colour swap, link cursor and click-to-open behaviour for
|
|
14137
|
+
* a rendered text node. Runs on top of (not instead of) the generic
|
|
14138
|
+
* selection-hover-halo handling in setupDefaultNodeEvents()/node.ts, the
|
|
14139
|
+
* same way connector.ts layers its own handleMouseover/handleMouseout.
|
|
14140
|
+
*/
|
|
14141
|
+
setupLinkBehavior(text) {
|
|
14142
|
+
text.handleMouseover = () => {
|
|
14143
|
+
if (!text.getAttrs().link) return;
|
|
14144
|
+
text.fill(this.config.link.hoverColor);
|
|
14145
|
+
text.getLayer()?.batchDraw();
|
|
14146
|
+
};
|
|
14147
|
+
text.handleMouseout = () => {
|
|
14148
|
+
if (!text.getAttrs().link) return;
|
|
14149
|
+
text.fill(this.config.link.defaultColor);
|
|
14150
|
+
text.getLayer()?.batchDraw();
|
|
14151
|
+
};
|
|
14152
|
+
text.defineMousePointer = () => {
|
|
14153
|
+
return text.getAttrs().link ? "pointer" : "default";
|
|
14154
|
+
};
|
|
14155
|
+
let linkClickTimeout;
|
|
14156
|
+
const clearLinkClickTimeout = () => {
|
|
14157
|
+
if (linkClickTimeout) {
|
|
14158
|
+
clearTimeout(linkClickTimeout);
|
|
14159
|
+
linkClickTimeout = void 0;
|
|
14160
|
+
}
|
|
14161
|
+
};
|
|
14162
|
+
const previousDblClick = text.dblClick.bind(text);
|
|
14163
|
+
text.dblClick = () => {
|
|
14164
|
+
clearLinkClickTimeout();
|
|
14165
|
+
previousDblClick();
|
|
14166
|
+
};
|
|
14167
|
+
text.click = ({ wasSelected, ctrlOrMetaPressed }) => {
|
|
14168
|
+
if (!text.getAttrs().link) return;
|
|
14169
|
+
if (ctrlOrMetaPressed) {
|
|
14170
|
+
clearLinkClickTimeout();
|
|
14171
|
+
this.openTextLink(text);
|
|
14172
|
+
return;
|
|
14173
|
+
}
|
|
14174
|
+
if (wasSelected) {
|
|
14175
|
+
clearLinkClickTimeout();
|
|
14176
|
+
linkClickTimeout = setTimeout(() => {
|
|
14177
|
+
linkClickTimeout = void 0;
|
|
14178
|
+
if (!this.editing) this.openTextLink(text);
|
|
14179
|
+
}, Konva.dblClickWindow);
|
|
14180
|
+
}
|
|
14181
|
+
};
|
|
14182
|
+
}
|
|
14183
|
+
openTextLink(textNode) {
|
|
14184
|
+
if (this.instance.isServerSide()) return;
|
|
14185
|
+
const link = textNode.getAttrs().link;
|
|
14186
|
+
if (typeof link !== "string" || !isValidTextLink(link)) return;
|
|
14187
|
+
window.open(link, "_blank", "noopener,noreferrer");
|
|
14188
|
+
}
|
|
14189
|
+
/**
|
|
14190
|
+
* Public API to read/set/remove the URL a text node links to. Setting an
|
|
14191
|
+
* invalid or non-http(s) URL is a no-op (see isValidTextLink()).
|
|
14192
|
+
*
|
|
14193
|
+
* The node's real fill/textDecoration are captured once into
|
|
14194
|
+
* `linkPreviousFill`/`linkPreviousTextDecoration` the first time a link is
|
|
14195
|
+
* rendered (see onRender()/onUpdate()) and restored by serialize()
|
|
14196
|
+
* whenever the node is re-serialized while linked — so they survive any
|
|
14197
|
+
* number of resizes/drags/edits while the link is active. removeLink()
|
|
14198
|
+
* relies on that: it omits `link` *and* those two bookkeeping props from
|
|
14199
|
+
* the serialized props entirely, so all three are deleted from shared
|
|
14200
|
+
* state (see updateYjsMapFromObject in managers/state.ts) rather than
|
|
14201
|
+
* persisted as `undefined`, and the node's original fill/text decoration
|
|
14202
|
+
* reappear immediately.
|
|
14203
|
+
*/
|
|
14204
|
+
getLink(nodeInstance) {
|
|
14205
|
+
const link = nodeInstance.getAttrs().link;
|
|
14206
|
+
return typeof link === "string" ? link : void 0;
|
|
14207
|
+
}
|
|
14208
|
+
setLink(nodeInstance, url) {
|
|
14209
|
+
if (!isValidTextLink(url)) return;
|
|
14210
|
+
const serialized = this.serialize(nodeInstance);
|
|
14211
|
+
serialized.props.linkPreviousFill = serialized.props.fill;
|
|
14212
|
+
serialized.props.linkPreviousTextDecoration = serialized.props.textDecoration;
|
|
14213
|
+
serialized.props.link = url;
|
|
14214
|
+
this.instance.updateNode(serialized);
|
|
14215
|
+
}
|
|
14216
|
+
removeLink(nodeInstance) {
|
|
14217
|
+
const serialized = this.serialize(nodeInstance);
|
|
14218
|
+
delete serialized.props.link;
|
|
14219
|
+
delete serialized.props.linkPreviousFill;
|
|
14220
|
+
delete serialized.props.linkPreviousTextDecoration;
|
|
14221
|
+
this.instance.updateNode(serialized);
|
|
14222
|
+
}
|
|
14075
14223
|
onDestroyInstance() {
|
|
14076
14224
|
super.onDestroyInstance();
|
|
14077
14225
|
if (!this.instance.isServerSide() && this.keyPressHandler) {
|
|
@@ -14137,7 +14285,8 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14137
14285
|
...props.strokeEnabled && { strokeEnabled: props.strokeEnabled },
|
|
14138
14286
|
...props.stroke && { stroke: props.stroke },
|
|
14139
14287
|
...props.strokeWidth && { strokeWidth: props.strokeWidth },
|
|
14140
|
-
...props.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: props.fillAfterStrokeEnabled }
|
|
14288
|
+
...props.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: props.fillAfterStrokeEnabled },
|
|
14289
|
+
...props.link && { link: props.link }
|
|
14141
14290
|
} });
|
|
14142
14291
|
}
|
|
14143
14292
|
static updateNodeState(prevNodeState, nextProps) {
|
|
@@ -14162,7 +14311,8 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14162
14311
|
...nextProps.strokeEnabled && { strokeEnabled: nextProps.strokeEnabled },
|
|
14163
14312
|
...nextProps.stroke && { stroke: nextProps.stroke },
|
|
14164
14313
|
...nextProps.strokeWidth && { strokeWidth: nextProps.strokeWidth },
|
|
14165
|
-
...nextProps.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: nextProps.fillAfterStrokeEnabled }
|
|
14314
|
+
...nextProps.fillAfterStrokeEnabled && { fillAfterStrokeEnabled: nextProps.fillAfterStrokeEnabled },
|
|
14315
|
+
...nextProps.link && { link: nextProps.link }
|
|
14166
14316
|
} });
|
|
14167
14317
|
}
|
|
14168
14318
|
static getSchema() {
|
|
@@ -14196,6 +14346,9 @@ var WeaveTextNode = class extends WeaveNode {
|
|
|
14196
14346
|
]).default("top").describe("Vertical alignment of the text, can be 'top', 'middle' or 'bottom'."),
|
|
14197
14347
|
fill: z.string().default("#000000ff").describe("Fill color of the text in hex format with alpha channel (e.g. #RRGGBBAA)."),
|
|
14198
14348
|
text: z.string().default("text").describe("The actual text content of the node."),
|
|
14349
|
+
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."),
|
|
14350
|
+
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."),
|
|
14351
|
+
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."),
|
|
14199
14352
|
strokeEnabled: z.boolean().default(false).describe("Whether the text outline is enabled."),
|
|
14200
14353
|
stroke: z.string().optional().default("#d6d6d6").describe("Color of the text outline in hex format with alpha channel (e.g. #RRGGBBAA)."),
|
|
14201
14354
|
strokeWidth: z.number().optional().default(2).describe("Width of the text outline in pixels."),
|
|
@@ -32927,4 +33080,4 @@ const setupCanvasBackend = async () => {
|
|
|
32927
33080
|
await import("konva/canvas-backend");
|
|
32928
33081
|
};
|
|
32929
33082
|
//#endregion
|
|
32930
|
-
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, getSelectedNodesMetadata, getShapeLabelSchemaFields, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, instantiatePreset, intersectArrays, isIOS, isInShadowDOM, isNodeInSelection, isNumber, isServer, labelId, loadImageSource, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, setupCanvasBackend, setupSkiaBackend, sleep, spreadLabelProps };
|
|
33083
|
+
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, getSelectedNodesMetadata, getShapeLabelSchemaFields, getStageClickPoint, getTargetAndSkipNodes, getTargetedNode, getTopmostShadowHost, getVisibleNodes, getVisibleNodesInViewport, hasFrames, hasImages, instantiatePreset, intersectArrays, isIOS, isInShadowDOM, isNodeInSelection, isNumber, isServer, labelId, loadImageSource, memoize, mergeExceptArrays, moveNodeToContainer, moveNodeToContainerNT, resetScale, setupCanvasBackend, setupSkiaBackend, sleep, spreadLabelProps };
|