@aranzatech/diagrams-bpmn 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 (53) hide show
  1. package/dist/chunk-23B2IGK5.js +24 -0
  2. package/dist/chunk-23B2IGK5.js.map +1 -0
  3. package/dist/chunk-3AFZDIMQ.js +286 -0
  4. package/dist/chunk-3AFZDIMQ.js.map +1 -0
  5. package/dist/chunk-4OAEWYYU.js +579 -0
  6. package/dist/chunk-4OAEWYYU.js.map +1 -0
  7. package/dist/chunk-57LA2WSJ.js +476 -0
  8. package/dist/chunk-57LA2WSJ.js.map +1 -0
  9. package/dist/chunk-6TUC5QX5.js +491 -0
  10. package/dist/chunk-6TUC5QX5.js.map +1 -0
  11. package/dist/chunk-MLUJKUTG.js +86 -0
  12. package/dist/chunk-MLUJKUTG.js.map +1 -0
  13. package/dist/chunk-NXMUX67A.js +1443 -0
  14. package/dist/chunk-NXMUX67A.js.map +1 -0
  15. package/dist/edges/index.cjs +300 -0
  16. package/dist/edges/index.cjs.map +1 -0
  17. package/dist/edges/index.d.cts +17 -0
  18. package/dist/edges/index.d.ts +17 -0
  19. package/dist/edges/index.js +4 -0
  20. package/dist/edges/index.js.map +1 -0
  21. package/dist/elements/index.cjs +587 -0
  22. package/dist/elements/index.cjs.map +1 -0
  23. package/dist/elements/index.d.cts +20 -0
  24. package/dist/elements/index.d.ts +20 -0
  25. package/dist/elements/index.js +4 -0
  26. package/dist/elements/index.js.map +1 -0
  27. package/dist/index.cjs +3442 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +67 -0
  30. package/dist/index.d.ts +67 -0
  31. package/dist/index.js +45 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/nodes/index.cjs +1487 -0
  34. package/dist/nodes/index.cjs.map +1 -0
  35. package/dist/nodes/index.d.cts +45 -0
  36. package/dist/nodes/index.d.ts +45 -0
  37. package/dist/nodes/index.js +4 -0
  38. package/dist/nodes/index.js.map +1 -0
  39. package/dist/simulation/index.cjs +483 -0
  40. package/dist/simulation/index.cjs.map +1 -0
  41. package/dist/simulation/index.d.cts +62 -0
  42. package/dist/simulation/index.d.ts +62 -0
  43. package/dist/simulation/index.js +3 -0
  44. package/dist/simulation/index.js.map +1 -0
  45. package/dist/types-CxzazgBX.d.cts +111 -0
  46. package/dist/types-CxzazgBX.d.ts +111 -0
  47. package/dist/xml/index.cjs +1068 -0
  48. package/dist/xml/index.cjs.map +1 -0
  49. package/dist/xml/index.d.cts +24 -0
  50. package/dist/xml/index.d.ts +24 -0
  51. package/dist/xml/index.js +4 -0
  52. package/dist/xml/index.js.map +1 -0
  53. package/package.json +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/edges/path.ts","../../src/edges/SequenceFlowEdge.tsx","../../src/edges/MessageFlowEdge.tsx","../../src/edges/AssociationEdge.tsx","../../src/edges/DataAssociationEdge.tsx","../../src/nodes/shared/theme.ts","../../src/edges/ConversationLinkEdge.tsx","../../src/edges/edgeTypes.ts"],"names":["pointsToSvgPath","getOrthogonalPath","jsxs","Fragment","jsx","BaseEdge","EdgeLabelRenderer","getStraightPath"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { Position } from \"@xyflow/react\";\n\nexport interface EdgePoint {\n x: number;\n y: number;\n}\n\nexport function getEdgePoints(\n sourceX: number,\n sourceY: number,\n targetX: number,\n targetY: number,\n routingPoints?: EdgePoint[],\n): EdgePoint[] {\n if (routingPoints && routingPoints.length >= 2) {\n return routingPoints;\n }\n\n return [\n { x: sourceX, y: sourceY },\n { x: targetX, y: targetY },\n ];\n}\n\nexport function getPolylineMidpoint(points: EdgePoint[]): EdgePoint {\n if (points.length === 0) return { x: 0, y: 0 };\n if (points.length === 1) return points[0];\n\n let total = 0;\n const lengths: number[] = [];\n\n for (let i = 1; i < points.length; i += 1) {\n const dx = points[i].x - points[i - 1].x;\n const dy = points[i].y - points[i - 1].y;\n const length = Math.hypot(dx, dy);\n lengths.push(length);\n total += length;\n }\n\n const halfway = total / 2;\n let traversed = 0;\n\n for (let i = 1; i < points.length; i += 1) {\n const length = lengths[i - 1];\n if (traversed + length >= halfway) {\n const ratio = length === 0 ? 0 : (halfway - traversed) / length;\n return {\n x: points[i - 1].x + (points[i].x - points[i - 1].x) * ratio,\n y: points[i - 1].y + (points[i].y - points[i - 1].y) * ratio,\n };\n }\n traversed += length;\n }\n\n return points[points.length - 1];\n}\n\nexport function getSegmentAngle(points: EdgePoint[]): number {\n if (points.length < 2) return 0;\n const from = points[0];\n const to = points[1];\n return Math.atan2(to.y - from.y, to.x - from.x);\n}\n\nexport function getDefaultFlowMarkerPath(points: EdgePoint[]): string | null {\n if (points.length < 2) return null;\n\n const start = points[0];\n const angle = getSegmentAngle(points);\n const anchorX = start.x + Math.cos(angle) * 16;\n const anchorY = start.y + Math.sin(angle) * 16;\n const normalAngle = angle + Math.PI / 2;\n const half = 7;\n\n const x1 = anchorX + Math.cos(normalAngle) * half;\n const y1 = anchorY + Math.sin(normalAngle) * half;\n const x2 = anchorX - Math.cos(normalAngle) * half;\n const y2 = anchorY - Math.sin(normalAngle) * half;\n\n return `M ${x1} ${y1} L ${x2} ${y2}`;\n}\n\nexport function fallbackAssociationDirection(\n sourcePosition?: Position,\n targetPosition?: Position,\n): \"horizontal\" | \"vertical\" {\n if (sourcePosition === \"left\" || sourcePosition === \"right\" || targetPosition === \"left\" || targetPosition === \"right\") {\n return \"horizontal\";\n }\n\n return \"vertical\";\n}\n","import { BaseEdge, EdgeLabelRenderer, type EdgeProps } from \"@xyflow/react\";\nimport { getOrthogonalPath, pointsToSvgPath } from \"@aranzatech/diagrams-core/routing\";\nimport type { BpmnEdgeData } from \"../elements/types\";\nimport { getDefaultFlowMarkerPath, getEdgePoints, getPolylineMidpoint } from \"./path\";\n\nexport function SequenceFlowEdge({\n id,\n sourceX, sourceY, targetX, targetY,\n sourcePosition, targetPosition,\n data, label, markerEnd, style, selected,\n}: EdgeProps) {\n const d = data as BpmnEdgeData | undefined;\n const points = d?.routingPoints;\n const polyline = getEdgePoints(sourceX, sourceY, targetX, targetY, points);\n\n const path = points && points.length >= 2\n ? pointsToSvgPath(points)\n : getOrthogonalPath(sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition);\n\n const midpoint = getPolylineMidpoint(polyline);\n const defaultMarkerPath = d?.isDefault ? getDefaultFlowMarkerPath(polyline) : null;\n\n return (\n <>\n <BaseEdge\n id={id}\n path={path}\n {...(d?.conditionExpression ? { markerStart: \"url(#bpmn-diamond-open)\" } : {})}\n markerEnd={markerEnd ?? \"url(#bpmn-arrow)\"}\n style={{\n stroke: selected ? \"#1a56db\" : \"#404040\",\n strokeWidth: selected ? 2 : 1.5,\n ...(style ?? {}),\n }}\n />\n {defaultMarkerPath && (\n <path\n d={defaultMarkerPath}\n fill=\"none\"\n stroke={selected ? \"#1a56db\" : \"#404040\"}\n strokeWidth={selected ? 2 : 1.5}\n strokeLinecap=\"round\"\n data-testid=\"bpmn-default-flow-marker\"\n />\n )}\n {(label ?? d?.label) && (\n <EdgeLabelRenderer>\n <div\n style={{\n position: \"absolute\",\n transform: `translate(-50%,-50%) translate(${midpoint.x}px,${midpoint.y}px)`,\n fontSize: 11,\n fontFamily: \"Inter, system-ui, sans-serif\",\n background: \"rgba(255,255,255,0.85)\",\n padding: \"1px 4px\",\n borderRadius: 2,\n pointerEvents: \"all\",\n }}\n className=\"nodrag nopan\"\n >\n {label ?? d?.label}\n </div>\n </EdgeLabelRenderer>\n )}\n </>\n );\n}\n","import { BaseEdge, EdgeLabelRenderer, type EdgeProps } from \"@xyflow/react\";\nimport { getOrthogonalPath, pointsToSvgPath } from \"@aranzatech/diagrams-core/routing\";\nimport type { BpmnEdgeData } from \"../elements/types\";\nimport { getEdgePoints, getPolylineMidpoint } from \"./path\";\n\nexport function MessageFlowEdge({\n id,\n sourceX, sourceY, targetX, targetY,\n sourcePosition, targetPosition,\n data, label, markerEnd, style, selected,\n}: EdgeProps) {\n const d = data as BpmnEdgeData | undefined;\n const points = d?.routingPoints;\n const polyline = getEdgePoints(sourceX, sourceY, targetX, targetY, points);\n\n const path = points && points.length >= 2\n ? pointsToSvgPath(points)\n : getOrthogonalPath(sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition);\n\n const midpoint = getPolylineMidpoint(polyline);\n\n return (\n <>\n <BaseEdge\n id={id}\n path={path}\n markerStart=\"url(#bpmn-circle-open)\"\n markerEnd={markerEnd ?? \"url(#bpmn-arrow-open)\"}\n style={{\n stroke: selected ? \"#1a56db\" : \"#404040\",\n strokeWidth: selected ? 2 : 1.5,\n strokeDasharray: \"6 3\",\n ...(style ?? {}),\n }}\n />\n {(label ?? d?.label) && (\n <EdgeLabelRenderer>\n <div\n style={{\n position: \"absolute\",\n transform: `translate(-50%,-50%) translate(${midpoint.x}px,${midpoint.y}px)`,\n fontSize: 11,\n fontFamily: \"Inter, system-ui, sans-serif\",\n background: \"rgba(255,255,255,0.85)\",\n padding: \"1px 4px\",\n borderRadius: 2,\n pointerEvents: \"all\",\n }}\n className=\"nodrag nopan\"\n >\n {label ?? d?.label}\n </div>\n </EdgeLabelRenderer>\n )}\n </>\n );\n}\n","import { BaseEdge, type EdgeProps } from \"@xyflow/react\";\nimport { getOrthogonalPath, pointsToSvgPath } from \"@aranzatech/diagrams-core/routing\";\nimport type { BpmnEdgeData } from \"../elements/types\";\n\nexport function AssociationEdge({\n id,\n sourceX, sourceY, targetX, targetY,\n sourcePosition, targetPosition,\n data, style, selected,\n}: EdgeProps) {\n const d = data as BpmnEdgeData | undefined;\n const points = d?.routingPoints;\n const direction = d?.associationDirection ?? \"none\";\n\n const path = points && points.length >= 2\n ? pointsToSvgPath(points)\n : getOrthogonalPath(sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition);\n\n return (\n <BaseEdge\n id={id}\n path={path}\n {...(direction === \"both\" ? { markerStart: \"url(#bpmn-arrow-open)\" } : {})}\n {...(direction === \"one\" || direction === \"both\" ? { markerEnd: \"url(#bpmn-arrow-open)\" } : {})}\n style={{\n stroke: selected ? \"#1a56db\" : \"#888\",\n strokeWidth: 1,\n strokeDasharray: \"3 3\",\n ...(style ?? {}),\n }}\n />\n );\n}\n","import { BaseEdge, type EdgeProps } from \"@xyflow/react\";\nimport { getOrthogonalPath, pointsToSvgPath } from \"@aranzatech/diagrams-core/routing\";\nimport type { BpmnEdgeData } from \"../elements/types\";\n\nexport function DataAssociationEdge({\n id,\n sourceX, sourceY, targetX, targetY,\n sourcePosition, targetPosition,\n data, style, selected,\n}: EdgeProps) {\n const d = data as BpmnEdgeData | undefined;\n const points = d?.routingPoints;\n\n const path = points && points.length >= 2\n ? pointsToSvgPath(points)\n : getOrthogonalPath(sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition);\n\n return (\n <BaseEdge\n id={id}\n path={path}\n markerEnd=\"url(#bpmn-arrow-open)\"\n style={{\n stroke: selected ? \"#1a56db\" : \"#888\",\n strokeWidth: 1,\n strokeDasharray: \"3 3\",\n ...(style ?? {}),\n }}\n />\n );\n}\n","export const BPMN_THEME = {\n fill: \"#ffffff\",\n stroke: \"#404040\",\n strokeSelected: \"#1a56db\",\n strokeWidth: 1.5,\n strokeWidthSelected: 2.5,\n fontFamily: \"Inter, system-ui, sans-serif\",\n fontSize: 11,\n labelColor: \"#1a1a1a\",\n handleColor: \"#8c8c8c\",\n handleColorSelected: \"#1a56db\",\n} as const;\n\nexport function resolveStroke(selected: boolean | undefined, override?: string): string {\n if (selected) return BPMN_THEME.strokeSelected;\n return override ?? BPMN_THEME.stroke;\n}\n\nexport function resolveStrokeWidth(selected: boolean | undefined): number {\n return selected ? BPMN_THEME.strokeWidthSelected : BPMN_THEME.strokeWidth;\n}\n","import type { EdgeProps } from \"@xyflow/react\";\nimport { BaseEdge, getStraightPath } from \"@xyflow/react\";\nimport type { BpmnEdgeData } from \"../elements/types\";\nimport { BPMN_THEME } from \"../nodes/shared/theme\";\n\n// BPMN 2.0 §12.2 — ConversationLink is rendered as a double line.\n// Technique: draw the path twice — wide stroke then narrower background —\n// to produce a parallel-line effect without complex path offsets.\n\nexport function ConversationLinkEdge({\n sourceX, sourceY, targetX, targetY,\n data, markerEnd,\n}: EdgeProps) {\n const d = data as BpmnEdgeData | undefined;\n const stroke = BPMN_THEME.stroke;\n\n const [path] = getStraightPath({ sourceX, sourceY, targetX, targetY });\n\n return (\n <g>\n {/* Outer (wide) stroke */}\n <BaseEdge\n path={path}\n {...(markerEnd ? { markerEnd } : {})}\n style={{ stroke, strokeWidth: 5, fill: \"none\" }}\n />\n {/* Inner white gap — creates double-line visual */}\n <BaseEdge\n path={path}\n style={{ stroke: \"#ffffff\", strokeWidth: 2, fill: \"none\" }}\n />\n {/* Label */}\n {d?.label && (\n <text fontSize={BPMN_THEME.fontSize} fontFamily={BPMN_THEME.fontFamily} fill={stroke}>\n <textPath href={`#${path}`} startOffset=\"50%\" textAnchor=\"middle\">\n {d.label}\n </textPath>\n </text>\n )}\n </g>\n );\n}\n","import type { EdgeTypes } from \"@xyflow/react\";\nimport { SequenceFlowEdge } from \"./SequenceFlowEdge\";\nimport { MessageFlowEdge } from \"./MessageFlowEdge\";\nimport { AssociationEdge } from \"./AssociationEdge\";\nimport { DataAssociationEdge } from \"./DataAssociationEdge\";\nimport { ConversationLinkEdge } from \"./ConversationLinkEdge\";\n\n/** Pass this object to `DiagramCanvas` as `edgeTypes`. */\nexport const BPMN_EDGE_TYPES: EdgeTypes = {\n sequenceFlow: SequenceFlowEdge,\n messageFlow: MessageFlowEdge,\n association: AssociationEdge,\n dataAssociation: DataAssociationEdge,\n conversationLink: ConversationLinkEdge,\n};\n"]}
@@ -0,0 +1,17 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { EdgeProps, EdgeTypes } from '@xyflow/react';
3
+
4
+ declare function SequenceFlowEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, label, markerEnd, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
5
+
6
+ declare function MessageFlowEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, label, markerEnd, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
7
+
8
+ declare function AssociationEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
9
+
10
+ declare function DataAssociationEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
11
+
12
+ declare function ConversationLinkEdge({ sourceX, sourceY, targetX, targetY, data, markerEnd, }: EdgeProps): react_jsx_runtime.JSX.Element;
13
+
14
+ /** Pass this object to `DiagramCanvas` as `edgeTypes`. */
15
+ declare const BPMN_EDGE_TYPES: EdgeTypes;
16
+
17
+ export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge };
@@ -0,0 +1,17 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { EdgeProps, EdgeTypes } from '@xyflow/react';
3
+
4
+ declare function SequenceFlowEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, label, markerEnd, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
5
+
6
+ declare function MessageFlowEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, label, markerEnd, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
7
+
8
+ declare function AssociationEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
9
+
10
+ declare function DataAssociationEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data, style, selected, }: EdgeProps): react_jsx_runtime.JSX.Element;
11
+
12
+ declare function ConversationLinkEdge({ sourceX, sourceY, targetX, targetY, data, markerEnd, }: EdgeProps): react_jsx_runtime.JSX.Element;
13
+
14
+ /** Pass this object to `DiagramCanvas` as `edgeTypes`. */
15
+ declare const BPMN_EDGE_TYPES: EdgeTypes;
16
+
17
+ export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge };
@@ -0,0 +1,4 @@
1
+ export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge } from '../chunk-3AFZDIMQ.js';
2
+ import '../chunk-23B2IGK5.js';
3
+ //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,587 @@
1
+ 'use strict';
2
+
3
+ // src/elements/catalog.ts
4
+ var BPMN_ELEMENT_CATALOG = {
5
+ // ─── Events ──────────────────────────────────────────────────────────────────
6
+ StartEvent: {
7
+ label: "Start Event",
8
+ category: "event",
9
+ defaultWidth: 36,
10
+ defaultHeight: 36,
11
+ handlePolicy: "source",
12
+ orientation: "free",
13
+ isContainer: false,
14
+ acceptsBoundaryEvents: false,
15
+ eventSemantics: "start",
16
+ canBeStart: true,
17
+ canBeEnd: false,
18
+ maxIncoming: 0,
19
+ maxOutgoing: 1
20
+ },
21
+ EndEvent: {
22
+ label: "End Event",
23
+ category: "event",
24
+ defaultWidth: 36,
25
+ defaultHeight: 36,
26
+ handlePolicy: "target",
27
+ orientation: "free",
28
+ isContainer: false,
29
+ acceptsBoundaryEvents: false,
30
+ eventSemantics: "end",
31
+ canBeStart: false,
32
+ canBeEnd: true,
33
+ maxOutgoing: 0
34
+ },
35
+ IntermediateCatchEvent: {
36
+ label: "Intermediate Catch Event",
37
+ category: "event",
38
+ defaultWidth: 36,
39
+ defaultHeight: 36,
40
+ handlePolicy: "all",
41
+ orientation: "free",
42
+ isContainer: false,
43
+ acceptsBoundaryEvents: false,
44
+ eventSemantics: "intermediateCatch",
45
+ canBeStart: false,
46
+ canBeEnd: false
47
+ },
48
+ IntermediateThrowEvent: {
49
+ label: "Intermediate Throw Event",
50
+ category: "event",
51
+ defaultWidth: 36,
52
+ defaultHeight: 36,
53
+ handlePolicy: "all",
54
+ orientation: "free",
55
+ isContainer: false,
56
+ acceptsBoundaryEvents: false,
57
+ eventSemantics: "intermediateThrow",
58
+ canBeStart: false,
59
+ canBeEnd: false
60
+ },
61
+ BoundaryEvent: {
62
+ label: "Boundary Event",
63
+ category: "event",
64
+ defaultWidth: 36,
65
+ defaultHeight: 36,
66
+ handlePolicy: "source",
67
+ orientation: "free",
68
+ isContainer: false,
69
+ acceptsBoundaryEvents: false,
70
+ eventSemantics: "boundary",
71
+ canBeStart: false,
72
+ canBeEnd: false,
73
+ maxIncoming: 0
74
+ },
75
+ // ─── Tasks ───────────────────────────────────────────────────────────────────
76
+ Task: {
77
+ label: "Task",
78
+ category: "task",
79
+ defaultWidth: 120,
80
+ defaultHeight: 60,
81
+ handlePolicy: "all",
82
+ orientation: "free",
83
+ isContainer: false,
84
+ acceptsBoundaryEvents: true,
85
+ supportsMarkers: true,
86
+ canBeStart: false,
87
+ canBeEnd: false
88
+ },
89
+ UserTask: {
90
+ label: "User Task",
91
+ category: "task",
92
+ defaultWidth: 120,
93
+ defaultHeight: 60,
94
+ handlePolicy: "all",
95
+ orientation: "free",
96
+ isContainer: false,
97
+ acceptsBoundaryEvents: true,
98
+ supportsMarkers: true,
99
+ canBeStart: false,
100
+ canBeEnd: false
101
+ },
102
+ ServiceTask: {
103
+ label: "Service Task",
104
+ category: "task",
105
+ defaultWidth: 120,
106
+ defaultHeight: 60,
107
+ handlePolicy: "all",
108
+ orientation: "free",
109
+ isContainer: false,
110
+ acceptsBoundaryEvents: true,
111
+ supportsMarkers: true,
112
+ canBeStart: false,
113
+ canBeEnd: false
114
+ },
115
+ ScriptTask: {
116
+ label: "Script Task",
117
+ category: "task",
118
+ defaultWidth: 120,
119
+ defaultHeight: 60,
120
+ handlePolicy: "all",
121
+ orientation: "free",
122
+ isContainer: false,
123
+ acceptsBoundaryEvents: true,
124
+ supportsMarkers: true,
125
+ canBeStart: false,
126
+ canBeEnd: false
127
+ },
128
+ ManualTask: {
129
+ label: "Manual Task",
130
+ category: "task",
131
+ defaultWidth: 120,
132
+ defaultHeight: 60,
133
+ handlePolicy: "all",
134
+ orientation: "free",
135
+ isContainer: false,
136
+ acceptsBoundaryEvents: true,
137
+ supportsMarkers: true,
138
+ canBeStart: false,
139
+ canBeEnd: false
140
+ },
141
+ BusinessRuleTask: {
142
+ label: "Business Rule Task",
143
+ category: "task",
144
+ defaultWidth: 120,
145
+ defaultHeight: 60,
146
+ handlePolicy: "all",
147
+ orientation: "free",
148
+ isContainer: false,
149
+ acceptsBoundaryEvents: true,
150
+ supportsMarkers: true,
151
+ canBeStart: false,
152
+ canBeEnd: false
153
+ },
154
+ ReceiveTask: {
155
+ label: "Receive Task",
156
+ category: "task",
157
+ defaultWidth: 120,
158
+ defaultHeight: 60,
159
+ handlePolicy: "all",
160
+ orientation: "free",
161
+ isContainer: false,
162
+ acceptsBoundaryEvents: true,
163
+ supportsMarkers: true,
164
+ canBeStart: false,
165
+ canBeEnd: false
166
+ },
167
+ SendTask: {
168
+ label: "Send Task",
169
+ category: "task",
170
+ defaultWidth: 120,
171
+ defaultHeight: 60,
172
+ handlePolicy: "all",
173
+ orientation: "free",
174
+ isContainer: false,
175
+ acceptsBoundaryEvents: true,
176
+ supportsMarkers: true,
177
+ canBeStart: false,
178
+ canBeEnd: false
179
+ },
180
+ CallActivity: {
181
+ label: "Call Activity",
182
+ category: "task",
183
+ defaultWidth: 120,
184
+ defaultHeight: 60,
185
+ handlePolicy: "all",
186
+ orientation: "free",
187
+ isContainer: false,
188
+ acceptsBoundaryEvents: true,
189
+ supportsMarkers: true,
190
+ canBeStart: false,
191
+ canBeEnd: false
192
+ },
193
+ // ─── Gateways ────────────────────────────────────────────────────────────────
194
+ ExclusiveGateway: {
195
+ label: "Exclusive Gateway",
196
+ category: "gateway",
197
+ defaultWidth: 50,
198
+ defaultHeight: 50,
199
+ handlePolicy: "all",
200
+ orientation: "free",
201
+ isContainer: false,
202
+ acceptsBoundaryEvents: false,
203
+ canBeStart: false,
204
+ canBeEnd: false
205
+ },
206
+ InclusiveGateway: {
207
+ label: "Inclusive Gateway",
208
+ category: "gateway",
209
+ defaultWidth: 50,
210
+ defaultHeight: 50,
211
+ handlePolicy: "all",
212
+ orientation: "free",
213
+ isContainer: false,
214
+ acceptsBoundaryEvents: false,
215
+ canBeStart: false,
216
+ canBeEnd: false
217
+ },
218
+ ParallelGateway: {
219
+ label: "Parallel Gateway",
220
+ category: "gateway",
221
+ defaultWidth: 50,
222
+ defaultHeight: 50,
223
+ handlePolicy: "all",
224
+ orientation: "free",
225
+ isContainer: false,
226
+ acceptsBoundaryEvents: false,
227
+ canBeStart: false,
228
+ canBeEnd: false
229
+ },
230
+ EventBasedGateway: {
231
+ label: "Event-Based Gateway",
232
+ category: "gateway",
233
+ defaultWidth: 50,
234
+ defaultHeight: 50,
235
+ handlePolicy: "all",
236
+ orientation: "free",
237
+ isContainer: false,
238
+ acceptsBoundaryEvents: false,
239
+ canBeStart: false,
240
+ canBeEnd: false,
241
+ maxIncoming: 1
242
+ },
243
+ ComplexGateway: {
244
+ label: "Complex Gateway",
245
+ category: "gateway",
246
+ defaultWidth: 50,
247
+ defaultHeight: 50,
248
+ handlePolicy: "all",
249
+ orientation: "free",
250
+ isContainer: false,
251
+ acceptsBoundaryEvents: false,
252
+ canBeStart: false,
253
+ canBeEnd: false
254
+ },
255
+ // ─── Containers ───────────────────────────────────────────────────────────────
256
+ SubProcess: {
257
+ label: "Sub-Process",
258
+ category: "container",
259
+ defaultWidth: 350,
260
+ defaultHeight: 200,
261
+ handlePolicy: "all",
262
+ orientation: "horizontal",
263
+ isContainer: true,
264
+ acceptsBoundaryEvents: true,
265
+ supportsCollapse: true,
266
+ supportsMarkers: true,
267
+ canBeStart: false,
268
+ canBeEnd: false
269
+ },
270
+ Pool: {
271
+ label: "Pool",
272
+ category: "container",
273
+ defaultWidth: 600,
274
+ defaultHeight: 200,
275
+ handlePolicy: "none",
276
+ orientation: "horizontal",
277
+ isContainer: true,
278
+ acceptsBoundaryEvents: false,
279
+ canBeStart: false,
280
+ canBeEnd: false,
281
+ maxIncoming: 0,
282
+ maxOutgoing: 0
283
+ },
284
+ Lane: {
285
+ label: "Lane",
286
+ category: "container",
287
+ defaultWidth: 600,
288
+ defaultHeight: 120,
289
+ handlePolicy: "none",
290
+ orientation: "horizontal",
291
+ isContainer: true,
292
+ acceptsBoundaryEvents: false,
293
+ canBeStart: false,
294
+ canBeEnd: false,
295
+ maxIncoming: 0,
296
+ maxOutgoing: 0
297
+ },
298
+ // ─── Artifacts ────────────────────────────────────────────────────────────────
299
+ Annotation: {
300
+ label: "Text Annotation",
301
+ category: "artifact",
302
+ defaultWidth: 100,
303
+ defaultHeight: 60,
304
+ handlePolicy: "none",
305
+ orientation: "free",
306
+ isContainer: false,
307
+ acceptsBoundaryEvents: false,
308
+ canBeStart: false,
309
+ canBeEnd: false,
310
+ maxIncoming: 0,
311
+ maxOutgoing: 0
312
+ },
313
+ Group: {
314
+ label: "Group",
315
+ category: "artifact",
316
+ defaultWidth: 300,
317
+ defaultHeight: 200,
318
+ handlePolicy: "none",
319
+ orientation: "free",
320
+ isContainer: false,
321
+ acceptsBoundaryEvents: false,
322
+ canBeStart: false,
323
+ canBeEnd: false,
324
+ maxIncoming: 0,
325
+ maxOutgoing: 0
326
+ },
327
+ // ─── Data (BPMN 2.0 §10.3) ───────────────────────────────────────────────────
328
+ DataObject: {
329
+ label: "Data Object",
330
+ category: "data",
331
+ defaultWidth: 36,
332
+ defaultHeight: 50,
333
+ handlePolicy: "all",
334
+ orientation: "free",
335
+ isContainer: false,
336
+ acceptsBoundaryEvents: false,
337
+ canBeStart: false,
338
+ canBeEnd: false,
339
+ maxIncoming: 0,
340
+ maxOutgoing: 0
341
+ },
342
+ DataObjectReference: {
343
+ label: "Data Object Reference",
344
+ category: "data",
345
+ defaultWidth: 36,
346
+ defaultHeight: 50,
347
+ handlePolicy: "all",
348
+ orientation: "free",
349
+ isContainer: false,
350
+ acceptsBoundaryEvents: false,
351
+ canBeStart: false,
352
+ canBeEnd: false,
353
+ maxIncoming: 0,
354
+ maxOutgoing: 0
355
+ },
356
+ DataInput: {
357
+ label: "Data Input",
358
+ category: "data",
359
+ defaultWidth: 36,
360
+ defaultHeight: 50,
361
+ handlePolicy: "all",
362
+ orientation: "free",
363
+ isContainer: false,
364
+ acceptsBoundaryEvents: false,
365
+ canBeStart: false,
366
+ canBeEnd: false,
367
+ maxIncoming: 0
368
+ },
369
+ DataOutput: {
370
+ label: "Data Output",
371
+ category: "data",
372
+ defaultWidth: 36,
373
+ defaultHeight: 50,
374
+ handlePolicy: "all",
375
+ orientation: "free",
376
+ isContainer: false,
377
+ acceptsBoundaryEvents: false,
378
+ canBeStart: false,
379
+ canBeEnd: false,
380
+ maxOutgoing: 0
381
+ },
382
+ DataStore: {
383
+ label: "Data Store",
384
+ category: "data",
385
+ defaultWidth: 50,
386
+ defaultHeight: 50,
387
+ handlePolicy: "all",
388
+ orientation: "free",
389
+ isContainer: false,
390
+ acceptsBoundaryEvents: false,
391
+ canBeStart: false,
392
+ canBeEnd: false,
393
+ maxIncoming: 0,
394
+ maxOutgoing: 0
395
+ },
396
+ DataStoreReference: {
397
+ label: "Data Store Reference",
398
+ category: "data",
399
+ defaultWidth: 50,
400
+ defaultHeight: 50,
401
+ handlePolicy: "all",
402
+ orientation: "free",
403
+ isContainer: false,
404
+ acceptsBoundaryEvents: false,
405
+ canBeStart: false,
406
+ canBeEnd: false,
407
+ maxIncoming: 0,
408
+ maxOutgoing: 0
409
+ },
410
+ // ─── Conversation (BPMN 2.0 §12) ─────────────────────────────────────────────
411
+ Conversation: {
412
+ label: "Conversation",
413
+ category: "conversation",
414
+ defaultWidth: 60,
415
+ defaultHeight: 52,
416
+ handlePolicy: "all",
417
+ orientation: "free",
418
+ isContainer: false,
419
+ acceptsBoundaryEvents: false,
420
+ canBeStart: false,
421
+ canBeEnd: false
422
+ },
423
+ SubConversation: {
424
+ label: "Sub-Conversation",
425
+ category: "conversation",
426
+ defaultWidth: 60,
427
+ defaultHeight: 52,
428
+ handlePolicy: "all",
429
+ orientation: "free",
430
+ isContainer: true,
431
+ acceptsBoundaryEvents: false,
432
+ supportsCollapse: true,
433
+ canBeStart: false,
434
+ canBeEnd: false
435
+ },
436
+ CallConversation: {
437
+ label: "Call Conversation",
438
+ category: "conversation",
439
+ defaultWidth: 60,
440
+ defaultHeight: 52,
441
+ handlePolicy: "all",
442
+ orientation: "free",
443
+ isContainer: false,
444
+ acceptsBoundaryEvents: false,
445
+ canBeStart: false,
446
+ canBeEnd: false
447
+ },
448
+ // ─── Choreography (BPMN 2.0 §11) ─────────────────────────────────────────────
449
+ ChoreographyTask: {
450
+ label: "Choreography Task",
451
+ category: "choreography",
452
+ defaultWidth: 120,
453
+ defaultHeight: 80,
454
+ handlePolicy: "all",
455
+ orientation: "horizontal",
456
+ isContainer: false,
457
+ acceptsBoundaryEvents: false,
458
+ canBeStart: false,
459
+ canBeEnd: false
460
+ },
461
+ SubChoreography: {
462
+ label: "Sub-Choreography",
463
+ category: "choreography",
464
+ defaultWidth: 120,
465
+ defaultHeight: 80,
466
+ handlePolicy: "all",
467
+ orientation: "horizontal",
468
+ isContainer: true,
469
+ acceptsBoundaryEvents: false,
470
+ supportsCollapse: true,
471
+ canBeStart: false,
472
+ canBeEnd: false
473
+ },
474
+ CallChoreography: {
475
+ label: "Call Choreography",
476
+ category: "choreography",
477
+ defaultWidth: 120,
478
+ defaultHeight: 80,
479
+ handlePolicy: "all",
480
+ orientation: "horizontal",
481
+ isContainer: false,
482
+ acceptsBoundaryEvents: false,
483
+ canBeStart: false,
484
+ canBeEnd: false
485
+ }
486
+ };
487
+ function getElementMeta(type) {
488
+ return BPMN_ELEMENT_CATALOG[type];
489
+ }
490
+
491
+ // src/elements/guards.ts
492
+ var TASK_TYPES = /* @__PURE__ */ new Set([
493
+ "Task",
494
+ "UserTask",
495
+ "ServiceTask",
496
+ "ScriptTask",
497
+ "ManualTask",
498
+ "BusinessRuleTask",
499
+ "ReceiveTask",
500
+ "SendTask",
501
+ "CallActivity"
502
+ ]);
503
+ var GATEWAY_TYPES = /* @__PURE__ */ new Set([
504
+ "ExclusiveGateway",
505
+ "InclusiveGateway",
506
+ "ParallelGateway",
507
+ "EventBasedGateway",
508
+ "ComplexGateway"
509
+ ]);
510
+ var EVENT_TYPES = /* @__PURE__ */ new Set([
511
+ "StartEvent",
512
+ "EndEvent",
513
+ "IntermediateCatchEvent",
514
+ "IntermediateThrowEvent",
515
+ "BoundaryEvent"
516
+ ]);
517
+ var DATA_TYPES = /* @__PURE__ */ new Set([
518
+ "DataObject",
519
+ "DataObjectReference",
520
+ "DataInput",
521
+ "DataOutput",
522
+ "DataStore",
523
+ "DataStoreReference"
524
+ ]);
525
+ var CONVERSATION_TYPES = /* @__PURE__ */ new Set([
526
+ "Conversation",
527
+ "SubConversation",
528
+ "CallConversation"
529
+ ]);
530
+ var CHOREOGRAPHY_TYPES = /* @__PURE__ */ new Set([
531
+ "ChoreographyTask",
532
+ "SubChoreography",
533
+ "CallChoreography"
534
+ ]);
535
+ function isTaskType(type) {
536
+ return TASK_TYPES.has(type);
537
+ }
538
+ function isGatewayType(type) {
539
+ return GATEWAY_TYPES.has(type);
540
+ }
541
+ function isEventType(type) {
542
+ return EVENT_TYPES.has(type);
543
+ }
544
+ function isDataType(type) {
545
+ return DATA_TYPES.has(type);
546
+ }
547
+ function isConversationType(type) {
548
+ return CONVERSATION_TYPES.has(type);
549
+ }
550
+ function isChoreographyType(type) {
551
+ return CHOREOGRAPHY_TYPES.has(type);
552
+ }
553
+ function isContainerType(type) {
554
+ return BPMN_ELEMENT_CATALOG[type].isContainer;
555
+ }
556
+ function acceptsBoundaryEvents(type) {
557
+ return BPMN_ELEMENT_CATALOG[type].acceptsBoundaryEvents;
558
+ }
559
+ function getHandlePolicy(type) {
560
+ return BPMN_ELEMENT_CATALOG[type].handlePolicy;
561
+ }
562
+ function getOrientation(type) {
563
+ return BPMN_ELEMENT_CATALOG[type].orientation;
564
+ }
565
+ function supportsCollapse(type) {
566
+ return BPMN_ELEMENT_CATALOG[type].supportsCollapse ?? false;
567
+ }
568
+ function supportsMarkers(type) {
569
+ return BPMN_ELEMENT_CATALOG[type].supportsMarkers ?? false;
570
+ }
571
+
572
+ exports.BPMN_ELEMENT_CATALOG = BPMN_ELEMENT_CATALOG;
573
+ exports.acceptsBoundaryEvents = acceptsBoundaryEvents;
574
+ exports.getElementMeta = getElementMeta;
575
+ exports.getHandlePolicy = getHandlePolicy;
576
+ exports.getOrientation = getOrientation;
577
+ exports.isChoreographyType = isChoreographyType;
578
+ exports.isContainerType = isContainerType;
579
+ exports.isConversationType = isConversationType;
580
+ exports.isDataType = isDataType;
581
+ exports.isEventType = isEventType;
582
+ exports.isGatewayType = isGatewayType;
583
+ exports.isTaskType = isTaskType;
584
+ exports.supportsCollapse = supportsCollapse;
585
+ exports.supportsMarkers = supportsMarkers;
586
+ //# sourceMappingURL=index.cjs.map
587
+ //# sourceMappingURL=index.cjs.map