orcasvn-react-diagrams 0.1.12 → 0.1.14
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/cjs/index.js +114 -12
- package/dist/cjs/types/components/elements/elementWrapper.d.ts +1 -0
- package/dist/cjs/types/components/paper.d.ts +1 -0
- package/dist/cjs/types/contexts/paperEventEmitterContext.d.ts +3 -1
- package/dist/cjs/types/models/IElementProps.d.ts +1 -0
- package/dist/cjs/types/models/callbackTypes.d.ts +2 -0
- package/dist/cjs/types/models/implementations/EditorContext.d.ts +2 -0
- package/dist/cjs/types/utils/constants.d.ts +1 -0
- package/dist/esm/index.js +114 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/elements/elementWrapper.d.ts +1 -0
- package/dist/esm/types/components/paper.d.ts +1 -0
- package/dist/esm/types/contexts/paperEventEmitterContext.d.ts +3 -1
- package/dist/esm/types/models/IElementProps.d.ts +1 -0
- package/dist/esm/types/models/callbackTypes.d.ts +2 -0
- package/dist/esm/types/models/implementations/EditorContext.d.ts +2 -0
- package/dist/esm/types/utils/constants.d.ts +1 -0
- package/dist/index.d.ts +5 -2
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -954,6 +954,8 @@ var EVENT_NAME = {
|
|
|
954
954
|
//ELEMENT LINK
|
|
955
955
|
ELEMENT_LINK_STARTED: 'element_link_started',
|
|
956
956
|
ELEMENT_LINK_ENDED: 'element_link_ended',
|
|
957
|
+
//TEXT
|
|
958
|
+
TEXT_SELECTED: 'text_selected',
|
|
957
959
|
};
|
|
958
960
|
//ELEMENT
|
|
959
961
|
//export const ELEMENT_MOVING_OFFSET_THRESHOLD = 10;
|
|
@@ -1304,6 +1306,18 @@ var onPortSelected = function (callback) {
|
|
|
1304
1306
|
off: off
|
|
1305
1307
|
};
|
|
1306
1308
|
};
|
|
1309
|
+
var emitTextSelected = function (text) {
|
|
1310
|
+
eventEmitter.emit(EVENT_NAME.TEXT_SELECTED, text);
|
|
1311
|
+
};
|
|
1312
|
+
var onTextSelected = function (callback) {
|
|
1313
|
+
eventEmitter.on(EVENT_NAME.TEXT_SELECTED, callback);
|
|
1314
|
+
var off = function () {
|
|
1315
|
+
eventEmitter.off(EVENT_NAME.TEXT_SELECTED, callback);
|
|
1316
|
+
};
|
|
1317
|
+
return {
|
|
1318
|
+
off: off
|
|
1319
|
+
};
|
|
1320
|
+
};
|
|
1307
1321
|
var paperEventEmitterContext = React$1.createContext({
|
|
1308
1322
|
emitter: eventEmitter,
|
|
1309
1323
|
emitPaperClicked: emitPaperClicked,
|
|
@@ -1334,6 +1348,8 @@ var paperEventEmitterContext = React$1.createContext({
|
|
|
1334
1348
|
onElementLinkStarted: onElementLinkStarted,
|
|
1335
1349
|
emitElementLinkEnded: emitElementLinkEnded,
|
|
1336
1350
|
onElementLinkEnded: onElementLinkEnded,
|
|
1351
|
+
emitTextSelected: emitTextSelected,
|
|
1352
|
+
onTextSelected: onTextSelected,
|
|
1337
1353
|
});
|
|
1338
1354
|
|
|
1339
1355
|
var Text = React$1.forwardRef(function (_a, ref) {
|
|
@@ -1341,7 +1357,7 @@ var Text = React$1.forwardRef(function (_a, ref) {
|
|
|
1341
1357
|
var _c = React$1.useState(false), isSelected = _c[0], setIsSelected = _c[1];
|
|
1342
1358
|
var _d = React$1.useState(false), isEditing = _d[0], setIsEditing = _d[1];
|
|
1343
1359
|
var svgRef = React$1.useRef();
|
|
1344
|
-
var
|
|
1360
|
+
var _e = React$1.useContext(paperEventEmitterContext), onPaperClicked = _e.onPaperClicked, emitTextSelected = _e.emitTextSelected, onPortSelected = _e.onPortSelected, onElementSelected = _e.onElementSelected, onTextSelected = _e.onTextSelected;
|
|
1345
1361
|
React$1.useEffect(function () {
|
|
1346
1362
|
var paperClickListener = onPaperClicked(function (ev) {
|
|
1347
1363
|
var _a;
|
|
@@ -1351,8 +1367,25 @@ var Text = React$1.forwardRef(function (_a, ref) {
|
|
|
1351
1367
|
setIsEditing(false);
|
|
1352
1368
|
}
|
|
1353
1369
|
});
|
|
1370
|
+
var portSelectedListener = onPortSelected(function (port) {
|
|
1371
|
+
setIsSelected(false);
|
|
1372
|
+
setIsEditing(false);
|
|
1373
|
+
});
|
|
1374
|
+
var elementSelectedListener = onElementSelected(function (element) {
|
|
1375
|
+
setIsSelected(false);
|
|
1376
|
+
setIsEditing(false);
|
|
1377
|
+
});
|
|
1378
|
+
var textSelectedListener = onTextSelected(function (text) {
|
|
1379
|
+
if (text.id !== id) {
|
|
1380
|
+
setIsSelected(false);
|
|
1381
|
+
setIsEditing(false);
|
|
1382
|
+
}
|
|
1383
|
+
});
|
|
1354
1384
|
return function () {
|
|
1355
1385
|
paperClickListener.off();
|
|
1386
|
+
portSelectedListener.off();
|
|
1387
|
+
elementSelectedListener.off();
|
|
1388
|
+
textSelectedListener.off();
|
|
1356
1389
|
};
|
|
1357
1390
|
}, []);
|
|
1358
1391
|
//Handle click on svg element
|
|
@@ -1373,6 +1406,7 @@ var Text = React$1.forwardRef(function (_a, ref) {
|
|
|
1373
1406
|
};
|
|
1374
1407
|
setIsSelected(true);
|
|
1375
1408
|
onSelected && onSelected(text);
|
|
1409
|
+
emitTextSelected(text);
|
|
1376
1410
|
};
|
|
1377
1411
|
var handleChangeText = function (ev) {
|
|
1378
1412
|
onContentChanged === null || onContentChanged === void 0 ? void 0 : onContentChanged(ev, ev.target.value);
|
|
@@ -7409,7 +7443,7 @@ var IElementLink = function (_a) {
|
|
|
7409
7443
|
current: null,
|
|
7410
7444
|
}), selectedLabelRef = _o[0], setSelectedLabelRef = _o[1];
|
|
7411
7445
|
var _p = React$1.useState(false), isSelectedLink = _p[0], setIsSelectedLink = _p[1];
|
|
7412
|
-
var
|
|
7446
|
+
var _q = React$1.useContext(paperEventEmitterContext), onPaperClicked = _q.onPaperClicked, onElementSelected = _q.onElementSelected;
|
|
7413
7447
|
var pathRef = React$1.useRef(null);
|
|
7414
7448
|
var labelRef = React$1.useRef(null);
|
|
7415
7449
|
var sourceLabelRef = React$1.useRef(null);
|
|
@@ -7426,6 +7460,18 @@ var IElementLink = function (_a) {
|
|
|
7426
7460
|
paperClickListener.off();
|
|
7427
7461
|
};
|
|
7428
7462
|
}, []);
|
|
7463
|
+
React$1.useEffect(function () {
|
|
7464
|
+
var elementSelectedListener = onElementSelected(function () {
|
|
7465
|
+
setSelectedLabelRef({
|
|
7466
|
+
current: null,
|
|
7467
|
+
});
|
|
7468
|
+
setIsSelectedLink(false);
|
|
7469
|
+
onDeselected === null || onDeselected === void 0 ? void 0 : onDeselected();
|
|
7470
|
+
});
|
|
7471
|
+
return function () {
|
|
7472
|
+
elementSelectedListener.off();
|
|
7473
|
+
};
|
|
7474
|
+
}, []);
|
|
7429
7475
|
React$1.useLayoutEffect(function () {
|
|
7430
7476
|
var pointsList = __spreadArray(__spreadArray([sourcePosition], points, true), [targetPosition], false);
|
|
7431
7477
|
var _pathStr = createSmoothPathString(pointsList, undefined);
|
|
@@ -7647,11 +7693,21 @@ var Ruler = function (_a) {
|
|
|
7647
7693
|
};
|
|
7648
7694
|
|
|
7649
7695
|
var ElementWrapper = React$1.forwardRef(function (_a, ref) {
|
|
7650
|
-
var x = _a.x, y = _a.y, children = _a.children; _a.portPlaceholders; _a.ports; var onClick = _a.onClick, onMouseMove = _a.onMouseMove, onMouseLeave = _a.onMouseLeave, onMouseUp = _a.onMouseUp;
|
|
7696
|
+
var x = _a.x, y = _a.y, children = _a.children; _a.portPlaceholders; _a.ports; var onClick = _a.onClick, onContextMenu = _a.onContextMenu, onMouseMove = _a.onMouseMove, onMouseLeave = _a.onMouseLeave, onMouseUp = _a.onMouseUp;
|
|
7651
7697
|
var handleMouseDown = function (ev) {
|
|
7652
7698
|
ev.stopPropagation();
|
|
7653
7699
|
};
|
|
7654
|
-
|
|
7700
|
+
var handleClick = function (ev) {
|
|
7701
|
+
if (ev.type === 'click') {
|
|
7702
|
+
if (onClick)
|
|
7703
|
+
onClick(ev);
|
|
7704
|
+
}
|
|
7705
|
+
else if (ev.type === 'contextmenu') {
|
|
7706
|
+
if (onContextMenu)
|
|
7707
|
+
onContextMenu(ev);
|
|
7708
|
+
}
|
|
7709
|
+
};
|
|
7710
|
+
return (React$1.createElement("svg", { x: x, y: y, onClick: handleClick, onContextMenu: handleClick, onMouseDown: handleMouseDown, ref: ref, style: { overflow: "visible" }, onMouseMove: onMouseMove, onMouseLeave: onMouseLeave, onMouseUp: onMouseUp }, children));
|
|
7655
7711
|
});
|
|
7656
7712
|
|
|
7657
7713
|
// Calculate the position of the 4 vertices of a rectangle relative to its parent svg
|
|
@@ -8921,7 +8977,7 @@ var Flexbox$1 = /*@__PURE__*/getDefaultExportFromCjs(bundleExports);
|
|
|
8921
8977
|
|
|
8922
8978
|
var Element = function (props) {
|
|
8923
8979
|
var _a, _b;
|
|
8924
|
-
var id = props.id, x = props.x, y = props.y, width = props.width, height = props.height, portPlaceholderShape = props.portPlaceholderShape, children = props.children, container = props.container, textsPlaceHolderFlexStyle = props.textsPlaceHolderFlexStyle, textsPlaceHolderFlexboxPosition = props.textsPlaceHolderFlexboxPosition, textsPlaceHolderClassName = props.textsPlaceHolderClassName, texts = props.texts, portSlideRailSVGClassName = props.portSlideRailSVGClassName, portMoveableAreas = props.portMoveableAreas, portDirection = props.portDirection, defaultPortSize = props.defaultPortSize, onClick = props.onClick, renderShape = props.renderShape; props.onMoved; var onPortMoved = props.onPortMoved; props.onResized; var onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp; props.onMouseMove; props.onMouseLeave; props.onMouseUp; var onMouseUpAtLinkedPortPlaceholder = props.onMouseUpAtLinkedPortPlaceholder, onTextUpdated = props.onTextUpdated;
|
|
8980
|
+
var id = props.id, x = props.x, y = props.y, width = props.width, height = props.height, portPlaceholderShape = props.portPlaceholderShape, children = props.children, container = props.container, textsPlaceHolderFlexStyle = props.textsPlaceHolderFlexStyle, textsPlaceHolderFlexboxPosition = props.textsPlaceHolderFlexboxPosition, textsPlaceHolderClassName = props.textsPlaceHolderClassName, texts = props.texts, portSlideRailSVGClassName = props.portSlideRailSVGClassName, portMoveableAreas = props.portMoveableAreas, portDirection = props.portDirection, defaultPortSize = props.defaultPortSize, onClick = props.onClick, onContextMenu = props.onContextMenu, renderShape = props.renderShape; props.onMoved; var onPortMoved = props.onPortMoved; props.onResized; var onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp; props.onMouseMove; props.onMouseLeave; props.onMouseUp; var onMouseUpAtLinkedPortPlaceholder = props.onMouseUpAtLinkedPortPlaceholder, onTextUpdated = props.onTextUpdated;
|
|
8925
8981
|
var _c = React$1.useState(), selectedPort = _c[0], setSelectedPort = _c[1];
|
|
8926
8982
|
var _d = React$1.useState((_b = (_a = props.ports) === null || _a === void 0 ? void 0 : _a.map(function (p) {
|
|
8927
8983
|
return __assign(__assign({}, p), { id: p.id, ref: React$1.createRef() });
|
|
@@ -8999,6 +9055,15 @@ var Element = function (props) {
|
|
|
8999
9055
|
portSelectedListener.off();
|
|
9000
9056
|
};
|
|
9001
9057
|
}, []);
|
|
9058
|
+
//Listen text is selected
|
|
9059
|
+
React$1.useEffect(function () {
|
|
9060
|
+
var textSelectedListener = _paperEventEmitterContext.onTextSelected(function (text) {
|
|
9061
|
+
setSelectedPort(undefined);
|
|
9062
|
+
});
|
|
9063
|
+
return function () {
|
|
9064
|
+
textSelectedListener.off();
|
|
9065
|
+
};
|
|
9066
|
+
}, []);
|
|
9002
9067
|
//Listen another element is selected
|
|
9003
9068
|
React$1.useEffect(function () {
|
|
9004
9069
|
var portSelectedListener = _paperEventEmitterContext.onElementSelected(function (element) {
|
|
@@ -9303,7 +9368,7 @@ var Element = function (props) {
|
|
|
9303
9368
|
movingOffsetThreshold: PORT_MOVING_OFFSET_THRESHOLD,
|
|
9304
9369
|
onMove: handlePortMove
|
|
9305
9370
|
});
|
|
9306
|
-
return (React$1.createElement(ElementWrapper, { ref: elementRef, x: x, y: y, onClick: function (e) { return onClick ? onClick(id, e, elementRef.current) : true; }, onMouseMove: handleElementMouseMove, onMouseLeave: handleElementMouseLeave, onMouseUp: handleElementMouseUp },
|
|
9371
|
+
return (React$1.createElement(ElementWrapper, { ref: elementRef, x: x, y: y, onClick: function (e) { return onClick ? onClick(id, e, elementRef.current) : true; }, onMouseMove: handleElementMouseMove, onMouseLeave: handleElementMouseLeave, onMouseUp: handleElementMouseUp, onContextMenu: function (e) { return onContextMenu ? onContextMenu(id, e, elementRef.current) : true; } },
|
|
9307
9372
|
renderedShape,
|
|
9308
9373
|
potentialPortPosition && (portPlaceholderShape
|
|
9309
9374
|
? React$1.createElement("svg", { x: potentialPortPosition.x, y: potentialPortPosition.y }, portPlaceholderShape)
|
|
@@ -9569,6 +9634,28 @@ var Paper = function (props) {
|
|
|
9569
9634
|
var parsedElementsInTree = convertElementsToTree(elements);
|
|
9570
9635
|
setElementsInTree(parsedElementsInTree);
|
|
9571
9636
|
};
|
|
9637
|
+
//Listen text is selected
|
|
9638
|
+
React$1.useEffect(function () {
|
|
9639
|
+
var textSelectedListener = paperEventEmitter.onTextSelected(function (text) {
|
|
9640
|
+
setSelectedElement(undefined);
|
|
9641
|
+
setSelectedElementSVG(null);
|
|
9642
|
+
setSelectedLink(undefined);
|
|
9643
|
+
});
|
|
9644
|
+
return function () {
|
|
9645
|
+
textSelectedListener.off();
|
|
9646
|
+
};
|
|
9647
|
+
}, []);
|
|
9648
|
+
//Listen port is selected
|
|
9649
|
+
React$1.useEffect(function () {
|
|
9650
|
+
var portSelectedListener = paperEventEmitter.onPortSelected(function (port) {
|
|
9651
|
+
setSelectedElement(undefined);
|
|
9652
|
+
setSelectedElementSVG(null);
|
|
9653
|
+
setSelectedLink(undefined);
|
|
9654
|
+
});
|
|
9655
|
+
return function () {
|
|
9656
|
+
portSelectedListener.off();
|
|
9657
|
+
};
|
|
9658
|
+
}, []);
|
|
9572
9659
|
React$1.useEffect(function () {
|
|
9573
9660
|
//Listen parent of elements changed, then update elements tree
|
|
9574
9661
|
var parentChangedCancelers = elements.map(function (element) {
|
|
@@ -9618,6 +9705,7 @@ var Paper = function (props) {
|
|
|
9618
9705
|
setElements(function (prev) { return prev.filter(function (e) { return !deletedElementIds_1.includes(e.id); }); });
|
|
9619
9706
|
setLinks(function (prevLinks) { return prevLinks.filter(function (l) { return !deletedElementIds_1.includes(l.sourceElement.id) && !deletedElementIds_1.includes(l.targetElement.id); }); });
|
|
9620
9707
|
setSelectedElement(undefined);
|
|
9708
|
+
setSelectedElementSVG(null);
|
|
9621
9709
|
}
|
|
9622
9710
|
});
|
|
9623
9711
|
return function () {
|
|
@@ -10033,16 +10121,30 @@ var Paper = function (props) {
|
|
|
10033
10121
|
});
|
|
10034
10122
|
});
|
|
10035
10123
|
};
|
|
10124
|
+
var handleElementClicked = function (id, e, ref, element) {
|
|
10125
|
+
e.stopPropagation();
|
|
10126
|
+
if (tempLink) {
|
|
10127
|
+
//Clear tempLink
|
|
10128
|
+
setTempLink(undefined);
|
|
10129
|
+
paperEventEmitter.emitElementLinkEnded();
|
|
10130
|
+
}
|
|
10131
|
+
else {
|
|
10132
|
+
setSelectedElementSVG(ref);
|
|
10133
|
+
setSelectedElement(element);
|
|
10134
|
+
paperEventEmitter.emitElementSelected(element);
|
|
10135
|
+
}
|
|
10136
|
+
setMouseDownedOnPaper(false);
|
|
10137
|
+
};
|
|
10036
10138
|
var renderElementInTree = function (element) {
|
|
10037
10139
|
var _a, _b;
|
|
10038
10140
|
//use the defined react element or the default Element component
|
|
10039
10141
|
var ReactElement = element.reactElement || Element;
|
|
10040
10142
|
return (React$1.createElement("g", { key: element.id }, React$1.createElement(ReactElement, { key: "element-".concat(element.id), id: element.id, height: element.size.height, width: element.size.width, x: (_a = element.relativePosition) === null || _a === void 0 ? void 0 : _a.x, y: (_b = element.relativePosition) === null || _b === void 0 ? void 0 : _b.y, onClick: function (id, e, ref) {
|
|
10041
|
-
e
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10143
|
+
handleElementClicked(id, e, ref, element);
|
|
10144
|
+
}, onContextMenu: function (id, e, ref) {
|
|
10145
|
+
var _a;
|
|
10146
|
+
handleElementClicked(id, e, ref, element);
|
|
10147
|
+
(_a = props.onElementContextMenu) === null || _a === void 0 ? void 0 : _a.call(props, element, e);
|
|
10046
10148
|
}, container: paperContainerRef.current, renderShape: element.renderShape, cssClass: element.cssClass, texts: element.texts, ports: element.ports, portMoveableAreas: element.portMoveableAreas, portSlideRailSVGClassName: element.portSlideRailSVGClassName, portDirection: element.portDirection, defaultPortSize: element.defaultPortSize, onPortMoved: handlePortMoved, onPortMouseDown: handlePortMouseDown, onPortMouseUp: handlePortMouseUp,
|
|
10047
10149
|
// portPlaceholderShape={(<Circle x={0} y={0} width={10} height={10} fill='red' positioningAnchor={PositioningAnchor.Center} />)}
|
|
10048
10150
|
onMouseUpAtLinkedPortPlaceholder: function (elementLink, position) { return handleMouseUpAtLinkedPortPlaceholder(elementLink, position, element); }, onTextUpdated: function (textId, newContent) { return handleElementTextChange(element, textId, newContent); }, textsPlaceHolderClassName: element.textsPlaceHolderClassName, textsPlaceHolderFlexStyle: element.textsPlaceHolderFlexStyle, textsPlaceHolderFlexboxPosition: element.textsPlaceHolderFlexboxPosition }, element.childrenElements && element.childrenElements.map(renderElementInTree))));
|
|
@@ -10077,7 +10179,7 @@ var Paper = function (props) {
|
|
|
10077
10179
|
function Editor(_a) {
|
|
10078
10180
|
var editorContext = _a.editorContext;
|
|
10079
10181
|
return (React$1.createElement(React$1.Fragment, null,
|
|
10080
|
-
React$1.createElement(Paper, { size: { width: 3000, height: 3000 }, elements: editorContext.elements, links: editorContext.links, texts: editorContext.texts, onPaperClicked: editorContext.onPaperClicked, onPortMoved: editorContext.onPortMoved, onElementMoved: editorContext.onElementMoved, onElementResized: editorContext.onElementResized, onLinkValidation: editorContext.validateLink, onCreatingLink: editorContext.onCreatingLink, onCreatingPortByLinking: editorContext.onCreatingPortByLinking })));
|
|
10182
|
+
React$1.createElement(Paper, { size: { width: 3000, height: 3000 }, elements: editorContext.elements, links: editorContext.links, texts: editorContext.texts, onPaperClicked: editorContext.onPaperClicked, onPortMoved: editorContext.onPortMoved, onElementContextMenu: editorContext.onElementContextMenu, onElementMoved: editorContext.onElementMoved, onElementResized: editorContext.onElementResized, onLinkValidation: editorContext.validateLink, onCreatingLink: editorContext.onCreatingLink, onCreatingPortByLinking: editorContext.onCreatingPortByLinking })));
|
|
10081
10183
|
}
|
|
10082
10184
|
|
|
10083
10185
|
exports.CircleRC = Circle;
|
|
@@ -15,6 +15,7 @@ interface PaperProps {
|
|
|
15
15
|
texts: IPaperText[];
|
|
16
16
|
onPaperClicked?: () => void;
|
|
17
17
|
onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
|
|
18
|
+
onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
|
|
18
19
|
onElementMoved?: (position: IPosition, element: IElement, index: number) => void;
|
|
19
20
|
onElementResized?: (size: ISize, element: IElement, index: number) => void;
|
|
20
21
|
onLinkValidation?: (sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import EventEmitter from "eventemitter3";
|
|
3
|
-
import { onCommandDeleteSelectedHandler, OnElementLinkEnded, OnElementLinkStarted, onElementMovedHandler, onElementResizedHandler, OnElementSelected, onPortMouseDownHandler, onPortMouseUpHandler, onPortMovedHandler, OnPortSelected } from "../models/callbackTypes";
|
|
3
|
+
import { onCommandDeleteSelectedHandler, OnElementLinkEnded, OnElementLinkStarted, onElementMovedHandler, onElementResizedHandler, OnElementSelected, onPortMouseDownHandler, onPortMouseUpHandler, onPortMovedHandler, OnPortSelected, OnTextSelected } from "../models/callbackTypes";
|
|
4
4
|
interface IEventListenerReturn {
|
|
5
5
|
off: () => void;
|
|
6
6
|
}
|
|
@@ -34,6 +34,8 @@ interface IPaperEventContext {
|
|
|
34
34
|
onElementLinkStarted: (callback: OnElementLinkStarted) => IEventListenerReturn;
|
|
35
35
|
emitElementLinkEnded: OnElementLinkEnded;
|
|
36
36
|
onElementLinkEnded: (callback: OnElementLinkEnded) => IEventListenerReturn;
|
|
37
|
+
emitTextSelected: OnTextSelected;
|
|
38
|
+
onTextSelected: (callback: OnTextSelected) => IEventListenerReturn;
|
|
37
39
|
}
|
|
38
40
|
export declare const paperEventEmitterContext: React.Context<IPaperEventContext>;
|
|
39
41
|
export {};
|
|
@@ -22,6 +22,7 @@ interface IElementProps {
|
|
|
22
22
|
portDirection?: SubObjectDirection;
|
|
23
23
|
defaultPortSize?: number;
|
|
24
24
|
onClick?: (elementId: string, e: React.MouseEvent<SVGElement>, ref: SVGSVGElement | null) => void;
|
|
25
|
+
onContextMenu?: (elementId: string, e: React.MouseEvent<SVGElement>, ref: SVGSVGElement | null) => void;
|
|
25
26
|
container: Element;
|
|
26
27
|
onResized?: onElementResizedHandler;
|
|
27
28
|
onMoved?: onElementMovedHandler;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import IElement from "./IElement";
|
|
3
3
|
import IElementLink from "./IElementLink";
|
|
4
4
|
import IPort from "./IPort";
|
|
5
|
+
import IText from "./IText";
|
|
5
6
|
import IPosition from "./position";
|
|
6
7
|
import ISize from "./size";
|
|
7
8
|
export type onPortMovedHandler = (port: IPort, elementId: string, oldPosition: IPosition, newPosition: IPosition) => void;
|
|
@@ -14,3 +15,4 @@ export type onCommandDeleteSelectedHandler = () => void;
|
|
|
14
15
|
export type OnElementLinkStarted = (elementLink: IElementLink) => void;
|
|
15
16
|
export type OnElementLinkEnded = (elementLink?: IElementLink) => void;
|
|
16
17
|
export type OnPortSelected = (port: IPort, elementId: string) => void;
|
|
18
|
+
export type OnTextSelected = (text: IText) => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import IElement from "../IElement";
|
|
2
3
|
import IElementLink from "../IElementLink";
|
|
3
4
|
import { IPaperText } from "../IText";
|
|
@@ -10,6 +11,7 @@ export declare class EditorContext {
|
|
|
10
11
|
private _texts;
|
|
11
12
|
onPaperClicked?: () => void;
|
|
12
13
|
onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
|
|
14
|
+
onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
|
|
13
15
|
onElementMoved?: (position: IPosition, element: IElement, index: number) => void;
|
|
14
16
|
onElementResized?: (size: ISize, element: IElement, index: number) => void;
|
|
15
17
|
validateLink?: (sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => boolean;
|
|
@@ -17,6 +17,7 @@ export declare const EVENT_NAME: {
|
|
|
17
17
|
COMMAND_DELETE_SELECTED_TEXT: string;
|
|
18
18
|
ELEMENT_LINK_STARTED: string;
|
|
19
19
|
ELEMENT_LINK_ENDED: string;
|
|
20
|
+
TEXT_SELECTED: string;
|
|
20
21
|
};
|
|
21
22
|
export declare const MIN_DISTANCE_BETWEEN_KNOTS_ON_LINK = 30;
|
|
22
23
|
export declare const MAX_LINK_KNOT_COUNT = 10;
|
package/dist/esm/index.js
CHANGED
|
@@ -950,6 +950,8 @@ var EVENT_NAME = {
|
|
|
950
950
|
//ELEMENT LINK
|
|
951
951
|
ELEMENT_LINK_STARTED: 'element_link_started',
|
|
952
952
|
ELEMENT_LINK_ENDED: 'element_link_ended',
|
|
953
|
+
//TEXT
|
|
954
|
+
TEXT_SELECTED: 'text_selected',
|
|
953
955
|
};
|
|
954
956
|
//ELEMENT
|
|
955
957
|
//export const ELEMENT_MOVING_OFFSET_THRESHOLD = 10;
|
|
@@ -1300,6 +1302,18 @@ var onPortSelected = function (callback) {
|
|
|
1300
1302
|
off: off
|
|
1301
1303
|
};
|
|
1302
1304
|
};
|
|
1305
|
+
var emitTextSelected = function (text) {
|
|
1306
|
+
eventEmitter.emit(EVENT_NAME.TEXT_SELECTED, text);
|
|
1307
|
+
};
|
|
1308
|
+
var onTextSelected = function (callback) {
|
|
1309
|
+
eventEmitter.on(EVENT_NAME.TEXT_SELECTED, callback);
|
|
1310
|
+
var off = function () {
|
|
1311
|
+
eventEmitter.off(EVENT_NAME.TEXT_SELECTED, callback);
|
|
1312
|
+
};
|
|
1313
|
+
return {
|
|
1314
|
+
off: off
|
|
1315
|
+
};
|
|
1316
|
+
};
|
|
1303
1317
|
var paperEventEmitterContext = createContext({
|
|
1304
1318
|
emitter: eventEmitter,
|
|
1305
1319
|
emitPaperClicked: emitPaperClicked,
|
|
@@ -1330,6 +1344,8 @@ var paperEventEmitterContext = createContext({
|
|
|
1330
1344
|
onElementLinkStarted: onElementLinkStarted,
|
|
1331
1345
|
emitElementLinkEnded: emitElementLinkEnded,
|
|
1332
1346
|
onElementLinkEnded: onElementLinkEnded,
|
|
1347
|
+
emitTextSelected: emitTextSelected,
|
|
1348
|
+
onTextSelected: onTextSelected,
|
|
1333
1349
|
});
|
|
1334
1350
|
|
|
1335
1351
|
var Text = forwardRef(function (_a, ref) {
|
|
@@ -1337,7 +1353,7 @@ var Text = forwardRef(function (_a, ref) {
|
|
|
1337
1353
|
var _c = useState(false), isSelected = _c[0], setIsSelected = _c[1];
|
|
1338
1354
|
var _d = useState(false), isEditing = _d[0], setIsEditing = _d[1];
|
|
1339
1355
|
var svgRef = useRef();
|
|
1340
|
-
var
|
|
1356
|
+
var _e = useContext(paperEventEmitterContext), onPaperClicked = _e.onPaperClicked, emitTextSelected = _e.emitTextSelected, onPortSelected = _e.onPortSelected, onElementSelected = _e.onElementSelected, onTextSelected = _e.onTextSelected;
|
|
1341
1357
|
useEffect(function () {
|
|
1342
1358
|
var paperClickListener = onPaperClicked(function (ev) {
|
|
1343
1359
|
var _a;
|
|
@@ -1347,8 +1363,25 @@ var Text = forwardRef(function (_a, ref) {
|
|
|
1347
1363
|
setIsEditing(false);
|
|
1348
1364
|
}
|
|
1349
1365
|
});
|
|
1366
|
+
var portSelectedListener = onPortSelected(function (port) {
|
|
1367
|
+
setIsSelected(false);
|
|
1368
|
+
setIsEditing(false);
|
|
1369
|
+
});
|
|
1370
|
+
var elementSelectedListener = onElementSelected(function (element) {
|
|
1371
|
+
setIsSelected(false);
|
|
1372
|
+
setIsEditing(false);
|
|
1373
|
+
});
|
|
1374
|
+
var textSelectedListener = onTextSelected(function (text) {
|
|
1375
|
+
if (text.id !== id) {
|
|
1376
|
+
setIsSelected(false);
|
|
1377
|
+
setIsEditing(false);
|
|
1378
|
+
}
|
|
1379
|
+
});
|
|
1350
1380
|
return function () {
|
|
1351
1381
|
paperClickListener.off();
|
|
1382
|
+
portSelectedListener.off();
|
|
1383
|
+
elementSelectedListener.off();
|
|
1384
|
+
textSelectedListener.off();
|
|
1352
1385
|
};
|
|
1353
1386
|
}, []);
|
|
1354
1387
|
//Handle click on svg element
|
|
@@ -1369,6 +1402,7 @@ var Text = forwardRef(function (_a, ref) {
|
|
|
1369
1402
|
};
|
|
1370
1403
|
setIsSelected(true);
|
|
1371
1404
|
onSelected && onSelected(text);
|
|
1405
|
+
emitTextSelected(text);
|
|
1372
1406
|
};
|
|
1373
1407
|
var handleChangeText = function (ev) {
|
|
1374
1408
|
onContentChanged === null || onContentChanged === void 0 ? void 0 : onContentChanged(ev, ev.target.value);
|
|
@@ -7405,7 +7439,7 @@ var IElementLink = function (_a) {
|
|
|
7405
7439
|
current: null,
|
|
7406
7440
|
}), selectedLabelRef = _o[0], setSelectedLabelRef = _o[1];
|
|
7407
7441
|
var _p = useState(false), isSelectedLink = _p[0], setIsSelectedLink = _p[1];
|
|
7408
|
-
var
|
|
7442
|
+
var _q = useContext(paperEventEmitterContext), onPaperClicked = _q.onPaperClicked, onElementSelected = _q.onElementSelected;
|
|
7409
7443
|
var pathRef = useRef(null);
|
|
7410
7444
|
var labelRef = useRef(null);
|
|
7411
7445
|
var sourceLabelRef = useRef(null);
|
|
@@ -7422,6 +7456,18 @@ var IElementLink = function (_a) {
|
|
|
7422
7456
|
paperClickListener.off();
|
|
7423
7457
|
};
|
|
7424
7458
|
}, []);
|
|
7459
|
+
useEffect(function () {
|
|
7460
|
+
var elementSelectedListener = onElementSelected(function () {
|
|
7461
|
+
setSelectedLabelRef({
|
|
7462
|
+
current: null,
|
|
7463
|
+
});
|
|
7464
|
+
setIsSelectedLink(false);
|
|
7465
|
+
onDeselected === null || onDeselected === void 0 ? void 0 : onDeselected();
|
|
7466
|
+
});
|
|
7467
|
+
return function () {
|
|
7468
|
+
elementSelectedListener.off();
|
|
7469
|
+
};
|
|
7470
|
+
}, []);
|
|
7425
7471
|
useLayoutEffect(function () {
|
|
7426
7472
|
var pointsList = __spreadArray(__spreadArray([sourcePosition], points, true), [targetPosition], false);
|
|
7427
7473
|
var _pathStr = createSmoothPathString(pointsList, undefined);
|
|
@@ -7643,11 +7689,21 @@ var Ruler = function (_a) {
|
|
|
7643
7689
|
};
|
|
7644
7690
|
|
|
7645
7691
|
var ElementWrapper = forwardRef(function (_a, ref) {
|
|
7646
|
-
var x = _a.x, y = _a.y, children = _a.children; _a.portPlaceholders; _a.ports; var onClick = _a.onClick, onMouseMove = _a.onMouseMove, onMouseLeave = _a.onMouseLeave, onMouseUp = _a.onMouseUp;
|
|
7692
|
+
var x = _a.x, y = _a.y, children = _a.children; _a.portPlaceholders; _a.ports; var onClick = _a.onClick, onContextMenu = _a.onContextMenu, onMouseMove = _a.onMouseMove, onMouseLeave = _a.onMouseLeave, onMouseUp = _a.onMouseUp;
|
|
7647
7693
|
var handleMouseDown = function (ev) {
|
|
7648
7694
|
ev.stopPropagation();
|
|
7649
7695
|
};
|
|
7650
|
-
|
|
7696
|
+
var handleClick = function (ev) {
|
|
7697
|
+
if (ev.type === 'click') {
|
|
7698
|
+
if (onClick)
|
|
7699
|
+
onClick(ev);
|
|
7700
|
+
}
|
|
7701
|
+
else if (ev.type === 'contextmenu') {
|
|
7702
|
+
if (onContextMenu)
|
|
7703
|
+
onContextMenu(ev);
|
|
7704
|
+
}
|
|
7705
|
+
};
|
|
7706
|
+
return (React$1.createElement("svg", { x: x, y: y, onClick: handleClick, onContextMenu: handleClick, onMouseDown: handleMouseDown, ref: ref, style: { overflow: "visible" }, onMouseMove: onMouseMove, onMouseLeave: onMouseLeave, onMouseUp: onMouseUp }, children));
|
|
7651
7707
|
});
|
|
7652
7708
|
|
|
7653
7709
|
// Calculate the position of the 4 vertices of a rectangle relative to its parent svg
|
|
@@ -8917,7 +8973,7 @@ var Flexbox$1 = /*@__PURE__*/getDefaultExportFromCjs(bundleExports);
|
|
|
8917
8973
|
|
|
8918
8974
|
var Element = function (props) {
|
|
8919
8975
|
var _a, _b;
|
|
8920
|
-
var id = props.id, x = props.x, y = props.y, width = props.width, height = props.height, portPlaceholderShape = props.portPlaceholderShape, children = props.children, container = props.container, textsPlaceHolderFlexStyle = props.textsPlaceHolderFlexStyle, textsPlaceHolderFlexboxPosition = props.textsPlaceHolderFlexboxPosition, textsPlaceHolderClassName = props.textsPlaceHolderClassName, texts = props.texts, portSlideRailSVGClassName = props.portSlideRailSVGClassName, portMoveableAreas = props.portMoveableAreas, portDirection = props.portDirection, defaultPortSize = props.defaultPortSize, onClick = props.onClick, renderShape = props.renderShape; props.onMoved; var onPortMoved = props.onPortMoved; props.onResized; var onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp; props.onMouseMove; props.onMouseLeave; props.onMouseUp; var onMouseUpAtLinkedPortPlaceholder = props.onMouseUpAtLinkedPortPlaceholder, onTextUpdated = props.onTextUpdated;
|
|
8976
|
+
var id = props.id, x = props.x, y = props.y, width = props.width, height = props.height, portPlaceholderShape = props.portPlaceholderShape, children = props.children, container = props.container, textsPlaceHolderFlexStyle = props.textsPlaceHolderFlexStyle, textsPlaceHolderFlexboxPosition = props.textsPlaceHolderFlexboxPosition, textsPlaceHolderClassName = props.textsPlaceHolderClassName, texts = props.texts, portSlideRailSVGClassName = props.portSlideRailSVGClassName, portMoveableAreas = props.portMoveableAreas, portDirection = props.portDirection, defaultPortSize = props.defaultPortSize, onClick = props.onClick, onContextMenu = props.onContextMenu, renderShape = props.renderShape; props.onMoved; var onPortMoved = props.onPortMoved; props.onResized; var onPortMouseDown = props.onPortMouseDown, onPortMouseUp = props.onPortMouseUp; props.onMouseMove; props.onMouseLeave; props.onMouseUp; var onMouseUpAtLinkedPortPlaceholder = props.onMouseUpAtLinkedPortPlaceholder, onTextUpdated = props.onTextUpdated;
|
|
8921
8977
|
var _c = useState(), selectedPort = _c[0], setSelectedPort = _c[1];
|
|
8922
8978
|
var _d = useState((_b = (_a = props.ports) === null || _a === void 0 ? void 0 : _a.map(function (p) {
|
|
8923
8979
|
return __assign(__assign({}, p), { id: p.id, ref: React$1.createRef() });
|
|
@@ -8995,6 +9051,15 @@ var Element = function (props) {
|
|
|
8995
9051
|
portSelectedListener.off();
|
|
8996
9052
|
};
|
|
8997
9053
|
}, []);
|
|
9054
|
+
//Listen text is selected
|
|
9055
|
+
useEffect(function () {
|
|
9056
|
+
var textSelectedListener = _paperEventEmitterContext.onTextSelected(function (text) {
|
|
9057
|
+
setSelectedPort(undefined);
|
|
9058
|
+
});
|
|
9059
|
+
return function () {
|
|
9060
|
+
textSelectedListener.off();
|
|
9061
|
+
};
|
|
9062
|
+
}, []);
|
|
8998
9063
|
//Listen another element is selected
|
|
8999
9064
|
useEffect(function () {
|
|
9000
9065
|
var portSelectedListener = _paperEventEmitterContext.onElementSelected(function (element) {
|
|
@@ -9299,7 +9364,7 @@ var Element = function (props) {
|
|
|
9299
9364
|
movingOffsetThreshold: PORT_MOVING_OFFSET_THRESHOLD,
|
|
9300
9365
|
onMove: handlePortMove
|
|
9301
9366
|
});
|
|
9302
|
-
return (React$1.createElement(ElementWrapper, { ref: elementRef, x: x, y: y, onClick: function (e) { return onClick ? onClick(id, e, elementRef.current) : true; }, onMouseMove: handleElementMouseMove, onMouseLeave: handleElementMouseLeave, onMouseUp: handleElementMouseUp },
|
|
9367
|
+
return (React$1.createElement(ElementWrapper, { ref: elementRef, x: x, y: y, onClick: function (e) { return onClick ? onClick(id, e, elementRef.current) : true; }, onMouseMove: handleElementMouseMove, onMouseLeave: handleElementMouseLeave, onMouseUp: handleElementMouseUp, onContextMenu: function (e) { return onContextMenu ? onContextMenu(id, e, elementRef.current) : true; } },
|
|
9303
9368
|
renderedShape,
|
|
9304
9369
|
potentialPortPosition && (portPlaceholderShape
|
|
9305
9370
|
? React$1.createElement("svg", { x: potentialPortPosition.x, y: potentialPortPosition.y }, portPlaceholderShape)
|
|
@@ -9565,6 +9630,28 @@ var Paper = function (props) {
|
|
|
9565
9630
|
var parsedElementsInTree = convertElementsToTree(elements);
|
|
9566
9631
|
setElementsInTree(parsedElementsInTree);
|
|
9567
9632
|
};
|
|
9633
|
+
//Listen text is selected
|
|
9634
|
+
useEffect(function () {
|
|
9635
|
+
var textSelectedListener = paperEventEmitter.onTextSelected(function (text) {
|
|
9636
|
+
setSelectedElement(undefined);
|
|
9637
|
+
setSelectedElementSVG(null);
|
|
9638
|
+
setSelectedLink(undefined);
|
|
9639
|
+
});
|
|
9640
|
+
return function () {
|
|
9641
|
+
textSelectedListener.off();
|
|
9642
|
+
};
|
|
9643
|
+
}, []);
|
|
9644
|
+
//Listen port is selected
|
|
9645
|
+
useEffect(function () {
|
|
9646
|
+
var portSelectedListener = paperEventEmitter.onPortSelected(function (port) {
|
|
9647
|
+
setSelectedElement(undefined);
|
|
9648
|
+
setSelectedElementSVG(null);
|
|
9649
|
+
setSelectedLink(undefined);
|
|
9650
|
+
});
|
|
9651
|
+
return function () {
|
|
9652
|
+
portSelectedListener.off();
|
|
9653
|
+
};
|
|
9654
|
+
}, []);
|
|
9568
9655
|
useEffect(function () {
|
|
9569
9656
|
//Listen parent of elements changed, then update elements tree
|
|
9570
9657
|
var parentChangedCancelers = elements.map(function (element) {
|
|
@@ -9614,6 +9701,7 @@ var Paper = function (props) {
|
|
|
9614
9701
|
setElements(function (prev) { return prev.filter(function (e) { return !deletedElementIds_1.includes(e.id); }); });
|
|
9615
9702
|
setLinks(function (prevLinks) { return prevLinks.filter(function (l) { return !deletedElementIds_1.includes(l.sourceElement.id) && !deletedElementIds_1.includes(l.targetElement.id); }); });
|
|
9616
9703
|
setSelectedElement(undefined);
|
|
9704
|
+
setSelectedElementSVG(null);
|
|
9617
9705
|
}
|
|
9618
9706
|
});
|
|
9619
9707
|
return function () {
|
|
@@ -10029,16 +10117,30 @@ var Paper = function (props) {
|
|
|
10029
10117
|
});
|
|
10030
10118
|
});
|
|
10031
10119
|
};
|
|
10120
|
+
var handleElementClicked = function (id, e, ref, element) {
|
|
10121
|
+
e.stopPropagation();
|
|
10122
|
+
if (tempLink) {
|
|
10123
|
+
//Clear tempLink
|
|
10124
|
+
setTempLink(undefined);
|
|
10125
|
+
paperEventEmitter.emitElementLinkEnded();
|
|
10126
|
+
}
|
|
10127
|
+
else {
|
|
10128
|
+
setSelectedElementSVG(ref);
|
|
10129
|
+
setSelectedElement(element);
|
|
10130
|
+
paperEventEmitter.emitElementSelected(element);
|
|
10131
|
+
}
|
|
10132
|
+
setMouseDownedOnPaper(false);
|
|
10133
|
+
};
|
|
10032
10134
|
var renderElementInTree = function (element) {
|
|
10033
10135
|
var _a, _b;
|
|
10034
10136
|
//use the defined react element or the default Element component
|
|
10035
10137
|
var ReactElement = element.reactElement || Element;
|
|
10036
10138
|
return (React$1.createElement("g", { key: element.id }, React$1.createElement(ReactElement, { key: "element-".concat(element.id), id: element.id, height: element.size.height, width: element.size.width, x: (_a = element.relativePosition) === null || _a === void 0 ? void 0 : _a.x, y: (_b = element.relativePosition) === null || _b === void 0 ? void 0 : _b.y, onClick: function (id, e, ref) {
|
|
10037
|
-
e
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10139
|
+
handleElementClicked(id, e, ref, element);
|
|
10140
|
+
}, onContextMenu: function (id, e, ref) {
|
|
10141
|
+
var _a;
|
|
10142
|
+
handleElementClicked(id, e, ref, element);
|
|
10143
|
+
(_a = props.onElementContextMenu) === null || _a === void 0 ? void 0 : _a.call(props, element, e);
|
|
10042
10144
|
}, container: paperContainerRef.current, renderShape: element.renderShape, cssClass: element.cssClass, texts: element.texts, ports: element.ports, portMoveableAreas: element.portMoveableAreas, portSlideRailSVGClassName: element.portSlideRailSVGClassName, portDirection: element.portDirection, defaultPortSize: element.defaultPortSize, onPortMoved: handlePortMoved, onPortMouseDown: handlePortMouseDown, onPortMouseUp: handlePortMouseUp,
|
|
10043
10145
|
// portPlaceholderShape={(<Circle x={0} y={0} width={10} height={10} fill='red' positioningAnchor={PositioningAnchor.Center} />)}
|
|
10044
10146
|
onMouseUpAtLinkedPortPlaceholder: function (elementLink, position) { return handleMouseUpAtLinkedPortPlaceholder(elementLink, position, element); }, onTextUpdated: function (textId, newContent) { return handleElementTextChange(element, textId, newContent); }, textsPlaceHolderClassName: element.textsPlaceHolderClassName, textsPlaceHolderFlexStyle: element.textsPlaceHolderFlexStyle, textsPlaceHolderFlexboxPosition: element.textsPlaceHolderFlexboxPosition }, element.childrenElements && element.childrenElements.map(renderElementInTree))));
|
|
@@ -10073,7 +10175,7 @@ var Paper = function (props) {
|
|
|
10073
10175
|
function Editor(_a) {
|
|
10074
10176
|
var editorContext = _a.editorContext;
|
|
10075
10177
|
return (React$1.createElement(React$1.Fragment, null,
|
|
10076
|
-
React$1.createElement(Paper, { size: { width: 3000, height: 3000 }, elements: editorContext.elements, links: editorContext.links, texts: editorContext.texts, onPaperClicked: editorContext.onPaperClicked, onPortMoved: editorContext.onPortMoved, onElementMoved: editorContext.onElementMoved, onElementResized: editorContext.onElementResized, onLinkValidation: editorContext.validateLink, onCreatingLink: editorContext.onCreatingLink, onCreatingPortByLinking: editorContext.onCreatingPortByLinking })));
|
|
10178
|
+
React$1.createElement(Paper, { size: { width: 3000, height: 3000 }, elements: editorContext.elements, links: editorContext.links, texts: editorContext.texts, onPaperClicked: editorContext.onPaperClicked, onPortMoved: editorContext.onPortMoved, onElementContextMenu: editorContext.onElementContextMenu, onElementMoved: editorContext.onElementMoved, onElementResized: editorContext.onElementResized, onLinkValidation: editorContext.validateLink, onCreatingLink: editorContext.onCreatingLink, onCreatingPortByLinking: editorContext.onCreatingPortByLinking })));
|
|
10077
10179
|
}
|
|
10078
10180
|
|
|
10079
10181
|
export { Circle as CircleRC, Crescent as CrescentRC, CustomPortFromJSXElement, CustomPortFromShape, CustomShape as CustomShapeRC, EditorContext, Element$1 as Element, ElementLink$1 as ElementLink, ElementLink as ElementLinkRC, Port$1 as Port, Port as PortRC, PositioningAnchor, Rectangle as RectangleRC, RectangularFrame as RectangularFrameRC, ResizingDirection, ShapeWrapper as ShapeWrapperRC, SubObjectDirection, Text$2 as Text, TextAlign, Text$1 as TextRC, Editor as default };
|