@aranzatech/diagrams-bpmn 0.2.13 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{catalog-Di2nzGs9.d.ts → catalog-CK3_4cOb.d.ts} +1 -1
  2. package/dist/{catalog-BiLXVn-2.d.cts → catalog-xOMF2ifW.d.cts} +1 -1
  3. package/dist/{chunk-O3NWJ5H7.js → chunk-QSMP34CT.js} +38 -5
  4. package/dist/chunk-QSMP34CT.js.map +1 -0
  5. package/dist/edges/index.cjs +35 -2
  6. package/dist/edges/index.cjs.map +1 -1
  7. package/dist/edges/index.js +1 -1
  8. package/dist/elements/index.d.cts +4 -4
  9. package/dist/elements/index.d.ts +4 -4
  10. package/dist/{guards-DPHXfpY8.d.cts → guards-C70uIY_O.d.cts} +1 -1
  11. package/dist/{guards-qgSeZEU4.d.ts → guards-foB6XIfZ.d.ts} +1 -1
  12. package/dist/index.cjs +35 -2
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.cts +4 -4
  15. package/dist/index.d.ts +4 -4
  16. package/dist/index.js +1 -1
  17. package/dist/layout/index.cjs +55 -19
  18. package/dist/layout/index.cjs.map +1 -1
  19. package/dist/layout/index.d.cts +17 -11
  20. package/dist/layout/index.d.ts +17 -11
  21. package/dist/layout/index.js +55 -19
  22. package/dist/layout/index.js.map +1 -1
  23. package/dist/modeling/index.d.cts +3 -3
  24. package/dist/modeling/index.d.ts +3 -3
  25. package/dist/{types-rEfHsPr5.d.ts → types-DG5yPKld.d.ts} +1 -1
  26. package/dist/{types-s2_VvPGf.d.cts → types-jIDz306Y.d.cts} +1 -1
  27. package/dist/{types-Dfrt0wVs.d.cts → types-y-ZbX-ff.d.cts} +3 -0
  28. package/dist/{types-Dfrt0wVs.d.ts → types-y-ZbX-ff.d.ts} +3 -0
  29. package/dist/validation/index.d.cts +2 -2
  30. package/dist/validation/index.d.ts +2 -2
  31. package/dist/xml/index.d.cts +3 -3
  32. package/dist/xml/index.d.ts +3 -3
  33. package/package.json +2 -2
  34. package/dist/chunk-O3NWJ5H7.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,10 +1,10 @@
1
- export { B as BPMN_ELEMENT_CATALOG, a as BPMN_RESIZABLE_ELEMENT_TYPES, g as getBpmnElementSize, b as getElementMeta, i as isBpmnElementResizable } from './catalog-BiLXVn-2.cjs';
2
- export { a as acceptsBoundaryEvents, g as getHandlePolicy, b as getOrientation, i as isChoreographyType, c as isContainerType, d as isConversationType, e as isDataType, f as isEventType, h as isGatewayType, j as isTaskType, s as supportsCollapse, k as supportsMarkers } from './guards-DPHXfpY8.cjs';
3
- export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, f as BpmnElementType, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, k as BpmnHandlePolicy, l as BpmnMessageDefinition, m as BpmnNodeData, n as BpmnOrientation, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from './types-Dfrt0wVs.cjs';
1
+ export { B as BPMN_ELEMENT_CATALOG, a as BPMN_RESIZABLE_ELEMENT_TYPES, g as getBpmnElementSize, b as getElementMeta, i as isBpmnElementResizable } from './catalog-xOMF2ifW.cjs';
2
+ export { a as acceptsBoundaryEvents, g as getHandlePolicy, b as getOrientation, i as isChoreographyType, c as isContainerType, d as isConversationType, e as isDataType, f as isEventType, h as isGatewayType, j as isTaskType, s as supportsCollapse, k as supportsMarkers } from './guards-C70uIY_O.cjs';
3
+ export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, f as BpmnElementType, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, k as BpmnHandlePolicy, l as BpmnMessageDefinition, m as BpmnNodeData, n as BpmnOrientation, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from './types-y-ZbX-ff.cjs';
4
4
  export { AnnotationNode, BPMN_NODE_TYPES, BoundaryEventNode, CallChoreographyNode, CallConversationNode, ChoreographyTaskNode, ConversationNode, DataInputNode, DataObjectNode, DataObjectReferenceNode, DataOutputNode, DataStoreNode, DataStoreReferenceNode, EndEventNode, GatewayNode, GroupNode, IntermediateCatchEventNode, IntermediateThrowEventNode, LaneNode, PoolNode, StartEventNode, SubChoreographyNode, SubConversationNode, SubProcessNode, TaskNode } from './nodes/index.cjs';
5
5
  export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge } from './edges/index.cjs';
6
6
  export { parseBpmnXml, serializeBpmnXml } from './xml/index.cjs';
7
- export { B as BpmnExportOptions, a as BpmnImportResult, b as BpmnProcessModel, c as BpmnRFEdge, d as BpmnRFNode } from './types-s2_VvPGf.cjs';
7
+ export { B as BpmnExportOptions, a as BpmnImportResult, b as BpmnProcessModel, c as BpmnRFEdge, d as BpmnRFNode } from './types-jIDz306Y.cjs';
8
8
  import { SimDiagram } from './simulation/index.cjs';
9
9
  export { SimEdge, SimLogEntry, SimLogType, SimNode, SimStatus, SimToken, SimVariables, SimulationState, createSimulation, fire, getFireable, isCompleted, setVariable, tick } from './simulation/index.cjs';
10
10
  export { BPMN_EDGE_CONNECTION_RULES, BPMN_MODELING_RULES, BPMN_POOL_LANE_LAYOUT, BPMN_ROUTABLE_EDGE_TYPES, BPMN_SELECTION_STYLE, BpmnClipboardState, BpmnConnectionRule, BpmnDiagramDocument, BpmnDiagramSnapshot, BpmnDiagramState, BpmnEventBus, ConnectBpmnOptions, CreateBpmnNodeOptions, FindBpmnContainerAtOptions, GroupAsBpmnSubProcessOptions, MoveBpmnLaneOptions, PasteBpmnOptions, ReorderBpmnLaneOptions, ReparentBpmnNodeAtPositionOptions, ReparentBpmnNodeOptions, ReplaceBpmnNodeOptions, ResizeBpmnNodeByHandleOptions, ResizeBpmnNodeOptions, RouteBpmnEdgeOptions, attachBoundaryEventCommand, bpmnConnectionValidators, canContainBpmnElement, computeBpmnSmartGuides, connectBpmnCommand, copyBpmnElements, createBpmnDiagramDocument, createBpmnEventBus, createBpmnLayoutCache, createBpmnNode, createBpmnNodeCommand, deleteBpmnElementsCommand, deserializeBpmnDiagram, deserializeBpmnDiagramSnapshot, findBpmnContainerAt, getBpmnDragHandleSelector, getBpmnEdgeLabelLayout, getBpmnLaneIndexAtPosition, getBpmnNodeAbsolutePosition, getBpmnNodeCenter, getBpmnNodeSize, getBpmnNodeZIndex, getBpmnPoolLanes, getBpmnTabOrder, groupAsBpmnSubProcessCommand, inferBpmnEdgeType, isBpmnDroppableInContainer, isBpmnEdgeRoutingEditable, isBpmnProcessNode, layoutBpmnPoolLaneNodes, layoutBpmnPoolLanes, moveBpmnLaneCommand, parseBpmnDiagramDocument, pasteBpmnElementsCommand, persistBpmnHistory, reorderBpmnLane, reorderBpmnLaneAfterDrop, reorderBpmnLaneCommand, reparentBpmnNodeAtPosition, reparentBpmnNodeCommand, replaceBpmnNodeCommand, resizeBpmnNodeByHandleCommand, resizeBpmnNodeCommand, restoreBpmnHistory, routeBpmnEdgeCommand, runBpmnCommand, runBpmnCommands, selectBpmnElementsCommand, serializeBpmnDiagram, toBpmnRelativePosition, validateBpmnConnectionForEdgeType, withBpmnLayoutCache, withBpmnNodeZIndexes } from './modeling/index.cjs';
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export { B as BPMN_ELEMENT_CATALOG, a as BPMN_RESIZABLE_ELEMENT_TYPES, g as getBpmnElementSize, b as getElementMeta, i as isBpmnElementResizable } from './catalog-Di2nzGs9.js';
2
- export { a as acceptsBoundaryEvents, g as getHandlePolicy, b as getOrientation, i as isChoreographyType, c as isContainerType, d as isConversationType, e as isDataType, f as isEventType, h as isGatewayType, j as isTaskType, s as supportsCollapse, k as supportsMarkers } from './guards-qgSeZEU4.js';
3
- export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, f as BpmnElementType, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, k as BpmnHandlePolicy, l as BpmnMessageDefinition, m as BpmnNodeData, n as BpmnOrientation, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from './types-Dfrt0wVs.js';
1
+ export { B as BPMN_ELEMENT_CATALOG, a as BPMN_RESIZABLE_ELEMENT_TYPES, g as getBpmnElementSize, b as getElementMeta, i as isBpmnElementResizable } from './catalog-CK3_4cOb.js';
2
+ export { a as acceptsBoundaryEvents, g as getHandlePolicy, b as getOrientation, i as isChoreographyType, c as isContainerType, d as isConversationType, e as isDataType, f as isEventType, h as isGatewayType, j as isTaskType, s as supportsCollapse, k as supportsMarkers } from './guards-foB6XIfZ.js';
3
+ export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, f as BpmnElementType, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, k as BpmnHandlePolicy, l as BpmnMessageDefinition, m as BpmnNodeData, n as BpmnOrientation, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from './types-y-ZbX-ff.js';
4
4
  export { AnnotationNode, BPMN_NODE_TYPES, BoundaryEventNode, CallChoreographyNode, CallConversationNode, ChoreographyTaskNode, ConversationNode, DataInputNode, DataObjectNode, DataObjectReferenceNode, DataOutputNode, DataStoreNode, DataStoreReferenceNode, EndEventNode, GatewayNode, GroupNode, IntermediateCatchEventNode, IntermediateThrowEventNode, LaneNode, PoolNode, StartEventNode, SubChoreographyNode, SubConversationNode, SubProcessNode, TaskNode } from './nodes/index.js';
5
5
  export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge } from './edges/index.js';
6
6
  export { parseBpmnXml, serializeBpmnXml } from './xml/index.js';
7
- export { B as BpmnExportOptions, a as BpmnImportResult, b as BpmnProcessModel, c as BpmnRFEdge, d as BpmnRFNode } from './types-rEfHsPr5.js';
7
+ export { B as BpmnExportOptions, a as BpmnImportResult, b as BpmnProcessModel, c as BpmnRFEdge, d as BpmnRFNode } from './types-DG5yPKld.js';
8
8
  import { SimDiagram } from './simulation/index.js';
9
9
  export { SimEdge, SimLogEntry, SimLogType, SimNode, SimStatus, SimToken, SimVariables, SimulationState, createSimulation, fire, getFireable, isCompleted, setVariable, tick } from './simulation/index.js';
10
10
  export { BPMN_EDGE_CONNECTION_RULES, BPMN_MODELING_RULES, BPMN_POOL_LANE_LAYOUT, BPMN_ROUTABLE_EDGE_TYPES, BPMN_SELECTION_STYLE, BpmnClipboardState, BpmnConnectionRule, BpmnDiagramDocument, BpmnDiagramSnapshot, BpmnDiagramState, BpmnEventBus, ConnectBpmnOptions, CreateBpmnNodeOptions, FindBpmnContainerAtOptions, GroupAsBpmnSubProcessOptions, MoveBpmnLaneOptions, PasteBpmnOptions, ReorderBpmnLaneOptions, ReparentBpmnNodeAtPositionOptions, ReparentBpmnNodeOptions, ReplaceBpmnNodeOptions, ResizeBpmnNodeByHandleOptions, ResizeBpmnNodeOptions, RouteBpmnEdgeOptions, attachBoundaryEventCommand, bpmnConnectionValidators, canContainBpmnElement, computeBpmnSmartGuides, connectBpmnCommand, copyBpmnElements, createBpmnDiagramDocument, createBpmnEventBus, createBpmnLayoutCache, createBpmnNode, createBpmnNodeCommand, deleteBpmnElementsCommand, deserializeBpmnDiagram, deserializeBpmnDiagramSnapshot, findBpmnContainerAt, getBpmnDragHandleSelector, getBpmnEdgeLabelLayout, getBpmnLaneIndexAtPosition, getBpmnNodeAbsolutePosition, getBpmnNodeCenter, getBpmnNodeSize, getBpmnNodeZIndex, getBpmnPoolLanes, getBpmnTabOrder, groupAsBpmnSubProcessCommand, inferBpmnEdgeType, isBpmnDroppableInContainer, isBpmnEdgeRoutingEditable, isBpmnProcessNode, layoutBpmnPoolLaneNodes, layoutBpmnPoolLanes, moveBpmnLaneCommand, parseBpmnDiagramDocument, pasteBpmnElementsCommand, persistBpmnHistory, reorderBpmnLane, reorderBpmnLaneAfterDrop, reorderBpmnLaneCommand, reparentBpmnNodeAtPosition, reparentBpmnNodeCommand, replaceBpmnNodeCommand, resizeBpmnNodeByHandleCommand, resizeBpmnNodeCommand, restoreBpmnHistory, routeBpmnEdgeCommand, runBpmnCommand, runBpmnCommands, selectBpmnElementsCommand, serializeBpmnDiagram, toBpmnRelativePosition, validateBpmnConnectionForEdgeType, withBpmnLayoutCache, withBpmnNodeZIndexes } from './modeling/index.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './chunk-FBTGIYZS.js';
2
2
  export { AnnotationNode, BPMN_NODE_TYPES, BoundaryEventNode, CallChoreographyNode, CallConversationNode, ChoreographyTaskNode, ConversationNode, DataInputNode, DataObjectNode, DataObjectReferenceNode, DataOutputNode, DataStoreNode, DataStoreReferenceNode, EndEventNode, GatewayNode, GroupNode, IntermediateCatchEventNode, IntermediateThrowEventNode, LaneNode, PoolNode, StartEventNode, SubChoreographyNode, SubConversationNode, SubProcessNode, TaskNode } from './chunk-IMW6RG6F.js';
3
- export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge } from './chunk-O3NWJ5H7.js';
3
+ export { AssociationEdge, BPMN_EDGE_TYPES, ConversationLinkEdge, DataAssociationEdge, MessageFlowEdge, SequenceFlowEdge } from './chunk-QSMP34CT.js';
4
4
  import './chunk-PDTXM32P.js';
5
5
  export { parseBpmnXml, serializeBpmnXml } from './chunk-YUE5EM3W.js';
6
6
  import { createSimulation, tick, getFireable, fire } from './chunk-M46UDUN3.js';
@@ -868,20 +868,20 @@ var BPMN_CONTAINER_TYPES = /* @__PURE__ */ new Set([
868
868
  "AdHocSubProcess"
869
869
  ]);
870
870
  var CONTAINER_MIN_SIZE = {
871
- Pool: { w: 560, h: 160 },
872
- Lane: { w: 480, h: 100 },
873
- SubProcess: { w: 200, h: 120 },
874
- Transaction: { w: 200, h: 120 },
875
- EventSubProcess: { w: 200, h: 120 },
876
- AdHocSubProcess: { w: 200, h: 120 }
871
+ Pool: { w: 720, h: 200 },
872
+ Lane: { w: 600, h: 160 },
873
+ SubProcess: { w: 240, h: 140 },
874
+ Transaction: { w: 240, h: 140 },
875
+ EventSubProcess: { w: 240, h: 140 },
876
+ AdHocSubProcess: { w: 240, h: 140 }
877
877
  };
878
878
  var CONTAINER_PADDING = {
879
- Pool: "[top=30,left=55,bottom=30,right=40]",
880
- Lane: "[top=25,left=60,bottom=25,right=40]",
881
- SubProcess: "[top=25,left=35,bottom=25,right=35]",
882
- Transaction: "[top=25,left=35,bottom=25,right=35]",
883
- EventSubProcess: "[top=25,left=35,bottom=25,right=35]",
884
- AdHocSubProcess: "[top=25,left=35,bottom=25,right=35]"
879
+ Pool: "[top=30,left=60,bottom=30,right=50]",
880
+ Lane: "[top=40,left=70,bottom=40,right=50]",
881
+ SubProcess: "[top=30,left=40,bottom=30,right=40]",
882
+ Transaction: "[top=30,left=40,bottom=30,right=40]",
883
+ EventSubProcess: "[top=30,left=40,bottom=30,right=40]",
884
+ AdHocSubProcess: "[top=30,left=40,bottom=30,right=40]"
885
885
  };
886
886
  async function bpmnElkLayout(nodes, edges) {
887
887
  const poolsWithLanes = /* @__PURE__ */ new Set();
@@ -902,13 +902,26 @@ async function bpmnElkLayout(nodes, edges) {
902
902
  },
903
903
  isContainerNode: (node) => BPMN_CONTAINER_TYPES.has(node.data.elementType),
904
904
  getNodeLayoutOptions: (node) => {
905
- const type = node.data.elementType;
905
+ const bNode = node;
906
+ const type = bNode.data.elementType;
906
907
  if (!BPMN_CONTAINER_TYPES.has(type)) return void 0;
907
908
  const min = CONTAINER_MIN_SIZE[type];
908
- const dir = type === "Pool" && poolsWithLanes.has(node.id) ? "DOWN" : "RIGHT";
909
+ const isPoolWithLanes = type === "Pool" && poolsWithLanes.has(node.id);
910
+ const dir = isPoolWithLanes ? "DOWN" : "RIGHT";
909
911
  return {
910
912
  "elk.direction": dir,
911
913
  "elk.nodeSize.constraints": "MINIMUM_SIZE",
914
+ // Each container handles its own layout pass so cross-lane edges
915
+ // participate in the internal layout without the global direction
916
+ // forcing Lane containers to align sideways.
917
+ "elk.hierarchyHandling": "INCLUDE_CHILDREN",
918
+ // Lanes within a Pool share a border — zero gap between them.
919
+ // Other containers keep the tighter inner spacing.
920
+ ...isPoolWithLanes ? { "elk.spacing.nodeNode": "0", "elk.spacing.componentComponent": "0" } : {
921
+ "elk.layered.spacing.nodeNodeBetweenLayers": "100",
922
+ "elk.layered.spacing.edgeNodeBetweenLayers": "45",
923
+ "elk.spacing.nodeNode": "50"
924
+ },
912
925
  ...min ? { "elk.nodeSize.minimum": `[w=${min.w},h=${min.h}]` } : {},
913
926
  ...CONTAINER_PADDING[type] ? { "elk.padding": CONTAINER_PADDING[type] } : {}
914
927
  };
@@ -916,12 +929,15 @@ async function bpmnElkLayout(nodes, edges) {
916
929
  elk: {
917
930
  "elk.algorithm": "layered",
918
931
  "elk.direction": "RIGHT",
919
- "elk.hierarchyHandling": "INCLUDE_CHILDREN",
932
+ // INHERIT: each container handles its own INCLUDE_CHILDREN pass so
933
+ // the global RIGHT direction does not force Lane containers sideways.
934
+ "elk.hierarchyHandling": "INHERIT",
920
935
  "elk.edgeRouting": "ORTHOGONAL",
921
- "elk.layered.spacing.nodeNodeBetweenLayers": "100",
922
- "elk.layered.spacing.edgeNodeBetweenLayers": "40",
923
- "elk.spacing.nodeNode": "60",
924
- "elk.spacing.componentComponent": "80"
936
+ // Global spacing — generous values for visual breathing room.
937
+ "elk.layered.spacing.nodeNodeBetweenLayers": "120",
938
+ "elk.layered.spacing.edgeNodeBetweenLayers": "50",
939
+ "elk.spacing.nodeNode": "70",
940
+ "elk.spacing.componentComponent": "100"
925
941
  }
926
942
  }
927
943
  );
@@ -932,6 +948,26 @@ async function bpmnElkLayout(nodes, edges) {
932
948
  if (!laid) return node;
933
949
  return { ...node, position: laid.position, width: laid.width, height: laid.height };
934
950
  });
951
+ const lanesByPool = /* @__PURE__ */ new Map();
952
+ for (const node of updatedNodes) {
953
+ if (node.data.elementType === "Lane" && node.parentId) {
954
+ const arr = lanesByPool.get(node.parentId) ?? [];
955
+ arr.push(node.id);
956
+ lanesByPool.set(node.parentId, arr);
957
+ }
958
+ }
959
+ const nodeIndex = new Map(updatedNodes.map((n, i) => [n.id, i]));
960
+ for (const laneIds of lanesByPool.values()) {
961
+ const widths = laneIds.map((id) => updatedNodes[nodeIndex.get(id)]?.width ?? 0);
962
+ const maxWidth = Math.max(...widths);
963
+ if (maxWidth <= 0) continue;
964
+ for (const id of laneIds) {
965
+ const idx = nodeIndex.get(id);
966
+ if (idx !== void 0) {
967
+ updatedNodes[idx] = { ...updatedNodes[idx], width: maxWidth };
968
+ }
969
+ }
970
+ }
935
971
  const updatedEdges = edges.map((edge) => {
936
972
  const laid = edgeMap.get(edge.id);
937
973
  if (!laid) return edge;