@aranzatech/diagrams-bpmn 0.2.8 → 0.2.10

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 (38) hide show
  1. package/dist/{catalog-DW0Hknp2.d.ts → catalog-BOwJOaXV.d.ts} +1 -1
  2. package/dist/{catalog-CjGdTFxc.d.cts → catalog-Ch3YT0-0.d.cts} +1 -1
  3. package/dist/{chunk-KW2QVBOB.js → chunk-HLCUGTEK.js} +26 -5
  4. package/dist/chunk-HLCUGTEK.js.map +1 -0
  5. package/dist/{chunk-XTUYPA3E.js → chunk-UAWLUDKC.js} +8 -5
  6. package/dist/chunk-UAWLUDKC.js.map +1 -0
  7. package/dist/elements/index.d.cts +3 -3
  8. package/dist/elements/index.d.ts +3 -3
  9. package/dist/index.cjs +30 -5
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +4 -4
  12. package/dist/index.d.ts +4 -4
  13. package/dist/index.js +2 -2
  14. package/dist/layout/index.cjs +881 -0
  15. package/dist/layout/index.cjs.map +1 -0
  16. package/dist/layout/index.d.cts +23 -0
  17. package/dist/layout/index.d.ts +23 -0
  18. package/dist/layout/index.js +19 -0
  19. package/dist/layout/index.js.map +1 -0
  20. package/dist/modeling/index.cjs +6 -2
  21. package/dist/modeling/index.cjs.map +1 -1
  22. package/dist/modeling/index.d.cts +6 -4
  23. package/dist/modeling/index.d.ts +6 -4
  24. package/dist/modeling/index.js +1 -1
  25. package/dist/{types-wFn_tJLY.d.cts → types-BTuiBv7p.d.cts} +4 -0
  26. package/dist/{types-wFn_tJLY.d.ts → types-BTuiBv7p.d.ts} +4 -0
  27. package/dist/{types-BjVERSZn.d.cts → types-C7tONwP5.d.cts} +1 -1
  28. package/dist/{types-CBgWMl9p.d.ts → types-DSDMCAre.d.ts} +1 -1
  29. package/dist/validation/index.d.cts +2 -2
  30. package/dist/validation/index.d.ts +2 -2
  31. package/dist/xml/index.cjs +24 -3
  32. package/dist/xml/index.cjs.map +1 -1
  33. package/dist/xml/index.d.cts +3 -3
  34. package/dist/xml/index.d.ts +3 -3
  35. package/dist/xml/index.js +1 -1
  36. package/package.json +7 -2
  37. package/dist/chunk-KW2QVBOB.js.map +0 -1
  38. package/dist/chunk-XTUYPA3E.js.map +0 -1
@@ -1,6 +1,6 @@
1
- export { B as BPMN_ELEMENT_CATALOG, a as BPMN_RESIZABLE_ELEMENT_TYPES, g as getBpmnElementSize, b as getElementMeta, i as isBpmnElementResizable } from '../catalog-CjGdTFxc.cjs';
2
- import { f as BpmnElementType, k as BpmnHandlePolicy, n as BpmnOrientation } from '../types-wFn_tJLY.cjs';
3
- export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, l as BpmnMessageDefinition, m as BpmnNodeData, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from '../types-wFn_tJLY.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-Ch3YT0-0.cjs';
2
+ import { f as BpmnElementType, k as BpmnHandlePolicy, n as BpmnOrientation } from '../types-BTuiBv7p.cjs';
3
+ export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, l as BpmnMessageDefinition, m as BpmnNodeData, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from '../types-BTuiBv7p.cjs';
4
4
 
5
5
  declare function isTaskType(type: BpmnElementType): boolean;
6
6
  declare function isGatewayType(type: BpmnElementType): boolean;
@@ -1,6 +1,6 @@
1
- export { B as BPMN_ELEMENT_CATALOG, a as BPMN_RESIZABLE_ELEMENT_TYPES, g as getBpmnElementSize, b as getElementMeta, i as isBpmnElementResizable } from '../catalog-DW0Hknp2.js';
2
- import { f as BpmnElementType, k as BpmnHandlePolicy, n as BpmnOrientation } from '../types-wFn_tJLY.js';
3
- export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, l as BpmnMessageDefinition, m as BpmnNodeData, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from '../types-wFn_tJLY.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-BOwJOaXV.js';
2
+ import { f as BpmnElementType, k as BpmnHandlePolicy, n as BpmnOrientation } from '../types-BTuiBv7p.js';
3
+ export { B as BpmnCategory, a as BpmnDefinitionsSet, b as BpmnEdgeData, c as BpmnEdgeType, d as BpmnElementMeta, e as BpmnElementSize, g as BpmnErrorDefinition, h as BpmnEscalationDefinition, i as BpmnEventDefinition, j as BpmnEventSemantics, l as BpmnMessageDefinition, m as BpmnNodeData, o as BpmnProcessVariable, p as BpmnSignalDefinition, q as BpmnTimerDefinition, r as BpmnTimerKind, E as EventTrigger, S as SubProcessVariant, T as TaskMarker } from '../types-BTuiBv7p.js';
4
4
 
5
5
  declare function isTaskType(type: BpmnElementType): boolean;
6
6
  declare function isGatewayType(type: BpmnElementType): boolean;
package/dist/index.cjs CHANGED
@@ -2515,7 +2515,10 @@ var ARANZA_DESCRIPTOR = {
2515
2515
  // BusinessRuleTask: reference to a DMN decision table id
2516
2516
  { name: "decisionRef", isAttr: true, type: "String" },
2517
2517
  // UserTask: form key resolved to a FormDefinition name at runtime
2518
- { name: "formKey", isAttr: true, type: "String" }
2518
+ { name: "formKey", isAttr: true, type: "String" },
2519
+ // UserTask: Flowable task assignment — comma-separated ids
2520
+ { name: "candidateUsers", isAttr: true, type: "String" },
2521
+ { name: "candidateGroups", isAttr: true, type: "String" }
2519
2522
  ]
2520
2523
  }
2521
2524
  ],
@@ -2799,6 +2802,10 @@ function extractAranzaExtensions(el) {
2799
2802
  if (fde) result.flowableDelegateExpression = fde;
2800
2803
  const fk = asString(elAttrs["flowable:formKey"]);
2801
2804
  if (fk) result.formKey = fk;
2805
+ const cu = asString(elAttrs["flowable:candidateUsers"]);
2806
+ if (cu) result.candidateUsers = cu;
2807
+ const cg = asString(elAttrs["flowable:candidateGroups"]);
2808
+ if (cg) result.candidateGroups = cg;
2802
2809
  }
2803
2810
  const ext = el.extensionElements;
2804
2811
  if (!ext) return result;
@@ -2824,6 +2831,10 @@ function extractAranzaExtensions(el) {
2824
2831
  if (decisionRef) result.decisionRef = decisionRef;
2825
2832
  const formKey = asString(taskConfig.formKey);
2826
2833
  if (formKey) result.formKey = formKey;
2834
+ const candidateUsers = asString(taskConfig.candidateUsers);
2835
+ if (candidateUsers) result.candidateUsers = candidateUsers;
2836
+ const candidateGroups = asString(taskConfig.candidateGroups);
2837
+ if (candidateGroups) result.candidateGroups = candidateGroups;
2827
2838
  return result;
2828
2839
  }
2829
2840
  function extractCompletionCondition(el) {
@@ -3193,7 +3204,9 @@ function buildAranzaExtensionElements(moddle, node) {
3193
3204
  const flowableDelegateExpression = typeof node.data.flowableDelegateExpression === "string" ? node.data.flowableDelegateExpression : void 0;
3194
3205
  const decisionRef = typeof node.data.decisionRef === "string" ? node.data.decisionRef : void 0;
3195
3206
  const formKey = typeof node.data.formKey === "string" ? node.data.formKey : void 0;
3196
- if (!priority && !owner && !sla && !connector && !action && !flowableType && !flowableDelegateExpression && !decisionRef && !formKey) {
3207
+ const candidateUsers = typeof node.data.candidateUsers === "string" ? node.data.candidateUsers : void 0;
3208
+ const candidateGroups = typeof node.data.candidateGroups === "string" ? node.data.candidateGroups : void 0;
3209
+ if (!priority && !owner && !sla && !connector && !action && !flowableType && !flowableDelegateExpression && !decisionRef && !formKey && !candidateUsers && !candidateGroups) {
3197
3210
  return null;
3198
3211
  }
3199
3212
  const configAttrs = {};
@@ -3206,6 +3219,8 @@ function buildAranzaExtensionElements(moddle, node) {
3206
3219
  if (flowableDelegateExpression) configAttrs.flowableDelegateExpression = flowableDelegateExpression;
3207
3220
  if (decisionRef) configAttrs.decisionRef = decisionRef;
3208
3221
  if (formKey) configAttrs.formKey = formKey;
3222
+ if (candidateUsers) configAttrs.candidateUsers = candidateUsers;
3223
+ if (candidateGroups) configAttrs.candidateGroups = candidateGroups;
3209
3224
  const taskConfig = moddle.create("aranza:TaskConfig", configAttrs);
3210
3225
  return moddle.create("bpmn:ExtensionElements", { values: [taskConfig] });
3211
3226
  }
@@ -3388,8 +3403,14 @@ function buildFlowElement(moddle, node, allNodes, allEdges) {
3388
3403
  if (script) attrs.script = script;
3389
3404
  }
3390
3405
  if (elementType === "UserTask") {
3406
+ const flowableAttrs = {};
3391
3407
  const fk = typeof node.data.formKey === "string" ? node.data.formKey : void 0;
3392
- if (fk) attrs.$attrs = { "flowable:formKey": fk };
3408
+ const cu = typeof node.data.candidateUsers === "string" ? node.data.candidateUsers : void 0;
3409
+ const cg = typeof node.data.candidateGroups === "string" ? node.data.candidateGroups : void 0;
3410
+ if (fk) flowableAttrs["flowable:formKey"] = fk;
3411
+ if (cu) flowableAttrs["flowable:candidateUsers"] = cu;
3412
+ if (cg) flowableAttrs["flowable:candidateGroups"] = cg;
3413
+ if (Object.keys(flowableAttrs).length > 0) attrs.$attrs = flowableAttrs;
3393
3414
  }
3394
3415
  if (elementType === "ServiceTask") {
3395
3416
  const flowableAttrs = {};
@@ -4170,13 +4191,16 @@ function isBpmnEdgeRoutingEditable(edgeType) {
4170
4191
  function isBpmnProcessNode(type) {
4171
4192
  return isEventType(type) || isGatewayType(type) || type.includes("Task") || type === "CallActivity" || type === "SubProcess" || type === "Transaction" || type === "EventSubProcess" || type === "AdHocSubProcess";
4172
4193
  }
4194
+ function isBpmnDroppableInContainer(type) {
4195
+ return isBpmnProcessNode(type) || type === "Annotation" || type === "Group" || type === "DataObject" || type === "DataObjectReference" || type === "DataStore" || type === "DataStoreReference";
4196
+ }
4173
4197
  function canContainBpmnElement(parentType, childType) {
4174
4198
  if (!parentType) return true;
4175
4199
  if (parentType === "Pool") {
4176
- return childType === "Lane" || isBpmnProcessNode(childType) ? true : "Pools can contain lanes or BPMN process nodes.";
4200
+ return childType === "Lane" || isBpmnDroppableInContainer(childType) ? true : "Pools can contain lanes, BPMN process nodes, annotations, groups, and data elements.";
4177
4201
  }
4178
4202
  if (parentType === "Lane") {
4179
- return isBpmnProcessNode(childType) ? true : "Lanes can only contain BPMN process nodes.";
4203
+ return isBpmnDroppableInContainer(childType) ? true : "Lanes can only contain BPMN process nodes, annotations, groups, and data elements.";
4180
4204
  }
4181
4205
  if (parentType === "SubProcess" || parentType === "Transaction" || parentType === "EventSubProcess" || parentType === "AdHocSubProcess") {
4182
4206
  return isBpmnProcessNode(childType) ? true : "Subprocesses can only contain BPMN process nodes.";
@@ -4944,6 +4968,7 @@ exports.getHandlePolicy = getHandlePolicy;
4944
4968
  exports.getOrientation = getOrientation;
4945
4969
  exports.groupAsBpmnSubProcessCommand = groupAsBpmnSubProcessCommand;
4946
4970
  exports.inferBpmnEdgeType = inferBpmnEdgeType;
4971
+ exports.isBpmnDroppableInContainer = isBpmnDroppableInContainer;
4947
4972
  exports.isBpmnEdgeRoutingEditable = isBpmnEdgeRoutingEditable;
4948
4973
  exports.isBpmnElementResizable = isBpmnElementResizable;
4949
4974
  exports.isBpmnProcessNode = isBpmnProcessNode;