@focus.matters/diagrams 0.0.10 → 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-aLZ8iXbb.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.es.js +8 -6
- package/dist/index.umd.js +5 -4
- package/dist/index.umd.js.map +1 -1
- package/dist/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/src/Diagrams/components/extra/AlignmentSuggestions.d.ts +1 -0
- package/dist/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/EdgeLabels.d.ts +7 -0
- package/dist/src/Diagrams/components/objects/RenderEdge/EdgeMarker.d.ts +1 -0
- package/dist/src/Diagrams/components/objects/RenderEdge/buildEdgePath.d.ts +5 -0
- package/dist/src/Diagrams/components/objects/RenderEdge/index.d.ts +1 -0
- package/dist/src/Diagrams/components/objects/RenderEdge/types.d.ts +2 -1
- package/dist/src/Diagrams/components/objects/Shapes.d.ts +1 -0
- package/dist/src/Diagrams/components/objects/edgeLabelPlacement.d.ts +4 -0
- package/dist/src/Diagrams/custom/agent/edges/AgentEdge.d.ts +19 -1
- package/dist/src/Diagrams/custom/agent/nodes/AgentNode.d.ts +20 -1
- package/dist/src/Diagrams/custom/bpmn/BPMDiagram.d.ts +10 -1
- package/dist/src/Diagrams/custom/bpmn/bpmnEvents.d.ts +2 -1
- 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 +4 -2
- package/dist/src/Diagrams/custom/bpmn/extensions/BPMNLaneResizer.d.ts +1 -1
- 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 +9 -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 +82 -12
- package/dist/src/Diagrams/custom/bpmn/nodes/GateNode.d.ts +27 -2
- package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/LaneScreenRenderer.d.ts +1 -1
- package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +30 -6
- package/dist/src/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +108 -3
- package/dist/src/Diagrams/custom/bpmn/nodes/TextAnnotationNode.d.ts +75 -0
- package/dist/src/Diagrams/custom/bpmn/nodes/UnknownBPMNNode.d.ts +20 -1
- 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 +1 -27
- package/dist/src/Diagrams/custom/editable/EditableLabel.d.ts +1 -1
- package/dist/src/Diagrams/custom/editable/EditableNode.d.ts +8 -2
- package/dist/src/Diagrams/store/Canvas.d.ts +16 -6
- package/dist/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 +58 -8
- package/dist/src/Diagrams/store/elements/EdgeLabel.d.ts +64 -0
- package/dist/src/Diagrams/store/elements/Events.d.ts +5 -5
- package/dist/src/Diagrams/store/elements/Gateway.d.ts +24 -4
- package/dist/src/Diagrams/store/elements/Node.d.ts +69 -7
- package/dist/src/Diagrams/store/extensions/DiagramExtension.d.ts +11 -1
- package/dist/src/Diagrams/store/extensions/DistancesBalancer.d.ts +7 -1
- package/dist/src/Diagrams/store/extensions/Dragger.d.ts +19 -4
- package/dist/src/Diagrams/store/extensions/EdgesDragger.d.ts +15 -4
- package/dist/src/Diagrams/store/extensions/History.d.ts +10 -2
- package/dist/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 +10 -3
- package/dist/src/Diagrams/store/extensions/NodesConnector.d.ts +32 -3
- package/dist/src/Diagrams/store/extensions/Priorities.d.ts +2 -1
- package/dist/src/Diagrams/store/extensions/Rules.d.ts +6 -1
- package/dist/src/Diagrams/store/extensions/Selector.d.ts +17 -4
- package/dist/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/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/src/Diagrams/store/types.d.ts +16 -7
- package/dist/src/Diagrams/util/bpmn/applyBPMNImportPlan.d.ts +1 -0
- package/dist/src/Diagrams/util/bpmn/buildBPMNImportPlan.d.ts +1 -1
- package/dist/src/Diagrams/util/bpmn/index.d.ts +2 -1
- package/dist/src/Diagrams/util/bpmn/sanitizeId.d.ts +2 -0
- package/dist/src/Diagrams/util/bpmn/types.d.ts +1 -0
- package/dist/src/Diagrams/util/paths/orthogonalRouter.d.ts +2 -0
- package/dist/src/index.d.ts +8 -5
- package/package.json +1 -1
- package/dist/DirectedPoint-aLZ8iXbb.js.map +0 -1
- package/dist/index-B_tKoJcy.js +0 -7229
- package/dist/index-B_tKoJcy.js.map +0 -1
- package/dist/src/Diagrams/util/paths/findBestPathBetweenNodes.d.ts +0 -8
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps, TNodeScreenRenderProps } from '../../../store/elements/Node';
|
|
3
|
+
import { Coordinates } from '../../../store/primitives/Coordinates';
|
|
4
|
+
import { BPMNResizableNode } from '../extensions/BPMNNodeResizer';
|
|
5
|
+
import { BPMNode } from './BPMNode';
|
|
6
|
+
/** Models a resizable folded-page BPMN annotation with editable interior text. */
|
|
7
|
+
export declare class DocumentAnnotationNode extends BPMNode implements BPMNResizableNode {
|
|
8
|
+
readonly minimumResizeSize: Coordinates;
|
|
9
|
+
edgesAsGateways: boolean;
|
|
10
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
11
|
+
/** Resolves automatic associations against the exact facing node boundary. */
|
|
12
|
+
findAutomaticGatewayAnchor(towards: Coordinates): import('../../../store/routers/EdgesRouter').EdgeRouterAnchor;
|
|
13
|
+
RenderScreen: (({ node }: TNodeScreenRenderProps<DocumentAnnotationNode>) => import("react").JSX.Element) & {
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
4
|
+
import { BPMNode } from './BPMNode';
|
|
5
|
+
/** Models a transient BPMN data document connected through directional associations. */
|
|
6
|
+
export declare class DocumentNode extends BPMNode {
|
|
7
|
+
requiredEdgePathType: "straight";
|
|
8
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
9
|
+
protected get screenLabelBox(): Dimensions;
|
|
10
|
+
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -1,21 +1,66 @@
|
|
|
1
1
|
import { Element } from '../../../store/elements/Element';
|
|
2
2
|
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
-
import { BPMNode } from './BPMNode';
|
|
4
3
|
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
4
|
+
import { EventTypes, EventDefinition, EventDirection, EventKind, EventStage } from './BPMNEventDefinition';
|
|
5
|
+
import { BPMNode } from './BPMNode';
|
|
6
|
+
export { EventTypes } from './BPMNEventDefinition';
|
|
7
|
+
export type { EventDefinition, EventDirection, EventKind, EventStage } from './BPMNEventDefinition';
|
|
10
8
|
export type TEventNodeType = EventTypes;
|
|
9
|
+
export type EventAttachmentOffset = readonly [number, number];
|
|
10
|
+
type TEventNodeState = TNodeConstructorProps & {
|
|
11
|
+
type?: TEventNodeType;
|
|
12
|
+
eventDefinition?: EventDefinition;
|
|
13
|
+
attachedToTaskId?: string | null;
|
|
14
|
+
attachmentOffset?: EventAttachmentOffset | null;
|
|
15
|
+
interrupting?: boolean;
|
|
16
|
+
subprocessStart?: boolean;
|
|
17
|
+
subprocessId?: string | null;
|
|
18
|
+
};
|
|
19
|
+
/** Models fixed-grid BPMN events with orthogonal stage and marker semantics. */
|
|
11
20
|
export declare class EventNode extends BPMNode {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
definition: EventDefinition;
|
|
22
|
+
attachedToTaskId: string | null;
|
|
23
|
+
attachmentOffset: EventAttachmentOffset | null;
|
|
24
|
+
interrupting: boolean;
|
|
25
|
+
subprocessStart: boolean;
|
|
26
|
+
subprocessId: string | null;
|
|
27
|
+
edgesAsGateways: boolean;
|
|
28
|
+
protected occupiesGridSquare: boolean;
|
|
29
|
+
constructor(parent: Element | null, state: TEventNodeState);
|
|
30
|
+
get stage(): EventStage;
|
|
31
|
+
get kind(): EventKind;
|
|
32
|
+
get direction(): EventDirection;
|
|
33
|
+
get type(): TEventNodeType;
|
|
34
|
+
get isStart(): boolean;
|
|
35
|
+
get isEnd(): boolean;
|
|
36
|
+
get isCatching(): boolean;
|
|
37
|
+
/** Reports whether this event kind can be placed on an activity boundary. */
|
|
38
|
+
get canAttach(): boolean;
|
|
39
|
+
/** Reports whether this event kind can start an event-driven sub-process. */
|
|
40
|
+
get canStartSubprocess(): boolean;
|
|
41
|
+
/** Atomically changes the event tuple after validating its BPMN combination. */
|
|
42
|
+
setDefinition(definition: EventDefinition): boolean;
|
|
43
|
+
/** Applies one stable compatibility code using its canonical default tuple. */
|
|
44
|
+
setType(type: TEventNodeType): boolean;
|
|
45
|
+
/** Stores declarative boundary attachment data without performing drag behavior. */
|
|
46
|
+
setAttachment(taskId: string | null, offset?: EventAttachmentOffset | null, interrupting?: boolean): void;
|
|
47
|
+
/** Toggles boundary interruption styling without changing attachment geometry. */
|
|
48
|
+
setInterrupting(interrupting: boolean): void;
|
|
49
|
+
/** Marks this compatible event with the dashed event-subprocess start border. */
|
|
50
|
+
setSubprocessStart(subprocessStart: boolean, subprocessId?: string | null): boolean;
|
|
51
|
+
/** Serializes canonical semantics, compatibility data, and optional attachment. */
|
|
17
52
|
serialize(): {
|
|
18
53
|
type: EventTypes;
|
|
54
|
+
eventDefinition: Readonly<{
|
|
55
|
+
stage: EventStage;
|
|
56
|
+
kind: EventKind;
|
|
57
|
+
direction: EventDirection;
|
|
58
|
+
}>;
|
|
59
|
+
attachedToTaskId: string | null;
|
|
60
|
+
attachmentOffset: EventAttachmentOffset | null;
|
|
61
|
+
interrupting: boolean;
|
|
62
|
+
subprocessStart: boolean;
|
|
63
|
+
subprocessId: string | null;
|
|
19
64
|
box: [number, number, number, number];
|
|
20
65
|
id: string;
|
|
21
66
|
label: string;
|
|
@@ -36,7 +81,25 @@ export declare class EventNode extends BPMNode {
|
|
|
36
81
|
displacementEnd: [number, number] | undefined;
|
|
37
82
|
displacementStart: [number, number] | undefined;
|
|
38
83
|
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
39
|
-
|
|
84
|
+
labels: {
|
|
85
|
+
alignment: "right" | "left" | "center";
|
|
86
|
+
id: string;
|
|
87
|
+
size: {
|
|
88
|
+
height: number;
|
|
89
|
+
width: number;
|
|
90
|
+
};
|
|
91
|
+
text: string;
|
|
92
|
+
position: [number, number];
|
|
93
|
+
}[];
|
|
94
|
+
pathType: import('../../../store/types').EdgePathType;
|
|
95
|
+
startAnchor: {
|
|
96
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
97
|
+
position: [number, number] | undefined;
|
|
98
|
+
};
|
|
99
|
+
endAnchor: {
|
|
100
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
101
|
+
position: [number, number] | undefined;
|
|
102
|
+
};
|
|
40
103
|
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
41
104
|
stroke: string | undefined;
|
|
42
105
|
strokeWidth: number | undefined;
|
|
@@ -48,12 +111,19 @@ export declare class EventNode extends BPMNode {
|
|
|
48
111
|
}[];
|
|
49
112
|
fill: string | undefined;
|
|
50
113
|
labelFontSize: number | undefined;
|
|
114
|
+
labelOffset: [number, number] | undefined;
|
|
51
115
|
stroke: string | undefined;
|
|
52
116
|
strokewWidth: number | undefined;
|
|
53
117
|
class: string;
|
|
54
118
|
};
|
|
119
|
+
/** Restores canonical or legacy event state and reapplies fixed-grid geometry. */
|
|
55
120
|
deserialize(o: ReturnType<this["serialize"]>): void;
|
|
121
|
+
/** Remaps boundary and subprocess references during import, copy, and paste. */
|
|
122
|
+
remapSerializedReferences<T>(state: T, idMap: ReadonlyMap<string, string>): T;
|
|
56
123
|
protected get screenLabelBox(): Dimensions;
|
|
124
|
+
private refreshSemanticClasses;
|
|
125
|
+
private refreshAttachmentPresentation;
|
|
126
|
+
private get markerIconId();
|
|
57
127
|
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
58
128
|
displayName: string;
|
|
59
129
|
};
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { Element } from '../../../store/elements/Element';
|
|
2
2
|
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
-
import { BPMNode } from './BPMNode';
|
|
4
3
|
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
4
|
+
import { BPMNode } from './BPMNode';
|
|
5
5
|
export declare enum GateTypes {
|
|
6
6
|
inclusive = 0,
|
|
7
7
|
exclusive = 1,
|
|
8
8
|
parallel = 2,
|
|
9
9
|
eventBased = 3
|
|
10
10
|
}
|
|
11
|
+
/** Models fixed-grid BPMN gateways and their mutually exclusive marker variants. */
|
|
11
12
|
export declare class GateNode extends BPMNode {
|
|
12
13
|
type: GateTypes;
|
|
14
|
+
edgesAsGateways: boolean;
|
|
15
|
+
protected occupiesGridSquare: boolean;
|
|
13
16
|
constructor(parent: Element | null, state: TNodeConstructorProps & {
|
|
14
17
|
type?: GateTypes;
|
|
15
18
|
});
|
|
19
|
+
/** Changes the semantic gateway variant and its corresponding visual marker. */
|
|
16
20
|
setType(type: GateTypes): void;
|
|
21
|
+
/** Serializes the gateway subtype together with common editable node state. */
|
|
17
22
|
serialize(): {
|
|
18
23
|
type: GateTypes;
|
|
19
24
|
box: [number, number, number, number];
|
|
@@ -36,7 +41,25 @@ export declare class GateNode extends BPMNode {
|
|
|
36
41
|
displacementEnd: [number, number] | undefined;
|
|
37
42
|
displacementStart: [number, number] | undefined;
|
|
38
43
|
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
39
|
-
|
|
44
|
+
labels: {
|
|
45
|
+
alignment: "right" | "left" | "center";
|
|
46
|
+
id: string;
|
|
47
|
+
size: {
|
|
48
|
+
height: number;
|
|
49
|
+
width: number;
|
|
50
|
+
};
|
|
51
|
+
text: string;
|
|
52
|
+
position: [number, number];
|
|
53
|
+
}[];
|
|
54
|
+
pathType: import('../../../store/types').EdgePathType;
|
|
55
|
+
startAnchor: {
|
|
56
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
57
|
+
position: [number, number] | undefined;
|
|
58
|
+
};
|
|
59
|
+
endAnchor: {
|
|
60
|
+
mode: import('../../../store/types').EdgeAnchorMode;
|
|
61
|
+
position: [number, number] | undefined;
|
|
62
|
+
};
|
|
40
63
|
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
41
64
|
stroke: string | undefined;
|
|
42
65
|
strokeWidth: number | undefined;
|
|
@@ -48,10 +71,12 @@ export declare class GateNode extends BPMNode {
|
|
|
48
71
|
}[];
|
|
49
72
|
fill: string | undefined;
|
|
50
73
|
labelFontSize: number | undefined;
|
|
74
|
+
labelOffset: [number, number] | undefined;
|
|
51
75
|
stroke: string | undefined;
|
|
52
76
|
strokewWidth: number | undefined;
|
|
53
77
|
class: string;
|
|
54
78
|
};
|
|
79
|
+
/** Restores a persisted gateway subtype and reapplies current grid geometry. */
|
|
55
80
|
deserialize(o: ReturnType<this["serialize"]>): void;
|
|
56
81
|
protected get screenLabelBox(): Dimensions;
|
|
57
82
|
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TNodeScreenRenderProps } from '../../../../store/elements/Node';
|
|
2
1
|
import { Lanes } from '.';
|
|
2
|
+
import { TNodeScreenRenderProps } from '../../../../store/elements/Node';
|
|
3
3
|
/** Renders crisp lane labels and contextual controls in viewport coordinates. */
|
|
4
4
|
export declare const LaneScreenRenderer: (({ node: lanes }: TNodeScreenRenderProps<Lanes>) => import("react").JSX.Element) & {
|
|
5
5
|
displayName: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Diagram } from '../../../../store/Diagram';
|
|
3
3
|
import { Element } from '../../../../store/elements/Element';
|
|
4
4
|
import { Dimensions } from '../../../../store/primitives/Dimensions';
|
|
5
|
+
import { BPMNode } from '../BPMNode';
|
|
5
6
|
type TPool = {
|
|
6
7
|
name: string;
|
|
7
8
|
label: string;
|
|
@@ -19,19 +20,24 @@ type TLaneLayout = {
|
|
|
19
20
|
* Models and renders a resizable hierarchy of BPMN lanes and their controls.
|
|
20
21
|
*/
|
|
21
22
|
export declare class Lanes extends BPMNode {
|
|
23
|
+
edgesAsGateways: boolean;
|
|
24
|
+
pools: TPool[];
|
|
22
25
|
static readonly laneHeaderWidth = 50;
|
|
23
26
|
static readonly laneHeight = 250;
|
|
24
|
-
static readonly laneHeaderFontSize =
|
|
27
|
+
static readonly laneHeaderFontSize = 16;
|
|
25
28
|
static readonly minimumLaneHeight = 150;
|
|
26
29
|
static readonly minimumWidthInGrids = 10;
|
|
27
30
|
constructor(parent: Element | null, state: {
|
|
28
31
|
id: string;
|
|
29
32
|
});
|
|
33
|
+
/** Attaches the lane and enforces the current diagram grid's minimum width. */
|
|
34
|
+
setDiagram(diagram: Diagram): void;
|
|
30
35
|
/** Returns bounds that exactly match the rendered lane hierarchy. */
|
|
31
36
|
get box(): Dimensions;
|
|
32
37
|
/** Returns every visible lane with its depth and absolute vertical geometry. */
|
|
33
38
|
get laneLayouts(): TLaneLayout[];
|
|
34
39
|
get editingLaneId(): string | null;
|
|
40
|
+
private get labels();
|
|
35
41
|
private nextPool;
|
|
36
42
|
/** Appends one root lane and returns it for existing programmatic callers. */
|
|
37
43
|
addPool(): TPool;
|
|
@@ -41,10 +47,10 @@ export declare class Lanes extends BPMNode {
|
|
|
41
47
|
subdivideLane(id: string): void;
|
|
42
48
|
/** Collapses all descendants back into their parent without changing total height. */
|
|
43
49
|
removeSubdivision(id: string): void;
|
|
44
|
-
/** Removes
|
|
50
|
+
/** Removes a lane while preserving one root lane or at least two nested lanes. */
|
|
45
51
|
removeLane(id: string): void;
|
|
46
52
|
/** Resizes a lane while enforcing one task box plus one grid of total padding. */
|
|
47
|
-
resizeLane(id: string, height: number, gridSize?: number):
|
|
53
|
+
resizeLane(id: string, height: number, gridSize?: number): boolean;
|
|
48
54
|
/** Starts label editing for one lane through either screen or keyboard actions. */
|
|
49
55
|
renameLane(id: string): void;
|
|
50
56
|
protected editionLaneId: string | null;
|
|
@@ -82,7 +88,25 @@ export declare class Lanes extends BPMNode {
|
|
|
82
88
|
displacementEnd: [number, number] | undefined;
|
|
83
89
|
displacementStart: [number, number] | undefined;
|
|
84
90
|
lineStyle: import('../../../../store/types').EdgeLineStyle | undefined;
|
|
85
|
-
|
|
91
|
+
labels: {
|
|
92
|
+
alignment: "right" | "left" | "center";
|
|
93
|
+
id: string;
|
|
94
|
+
size: {
|
|
95
|
+
height: number;
|
|
96
|
+
width: number;
|
|
97
|
+
};
|
|
98
|
+
text: string;
|
|
99
|
+
position: [number, number];
|
|
100
|
+
}[];
|
|
101
|
+
pathType: import('../../../../store/types').EdgePathType;
|
|
102
|
+
startAnchor: {
|
|
103
|
+
mode: import('../../../../store/types').EdgeAnchorMode;
|
|
104
|
+
position: [number, number] | undefined;
|
|
105
|
+
};
|
|
106
|
+
endAnchor: {
|
|
107
|
+
mode: import('../../../../store/types').EdgeAnchorMode;
|
|
108
|
+
position: [number, number] | undefined;
|
|
109
|
+
};
|
|
86
110
|
steps: import('../../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
87
111
|
stroke: string | undefined;
|
|
88
112
|
strokeWidth: number | undefined;
|
|
@@ -94,11 +118,11 @@ export declare class Lanes extends BPMNode {
|
|
|
94
118
|
}[];
|
|
95
119
|
fill: string | undefined;
|
|
96
120
|
labelFontSize: number | undefined;
|
|
121
|
+
labelOffset: [number, number] | undefined;
|
|
97
122
|
stroke: string | undefined;
|
|
98
123
|
strokewWidth: number | undefined;
|
|
99
124
|
class: string;
|
|
100
125
|
};
|
|
101
|
-
pools: TPool[];
|
|
102
126
|
RenderScreen: (({ node: lanes }: import('../../../../store/elements/Node').TNodeScreenRenderProps<Lanes>) => import("react").JSX.Element) & {
|
|
103
127
|
displayName: string;
|
|
104
128
|
};
|
|
@@ -1,9 +1,114 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Diagram } from '../../../store/Diagram';
|
|
2
2
|
import { Element } from '../../../store/elements/Element';
|
|
3
3
|
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
4
|
-
|
|
5
|
-
|
|
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
|
+
};
|
|
6
110
|
RenderOverlay: (() => import("react").JSX.Element) & {
|
|
7
111
|
displayName: string;
|
|
8
112
|
};
|
|
9
113
|
}
|
|
114
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { Coordinates } from '../../../store/primitives/Coordinates';
|
|
4
|
+
import { Dimensions } from '../../../store/primitives/Dimensions';
|
|
5
|
+
import { BPMNode } from './BPMNode';
|
|
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. */
|
|
14
|
+
serialize(): {
|
|
15
|
+
box: [number, number, number, number];
|
|
16
|
+
id: string;
|
|
17
|
+
label: string;
|
|
18
|
+
movable: boolean | undefined;
|
|
19
|
+
selectable: boolean | undefined;
|
|
20
|
+
selected: boolean | undefined;
|
|
21
|
+
gateways: {
|
|
22
|
+
coordinates: [number, number];
|
|
23
|
+
fill: string | undefined;
|
|
24
|
+
id: string;
|
|
25
|
+
orientation: import('../../../store/types').TOrientation;
|
|
26
|
+
radius: number;
|
|
27
|
+
stroke: string | undefined;
|
|
28
|
+
strokeWidth: number;
|
|
29
|
+
outEdges: {
|
|
30
|
+
arrowHeadEnd: import('../../../store/types').EdgeArrowHead | undefined;
|
|
31
|
+
arrowHeadStart: import('../../../store/types').EdgeArrowHead | undefined;
|
|
32
|
+
displacementEnd: [number, number] | undefined;
|
|
33
|
+
displacementStart: [number, number] | undefined;
|
|
34
|
+
lineStyle: import('../../../store/types').EdgeLineStyle | 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
|
+
};
|
|
54
|
+
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
55
|
+
stroke: string | undefined;
|
|
56
|
+
strokeWidth: number | undefined;
|
|
57
|
+
to: string;
|
|
58
|
+
toParentId: string;
|
|
59
|
+
class: string;
|
|
60
|
+
}[];
|
|
61
|
+
class: string;
|
|
62
|
+
}[];
|
|
63
|
+
fill: string | undefined;
|
|
64
|
+
labelFontSize: number | undefined;
|
|
65
|
+
labelOffset: [number, number] | undefined;
|
|
66
|
+
stroke: string | undefined;
|
|
67
|
+
strokewWidth: number | undefined;
|
|
68
|
+
class: string;
|
|
69
|
+
};
|
|
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) & {
|
|
73
|
+
displayName: string;
|
|
74
|
+
};
|
|
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,6 +58,7 @@ 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;
|
|
@@ -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;
|