@focus.matters/diagrams 0.0.9 → 0.1.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/{DirectedPoint-HRgiLZeU.js → DirectedPoint-BcpEj8ub.js} +2 -2
- package/dist/DirectedPoint-BcpEj8ub.js.map +1 -0
- package/dist/diagrams.css +1 -1
- package/dist/index-hTkL5cDr.js +12037 -0
- package/dist/index-hTkL5cDr.js.map +1 -0
- package/dist/index.d.ts +1 -8
- package/dist/index.es.js +8 -6
- package/dist/index.umd.js +5 -4
- package/dist/index.umd.js.map +1 -1
- package/dist/{Diagrams → src/Diagrams}/components/Canvas.d.ts +1 -0
- package/dist/src/Diagrams/components/extensions/RenderDiagramExtensions.d.ts +4 -0
- package/dist/src/Diagrams/components/extensions/RenderUIExtensions.d.ts +4 -0
- package/dist/{Diagrams → src/Diagrams}/components/extra/AlignmentSuggestions.d.ts +1 -0
- package/dist/{Diagrams → src/Diagrams}/components/extra/GatewayRender.d.ts +1 -0
- package/dist/src/Diagrams/components/extra/NodeGatewayRender.d.ts +6 -0
- package/dist/src/Diagrams/components/objects/CustomRenderers.d.ts +4 -0
- package/dist/src/Diagrams/components/objects/EdgeLabels.d.ts +7 -0
- package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMarker.d.ts +1 -0
- package/dist/src/Diagrams/components/objects/RenderEdge/buildEdgePath.d.ts +5 -0
- package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/debugEdges.d.ts +4 -4
- package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/index.d.ts +1 -0
- package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/types.d.ts +3 -2
- package/dist/src/Diagrams/components/objects/ScreenRenderers.d.ts +4 -0
- package/dist/{Diagrams → src/Diagrams}/components/objects/Shape.d.ts +3 -3
- package/dist/src/Diagrams/components/objects/Shapes.d.ts +2 -0
- package/dist/{Diagrams → src/Diagrams}/components/objects/customRendererProps.d.ts +1 -1
- package/dist/src/Diagrams/components/objects/edgeLabelPlacement.d.ts +4 -0
- package/dist/src/Diagrams/components/objects/screenRendererProps.d.ts +18 -0
- package/dist/{Diagrams → src/Diagrams}/custom/agent/edges/AgentEdge.d.ts +20 -2
- package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ActionNode.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/AgentNode.d.ts +21 -2
- package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ConditionNode.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/OutcomeNode.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/TriggerNode.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/custom/agent/types.d.ts +6 -6
- package/dist/src/Diagrams/custom/bpmn/BPMDiagram.d.ts +14 -0
- package/dist/src/Diagrams/custom/bpmn/bpmnEvents.d.ts +4 -0
- package/dist/src/Diagrams/custom/bpmn/config/BPMNElementCatalog.d.ts +26 -0
- package/dist/src/Diagrams/custom/bpmn/config/BPMNLabels.d.ts +27 -0
- package/dist/src/Diagrams/custom/bpmn/edges/BPMNEdge.d.ts +77 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNArtifactTransformer.d.ts +5 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNEventAttachments.d.ts +19 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNGridSnap.d.ts +23 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNLaneResizer.d.ts +20 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNModelerExtension.d.ts +97 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNNodeResizer.d.ts +31 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNPropertyChangeEvent.d.ts +4 -0
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNResizeSuggester.d.ts +23 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/BPMNEventDefinition.d.ts +28 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +15 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/BlackBoxPoolNode.d.ts +17 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/DataStoreNode.d.ts +14 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/DocumentAnnotationNode.d.ts +19 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/DocumentNode.d.ts +13 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/EventNode.d.ts +130 -0
- package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/GateNode.d.ts +30 -3
- package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/LaneScreenRenderer.d.ts +6 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +131 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +114 -0
- package/dist/{Diagrams/custom/bpmn/nodes/EventNode.d.ts → src/Diagrams/custom/bpmn/nodes/TextAnnotationNode.d.ts} +33 -16
- package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/UnknownBPMNNode.d.ts +22 -3
- package/dist/src/Diagrams/custom/bpmn/ui/BPMNDiagramControls.d.ts +6 -0
- package/dist/src/Diagrams/custom/bpmn/ui/BPMNElementMenu.d.ts +11 -0
- package/dist/src/Diagrams/custom/bpmn/ui/BPMNIcon.d.ts +9 -0
- package/dist/src/Diagrams/custom/bpmn/ui/BPMNPropertiesPanel.d.ts +6 -0
- package/dist/src/Diagrams/custom/bpmn/ui/BPMNResizeHandle.d.ts +7 -0
- package/dist/src/Diagrams/custom/bpmn/ui/resolveToolbarMenuPlacement.d.ts +18 -0
- package/dist/src/Diagrams/custom/bpmn/ui/resolveVisibleEdgeToolbarAnchor.d.ts +4 -0
- package/dist/src/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +9 -0
- package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationActorNode.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationControllerNode.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationObjectNode.d.ts +1 -1
- package/dist/src/Diagrams/custom/communication/types.d.ts +1 -0
- package/dist/src/Diagrams/custom/editable/EditableLabel.d.ts +8 -0
- package/dist/src/Diagrams/custom/editable/EditableNode.d.ts +21 -0
- package/dist/{Diagrams → src/Diagrams}/store/Canvas.d.ts +16 -6
- package/dist/{Diagrams → src/Diagrams}/store/Diagram.d.ts +77 -19
- package/dist/src/Diagrams/store/elements/DEdgeLabelChangeEvent.d.ts +5 -0
- package/dist/src/Diagrams/store/elements/Edge.d.ts +92 -0
- package/dist/src/Diagrams/store/elements/EdgeLabel.d.ts +64 -0
- package/dist/{Diagrams → src/Diagrams}/store/elements/EdgePoint.d.ts +4 -4
- package/dist/{Diagrams → src/Diagrams}/store/elements/Events.d.ts +11 -11
- package/dist/{Diagrams → src/Diagrams}/store/elements/Gateway.d.ts +27 -7
- package/dist/src/Diagrams/store/elements/Node.d.ts +143 -0
- package/dist/{Diagrams → src/Diagrams}/store/extensions/Creator.d.ts +1 -1
- package/dist/src/Diagrams/store/extensions/DiagramExtension.d.ts +23 -0
- package/dist/{Diagrams → src/Diagrams}/store/extensions/DistancesBalancer.d.ts +7 -1
- package/dist/{Diagrams → src/Diagrams}/store/extensions/Dragger.d.ts +20 -5
- package/dist/{Diagrams → src/Diagrams}/store/extensions/EdgesDragger.d.ts +38 -27
- package/dist/src/Diagrams/store/extensions/History.d.ts +23 -0
- package/dist/{Diagrams → src/Diagrams}/store/extensions/Hotkeys.d.ts +4 -1
- package/dist/src/Diagrams/store/extensions/LabelsAligner.d.ts +21 -0
- package/dist/src/Diagrams/store/extensions/NodesAligner.d.ts +46 -0
- package/dist/src/Diagrams/store/extensions/NodesConnector.d.ts +56 -0
- package/dist/{Diagrams → src/Diagrams}/store/extensions/Priorities.d.ts +2 -1
- package/dist/{Diagrams → src/Diagrams}/store/extensions/Rules.d.ts +6 -1
- package/dist/{Diagrams → src/Diagrams}/store/extensions/Selector.d.ts +18 -5
- package/dist/{Diagrams → src/Diagrams}/store/extensions/StraightDrag.d.ts +3 -0
- package/dist/src/Diagrams/store/extensions/StraightLabelsDrag.d.ts +10 -0
- package/dist/src/Diagrams/store/extensions/nodePositionProposalRanking.d.ts +8 -0
- package/dist/{Diagrams → src/Diagrams}/store/primitives/Coordinates.d.ts +1 -1
- package/dist/src/Diagrams/store/routers/CurvedRouter.d.ts +13 -0
- package/dist/src/Diagrams/store/routers/EdgesRouter.d.ts +21 -0
- package/dist/src/Diagrams/store/routers/OrthogonalRouter.d.ts +16 -0
- package/dist/src/Diagrams/store/routers/StraightRouter.d.ts +13 -0
- package/dist/src/Diagrams/store/routers/cardinalAxisConstraint.d.ts +7 -0
- package/dist/src/Diagrams/store/routers/getEdgesRouter.d.ts +4 -0
- package/dist/src/Diagrams/store/routers/resolveConnectionCandidate.d.ts +22 -0
- package/dist/{Diagrams → src/Diagrams}/store/types.d.ts +18 -9
- package/dist/src/Diagrams/util/Autopan.d.ts +14 -0
- package/dist/{Diagrams → src/Diagrams}/util/bpmn/applyBPMNImportPlan.d.ts +1 -0
- package/dist/{Diagrams → src/Diagrams}/util/bpmn/buildBPMNImportPlan.d.ts +1 -1
- package/dist/{Diagrams → src/Diagrams}/util/bpmn/index.d.ts +2 -1
- package/dist/src/Diagrams/util/bpmn/sanitizeId.d.ts +2 -0
- package/dist/{Diagrams → src/Diagrams}/util/bpmn/types.d.ts +2 -1
- package/dist/{Diagrams → src/Diagrams}/util/paths/orthogonalRouter.d.ts +2 -0
- package/dist/src/index.d.ts +11 -0
- package/package.json +1 -1
- package/dist/Diagrams/components/objects/CustomRenderers.d.ts +0 -6
- package/dist/Diagrams/components/objects/Shapes.d.ts +0 -1
- package/dist/Diagrams/custom/bpmn/BPMDiagram.d.ts +0 -5
- package/dist/Diagrams/custom/bpmn/bpmnEvents.d.ts +0 -3
- package/dist/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +0 -6
- package/dist/Diagrams/custom/bpmn/nodes/Lanes/LanesResizer.d.ts +0 -6
- package/dist/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +0 -66
- package/dist/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +0 -9
- package/dist/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +0 -35
- package/dist/Diagrams/custom/communication/types.d.ts +0 -1
- package/dist/Diagrams/custom/editable/EditableLabel.d.ts +0 -3
- package/dist/Diagrams/custom/editable/EditableNode.d.ts +0 -15
- package/dist/Diagrams/custom/editable/EditableNodeContext.d.ts +0 -3
- package/dist/Diagrams/store/elements/Edge.d.ts +0 -42
- package/dist/Diagrams/store/elements/Node.d.ts +0 -73
- package/dist/Diagrams/store/extensions/DiagramExtension.d.ts +0 -13
- package/dist/Diagrams/store/extensions/History.d.ts +0 -15
- package/dist/Diagrams/store/extensions/NodesAligner.d.ts +0 -19
- package/dist/Diagrams/store/extensions/NodesConnector.d.ts +0 -27
- package/dist/Diagrams/util/paths/findBestPathBetweenNodes.d.ts +0 -8
- package/dist/DirectedPoint-HRgiLZeU.js.map +0 -1
- package/dist/index-DZNvKq1b.js +0 -6657
- package/dist/index-DZNvKq1b.js.map +0 -1
- /package/dist/{Diagrams → src/Diagrams}/DiagramEditor.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/Measurement.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/MouseTracker.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/NodesConnectorRenderer.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/PathFindingRenderer.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/Selection.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/Stats.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/Svg.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/Theme.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/extra/ToolsState.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/nodes/NodeTools.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/objects/Cross.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/objects/Grid.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMidpoints.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/util.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/components/objects/makeScalableComponent.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/context-menu/ContextMenu.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/context-menu/buildDiagramContextMenu.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/context-menu/index.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/context-menu/types.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/agent/AgentDiagram.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/agent/index.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/edges/EdgeWithLoad.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/BPMNNodeContext.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationDiagram.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationNode.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditableDiagram.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditionMode.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/custom/editable/events.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/layout/HStack.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/elements/Element.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/elements/EventsMouseInformation.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/elements/TextNode.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/extensions/Debugger.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/extensions/GridSnap.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/extensions/Measurer.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/extensions/NodesResizer.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/extensions/PathFindingRenderer.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/primitives/Dimensions.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/store/primitives/DirectedPoint.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/ClassList.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/Mouse.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/Mutex.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/PriorityQueue.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/Semaphore.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/TasksQueue.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/arrayOrArray.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/awaitTime.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/binders.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/bpmn/importBPMNXmlIntoDiagram.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/bpmn/parseBPMNXml.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/cloneDeep.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/downloadFile.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/getEnumStr.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/getIdForNode.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/getUniqueId.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/insertSorted.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/paths/PathsGrid.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/paths/stepBackFromGateway.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/readFile.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/shapes.d.ts +0 -0
- /package/dist/{Diagrams → src/Diagrams}/util/throttle.d.ts +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Diagram } from '../../../store/Diagram';
|
|
2
|
+
import { Element } from '../../../store/elements/Element';
|
|
3
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
4
|
+
import { Coordinates } from '../../../store/primitives/Coordinates';
|
|
5
|
+
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
6
|
+
import { BPMNResizableNode } from '../extensions/BPMNNodeResizer';
|
|
7
|
+
import { BPMNode } from './BPMNode';
|
|
8
|
+
export declare enum TaskTypes {
|
|
9
|
+
task = 0,
|
|
10
|
+
service = 1,
|
|
11
|
+
callActivity = 2,
|
|
12
|
+
subprocess = 3,
|
|
13
|
+
send = 4,
|
|
14
|
+
receive = 5,
|
|
15
|
+
script = 6,
|
|
16
|
+
manual = 7,
|
|
17
|
+
eventSubprocess = 8,
|
|
18
|
+
businessRule = 9
|
|
19
|
+
}
|
|
20
|
+
export type TaskMultiInstance = "none" | "parallel";
|
|
21
|
+
type TTaskNodeState = TNodeConstructorProps & {
|
|
22
|
+
type?: TaskTypes;
|
|
23
|
+
multiInstance?: TaskMultiInstance;
|
|
24
|
+
loop?: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** Models BPMN activities with compact default geometry and selectable task variants. */
|
|
27
|
+
export declare class TaskNode extends BPMNode implements BPMNResizableNode {
|
|
28
|
+
type: TaskTypes;
|
|
29
|
+
readonly minimumResizeSize: Coordinates;
|
|
30
|
+
multiInstance: TaskMultiInstance;
|
|
31
|
+
loop: boolean;
|
|
32
|
+
edgesAsGateways: boolean;
|
|
33
|
+
constructor(parent: Element | null, state: TTaskNodeState);
|
|
34
|
+
private fitWidthToGrid;
|
|
35
|
+
private applySubprocessState;
|
|
36
|
+
/** Attaches the activity and enforces its three-column active-grid width. */
|
|
37
|
+
setDiagram(diagram: Diagram): void;
|
|
38
|
+
/** Changes the semantic task variant while preserving geometry and connections. */
|
|
39
|
+
setType(type: TaskTypes): boolean;
|
|
40
|
+
/** Changes the supported multi-instance marker while preserving task type. */
|
|
41
|
+
setMultiInstance(multiInstance: TaskMultiInstance): boolean;
|
|
42
|
+
/** Toggles the standard conditional-loop marker independently of other markers. */
|
|
43
|
+
setLoop(loop: boolean): boolean;
|
|
44
|
+
/** Serializes the task subtype together with the shared editable node state. */
|
|
45
|
+
serialize(): {
|
|
46
|
+
type: TaskTypes;
|
|
47
|
+
multiInstance: TaskMultiInstance;
|
|
48
|
+
loop: boolean;
|
|
49
|
+
box: [number, number, number, number];
|
|
50
|
+
id: string;
|
|
51
|
+
label: string;
|
|
52
|
+
movable: boolean | undefined;
|
|
53
|
+
selectable: boolean | undefined;
|
|
54
|
+
selected: boolean | undefined;
|
|
55
|
+
gateways: {
|
|
56
|
+
coordinates: [number, number];
|
|
57
|
+
fill: string | undefined;
|
|
58
|
+
id: string;
|
|
59
|
+
orientation: import('../../../store/types').TOrientation;
|
|
60
|
+
radius: number;
|
|
61
|
+
stroke: string | undefined;
|
|
62
|
+
strokeWidth: number;
|
|
63
|
+
outEdges: {
|
|
64
|
+
arrowHeadEnd: import('../../../store/types').EdgeArrowHead | undefined;
|
|
65
|
+
arrowHeadStart: import('../../../store/types').EdgeArrowHead | undefined;
|
|
66
|
+
displacementEnd: [number, number] | undefined;
|
|
67
|
+
displacementStart: [number, number] | undefined;
|
|
68
|
+
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
69
|
+
labels: {
|
|
70
|
+
alignment: "right" | "left" | "center";
|
|
71
|
+
id: string;
|
|
72
|
+
size: {
|
|
73
|
+
height: number;
|
|
74
|
+
width: number;
|
|
75
|
+
};
|
|
76
|
+
text: string;
|
|
77
|
+
position: [number, number];
|
|
78
|
+
}[];
|
|
79
|
+
pathType: import('../../../store/types').EdgePathType;
|
|
80
|
+
startAnchor: {
|
|
81
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
82
|
+
position: [number, number] | undefined;
|
|
83
|
+
};
|
|
84
|
+
endAnchor: {
|
|
85
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
86
|
+
position: [number, number] | undefined;
|
|
87
|
+
};
|
|
88
|
+
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
89
|
+
stroke: string | undefined;
|
|
90
|
+
strokeWidth: number | undefined;
|
|
91
|
+
to: string;
|
|
92
|
+
toParentId: string;
|
|
93
|
+
class: string;
|
|
94
|
+
}[];
|
|
95
|
+
class: string;
|
|
96
|
+
}[];
|
|
97
|
+
fill: string | undefined;
|
|
98
|
+
labelFontSize: number | undefined;
|
|
99
|
+
labelOffset: [number, number] | undefined;
|
|
100
|
+
stroke: string | undefined;
|
|
101
|
+
strokewWidth: number | undefined;
|
|
102
|
+
class: string;
|
|
103
|
+
};
|
|
104
|
+
/** Restores persisted task variants and defaults missing marker state safely. */
|
|
105
|
+
deserialize(o: ReturnType<this["serialize"]>): void;
|
|
106
|
+
protected get screenLabelBox(): Dimensions;
|
|
107
|
+
RenderScreen: (() => import("react").JSX.Element) & {
|
|
108
|
+
displayName: string;
|
|
109
|
+
};
|
|
110
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
111
|
+
displayName: string;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
export {};
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { Element } from '../../../store/elements/Element';
|
|
2
2
|
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { Coordinates } from '../../../store/primitives/Coordinates';
|
|
4
|
+
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
3
5
|
import { BPMNode } from './BPMNode';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
constructor(parent: Element | null, state: TNodeConstructorProps & {
|
|
13
|
-
type?: TEventNodeType;
|
|
14
|
-
});
|
|
15
|
-
setType(type: TEventNodeType): void;
|
|
6
|
+
/** Models non-executable explanatory text associated with diagram elements. */
|
|
7
|
+
export declare class TextAnnotationNode extends BPMNode {
|
|
8
|
+
edgesAsGateways: boolean;
|
|
9
|
+
requiredEdgePathType: "straight";
|
|
10
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
11
|
+
/** Computes text-driven annotation bounds capped at six configured grid units. */
|
|
12
|
+
get box(): Dimensions;
|
|
13
|
+
/** Persists the computed annotation size rather than its original minimum box. */
|
|
16
14
|
serialize(): {
|
|
17
|
-
type: EventTypes;
|
|
18
15
|
box: [number, number, number, number];
|
|
19
16
|
id: string;
|
|
20
17
|
label: string;
|
|
@@ -35,7 +32,25 @@ export declare class EventNode extends BPMNode {
|
|
|
35
32
|
displacementEnd: [number, number] | undefined;
|
|
36
33
|
displacementStart: [number, number] | undefined;
|
|
37
34
|
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
38
|
-
|
|
35
|
+
labels: {
|
|
36
|
+
alignment: "right" | "left" | "center";
|
|
37
|
+
id: string;
|
|
38
|
+
size: {
|
|
39
|
+
height: number;
|
|
40
|
+
width: number;
|
|
41
|
+
};
|
|
42
|
+
text: string;
|
|
43
|
+
position: [number, number];
|
|
44
|
+
}[];
|
|
45
|
+
pathType: import('../../../store/types').EdgePathType;
|
|
46
|
+
startAnchor: {
|
|
47
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
48
|
+
position: [number, number] | undefined;
|
|
49
|
+
};
|
|
50
|
+
endAnchor: {
|
|
51
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
52
|
+
position: [number, number] | undefined;
|
|
53
|
+
};
|
|
39
54
|
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
40
55
|
stroke: string | undefined;
|
|
41
56
|
strokeWidth: number | undefined;
|
|
@@ -47,12 +62,14 @@ export declare class EventNode extends BPMNode {
|
|
|
47
62
|
}[];
|
|
48
63
|
fill: string | undefined;
|
|
49
64
|
labelFontSize: number | undefined;
|
|
65
|
+
labelOffset: [number, number] | undefined;
|
|
50
66
|
stroke: string | undefined;
|
|
51
67
|
strokewWidth: number | undefined;
|
|
52
68
|
class: string;
|
|
53
69
|
};
|
|
54
|
-
|
|
55
|
-
|
|
70
|
+
/** Resolves automatic associations at the exact boundary facing the other node. */
|
|
71
|
+
findAutomaticGatewayAnchor(towards: Coordinates): import('../../../store/routers/EdgesRouter').EdgeRouterAnchor;
|
|
72
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
56
73
|
displayName: string;
|
|
57
74
|
};
|
|
58
75
|
}
|
|
@@ -28,7 +28,25 @@ export declare class UnknownBPMNNode extends BPMNode {
|
|
|
28
28
|
displacementEnd: [number, number] | undefined;
|
|
29
29
|
displacementStart: [number, number] | undefined;
|
|
30
30
|
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
31
|
-
|
|
31
|
+
labels: {
|
|
32
|
+
alignment: "right" | "left" | "center";
|
|
33
|
+
id: string;
|
|
34
|
+
size: {
|
|
35
|
+
height: number;
|
|
36
|
+
width: number;
|
|
37
|
+
};
|
|
38
|
+
text: string;
|
|
39
|
+
position: [number, number];
|
|
40
|
+
}[];
|
|
41
|
+
pathType: import('../../../store/types').EdgePathType;
|
|
42
|
+
startAnchor: {
|
|
43
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
44
|
+
position: [number, number] | undefined;
|
|
45
|
+
};
|
|
46
|
+
endAnchor: {
|
|
47
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
48
|
+
position: [number, number] | undefined;
|
|
49
|
+
};
|
|
32
50
|
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
33
51
|
stroke: string | undefined;
|
|
34
52
|
strokeWidth: number | undefined;
|
|
@@ -40,12 +58,13 @@ export declare class UnknownBPMNNode extends BPMNode {
|
|
|
40
58
|
}[];
|
|
41
59
|
fill: string | undefined;
|
|
42
60
|
labelFontSize: number | undefined;
|
|
61
|
+
labelOffset: [number, number] | undefined;
|
|
43
62
|
stroke: string | undefined;
|
|
44
63
|
strokewWidth: number | undefined;
|
|
45
64
|
class: string;
|
|
46
65
|
};
|
|
47
|
-
deserialize(o: ReturnType<this[
|
|
48
|
-
|
|
66
|
+
deserialize(o: ReturnType<this["serialize"]>): void;
|
|
67
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
49
68
|
displayName: string;
|
|
50
69
|
};
|
|
51
70
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TDiagramExtensionRenderProps } from '../../../store/extensions/DiagramExtension';
|
|
2
|
+
import { BPMNModelerExtension } from '../extensions/BPMNModelerExtension';
|
|
3
|
+
/** Renders selection toolbars projected beside BPMN nodes and routed edges. */
|
|
4
|
+
export declare const BPMNDiagramControls: (({ diagram, extension }: TDiagramExtensionRenderProps<BPMNModelerExtension>) => import("react").JSX.Element | null) & {
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BPMNElementDefinition, BPMNElementId } from '../config/BPMNElementCatalog';
|
|
2
|
+
import { BPMNLabels } from '../config/BPMNLabels';
|
|
3
|
+
type BPMNElementMenuProps = {
|
|
4
|
+
items: BPMNElementDefinition[];
|
|
5
|
+
labels: BPMNLabels;
|
|
6
|
+
onSelect: (item: BPMNElementDefinition) => void;
|
|
7
|
+
selectedId?: BPMNElementId;
|
|
8
|
+
};
|
|
9
|
+
/** Renders the compact catalog list shared by toolbars and transformation menus. */
|
|
10
|
+
export declare function BPMNElementMenu({ items, labels, onSelect, selectedId, }: BPMNElementMenuProps): import("react").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type BPMNIconId = "task" | "serviceTask" | "sendTask" | "receiveTask" | "scriptTask" | "manualTask" | "businessRuleTask" | "callActivity" | "subprocess" | "eventSubprocess" | "event" | "start" | "intermediate" | "end" | "timer" | "message" | "messageCatch" | "messageThrow" | "signal" | "compensation" | "error" | "conditional" | "terminate" | "exclusive" | "inclusive" | "parallel" | "eventBased" | "lanes" | "blackBoxPool" | "dataStore" | "document" | "documentAnnotation" | "textAnnotation" | "transform" | "connect" | "settings";
|
|
2
|
+
type BPMNIconProps = {
|
|
3
|
+
id: BPMNIconId;
|
|
4
|
+
className?: string;
|
|
5
|
+
markerOnly?: boolean;
|
|
6
|
+
};
|
|
7
|
+
/** Draws tree-shaken Phosphor icons plus exact markers unique to BPMN notation. */
|
|
8
|
+
export declare function BPMNIcon({ id, className, markerOnly }: BPMNIconProps): import("react").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TDiagramExtensionRenderProps } from '../../../store/extensions/DiagramExtension';
|
|
2
|
+
import { BPMNModelerExtension } from '../extensions/BPMNModelerExtension';
|
|
3
|
+
/** Renders the animated fixed inspector for the single selected BPMN element. */
|
|
4
|
+
export declare const BPMNPropertiesPanel: (({ diagram, extension }: TDiagramExtensionRenderProps<BPMNModelerExtension>) => import("react").JSX.Element) & {
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BPMNResizableNode } from '../extensions/BPMNNodeResizer';
|
|
2
|
+
type BPMNResizeHandleProps = {
|
|
3
|
+
node: BPMNResizableNode;
|
|
4
|
+
};
|
|
5
|
+
/** Renders eight screen-layer handles above connection hit targets for resize. */
|
|
6
|
+
export declare function BPMNResizeHandle({ node }: BPMNResizeHandleProps): import("react").JSX.Element | null;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Rectangle = {
|
|
2
|
+
bottom: number;
|
|
3
|
+
height: number;
|
|
4
|
+
left: number;
|
|
5
|
+
right: number;
|
|
6
|
+
top: number;
|
|
7
|
+
width: number;
|
|
8
|
+
};
|
|
9
|
+
type Viewport = {
|
|
10
|
+
height: number;
|
|
11
|
+
width: number;
|
|
12
|
+
};
|
|
13
|
+
/** Places a submenu inside the viewport while avoiding the global floating toolbar. */
|
|
14
|
+
export declare function resolveToolbarMenuPlacement(group: Rectangle, menu: Pick<Rectangle, "height" | "width">, viewport: Viewport, floatingToolbar?: Rectangle): {
|
|
15
|
+
left: boolean;
|
|
16
|
+
top: number;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Coordinates } from '../../../store/primitives/Coordinates';
|
|
2
|
+
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
3
|
+
/** Anchors an edge toolbar near the visible viewport center instead of its origin. */
|
|
4
|
+
export declare function resolveVisibleEdgeToolbarAnchor(points: Coordinates[], viewport: Dimensions, margin: number): Coordinates;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Edge } from '../../../store/elements/Edge';
|
|
2
|
+
import { Element } from '../../../store/elements/Element';
|
|
3
|
+
import { TEdgeState } from '../../../store/types';
|
|
4
|
+
type CommunicationEdgeState = Partial<TEdgeState>;
|
|
5
|
+
/** Applies communication-diagram styling on top of shared editable edge state. */
|
|
6
|
+
export declare class CommunicationEdge extends Edge {
|
|
7
|
+
constructor(parent: Element | null, state: CommunicationEdgeState);
|
|
8
|
+
}
|
|
9
|
+
export {};
|
package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationActorNode.d.ts
RENAMED
|
@@ -4,7 +4,7 @@ import { CommunicationNode } from '../CommunicationNode';
|
|
|
4
4
|
export declare class CommunicationActorNode extends CommunicationNode {
|
|
5
5
|
readonly communicationNodeType: "actor";
|
|
6
6
|
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
-
|
|
7
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
8
8
|
displayName: string;
|
|
9
9
|
};
|
|
10
10
|
}
|
package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationControllerNode.d.ts
RENAMED
|
@@ -4,7 +4,7 @@ import { CommunicationNode } from '../CommunicationNode';
|
|
|
4
4
|
export declare class CommunicationControllerNode extends CommunicationNode {
|
|
5
5
|
readonly communicationNodeType: "controller";
|
|
6
6
|
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
-
|
|
7
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
8
8
|
displayName: string;
|
|
9
9
|
};
|
|
10
10
|
}
|
package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationObjectNode.d.ts
RENAMED
|
@@ -4,7 +4,7 @@ import { CommunicationNode } from '../CommunicationNode';
|
|
|
4
4
|
export declare class CommunicationObjectNode extends CommunicationNode {
|
|
5
5
|
readonly communicationNodeType: "object";
|
|
6
6
|
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
-
|
|
7
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
8
8
|
displayName: string;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CommunicationNodeType = "actor" | "object" | "controller";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Dimensions } from '../../store/primitives/Dimensions';
|
|
2
|
+
import { EditableNode } from './EditableNode';
|
|
3
|
+
export declare const EditableLabel: (({ node, box }: {
|
|
4
|
+
node: EditableNode;
|
|
5
|
+
box: Dimensions;
|
|
6
|
+
}) => import("react").JSX.Element | null) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Element } from '../../store/elements/Element';
|
|
3
|
+
import { Node, TNodeConstructorProps } from '../../store/elements/Node';
|
|
4
|
+
/** Provides editable node labels while preserving the pending edit for confirmation or cancellation. */
|
|
5
|
+
export declare abstract class EditableNode extends Node {
|
|
6
|
+
editionMode: boolean;
|
|
7
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
8
|
+
get label(): string;
|
|
9
|
+
private previous;
|
|
10
|
+
/** Starts a label editing session and saves the current value for a possible cancellation. */
|
|
11
|
+
edit(): void;
|
|
12
|
+
/** Restores the saved label value and closes the active editing session without emitting changes. */
|
|
13
|
+
cancel(): void;
|
|
14
|
+
/** Confirms the edit unless an event listener cancels it, then returns whether it was accepted. */
|
|
15
|
+
confirm(): boolean;
|
|
16
|
+
get isChanged(): boolean;
|
|
17
|
+
protected get screenLabelBox(): import('../../store/primitives/Dimensions').Dimensions;
|
|
18
|
+
/** Returns the current label bounds so surrounding controls can avoid its rendered area. */
|
|
19
|
+
get labelScreenBox(): import('../../store/primitives/Dimensions').Dimensions;
|
|
20
|
+
RenderScreen: FC<any>;
|
|
21
|
+
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { Coordinates } from './primitives/Coordinates';
|
|
2
|
-
import { Dimensions } from './primitives/Dimensions';
|
|
3
1
|
import { Diagram } from './Diagram';
|
|
4
2
|
import { Element } from './elements/Element';
|
|
3
|
+
import { Coordinates } from './primitives/Coordinates';
|
|
4
|
+
import { Dimensions } from './primitives/Dimensions';
|
|
5
5
|
export type ScaleEvent = {
|
|
6
6
|
previousScale: number;
|
|
7
7
|
newScale: number;
|
|
8
8
|
displacement: Coordinates;
|
|
9
9
|
};
|
|
10
|
+
/** Owns viewport scale, displacement, interaction sessions, and rendered canvas bounds. */
|
|
10
11
|
export declare class Canvas extends Element {
|
|
11
12
|
private unbindDocumentEvents;
|
|
12
13
|
private mouseSessionStartedInFrame;
|
|
14
|
+
private centerAnimationFrame;
|
|
13
15
|
protected _displacement: Coordinates;
|
|
14
16
|
_scale: number;
|
|
15
17
|
private gridSize;
|
|
@@ -22,19 +24,25 @@ export declare class Canvas extends Element {
|
|
|
22
24
|
get framePosition(): Coordinates;
|
|
23
25
|
get frameDimensions(): Dimensions;
|
|
24
26
|
constructor(parent: Diagram);
|
|
27
|
+
/** Releases document listeners and cancels any viewport animation still in flight. */
|
|
25
28
|
dispose(): void;
|
|
29
|
+
/** Marks programmatic pointer sessions as eligible for the canvas drag lifecycle. */
|
|
26
30
|
markMouseSessionStartedInFrame(): void;
|
|
27
31
|
get dragging(): boolean;
|
|
28
32
|
protected _dragging: boolean;
|
|
29
33
|
displacementStart: null | Coordinates;
|
|
30
34
|
eventStart: null | Coordinates;
|
|
31
35
|
protected bound(): void;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
/** Centers a world point in the viewport and optionally animates the pan. */
|
|
37
|
+
centerOnPoint(c: Coordinates, animated?: boolean): void;
|
|
38
|
+
private animateDisplacement;
|
|
39
|
+
private cancelCenterAnimation;
|
|
40
|
+
private applyDisplacement;
|
|
41
|
+
/** Applies a relative viewport displacement and returns the bounded movement used. */
|
|
36
42
|
displace(c: Coordinates): Coordinates;
|
|
43
|
+
/** Replaces the viewport displacement while respecting configured canvas bounds. */
|
|
37
44
|
setDisplacement(c: Coordinates): void;
|
|
45
|
+
/** Changes viewport scale around a screen-space focus point and preserves alignment. */
|
|
38
46
|
setScale(newScale: number, zoomCenter?: Coordinates): void;
|
|
39
47
|
/**
|
|
40
48
|
* Given a pair of coordinates in the canvas, returns the matching coordinates in the screen
|
|
@@ -44,6 +52,7 @@ export declare class Canvas extends Element {
|
|
|
44
52
|
* Given a pair of coordinates in the screen, returns the matching coordinates in the canvas
|
|
45
53
|
*/
|
|
46
54
|
inverseFit<T extends Coordinates | Dimensions>(value: T): T;
|
|
55
|
+
/** Returns the CSS transform values representing current scale and displacement. */
|
|
47
56
|
getDisplacementStyles(): {
|
|
48
57
|
position: string;
|
|
49
58
|
width: string;
|
|
@@ -53,6 +62,7 @@ export declare class Canvas extends Element {
|
|
|
53
62
|
willChange: string;
|
|
54
63
|
};
|
|
55
64
|
protected setDisplacementStyles(element?: HTMLElement | null): void;
|
|
65
|
+
/** Updates the visual grid interval used by canvas background and snapping helpers. */
|
|
56
66
|
setGridSize(gridSize: number): void;
|
|
57
67
|
useRef: (el: HTMLElement | null) => void;
|
|
58
68
|
private isInsideFrameFromTarget;
|
|
@@ -1,87 +1,122 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { Canvas } from './Canvas';
|
|
3
|
-
import { Node } from './elements/Node';
|
|
4
|
-
import { Coordinates } from './primitives/Coordinates';
|
|
5
3
|
import { Edge } from './elements/Edge';
|
|
6
|
-
import { Gateway } from './elements/Gateway';
|
|
7
4
|
import { Element, Class } from './elements/Element';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { DiagramExtension } from './extensions/DiagramExtension';
|
|
11
|
-
import { NodesAligner } from './extensions/NodesAligner';
|
|
5
|
+
import { Gateway } from './elements/Gateway';
|
|
6
|
+
import { Node } from './elements/Node';
|
|
12
7
|
import { Creator } from './extensions/Creator';
|
|
8
|
+
import { DiagramExtension } from './extensions/DiagramExtension';
|
|
9
|
+
import { DistancesBalancer } from './extensions/DistancesBalancer';
|
|
10
|
+
import { Dragger } from './extensions/Dragger';
|
|
13
11
|
import { EdgesDragger } from './extensions/EdgesDragger';
|
|
12
|
+
import { GridSnap } from './extensions/GridSnap';
|
|
13
|
+
import { History } from './extensions/History';
|
|
14
14
|
import { Hotkeys } from './extensions/Hotkeys';
|
|
15
|
+
import { LabelsAligner } from './extensions/LabelsAligner';
|
|
15
16
|
import { Measurer } from './extensions/Measurer';
|
|
16
|
-
import {
|
|
17
|
+
import { NodesAligner } from './extensions/NodesAligner';
|
|
17
18
|
import { NodesConnector } from './extensions/NodesConnector';
|
|
18
|
-
import { GridSnap } from './extensions/GridSnap';
|
|
19
|
-
import { StraightDrag } from './extensions/StraightDrag';
|
|
20
|
-
import { DistancesBalancer } from './extensions/DistancesBalancer';
|
|
21
19
|
import { NodesResizer } from './extensions/NodesResizer';
|
|
22
|
-
import { History } from './extensions/History';
|
|
23
|
-
import { Dragger } from './extensions/Dragger';
|
|
24
20
|
import { PathFindingRenderer } from './extensions/PathFindingRenderer';
|
|
25
|
-
|
|
21
|
+
import { Priorities } from './extensions/Priorities';
|
|
22
|
+
import { Rules } from './extensions/Rules';
|
|
23
|
+
import { Selector } from './extensions/Selector';
|
|
24
|
+
import { StraightDrag } from './extensions/StraightDrag';
|
|
25
|
+
import { StraightLabelsDrag } from './extensions/StraightLabelsDrag';
|
|
26
|
+
import { Coordinates } from './primitives/Coordinates';
|
|
27
|
+
import { EdgePathType, TEdgeAnchorState } from './types';
|
|
28
|
+
declare const getDefaultExtensions: () => {
|
|
26
29
|
Creator: typeof Creator;
|
|
27
30
|
DistancesBalancer: typeof DistancesBalancer;
|
|
31
|
+
StraightDrag: typeof StraightDrag;
|
|
32
|
+
StraightLabelsDrag: typeof StraightLabelsDrag;
|
|
28
33
|
Dragger: typeof Dragger;
|
|
29
34
|
EdgesDragger: typeof EdgesDragger;
|
|
30
35
|
GridSnap: typeof GridSnap;
|
|
31
36
|
History: typeof History;
|
|
32
37
|
Hotkeys: typeof Hotkeys;
|
|
38
|
+
LabelsAligner: typeof LabelsAligner;
|
|
33
39
|
Measurer: typeof Measurer;
|
|
34
40
|
NodesAligner: typeof NodesAligner;
|
|
35
41
|
NodesConnector: typeof NodesConnector;
|
|
36
42
|
NodesResizer: typeof NodesResizer;
|
|
37
43
|
PathFindingRenderer: typeof PathFindingRenderer;
|
|
38
44
|
Selector: typeof Selector;
|
|
39
|
-
|
|
40
|
-
}>;
|
|
45
|
+
};
|
|
41
46
|
export type TDefaultExensions = {
|
|
42
|
-
[key in keyof typeof
|
|
47
|
+
[key in keyof ReturnType<typeof getDefaultExtensions>]: boolean;
|
|
43
48
|
};
|
|
44
49
|
export type TDiagramSettings = Partial<{
|
|
45
50
|
extensions: TDefaultExensions;
|
|
46
51
|
}>;
|
|
52
|
+
/** Owns diagram elements, extensions, camera state, and application interactions. */
|
|
47
53
|
export declare class Diagram extends Element {
|
|
48
54
|
readonly priorities: Priorities;
|
|
49
55
|
rules: Rules;
|
|
50
56
|
private focusContentTimer;
|
|
51
57
|
private knownClasses;
|
|
58
|
+
/** Returns the registered runtime constructor associated with a serialized class name. */
|
|
52
59
|
getClass(name: string): any;
|
|
60
|
+
/** Registers a runtime constructor so persisted elements can be restored safely. */
|
|
53
61
|
registerClass(clazz: any, className?: any): void;
|
|
54
62
|
edgeClass: typeof Edge;
|
|
63
|
+
/** Replaces the edge constructor used for subsequently created connections. */
|
|
55
64
|
setDefaultEdge(clazz: typeof Edge): void;
|
|
56
65
|
protected _extensions: Map<Class<DiagramExtension>, DiagramExtension>;
|
|
57
66
|
protected _nodes: Map<string, Node<import('./types').TOrientation>>;
|
|
58
67
|
protected _edges: Map<string, Edge>;
|
|
68
|
+
private _hoveredNode;
|
|
59
69
|
canvas: Canvas;
|
|
60
70
|
constructor(settings?: TDiagramSettings);
|
|
61
71
|
get edges(): Readonly<Edge[]>;
|
|
72
|
+
/** Returns registered extensions in deterministic registration order for rendering. */
|
|
73
|
+
get extensions(): ReadonlyArray<DiagramExtension>;
|
|
62
74
|
get nodes(): Readonly<Node[]>;
|
|
75
|
+
/** Returns the sole node currently hovered within this diagram application. */
|
|
76
|
+
get hoveredNode(): Node<any> | null;
|
|
77
|
+
/** Atomically transfers or clears the application-level node hover owner. */
|
|
78
|
+
setNodeHover(node: Node<any>, hovered: boolean): void;
|
|
79
|
+
/** Clears the application hover owner and its mirrored node presentation flag. */
|
|
80
|
+
clearNodeHover(): void;
|
|
63
81
|
private getUniqueNodeId;
|
|
82
|
+
/** Adds a node, assigns a collision-free identifier, and attaches diagram state. */
|
|
64
83
|
add<T extends Node>(node: T): T;
|
|
84
|
+
/** Registers an already constructed edge with both of its endpoint gateways. */
|
|
65
85
|
addEdge(edge: Edge): void;
|
|
86
|
+
/** Creates and registers a routed edge between two compatible node gateways. */
|
|
66
87
|
connect(from: Gateway, to: Gateway, options?: {
|
|
67
88
|
fromDisplacement?: Coordinates;
|
|
89
|
+
pathType?: EdgePathType;
|
|
90
|
+
startAnchor?: TEdgeAnchorState;
|
|
91
|
+
endAnchor?: TEdgeAnchorState;
|
|
68
92
|
toDisplacement?: Coordinates;
|
|
69
93
|
}): Edge;
|
|
70
|
-
|
|
94
|
+
/** Registers an existing edge instance and synchronizes both endpoint indexes. */
|
|
95
|
+
connectWithEdge(_from: Gateway, _to: Gateway, existentEdge: Edge): Edge;
|
|
96
|
+
/** Deletes a node and disconnects every edge still attached to its gateways. */
|
|
71
97
|
delete(node: Node<any>): void;
|
|
98
|
+
/** Disconnects an edge from all gateway indexes and removes diagram ownership. */
|
|
72
99
|
disconnect(edge: Edge): void;
|
|
73
100
|
Context: ({ children }: {
|
|
74
101
|
children: ReactNode;
|
|
75
102
|
}) => import("react").JSX.Element;
|
|
103
|
+
/** Returns the edge registered under the requested application identifier. */
|
|
76
104
|
getEdgeById(id: string): Edge | undefined;
|
|
105
|
+
/** Returns the node registered under the requested application identifier. */
|
|
77
106
|
getNodeById(id: string): Node<import('./types').TOrientation> | undefined;
|
|
78
107
|
get showGrid(): boolean;
|
|
108
|
+
/** Returns the initialized extension instance for the requested constructor. */
|
|
79
109
|
getExtension<T extends DiagramExtension>(e: Class<T>): T;
|
|
110
|
+
/** Instantiates and initializes one extension before exposing it to callers. */
|
|
80
111
|
registerExtension(e: Class<DiagramExtension>): void;
|
|
112
|
+
/** Toggles whether the diagram grid is currently visible to the application. */
|
|
81
113
|
toggleGrid(): void;
|
|
82
114
|
static use: () => Diagram;
|
|
115
|
+
/** Exports the complete current diagram contract as a serialized JSON string. */
|
|
83
116
|
export(): string;
|
|
117
|
+
/** Requests reset approval and removes all nodes when the operation is accepted. */
|
|
84
118
|
reset(): Promise<boolean>;
|
|
119
|
+
/** Serializes camera state and every owned node into the current persistence contract. */
|
|
85
120
|
serialize(): {
|
|
86
121
|
position: {
|
|
87
122
|
x: number;
|
|
@@ -109,7 +144,25 @@ export declare class Diagram extends Element {
|
|
|
109
144
|
displacementEnd: [number, number] | undefined;
|
|
110
145
|
displacementStart: [number, number] | undefined;
|
|
111
146
|
lineStyle: import('./types').EdgeLineStyle | undefined;
|
|
112
|
-
|
|
147
|
+
labels: {
|
|
148
|
+
alignment: "right" | "left" | "center";
|
|
149
|
+
id: string;
|
|
150
|
+
size: {
|
|
151
|
+
height: number;
|
|
152
|
+
width: number;
|
|
153
|
+
};
|
|
154
|
+
text: string;
|
|
155
|
+
position: [number, number];
|
|
156
|
+
}[];
|
|
157
|
+
pathType: EdgePathType;
|
|
158
|
+
startAnchor: {
|
|
159
|
+
mode: import('./types').EdgeAnchorMode;
|
|
160
|
+
position: [number, number] | undefined;
|
|
161
|
+
};
|
|
162
|
+
endAnchor: {
|
|
163
|
+
mode: import('./types').EdgeAnchorMode;
|
|
164
|
+
position: [number, number] | undefined;
|
|
165
|
+
};
|
|
113
166
|
steps: import('./elements/EdgePoint').TSerializedEdgePoint[];
|
|
114
167
|
stroke: string | undefined;
|
|
115
168
|
strokeWidth: number | undefined;
|
|
@@ -121,14 +174,19 @@ export declare class Diagram extends Element {
|
|
|
121
174
|
}[];
|
|
122
175
|
fill: string | undefined;
|
|
123
176
|
labelFontSize: number | undefined;
|
|
177
|
+
labelOffset: [number, number] | undefined;
|
|
124
178
|
stroke: string | undefined;
|
|
125
179
|
strokewWidth: number | undefined;
|
|
126
180
|
class: string;
|
|
127
181
|
}[];
|
|
128
182
|
};
|
|
183
|
+
/** Imports serialized nodes and edges while remapping any colliding identifiers. */
|
|
129
184
|
import(w: string): void;
|
|
185
|
+
/** Pastes serialized nodes near the pointer while assigning fresh identifiers. */
|
|
130
186
|
paste(w: string): void;
|
|
187
|
+
/** Fits all diagram content inside the current viewport with configurable padding. */
|
|
131
188
|
focusContentInViewport(padding?: number): boolean;
|
|
189
|
+
/** Retries viewport fitting while layout dimensions settle after initial rendering. */
|
|
132
190
|
focusContentInViewportWithRetry(attempts?: number, delayMs?: number): void;
|
|
133
191
|
}
|
|
134
192
|
export {};
|