@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.
Files changed (203) hide show
  1. package/dist/{DirectedPoint-HRgiLZeU.js → DirectedPoint-BcpEj8ub.js} +2 -2
  2. package/dist/DirectedPoint-BcpEj8ub.js.map +1 -0
  3. package/dist/diagrams.css +1 -1
  4. package/dist/index-hTkL5cDr.js +12037 -0
  5. package/dist/index-hTkL5cDr.js.map +1 -0
  6. package/dist/index.d.ts +1 -8
  7. package/dist/index.es.js +8 -6
  8. package/dist/index.umd.js +5 -4
  9. package/dist/index.umd.js.map +1 -1
  10. package/dist/{Diagrams → src/Diagrams}/components/Canvas.d.ts +1 -0
  11. package/dist/src/Diagrams/components/extensions/RenderDiagramExtensions.d.ts +4 -0
  12. package/dist/src/Diagrams/components/extensions/RenderUIExtensions.d.ts +4 -0
  13. package/dist/{Diagrams → src/Diagrams}/components/extra/AlignmentSuggestions.d.ts +1 -0
  14. package/dist/{Diagrams → src/Diagrams}/components/extra/GatewayRender.d.ts +1 -0
  15. package/dist/src/Diagrams/components/extra/NodeGatewayRender.d.ts +6 -0
  16. package/dist/src/Diagrams/components/objects/CustomRenderers.d.ts +4 -0
  17. package/dist/src/Diagrams/components/objects/EdgeLabels.d.ts +7 -0
  18. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMarker.d.ts +1 -0
  19. package/dist/src/Diagrams/components/objects/RenderEdge/buildEdgePath.d.ts +5 -0
  20. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/debugEdges.d.ts +4 -4
  21. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/index.d.ts +1 -0
  22. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/types.d.ts +3 -2
  23. package/dist/src/Diagrams/components/objects/ScreenRenderers.d.ts +4 -0
  24. package/dist/{Diagrams → src/Diagrams}/components/objects/Shape.d.ts +3 -3
  25. package/dist/src/Diagrams/components/objects/Shapes.d.ts +2 -0
  26. package/dist/{Diagrams → src/Diagrams}/components/objects/customRendererProps.d.ts +1 -1
  27. package/dist/src/Diagrams/components/objects/edgeLabelPlacement.d.ts +4 -0
  28. package/dist/src/Diagrams/components/objects/screenRendererProps.d.ts +18 -0
  29. package/dist/{Diagrams → src/Diagrams}/custom/agent/edges/AgentEdge.d.ts +20 -2
  30. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ActionNode.d.ts +1 -1
  31. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/AgentNode.d.ts +21 -2
  32. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ConditionNode.d.ts +1 -1
  33. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/OutcomeNode.d.ts +1 -1
  34. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/TriggerNode.d.ts +1 -1
  35. package/dist/{Diagrams → src/Diagrams}/custom/agent/types.d.ts +6 -6
  36. package/dist/src/Diagrams/custom/bpmn/BPMDiagram.d.ts +14 -0
  37. package/dist/src/Diagrams/custom/bpmn/bpmnEvents.d.ts +4 -0
  38. package/dist/src/Diagrams/custom/bpmn/config/BPMNElementCatalog.d.ts +26 -0
  39. package/dist/src/Diagrams/custom/bpmn/config/BPMNLabels.d.ts +27 -0
  40. package/dist/src/Diagrams/custom/bpmn/edges/BPMNEdge.d.ts +77 -0
  41. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNArtifactTransformer.d.ts +5 -0
  42. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNEventAttachments.d.ts +19 -0
  43. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNGridSnap.d.ts +23 -0
  44. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNLaneResizer.d.ts +20 -0
  45. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNModelerExtension.d.ts +97 -0
  46. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNNodeResizer.d.ts +31 -0
  47. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNPropertyChangeEvent.d.ts +4 -0
  48. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNResizeSuggester.d.ts +23 -0
  49. package/dist/src/Diagrams/custom/bpmn/nodes/BPMNEventDefinition.d.ts +28 -0
  50. package/dist/src/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +15 -0
  51. package/dist/src/Diagrams/custom/bpmn/nodes/BlackBoxPoolNode.d.ts +17 -0
  52. package/dist/src/Diagrams/custom/bpmn/nodes/DataStoreNode.d.ts +14 -0
  53. package/dist/src/Diagrams/custom/bpmn/nodes/DocumentAnnotationNode.d.ts +19 -0
  54. package/dist/src/Diagrams/custom/bpmn/nodes/DocumentNode.d.ts +13 -0
  55. package/dist/src/Diagrams/custom/bpmn/nodes/EventNode.d.ts +130 -0
  56. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/GateNode.d.ts +30 -3
  57. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/LaneScreenRenderer.d.ts +6 -0
  58. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +131 -0
  59. package/dist/src/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +114 -0
  60. package/dist/{Diagrams/custom/bpmn/nodes/EventNode.d.ts → src/Diagrams/custom/bpmn/nodes/TextAnnotationNode.d.ts} +33 -16
  61. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/UnknownBPMNNode.d.ts +22 -3
  62. package/dist/src/Diagrams/custom/bpmn/ui/BPMNDiagramControls.d.ts +6 -0
  63. package/dist/src/Diagrams/custom/bpmn/ui/BPMNElementMenu.d.ts +11 -0
  64. package/dist/src/Diagrams/custom/bpmn/ui/BPMNIcon.d.ts +9 -0
  65. package/dist/src/Diagrams/custom/bpmn/ui/BPMNPropertiesPanel.d.ts +6 -0
  66. package/dist/src/Diagrams/custom/bpmn/ui/BPMNResizeHandle.d.ts +7 -0
  67. package/dist/src/Diagrams/custom/bpmn/ui/resolveToolbarMenuPlacement.d.ts +18 -0
  68. package/dist/src/Diagrams/custom/bpmn/ui/resolveVisibleEdgeToolbarAnchor.d.ts +4 -0
  69. package/dist/src/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +9 -0
  70. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationActorNode.d.ts +1 -1
  71. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationControllerNode.d.ts +1 -1
  72. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationObjectNode.d.ts +1 -1
  73. package/dist/src/Diagrams/custom/communication/types.d.ts +1 -0
  74. package/dist/src/Diagrams/custom/editable/EditableLabel.d.ts +8 -0
  75. package/dist/src/Diagrams/custom/editable/EditableNode.d.ts +21 -0
  76. package/dist/{Diagrams → src/Diagrams}/store/Canvas.d.ts +16 -6
  77. package/dist/{Diagrams → src/Diagrams}/store/Diagram.d.ts +77 -19
  78. package/dist/src/Diagrams/store/elements/DEdgeLabelChangeEvent.d.ts +5 -0
  79. package/dist/src/Diagrams/store/elements/Edge.d.ts +92 -0
  80. package/dist/src/Diagrams/store/elements/EdgeLabel.d.ts +64 -0
  81. package/dist/{Diagrams → src/Diagrams}/store/elements/EdgePoint.d.ts +4 -4
  82. package/dist/{Diagrams → src/Diagrams}/store/elements/Events.d.ts +11 -11
  83. package/dist/{Diagrams → src/Diagrams}/store/elements/Gateway.d.ts +27 -7
  84. package/dist/src/Diagrams/store/elements/Node.d.ts +143 -0
  85. package/dist/{Diagrams → src/Diagrams}/store/extensions/Creator.d.ts +1 -1
  86. package/dist/src/Diagrams/store/extensions/DiagramExtension.d.ts +23 -0
  87. package/dist/{Diagrams → src/Diagrams}/store/extensions/DistancesBalancer.d.ts +7 -1
  88. package/dist/{Diagrams → src/Diagrams}/store/extensions/Dragger.d.ts +20 -5
  89. package/dist/{Diagrams → src/Diagrams}/store/extensions/EdgesDragger.d.ts +38 -27
  90. package/dist/src/Diagrams/store/extensions/History.d.ts +23 -0
  91. package/dist/{Diagrams → src/Diagrams}/store/extensions/Hotkeys.d.ts +4 -1
  92. package/dist/src/Diagrams/store/extensions/LabelsAligner.d.ts +21 -0
  93. package/dist/src/Diagrams/store/extensions/NodesAligner.d.ts +46 -0
  94. package/dist/src/Diagrams/store/extensions/NodesConnector.d.ts +56 -0
  95. package/dist/{Diagrams → src/Diagrams}/store/extensions/Priorities.d.ts +2 -1
  96. package/dist/{Diagrams → src/Diagrams}/store/extensions/Rules.d.ts +6 -1
  97. package/dist/{Diagrams → src/Diagrams}/store/extensions/Selector.d.ts +18 -5
  98. package/dist/{Diagrams → src/Diagrams}/store/extensions/StraightDrag.d.ts +3 -0
  99. package/dist/src/Diagrams/store/extensions/StraightLabelsDrag.d.ts +10 -0
  100. package/dist/src/Diagrams/store/extensions/nodePositionProposalRanking.d.ts +8 -0
  101. package/dist/{Diagrams → src/Diagrams}/store/primitives/Coordinates.d.ts +1 -1
  102. package/dist/src/Diagrams/store/routers/CurvedRouter.d.ts +13 -0
  103. package/dist/src/Diagrams/store/routers/EdgesRouter.d.ts +21 -0
  104. package/dist/src/Diagrams/store/routers/OrthogonalRouter.d.ts +16 -0
  105. package/dist/src/Diagrams/store/routers/StraightRouter.d.ts +13 -0
  106. package/dist/src/Diagrams/store/routers/cardinalAxisConstraint.d.ts +7 -0
  107. package/dist/src/Diagrams/store/routers/getEdgesRouter.d.ts +4 -0
  108. package/dist/src/Diagrams/store/routers/resolveConnectionCandidate.d.ts +22 -0
  109. package/dist/{Diagrams → src/Diagrams}/store/types.d.ts +18 -9
  110. package/dist/src/Diagrams/util/Autopan.d.ts +14 -0
  111. package/dist/{Diagrams → src/Diagrams}/util/bpmn/applyBPMNImportPlan.d.ts +1 -0
  112. package/dist/{Diagrams → src/Diagrams}/util/bpmn/buildBPMNImportPlan.d.ts +1 -1
  113. package/dist/{Diagrams → src/Diagrams}/util/bpmn/index.d.ts +2 -1
  114. package/dist/src/Diagrams/util/bpmn/sanitizeId.d.ts +2 -0
  115. package/dist/{Diagrams → src/Diagrams}/util/bpmn/types.d.ts +2 -1
  116. package/dist/{Diagrams → src/Diagrams}/util/paths/orthogonalRouter.d.ts +2 -0
  117. package/dist/src/index.d.ts +11 -0
  118. package/package.json +1 -1
  119. package/dist/Diagrams/components/objects/CustomRenderers.d.ts +0 -6
  120. package/dist/Diagrams/components/objects/Shapes.d.ts +0 -1
  121. package/dist/Diagrams/custom/bpmn/BPMDiagram.d.ts +0 -5
  122. package/dist/Diagrams/custom/bpmn/bpmnEvents.d.ts +0 -3
  123. package/dist/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +0 -6
  124. package/dist/Diagrams/custom/bpmn/nodes/Lanes/LanesResizer.d.ts +0 -6
  125. package/dist/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +0 -66
  126. package/dist/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +0 -9
  127. package/dist/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +0 -35
  128. package/dist/Diagrams/custom/communication/types.d.ts +0 -1
  129. package/dist/Diagrams/custom/editable/EditableLabel.d.ts +0 -3
  130. package/dist/Diagrams/custom/editable/EditableNode.d.ts +0 -15
  131. package/dist/Diagrams/custom/editable/EditableNodeContext.d.ts +0 -3
  132. package/dist/Diagrams/store/elements/Edge.d.ts +0 -42
  133. package/dist/Diagrams/store/elements/Node.d.ts +0 -73
  134. package/dist/Diagrams/store/extensions/DiagramExtension.d.ts +0 -13
  135. package/dist/Diagrams/store/extensions/History.d.ts +0 -15
  136. package/dist/Diagrams/store/extensions/NodesAligner.d.ts +0 -19
  137. package/dist/Diagrams/store/extensions/NodesConnector.d.ts +0 -27
  138. package/dist/Diagrams/util/paths/findBestPathBetweenNodes.d.ts +0 -8
  139. package/dist/DirectedPoint-HRgiLZeU.js.map +0 -1
  140. package/dist/index-DZNvKq1b.js +0 -6657
  141. package/dist/index-DZNvKq1b.js.map +0 -1
  142. /package/dist/{Diagrams → src/Diagrams}/DiagramEditor.d.ts +0 -0
  143. /package/dist/{Diagrams → src/Diagrams}/components/extra/Measurement.d.ts +0 -0
  144. /package/dist/{Diagrams → src/Diagrams}/components/extra/MouseTracker.d.ts +0 -0
  145. /package/dist/{Diagrams → src/Diagrams}/components/extra/NodesConnectorRenderer.d.ts +0 -0
  146. /package/dist/{Diagrams → src/Diagrams}/components/extra/PathFindingRenderer.d.ts +0 -0
  147. /package/dist/{Diagrams → src/Diagrams}/components/extra/Selection.d.ts +0 -0
  148. /package/dist/{Diagrams → src/Diagrams}/components/extra/Stats.d.ts +0 -0
  149. /package/dist/{Diagrams → src/Diagrams}/components/extra/Svg.d.ts +0 -0
  150. /package/dist/{Diagrams → src/Diagrams}/components/extra/Theme.d.ts +0 -0
  151. /package/dist/{Diagrams → src/Diagrams}/components/extra/ToolsState.d.ts +0 -0
  152. /package/dist/{Diagrams → src/Diagrams}/components/nodes/NodeTools.d.ts +0 -0
  153. /package/dist/{Diagrams → src/Diagrams}/components/objects/Cross.d.ts +0 -0
  154. /package/dist/{Diagrams → src/Diagrams}/components/objects/Grid.d.ts +0 -0
  155. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMidpoints.d.ts +0 -0
  156. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/util.d.ts +0 -0
  157. /package/dist/{Diagrams → src/Diagrams}/components/objects/makeScalableComponent.d.ts +0 -0
  158. /package/dist/{Diagrams → src/Diagrams}/context-menu/ContextMenu.d.ts +0 -0
  159. /package/dist/{Diagrams → src/Diagrams}/context-menu/buildDiagramContextMenu.d.ts +0 -0
  160. /package/dist/{Diagrams → src/Diagrams}/context-menu/index.d.ts +0 -0
  161. /package/dist/{Diagrams → src/Diagrams}/context-menu/types.d.ts +0 -0
  162. /package/dist/{Diagrams → src/Diagrams}/custom/agent/AgentDiagram.d.ts +0 -0
  163. /package/dist/{Diagrams → src/Diagrams}/custom/agent/index.d.ts +0 -0
  164. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/edges/EdgeWithLoad.d.ts +0 -0
  165. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/BPMNNodeContext.d.ts +0 -0
  166. /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationDiagram.d.ts +0 -0
  167. /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationNode.d.ts +0 -0
  168. /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditableDiagram.d.ts +0 -0
  169. /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditionMode.d.ts +0 -0
  170. /package/dist/{Diagrams → src/Diagrams}/custom/editable/events.d.ts +0 -0
  171. /package/dist/{Diagrams → src/Diagrams}/layout/HStack.d.ts +0 -0
  172. /package/dist/{Diagrams → src/Diagrams}/store/elements/Element.d.ts +0 -0
  173. /package/dist/{Diagrams → src/Diagrams}/store/elements/EventsMouseInformation.d.ts +0 -0
  174. /package/dist/{Diagrams → src/Diagrams}/store/elements/TextNode.d.ts +0 -0
  175. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Debugger.d.ts +0 -0
  176. /package/dist/{Diagrams → src/Diagrams}/store/extensions/GridSnap.d.ts +0 -0
  177. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Measurer.d.ts +0 -0
  178. /package/dist/{Diagrams → src/Diagrams}/store/extensions/NodesResizer.d.ts +0 -0
  179. /package/dist/{Diagrams → src/Diagrams}/store/extensions/PathFindingRenderer.d.ts +0 -0
  180. /package/dist/{Diagrams → src/Diagrams}/store/primitives/Dimensions.d.ts +0 -0
  181. /package/dist/{Diagrams → src/Diagrams}/store/primitives/DirectedPoint.d.ts +0 -0
  182. /package/dist/{Diagrams → src/Diagrams}/util/ClassList.d.ts +0 -0
  183. /package/dist/{Diagrams → src/Diagrams}/util/Mouse.d.ts +0 -0
  184. /package/dist/{Diagrams → src/Diagrams}/util/Mutex.d.ts +0 -0
  185. /package/dist/{Diagrams → src/Diagrams}/util/PriorityQueue.d.ts +0 -0
  186. /package/dist/{Diagrams → src/Diagrams}/util/Semaphore.d.ts +0 -0
  187. /package/dist/{Diagrams → src/Diagrams}/util/TasksQueue.d.ts +0 -0
  188. /package/dist/{Diagrams → src/Diagrams}/util/arrayOrArray.d.ts +0 -0
  189. /package/dist/{Diagrams → src/Diagrams}/util/awaitTime.d.ts +0 -0
  190. /package/dist/{Diagrams → src/Diagrams}/util/binders.d.ts +0 -0
  191. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/importBPMNXmlIntoDiagram.d.ts +0 -0
  192. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/parseBPMNXml.d.ts +0 -0
  193. /package/dist/{Diagrams → src/Diagrams}/util/cloneDeep.d.ts +0 -0
  194. /package/dist/{Diagrams → src/Diagrams}/util/downloadFile.d.ts +0 -0
  195. /package/dist/{Diagrams → src/Diagrams}/util/getEnumStr.d.ts +0 -0
  196. /package/dist/{Diagrams → src/Diagrams}/util/getIdForNode.d.ts +0 -0
  197. /package/dist/{Diagrams → src/Diagrams}/util/getUniqueId.d.ts +0 -0
  198. /package/dist/{Diagrams → src/Diagrams}/util/insertSorted.d.ts +0 -0
  199. /package/dist/{Diagrams → src/Diagrams}/util/paths/PathsGrid.d.ts +0 -0
  200. /package/dist/{Diagrams → src/Diagrams}/util/paths/stepBackFromGateway.d.ts +0 -0
  201. /package/dist/{Diagrams → src/Diagrams}/util/readFile.d.ts +0 -0
  202. /package/dist/{Diagrams → src/Diagrams}/util/shapes.d.ts +0 -0
  203. /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
- export declare enum EventTypes {
5
- start = 0,
6
- end = 1,
7
- intermediate = 2
8
- }
9
- export type TEventNodeType = EventTypes;
10
- export declare class EventNode extends BPMNode {
11
- type: TEventNodeType;
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
- pathType: import('../../../store/types').EdgePathType | undefined;
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
- deserialize(o: ReturnType<this['serialize']>): void;
55
- protected Render: (() => import("react").JSX.Element) & {
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
- pathType: import('../../../store/types').EdgePathType | undefined;
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['serialize']>): void;
48
- protected Render: (() => import("react").JSX.Element) & {
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 {};
@@ -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
- protected Render: (() => import("react").JSX.Element) & {
7
+ RenderOverlay: (() => import("react").JSX.Element) & {
8
8
  displayName: string;
9
9
  };
10
10
  }
@@ -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
- protected Render: (() => import("react").JSX.Element) & {
7
+ RenderOverlay: (() => import("react").JSX.Element) & {
8
8
  displayName: string;
9
9
  };
10
10
  }
@@ -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
- protected Render: (() => import("react").JSX.Element) & {
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
- centerOnPoint(c: Coordinates): void;
33
- /**
34
- * @returns how much it displaced
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 { Priorities } from './extensions/Priorities';
9
- import { Rules } from './extensions/Rules';
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 { Selector } from './extensions/Selector';
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
- declare const DefaultExtensions: Readonly<{
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
- StraightDrag: typeof StraightDrag;
40
- }>;
45
+ };
41
46
  export type TDefaultExensions = {
42
- [key in keyof typeof DefaultExtensions]: boolean;
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
- connectWithEdge(from: Gateway, to: Gateway, existentEdge: Edge): Edge;
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
- pathType: import('./types').EdgePathType | undefined;
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 {};
@@ -0,0 +1,5 @@
1
+ import { DChangeEvent } from './Events';
2
+ /** Records an editable edge-label text or position mutation in diagram history. */
3
+ export declare class DEdgeLabelChangeEvent extends DChangeEvent {
4
+ protected readonly __brand: void;
5
+ }