bpmn-js 9.3.2 → 9.4.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 (42) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/dist/bpmn-modeler.development.js +3416 -3170
  3. package/dist/bpmn-modeler.production.min.js +8 -8
  4. package/dist/bpmn-navigated-viewer.development.js +350 -279
  5. package/dist/bpmn-navigated-viewer.production.min.js +6 -6
  6. package/dist/bpmn-viewer.development.js +316 -265
  7. package/dist/bpmn-viewer.production.min.js +6 -6
  8. package/lib/draw/BpmnRenderUtil.js +25 -25
  9. package/lib/draw/BpmnRenderer.js +4 -4
  10. package/lib/draw/PathMap.js +42 -42
  11. package/lib/features/align-elements/index.js +1 -1
  12. package/lib/features/copy-paste/BpmnCopyPaste.js +75 -69
  13. package/lib/features/copy-paste/ModdleCopy.js +26 -13
  14. package/lib/features/drilldown/DrilldownOverlayBehavior.js +2 -2
  15. package/lib/features/drilldown/SubprocessCompatibility.js +1 -1
  16. package/lib/features/drilldown/index.js +1 -1
  17. package/lib/features/grid-snapping/behavior/{AutoPlaceBehavior.js → GridSnappingAutoPlaceBehavior.js} +2 -2
  18. package/lib/features/grid-snapping/behavior/{LayoutConnectionBehavior.js → GridSnappingLayoutConnectionBehavior.js} +4 -4
  19. package/lib/features/grid-snapping/behavior/{CreateParticipantBehavior.js → GridSnappingParticipantBehavior.js} +2 -2
  20. package/lib/features/grid-snapping/behavior/index.js +7 -7
  21. package/lib/features/keyboard/BpmnKeyboardBindings.js +7 -7
  22. package/lib/features/label-editing/LabelEditingProvider.js +1 -23
  23. package/lib/features/modeling/ElementFactory.js +18 -8
  24. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +1 -16
  25. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +1 -1
  26. package/lib/features/modeling/behavior/GroupBehavior.js +205 -93
  27. package/lib/features/modeling/behavior/ResizeBehavior.js +2 -0
  28. package/lib/features/modeling/behavior/RootElementReferenceBehavior.js +7 -8
  29. package/lib/features/modeling/behavior/SpaceToolBehavior.js +5 -0
  30. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +9 -0
  31. package/lib/features/modeling/behavior/index.js +1 -1
  32. package/lib/features/modeling/behavior/util/CategoryUtil.js +66 -13
  33. package/lib/features/modeling/behavior/util/LayoutUtil.js +6 -6
  34. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +4 -1
  35. package/lib/features/ordering/BpmnOrderingProvider.js +3 -1
  36. package/lib/features/replace/BpmnReplace.js +12 -0
  37. package/lib/features/search/index.js +1 -1
  38. package/lib/import/BpmnImporter.js +0 -5
  39. package/lib/util/CompatibilityUtil.js +1 -0
  40. package/package.json +21 -24
  41. package/test/helper/index.js +1 -1
  42. package/.babelrc +0 -3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * bpmn-js - bpmn-viewer v9.3.2
2
+ * bpmn-js - bpmn-viewer v9.4.0
3
3
  *
4
4
  * Copyright (c) 2014-present, camunda Services GmbH
5
5
  *
@@ -8,13 +8,13 @@
8
8
  *
9
9
  * Source Code: https://github.com/bpmn-io/bpmn-js
10
10
  *
11
- * Date: 2022-08-04
11
+ * Date: 2022-08-22
12
12
  */
13
13
  (function (global, factory) {
14
14
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
15
15
  typeof define === 'function' && define.amd ? define(factory) :
16
16
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.BpmnJS = factory());
17
- }(this, (function () { 'use strict';
17
+ })(this, (function () { 'use strict';
18
18
 
19
19
  function e(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}));}
20
20
 
@@ -83,6 +83,26 @@
83
83
  });
84
84
  return match;
85
85
  }
86
+ /**
87
+ * Find element index in collection.
88
+ *
89
+ * @param {Array|Object} collection
90
+ * @param {Function} matcher
91
+ *
92
+ * @return {Object}
93
+ */
94
+
95
+ function findIndex(collection, matcher) {
96
+ matcher = toMatcher(matcher);
97
+ var idx = isArray$2(collection) ? -1 : undefined;
98
+ forEach$1(collection, function (val, key) {
99
+ if (matcher(val, key)) {
100
+ idx = key;
101
+ return false;
102
+ }
103
+ });
104
+ return idx;
105
+ }
86
106
  /**
87
107
  * Find element in collection.
88
108
  *
@@ -1094,7 +1114,15 @@
1094
1114
  */
1095
1115
 
1096
1116
  // fake node used to instantiate svg geometry elements
1097
- var node = create$1('svg');
1117
+ var node = null;
1118
+
1119
+ function getNode() {
1120
+ if (node === null) {
1121
+ node = create$1('svg');
1122
+ }
1123
+
1124
+ return node;
1125
+ }
1098
1126
 
1099
1127
  function extend$1(object, props) {
1100
1128
  var i, k, keys = Object.keys(props);
@@ -1118,7 +1146,7 @@
1118
1146
  * @return {SVGMatrix}
1119
1147
  */
1120
1148
  function createMatrix(a, b, c, d, e, f) {
1121
- var matrix = node.createSVGMatrix();
1149
+ var matrix = getNode().createSVGMatrix();
1122
1150
 
1123
1151
  switch (arguments.length) {
1124
1152
  case 0:
@@ -1139,9 +1167,9 @@
1139
1167
 
1140
1168
  function createTransform(matrix) {
1141
1169
  if (matrix) {
1142
- return node.createSVGTransformFromMatrix(matrix);
1170
+ return getNode().createSVGTransformFromMatrix(matrix);
1143
1171
  } else {
1144
- return node.createSVGTransform();
1172
+ return getNode().createSVGTransform();
1145
1173
  }
1146
1174
  }
1147
1175
 
@@ -1438,11 +1466,11 @@
1438
1466
  radius = shape.width / 2;
1439
1467
 
1440
1468
  var circlePath = [
1441
- ['M', cx, cy],
1442
- ['m', 0, -radius],
1443
- ['a', radius, radius, 0, 1, 1, 0, 2 * radius],
1444
- ['a', radius, radius, 0, 1, 1, 0, -2 * radius],
1445
- ['z']
1469
+ [ 'M', cx, cy ],
1470
+ [ 'm', 0, -radius ],
1471
+ [ 'a', radius, radius, 0, 1, 1, 0, 2 * radius ],
1472
+ [ 'a', radius, radius, 0, 1, 1, 0, -2 * radius ],
1473
+ [ 'z' ]
1446
1474
  ];
1447
1475
 
1448
1476
  return componentsToPath(circlePath);
@@ -1456,16 +1484,16 @@
1456
1484
  height = shape.height;
1457
1485
 
1458
1486
  var roundRectPath = [
1459
- ['M', x + borderRadius, y],
1460
- ['l', width - borderRadius * 2, 0],
1461
- ['a', borderRadius, borderRadius, 0, 0, 1, borderRadius, borderRadius],
1462
- ['l', 0, height - borderRadius * 2],
1463
- ['a', borderRadius, borderRadius, 0, 0, 1, -borderRadius, borderRadius],
1464
- ['l', borderRadius * 2 - width, 0],
1465
- ['a', borderRadius, borderRadius, 0, 0, 1, -borderRadius, -borderRadius],
1466
- ['l', 0, borderRadius * 2 - height],
1467
- ['a', borderRadius, borderRadius, 0, 0, 1, borderRadius, -borderRadius],
1468
- ['z']
1487
+ [ 'M', x + borderRadius, y ],
1488
+ [ 'l', width - borderRadius * 2, 0 ],
1489
+ [ 'a', borderRadius, borderRadius, 0, 0, 1, borderRadius, borderRadius ],
1490
+ [ 'l', 0, height - borderRadius * 2 ],
1491
+ [ 'a', borderRadius, borderRadius, 0, 0, 1, -borderRadius, borderRadius ],
1492
+ [ 'l', borderRadius * 2 - width, 0 ],
1493
+ [ 'a', borderRadius, borderRadius, 0, 0, 1, -borderRadius, -borderRadius ],
1494
+ [ 'l', 0, borderRadius * 2 - height ],
1495
+ [ 'a', borderRadius, borderRadius, 0, 0, 1, borderRadius, -borderRadius ],
1496
+ [ 'z' ]
1469
1497
  ];
1470
1498
 
1471
1499
  return componentsToPath(roundRectPath);
@@ -1481,11 +1509,11 @@
1481
1509
  halfHeight = height / 2;
1482
1510
 
1483
1511
  var diamondPath = [
1484
- ['M', x + halfWidth, y],
1485
- ['l', halfWidth, halfHeight],
1486
- ['l', -halfWidth, halfHeight],
1487
- ['l', -halfWidth, -halfHeight],
1488
- ['z']
1512
+ [ 'M', x + halfWidth, y ],
1513
+ [ 'l', halfWidth, halfHeight ],
1514
+ [ 'l', -halfWidth, halfHeight ],
1515
+ [ 'l', -halfWidth, -halfHeight ],
1516
+ [ 'z' ]
1489
1517
  ];
1490
1518
 
1491
1519
  return componentsToPath(diamondPath);
@@ -1498,11 +1526,11 @@
1498
1526
  height = shape.height;
1499
1527
 
1500
1528
  var rectPath = [
1501
- ['M', x, y],
1502
- ['l', width, 0],
1503
- ['l', 0, height],
1504
- ['l', -width, 0],
1505
- ['z']
1529
+ [ 'M', x, y ],
1530
+ [ 'l', width, 0 ],
1531
+ [ 'l', 0, height ],
1532
+ [ 'l', -width, 0 ],
1533
+ [ 'z' ]
1506
1534
  ];
1507
1535
 
1508
1536
  return componentsToPath(rectPath);
@@ -2365,7 +2393,7 @@
2365
2393
  // fix for safari / chrome / firefox bug not correctly
2366
2394
  // resetting stroke dash array
2367
2395
  if (attrs.strokeDasharray === 'none') {
2368
- attrs.strokeDasharray = [10000, 1];
2396
+ attrs.strokeDasharray = [ 10000, 1 ];
2369
2397
  }
2370
2398
 
2371
2399
  var marker = create$1('marker');
@@ -2592,7 +2620,7 @@
2592
2620
  var x_2 = width / 2;
2593
2621
  var y_2 = height / 2;
2594
2622
 
2595
- var points = [{ x: x_2, y: 0 }, { x: width, y: y_2 }, { x: x_2, y: height }, { x: 0, y: y_2 }];
2623
+ var points = [ { x: x_2, y: 0 }, { x: width, y: y_2 }, { x: x_2, y: height }, { x: 0, y: y_2 } ];
2596
2624
 
2597
2625
  var pointsString = points.map(function(point) {
2598
2626
  return point.x + ',' + point.y;
@@ -2664,7 +2692,7 @@
2664
2692
  var event = getSemantic(element);
2665
2693
  var isThrowing = isThrowEvent(event);
2666
2694
 
2667
- if (event.eventDefinitions && event.eventDefinitions.length>1) {
2695
+ if (event.eventDefinitions && event.eventDefinitions.length > 1) {
2668
2696
  if (event.parallelMultiple) {
2669
2697
  return renderer('bpmn:ParallelMultipleEventDefinition')(parentGfx, element, isThrowing);
2670
2698
  }
@@ -3380,7 +3408,7 @@
3380
3408
  if (expanded) {
3381
3409
  attachTaskMarkers(parentGfx, element);
3382
3410
  } else {
3383
- attachTaskMarkers(parentGfx, element, ['SubProcessMarker']);
3411
+ attachTaskMarkers(parentGfx, element, [ 'SubProcessMarker' ]);
3384
3412
  }
3385
3413
 
3386
3414
  return rect;
@@ -4714,22 +4742,22 @@
4714
4742
  d: 'm {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}',
4715
4743
  height: 36,
4716
4744
  width: 36,
4717
- heightElements: [6, 14],
4718
- widthElements: [10.5, 21]
4745
+ heightElements: [ 6, 14 ],
4746
+ widthElements: [ 10.5, 21 ]
4719
4747
  },
4720
4748
  'EVENT_SIGNAL': {
4721
4749
  d: 'M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z',
4722
4750
  height: 36,
4723
4751
  width: 36,
4724
- heightElements: [18],
4725
- widthElements: [10, 20]
4752
+ heightElements: [ 18 ],
4753
+ widthElements: [ 10, 20 ]
4726
4754
  },
4727
4755
  'EVENT_ESCALATION': {
4728
4756
  d: 'M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z',
4729
4757
  height: 36,
4730
4758
  width: 36,
4731
- heightElements: [20, 7],
4732
- widthElements: [8]
4759
+ heightElements: [ 20, 7 ],
4760
+ widthElements: [ 8 ]
4733
4761
  },
4734
4762
  'EVENT_CONDITIONAL': {
4735
4763
  d: 'M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z ' +
@@ -4741,67 +4769,67 @@
4741
4769
  'M {e.x2},{e.y8} l {e.x0},0 ',
4742
4770
  height: 36,
4743
4771
  width: 36,
4744
- heightElements: [8.5, 14.5, 18, 11.5, 14.5, 17.5, 20.5, 23.5, 26.5],
4745
- widthElements: [10.5, 14.5, 12.5]
4772
+ heightElements: [ 8.5, 14.5, 18, 11.5, 14.5, 17.5, 20.5, 23.5, 26.5 ],
4773
+ widthElements: [ 10.5, 14.5, 12.5 ]
4746
4774
  },
4747
4775
  'EVENT_LINK': {
4748
4776
  d: 'm {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z',
4749
4777
  height: 36,
4750
4778
  width: 36,
4751
- heightElements: [4.4375, 6.75, 7.8125],
4752
- widthElements: [9.84375, 13.5]
4779
+ heightElements: [ 4.4375, 6.75, 7.8125 ],
4780
+ widthElements: [ 9.84375, 13.5 ]
4753
4781
  },
4754
4782
  'EVENT_ERROR': {
4755
4783
  d: 'm {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z',
4756
4784
  height: 36,
4757
4785
  width: 36,
4758
- heightElements: [0.023, 8.737, 8.151, 16.564, 10.591, 8.714],
4759
- widthElements: [0.085, 6.672, 6.97, 4.273, 5.337, 6.636]
4786
+ heightElements: [ 0.023, 8.737, 8.151, 16.564, 10.591, 8.714 ],
4787
+ widthElements: [ 0.085, 6.672, 6.97, 4.273, 5.337, 6.636 ]
4760
4788
  },
4761
4789
  'EVENT_CANCEL_45': {
4762
4790
  d: 'm {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 ' +
4763
4791
  '0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z',
4764
4792
  height: 36,
4765
4793
  width: 36,
4766
- heightElements: [4.75, 8.5],
4767
- widthElements: [4.75, 8.5]
4794
+ heightElements: [ 4.75, 8.5 ],
4795
+ widthElements: [ 4.75, 8.5 ]
4768
4796
  },
4769
4797
  'EVENT_COMPENSATION': {
4770
4798
  d: 'm {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z',
4771
4799
  height: 36,
4772
4800
  width: 36,
4773
- heightElements: [6.5, 13, 0.4, 6.1],
4774
- widthElements: [9, 9.3, 8.7]
4801
+ heightElements: [ 6.5, 13, 0.4, 6.1 ],
4802
+ widthElements: [ 9, 9.3, 8.7 ]
4775
4803
  },
4776
4804
  'EVENT_TIMER_WH': {
4777
4805
  d: 'M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ',
4778
4806
  height: 36,
4779
4807
  width: 36,
4780
- heightElements: [10, 2],
4781
- widthElements: [3, 7]
4808
+ heightElements: [ 10, 2 ],
4809
+ widthElements: [ 3, 7 ]
4782
4810
  },
4783
4811
  'EVENT_TIMER_LINE': {
4784
4812
  d: 'M {mx},{my} ' +
4785
4813
  'm {e.x0},{e.y0} l -{e.x1},{e.y1} ',
4786
4814
  height: 36,
4787
4815
  width: 36,
4788
- heightElements: [10, 3],
4789
- widthElements: [0, 0]
4816
+ heightElements: [ 10, 3 ],
4817
+ widthElements: [ 0, 0 ]
4790
4818
  },
4791
4819
  'EVENT_MULTIPLE': {
4792
4820
  d:'m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z',
4793
4821
  height: 36,
4794
4822
  width: 36,
4795
- heightElements: [6.28099, 12.56199],
4796
- widthElements: [3.1405, 9.42149, 12.56198]
4823
+ heightElements: [ 6.28099, 12.56199 ],
4824
+ widthElements: [ 3.1405, 9.42149, 12.56198 ]
4797
4825
  },
4798
4826
  'EVENT_PARALLEL_MULTIPLE': {
4799
4827
  d:'m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} ' +
4800
4828
  '-{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z',
4801
4829
  height: 36,
4802
4830
  width: 36,
4803
- heightElements: [2.56228, 7.68683],
4804
- widthElements: [2.56228, 7.68683]
4831
+ heightElements: [ 2.56228, 7.68683 ],
4832
+ widthElements: [ 2.56228, 7.68683 ]
4805
4833
  },
4806
4834
  'GATEWAY_EXCLUSIVE': {
4807
4835
  d:'m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} ' +
@@ -4809,23 +4837,23 @@
4809
4837
  '{e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z',
4810
4838
  height: 17.5,
4811
4839
  width: 17.5,
4812
- heightElements: [8.5, 6.5312, -6.5312, -8.5],
4813
- widthElements: [6.5, -6.5, 3, -3, 5, -5]
4840
+ heightElements: [ 8.5, 6.5312, -6.5312, -8.5 ],
4841
+ widthElements: [ 6.5, -6.5, 3, -3, 5, -5 ]
4814
4842
  },
4815
4843
  'GATEWAY_PARALLEL': {
4816
4844
  d:'m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 ' +
4817
4845
  '0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z',
4818
4846
  height: 30,
4819
4847
  width: 30,
4820
- heightElements: [5, 12.5],
4821
- widthElements: [5, 12.5]
4848
+ heightElements: [ 5, 12.5 ],
4849
+ widthElements: [ 5, 12.5 ]
4822
4850
  },
4823
4851
  'GATEWAY_EVENT_BASED': {
4824
4852
  d:'m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z',
4825
4853
  height: 11,
4826
4854
  width: 11,
4827
- heightElements: [-6, 6, 12, -12],
4828
- widthElements: [9, -3, -12]
4855
+ heightElements: [ -6, 6, 12, -12 ],
4856
+ widthElements: [ 9, -3, -12 ]
4829
4857
  },
4830
4858
  'GATEWAY_COMPLEX': {
4831
4859
  d:'m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} ' +
@@ -4834,15 +4862,15 @@
4834
4862
  '-{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z',
4835
4863
  height: 17.125,
4836
4864
  width: 17.125,
4837
- heightElements: [4.875, 3.4375, 2.125, 3],
4838
- widthElements: [3.4375, 2.125, 4.875, 3]
4865
+ heightElements: [ 4.875, 3.4375, 2.125, 3 ],
4866
+ widthElements: [ 3.4375, 2.125, 4.875, 3 ]
4839
4867
  },
4840
4868
  'DATA_OBJECT_PATH': {
4841
4869
  d:'m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0',
4842
4870
  height: 61,
4843
4871
  width: 51,
4844
- heightElements: [10, 50, 60],
4845
- widthElements: [10, 40, 50, 60]
4872
+ heightElements: [ 10, 50, 60 ],
4873
+ widthElements: [ 10, 40, 50, 60 ]
4846
4874
  },
4847
4875
  'DATA_OBJECT_COLLECTION_PATH': {
4848
4876
  d: 'm{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10',
@@ -4871,15 +4899,15 @@
4871
4899
  'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0',
4872
4900
  height: 61,
4873
4901
  width: 61,
4874
- heightElements: [7, 10, 45],
4875
- widthElements: [2, 58, 60]
4902
+ heightElements: [ 7, 10, 45 ],
4903
+ widthElements: [ 2, 58, 60 ]
4876
4904
  },
4877
4905
  'TEXT_ANNOTATION': {
4878
4906
  d: 'm {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0',
4879
4907
  height: 30,
4880
4908
  width: 10,
4881
- heightElements: [30],
4882
- widthElements: [10]
4909
+ heightElements: [ 30 ],
4910
+ widthElements: [ 10 ]
4883
4911
  },
4884
4912
  'MARKER_SUB_PROCESS': {
4885
4913
  d: 'm{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0',
@@ -4934,8 +4962,8 @@
4934
4962
  d: 'm {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}',
4935
4963
  height: 14,
4936
4964
  width: 21,
4937
- heightElements: [6, 14],
4938
- widthElements: [10.5, 21]
4965
+ heightElements: [ 6, 14 ],
4966
+ widthElements: [ 10.5, 21 ]
4939
4967
  },
4940
4968
  'TASK_TYPE_SCRIPT': {
4941
4969
  d: 'm {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 ' +
@@ -4946,8 +4974,8 @@
4946
4974
  'm -4,3 l 5,0',
4947
4975
  height: 15,
4948
4976
  width: 12.6,
4949
- heightElements: [6, 14],
4950
- widthElements: [10.5, 21]
4977
+ heightElements: [ 6, 14 ],
4978
+ widthElements: [ 10.5, 21 ]
4951
4979
  },
4952
4980
  'TASK_TYPE_USER_1': {
4953
4981
  d: 'm {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 ' +
@@ -5320,6 +5348,10 @@
5320
5348
 
5321
5349
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
5322
5350
 
5351
+ function getDefaultExportFromCjs (x) {
5352
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5353
+ }
5354
+
5323
5355
  function roundPoint(point) {
5324
5356
 
5325
5357
  return {
@@ -5630,11 +5662,6 @@
5630
5662
  parentElement = this._canvas.findRoot(parentElement);
5631
5663
  }
5632
5664
 
5633
- // insert sequence flows behind other flow nodes (cf. #727)
5634
- if (is$1(semantic, 'bpmn:SequenceFlow')) {
5635
- parentIndex = 0;
5636
- }
5637
-
5638
5665
  this._canvas.addConnection(element, parentElement, parentIndex);
5639
5666
  } else {
5640
5667
  throw new Error(translate('unknown di {di} for element {semantic}', {
@@ -7803,105 +7830,105 @@
7803
7830
 
7804
7831
  (function (module, exports) {
7805
7832
  (function(root, factory) {
7806
- // https://github.com/umdjs/umd/blob/master/returnExports.js
7807
- {
7808
- // For Node.js.
7809
- module.exports = factory(root);
7810
- }
7811
- }(typeof commonjsGlobal != 'undefined' ? commonjsGlobal : commonjsGlobal, function(root) {
7812
-
7813
- if (root.CSS && root.CSS.escape) {
7814
- return root.CSS.escape;
7815
- }
7833
+ // https://github.com/umdjs/umd/blob/master/returnExports.js
7834
+ {
7835
+ // For Node.js.
7836
+ module.exports = factory(root);
7837
+ }
7838
+ }(typeof commonjsGlobal != 'undefined' ? commonjsGlobal : commonjsGlobal, function(root) {
7816
7839
 
7817
- // https://drafts.csswg.org/cssom/#serialize-an-identifier
7818
- var cssEscape = function(value) {
7819
- if (arguments.length == 0) {
7820
- throw new TypeError('`CSS.escape` requires an argument.');
7840
+ if (root.CSS && root.CSS.escape) {
7841
+ return root.CSS.escape;
7821
7842
  }
7822
- var string = String(value);
7823
- var length = string.length;
7824
- var index = -1;
7825
- var codeUnit;
7826
- var result = '';
7827
- var firstCodeUnit = string.charCodeAt(0);
7828
- while (++index < length) {
7829
- codeUnit = string.charCodeAt(index);
7830
- // Note: there’s no need to special-case astral symbols, surrogate
7831
- // pairs, or lone surrogates.
7832
-
7833
- // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER
7834
- // (U+FFFD).
7835
- if (codeUnit == 0x0000) {
7836
- result += '\uFFFD';
7837
- continue;
7838
- }
7839
7843
 
7840
- if (
7841
- // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
7842
- // U+007F, […]
7843
- (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
7844
- // If the character is the first character and is in the range [0-9]
7845
- // (U+0030 to U+0039), […]
7846
- (index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
7847
- // If the character is the second character and is in the range [0-9]
7848
- // (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
7849
- (
7850
- index == 1 &&
7851
- codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
7852
- firstCodeUnit == 0x002D
7853
- )
7854
- ) {
7855
- // https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
7856
- result += '\\' + codeUnit.toString(16) + ' ';
7857
- continue;
7844
+ // https://drafts.csswg.org/cssom/#serialize-an-identifier
7845
+ var cssEscape = function(value) {
7846
+ if (arguments.length == 0) {
7847
+ throw new TypeError('`CSS.escape` requires an argument.');
7858
7848
  }
7849
+ var string = String(value);
7850
+ var length = string.length;
7851
+ var index = -1;
7852
+ var codeUnit;
7853
+ var result = '';
7854
+ var firstCodeUnit = string.charCodeAt(0);
7855
+ while (++index < length) {
7856
+ codeUnit = string.charCodeAt(index);
7857
+ // Note: there’s no need to special-case astral symbols, surrogate
7858
+ // pairs, or lone surrogates.
7859
+
7860
+ // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER
7861
+ // (U+FFFD).
7862
+ if (codeUnit == 0x0000) {
7863
+ result += '\uFFFD';
7864
+ continue;
7865
+ }
7866
+
7867
+ if (
7868
+ // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
7869
+ // U+007F, […]
7870
+ (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
7871
+ // If the character is the first character and is in the range [0-9]
7872
+ // (U+0030 to U+0039), […]
7873
+ (index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
7874
+ // If the character is the second character and is in the range [0-9]
7875
+ // (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
7876
+ (
7877
+ index == 1 &&
7878
+ codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
7879
+ firstCodeUnit == 0x002D
7880
+ )
7881
+ ) {
7882
+ // https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
7883
+ result += '\\' + codeUnit.toString(16) + ' ';
7884
+ continue;
7885
+ }
7859
7886
 
7860
- if (
7861
- // If the character is the first character and is a `-` (U+002D), and
7862
- // there is no second character, […]
7863
- index == 0 &&
7864
- length == 1 &&
7865
- codeUnit == 0x002D
7866
- ) {
7887
+ if (
7888
+ // If the character is the first character and is a `-` (U+002D), and
7889
+ // there is no second character, […]
7890
+ index == 0 &&
7891
+ length == 1 &&
7892
+ codeUnit == 0x002D
7893
+ ) {
7894
+ result += '\\' + string.charAt(index);
7895
+ continue;
7896
+ }
7897
+
7898
+ // If the character is not handled by one of the above rules and is
7899
+ // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
7900
+ // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
7901
+ // U+005A), or [a-z] (U+0061 to U+007A), […]
7902
+ if (
7903
+ codeUnit >= 0x0080 ||
7904
+ codeUnit == 0x002D ||
7905
+ codeUnit == 0x005F ||
7906
+ codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
7907
+ codeUnit >= 0x0041 && codeUnit <= 0x005A ||
7908
+ codeUnit >= 0x0061 && codeUnit <= 0x007A
7909
+ ) {
7910
+ // the character itself
7911
+ result += string.charAt(index);
7912
+ continue;
7913
+ }
7914
+
7915
+ // Otherwise, the escaped character.
7916
+ // https://drafts.csswg.org/cssom/#escape-a-character
7867
7917
  result += '\\' + string.charAt(index);
7868
- continue;
7869
- }
7870
7918
 
7871
- // If the character is not handled by one of the above rules and is
7872
- // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
7873
- // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
7874
- // U+005A), or [a-z] (U+0061 to U+007A), […]
7875
- if (
7876
- codeUnit >= 0x0080 ||
7877
- codeUnit == 0x002D ||
7878
- codeUnit == 0x005F ||
7879
- codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
7880
- codeUnit >= 0x0041 && codeUnit <= 0x005A ||
7881
- codeUnit >= 0x0061 && codeUnit <= 0x007A
7882
- ) {
7883
- // the character itself
7884
- result += string.charAt(index);
7885
- continue;
7886
7919
  }
7920
+ return result;
7921
+ };
7887
7922
 
7888
- // Otherwise, the escaped character.
7889
- // https://drafts.csswg.org/cssom/#escape-a-character
7890
- result += '\\' + string.charAt(index);
7891
-
7923
+ if (!root.CSS) {
7924
+ root.CSS = {};
7892
7925
  }
7893
- return result;
7894
- };
7895
7926
 
7896
- if (!root.CSS) {
7897
- root.CSS = {};
7898
- }
7899
-
7900
- root.CSS.escape = cssEscape;
7901
- return cssEscape;
7927
+ root.CSS.escape = cssEscape;
7928
+ return cssEscape;
7902
7929
 
7903
- }));
7904
- }(css_escape));
7930
+ }));
7931
+ } (css_escape));
7905
7932
 
7906
7933
  var HTML_ESCAPE_MAP = {
7907
7934
  '&': '&amp;',
@@ -8381,7 +8408,7 @@
8381
8408
 
8382
8409
  // dataAssociations are children of the subprocess but rendered on process level
8383
8410
  // cf. https://github.com/bpmn-io/bpmn-js/issues/1619
8384
- if (isAny(bo, ['bpmn:DataInputAssociation', 'bpmn:DataOutputAssociation'])) {
8411
+ if (isAny(bo, [ 'bpmn:DataInputAssociation', 'bpmn:DataOutputAssociation' ])) {
8385
8412
  return false;
8386
8413
  }
8387
8414
 
@@ -8429,7 +8456,7 @@
8429
8456
  }, true);
8430
8457
 
8431
8458
 
8432
- this.executed(['shape.create', 'shape.move', 'shape.delete'], LOW_PRIORITY,
8459
+ this.executed([ 'shape.create', 'shape.move', 'shape.delete' ], LOW_PRIORITY,
8433
8460
  function(context) {
8434
8461
  var oldParent = context.oldParent,
8435
8462
  newParent = context.newParent || context.parent,
@@ -8446,7 +8473,7 @@
8446
8473
  }, true);
8447
8474
 
8448
8475
 
8449
- this.reverted(['shape.create', 'shape.move', 'shape.delete'], LOW_PRIORITY,
8476
+ this.reverted([ 'shape.create', 'shape.move', 'shape.delete' ], LOW_PRIORITY,
8450
8477
  function(context) {
8451
8478
  var oldParent = context.oldParent,
8452
8479
  newParent = context.newParent || context.parent,
@@ -8565,7 +8592,7 @@
8565
8592
 
8566
8593
  var DrilldownModdule = {
8567
8594
  __depends__: [ OverlaysModule, ChangeSupportModule, RootElementsModule ],
8568
- __init__: [ 'drilldownBreadcrumbs', 'drilldownOverlayBehavior', 'drilldownCentering', 'subprocessCompatibility'],
8595
+ __init__: [ 'drilldownBreadcrumbs', 'drilldownOverlayBehavior', 'drilldownCentering', 'subprocessCompatibility' ],
8569
8596
  drilldownBreadcrumbs: [ 'type', DrilldownBreadcrumbs ],
8570
8597
  drilldownCentering: [ 'type', DrilldownCentering ],
8571
8598
  drilldownOverlayBehavior: [ 'type', DrilldownOverlayBehavior ],
@@ -8893,20 +8920,11 @@
8893
8920
  return function() {
8894
8921
  initializers.forEach(function(initializer) {
8895
8922
 
8896
- try {
8897
-
8898
- // eagerly resolve component (fn or string)
8899
- if (typeof initializer === 'string') {
8900
- injector.get(initializer);
8901
- } else {
8902
- injector.invoke(initializer);
8903
- }
8904
- } catch (error) {
8905
- if (typeof AggregateError !== 'undefined') {
8906
- throw new AggregateError([ error ], 'Failed to initialize!');
8907
- }
8908
-
8909
- throw new Error('Failed to initialize! ' + error.message);
8923
+ // eagerly resolve component (fn or string)
8924
+ if (typeof initializer === 'string') {
8925
+ injector.get(initializer);
8926
+ } else {
8927
+ injector.invoke(initializer);
8910
8928
  }
8911
8929
  });
8912
8930
  };
@@ -11268,11 +11286,13 @@
11268
11286
 
11269
11287
  var refs = Refs$1;
11270
11288
 
11271
- objectRefs.exports = refs;
11289
+ (function (module) {
11290
+ module.exports = refs;
11272
11291
 
11273
- objectRefs.exports.Collection = collection;
11292
+ module.exports.Collection = collection;
11293
+ } (objectRefs));
11274
11294
 
11275
- var Refs = objectRefs.exports;
11295
+ var Refs = /*@__PURE__*/getDefaultExportFromCjs(objectRefs.exports);
11276
11296
 
11277
11297
  var parentRefs = new Refs({ name: 'children', enumerable: true, collection: true }, { name: 'parent' }),
11278
11298
  labelRefs = new Refs({ name: 'labels', enumerable: true, collection: true }, { name: 'labelTarget' }),
@@ -13133,6 +13153,20 @@
13133
13153
  * @param {Object} options
13134
13154
  */
13135
13155
  Properties.prototype.define = function(target, name, options) {
13156
+
13157
+ if (!options.writable) {
13158
+
13159
+ var value = options.value;
13160
+
13161
+ // use getters for read-only variables to support ES6 proxies
13162
+ // cf. https://github.com/bpmn-io/internal-docs/issues/386
13163
+ options = assign({}, options, {
13164
+ get: function() { return value; }
13165
+ });
13166
+
13167
+ delete options.value;
13168
+ }
13169
+
13136
13170
  Object.defineProperty(target, name, options);
13137
13171
  };
13138
13172
 
@@ -16055,7 +16089,23 @@
16055
16089
  value = escapeAttr(value);
16056
16090
  }
16057
16091
 
16058
- attrs.push({ name: name, value: value });
16092
+ // de-duplicate attributes
16093
+ // https://github.com/bpmn-io/moddle-xml/issues/66
16094
+ var idx = findIndex(attrs, function(element) {
16095
+ return (
16096
+ element.name.localName === name.localName &&
16097
+ element.name.uri === name.uri &&
16098
+ element.name.prefix === name.prefix
16099
+ );
16100
+ });
16101
+
16102
+ var attr = { name: name, value: value };
16103
+
16104
+ if (idx !== -1) {
16105
+ attrs.splice(idx, 1, attr);
16106
+ } else {
16107
+ attrs.push(attr);
16108
+ }
16059
16109
  };
16060
16110
 
16061
16111
  ElementSerializer.prototype.serializeAttributes = function(writer) {
@@ -16315,12 +16365,12 @@
16315
16365
  });
16316
16366
  };
16317
16367
 
16318
- var name = "BPMN20";
16319
- var uri = "http://www.omg.org/spec/BPMN/20100524/MODEL";
16320
- var prefix = "bpmn";
16321
- var associations = [
16368
+ var name$5 = "BPMN20";
16369
+ var uri$5 = "http://www.omg.org/spec/BPMN/20100524/MODEL";
16370
+ var prefix$5 = "bpmn";
16371
+ var associations$5 = [
16322
16372
  ];
16323
- var types = [
16373
+ var types$5 = [
16324
16374
  {
16325
16375
  name: "Interface",
16326
16376
  superClass: [
@@ -19138,7 +19188,7 @@
19138
19188
  ]
19139
19189
  }
19140
19190
  ];
19141
- var enumerations = [
19191
+ var enumerations$3 = [
19142
19192
  {
19143
19193
  name: "ProcessType",
19144
19194
  literalValues: [
@@ -19269,24 +19319,24 @@
19269
19319
  ]
19270
19320
  }
19271
19321
  ];
19272
- var xml = {
19322
+ var xml$1 = {
19273
19323
  tagAlias: "lowerCase",
19274
19324
  typePrefix: "t"
19275
19325
  };
19276
19326
  var BpmnPackage = {
19277
- name: name,
19278
- uri: uri,
19279
- prefix: prefix,
19280
- associations: associations,
19281
- types: types,
19282
- enumerations: enumerations,
19283
- xml: xml
19327
+ name: name$5,
19328
+ uri: uri$5,
19329
+ prefix: prefix$5,
19330
+ associations: associations$5,
19331
+ types: types$5,
19332
+ enumerations: enumerations$3,
19333
+ xml: xml$1
19284
19334
  };
19285
19335
 
19286
- var name$1 = "BPMNDI";
19287
- var uri$1 = "http://www.omg.org/spec/BPMN/20100524/DI";
19288
- var prefix$1 = "bpmndi";
19289
- var types$1 = [
19336
+ var name$4 = "BPMNDI";
19337
+ var uri$4 = "http://www.omg.org/spec/BPMN/20100524/DI";
19338
+ var prefix$4 = "bpmndi";
19339
+ var types$4 = [
19290
19340
  {
19291
19341
  name: "BPMNDiagram",
19292
19342
  properties: [
@@ -19437,7 +19487,7 @@
19437
19487
  ]
19438
19488
  }
19439
19489
  ];
19440
- var enumerations$1 = [
19490
+ var enumerations$2 = [
19441
19491
  {
19442
19492
  name: "ParticipantBandKind",
19443
19493
  literalValues: [
@@ -19473,21 +19523,21 @@
19473
19523
  ]
19474
19524
  }
19475
19525
  ];
19476
- var associations$1 = [
19526
+ var associations$4 = [
19477
19527
  ];
19478
19528
  var BpmnDiPackage = {
19479
- name: name$1,
19480
- uri: uri$1,
19481
- prefix: prefix$1,
19482
- types: types$1,
19483
- enumerations: enumerations$1,
19484
- associations: associations$1
19529
+ name: name$4,
19530
+ uri: uri$4,
19531
+ prefix: prefix$4,
19532
+ types: types$4,
19533
+ enumerations: enumerations$2,
19534
+ associations: associations$4
19485
19535
  };
19486
19536
 
19487
- var name$2 = "DC";
19488
- var uri$2 = "http://www.omg.org/spec/DD/20100524/DC";
19489
- var prefix$2 = "dc";
19490
- var types$2 = [
19537
+ var name$3 = "DC";
19538
+ var uri$3 = "http://www.omg.org/spec/DD/20100524/DC";
19539
+ var prefix$3 = "dc";
19540
+ var types$3 = [
19491
19541
  {
19492
19542
  name: "Boolean"
19493
19543
  },
@@ -19580,20 +19630,20 @@
19580
19630
  ]
19581
19631
  }
19582
19632
  ];
19583
- var associations$2 = [
19633
+ var associations$3 = [
19584
19634
  ];
19585
19635
  var DcPackage = {
19586
- name: name$2,
19587
- uri: uri$2,
19588
- prefix: prefix$2,
19589
- types: types$2,
19590
- associations: associations$2
19636
+ name: name$3,
19637
+ uri: uri$3,
19638
+ prefix: prefix$3,
19639
+ types: types$3,
19640
+ associations: associations$3
19591
19641
  };
19592
19642
 
19593
- var name$3 = "DI";
19594
- var uri$3 = "http://www.omg.org/spec/DD/20100524/DI";
19595
- var prefix$3 = "di";
19596
- var types$3 = [
19643
+ var name$2 = "DI";
19644
+ var uri$2 = "http://www.omg.org/spec/DD/20100524/DI";
19645
+ var prefix$2 = "di";
19646
+ var types$2 = [
19597
19647
  {
19598
19648
  name: "DiagramElement",
19599
19649
  isAbstract: true,
@@ -19822,24 +19872,24 @@
19822
19872
  ]
19823
19873
  }
19824
19874
  ];
19825
- var associations$3 = [
19875
+ var associations$2 = [
19826
19876
  ];
19827
- var xml$1 = {
19877
+ var xml = {
19828
19878
  tagAlias: "lowerCase"
19829
19879
  };
19830
19880
  var DiPackage = {
19831
- name: name$3,
19832
- uri: uri$3,
19833
- prefix: prefix$3,
19834
- types: types$3,
19835
- associations: associations$3,
19836
- xml: xml$1
19881
+ name: name$2,
19882
+ uri: uri$2,
19883
+ prefix: prefix$2,
19884
+ types: types$2,
19885
+ associations: associations$2,
19886
+ xml: xml
19837
19887
  };
19838
19888
 
19839
- var name$4 = "bpmn.io colors for BPMN";
19840
- var uri$4 = "http://bpmn.io/schema/bpmn/biocolor/1.0";
19841
- var prefix$4 = "bioc";
19842
- var types$4 = [
19889
+ var name$1 = "bpmn.io colors for BPMN";
19890
+ var uri$1 = "http://bpmn.io/schema/bpmn/biocolor/1.0";
19891
+ var prefix$1 = "bioc";
19892
+ var types$1 = [
19843
19893
  {
19844
19894
  name: "ColoredShape",
19845
19895
  "extends": [
@@ -19877,23 +19927,23 @@
19877
19927
  ]
19878
19928
  }
19879
19929
  ];
19880
- var enumerations$2 = [
19930
+ var enumerations$1 = [
19881
19931
  ];
19882
- var associations$4 = [
19932
+ var associations$1 = [
19883
19933
  ];
19884
19934
  var BiocPackage = {
19885
- name: name$4,
19886
- uri: uri$4,
19887
- prefix: prefix$4,
19888
- types: types$4,
19889
- enumerations: enumerations$2,
19890
- associations: associations$4
19935
+ name: name$1,
19936
+ uri: uri$1,
19937
+ prefix: prefix$1,
19938
+ types: types$1,
19939
+ enumerations: enumerations$1,
19940
+ associations: associations$1
19891
19941
  };
19892
19942
 
19893
- var name$5 = "BPMN in Color";
19894
- var uri$5 = "http://www.omg.org/spec/BPMN/non-normative/color/1.0";
19895
- var prefix$5 = "color";
19896
- var types$5 = [
19943
+ var name = "BPMN in Color";
19944
+ var uri = "http://www.omg.org/spec/BPMN/non-normative/color/1.0";
19945
+ var prefix = "color";
19946
+ var types = [
19897
19947
  {
19898
19948
  name: "ColoredLabel",
19899
19949
  "extends": [
@@ -19939,17 +19989,17 @@
19939
19989
  ]
19940
19990
  }
19941
19991
  ];
19942
- var enumerations$3 = [
19992
+ var enumerations = [
19943
19993
  ];
19944
- var associations$5 = [
19994
+ var associations = [
19945
19995
  ];
19946
19996
  var BpmnInColorPackage = {
19947
- name: name$5,
19948
- uri: uri$5,
19949
- prefix: prefix$5,
19950
- types: types$5,
19951
- enumerations: enumerations$3,
19952
- associations: associations$5
19997
+ name: name,
19998
+ uri: uri,
19999
+ prefix: prefix,
20000
+ types: types,
20001
+ enumerations: enumerations,
20002
+ associations: associations
19953
20003
  };
19954
20004
 
19955
20005
  var packages = {
@@ -20029,6 +20079,7 @@
20029
20079
  // bpmnElement can have multiple independent DIs
20030
20080
  if (!has$1(businessObject, 'di')) {
20031
20081
  Object.defineProperty(businessObject, 'di', {
20082
+ enumerable: false,
20032
20083
  get: function() {
20033
20084
  throw new Error(DI_ERROR_MESSAGE);
20034
20085
  }
@@ -21600,4 +21651,4 @@
21600
21651
 
21601
21652
  return Viewer;
21602
21653
 
21603
- })));
21654
+ }));