bpmn-js 8.8.0 → 9.0.0-alpha.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/CHANGELOG.md +30 -1
  2. package/dist/assets/bpmn-js.css +105 -0
  3. package/dist/assets/diagram-js.css +82 -78
  4. package/dist/bpmn-modeler.development.js +1339 -757
  5. package/dist/bpmn-modeler.production.min.js +9 -8
  6. package/dist/bpmn-navigated-viewer.development.js +20685 -19973
  7. package/dist/bpmn-navigated-viewer.production.min.js +22 -20
  8. package/dist/bpmn-viewer.development.js +19886 -19174
  9. package/dist/bpmn-viewer.production.min.js +22 -20
  10. package/lib/BaseViewer.js +0 -13
  11. package/lib/Viewer.js +3 -1
  12. package/lib/draw/BpmnRenderUtil.js +6 -4
  13. package/lib/features/context-pad/ContextPadProvider.js +1 -1
  14. package/lib/features/copy-paste/BpmnCopyPaste.js +13 -13
  15. package/lib/features/copy-paste/ModdleCopy.js +19 -2
  16. package/lib/features/di-ordering/BpmnDiOrdering.js +2 -3
  17. package/lib/features/drilldown/DrilldownCentering.js +114 -0
  18. package/lib/features/drilldown/DrilldownOverlays.js +113 -0
  19. package/lib/features/drilldown/SubprocessCompatibility.js +193 -0
  20. package/lib/features/drilldown/index.js +14 -0
  21. package/lib/features/label-editing/LabelEditingPreview.js +3 -3
  22. package/lib/features/label-editing/LabelEditingProvider.js +1 -1
  23. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +2 -1
  24. package/lib/features/modeling/BpmnFactory.js +8 -8
  25. package/lib/features/modeling/BpmnUpdater.js +35 -27
  26. package/lib/features/modeling/ElementFactory.js +64 -37
  27. package/lib/features/modeling/behavior/DataStoreBehavior.js +3 -1
  28. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +2 -2
  29. package/lib/features/modeling/behavior/IsHorizontalFix.js +7 -4
  30. package/lib/features/modeling/behavior/LabelBehavior.js +8 -7
  31. package/lib/features/modeling/behavior/ResizeBehavior.js +129 -3
  32. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +6 -6
  33. package/lib/features/modeling/behavior/util/ResizeUtil.js +1 -132
  34. package/lib/features/modeling/cmd/SetColorHandler.js +23 -6
  35. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +12 -8
  36. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +19 -12
  37. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.js +5 -3
  38. package/lib/features/modeling/util/ModelingUtil.js +2 -20
  39. package/lib/features/palette/PaletteProvider.js +4 -2
  40. package/lib/features/popup-menu/ReplaceMenuProvider.js +5 -5
  41. package/lib/features/popup-menu/util/TypeUtil.js +1 -1
  42. package/lib/features/replace/BpmnReplace.js +29 -29
  43. package/lib/import/BpmnImporter.js +27 -22
  44. package/lib/import/BpmnTreeWalker.js +19 -17
  45. package/lib/import/Importer.js +25 -6
  46. package/lib/util/CompatibilityUtil.js +21 -1
  47. package/lib/util/DiUtil.js +10 -3
  48. package/lib/util/LabelUtil.js +2 -3
  49. package/lib/util/ModelUtil.js +30 -0
  50. package/package.json +2 -2
  51. package/test/matchers/BoundsMatchers.js +10 -10
  52. package/test/matchers/ConnectionMatchers.js +5 -5
  53. package/test/util/MockEvents.js +10 -2
package/CHANGELOG.md CHANGED
@@ -2,10 +2,39 @@
2
2
 
3
3
  All notable changes to [bpmn-js](https://github.com/bpmn-io/bpmn-js) are documented here. We use [semantic versioning](http://semver.org/) for releases.
4
4
 
5
+
5
6
  ## Unreleased
6
7
 
7
8
  ___Note:__ Yet to be released changes appear here._
8
9
 
10
+ ## 9.0.0-alpha.0
11
+
12
+ * `FEAT`: support drilldown into collapsed subprocesses ([#1443](https://github.com/bpmn-io/bpmn-js/issues/1443))
13
+ * `CHORE`: bump to `diagram-js@8.0.1`
14
+ ### Breaking Changes
15
+
16
+ * Reworked the link of elements to bpmn DIs. You must access the `di` directly from the diagram element instead of the `businessObject`. [#1472](https://github.com/bpmn-io/bpmn-js/issues/1472)
17
+ * Reworked import and `BpmnFactory` APIs. [#1472](https://github.com/bpmn-io/bpmn-js/issues/1472)
18
+
19
+ ## 8.8.4
20
+
21
+ * `FIX`: set label color on `bpmndi:BPMNLabel#color` ([#1543](https://github.com/bpmn-io/bpmn-js/pull/1543))
22
+
23
+ ## 8.8.3
24
+
25
+ * `FIX`: correct resize handles hidden behind element ([#1520](https://github.com/bpmn-io/bpmn-js/issues/1520))
26
+ * `FIX`: handle close to source or target drop on flow ([#1541](https://github.com/bpmn-io/bpmn-js/issues/1541))
27
+ * `CHORE`: bump to `diagram-js@7.6.3`
28
+
29
+ ## 8.8.2
30
+
31
+ * `FIX`: properly re-use ID of a copied element if available ([#1503](https://github.com/bpmn-io/bpmn-js/pull/1509))
32
+
33
+ ## 8.8.1
34
+
35
+ * `FIX`: re-use ID of a copied element if available ([#1503](https://github.com/bpmn-io/bpmn-js/pull/1503))
36
+ * `CHORE`: unbuild circular dependency with `ResizeUtil` ([#1500](https://github.com/bpmn-io/bpmn-js/pull/1500))
37
+
9
38
  ## 8.8.0
10
39
 
11
40
  * `FEAT`: give `keyboard` fine-grained control over which events to handle ([#1493](https://github.com/bpmn-io/bpmn-js/issues/1493))
@@ -23,7 +52,7 @@ ___Note:__ Yet to be released changes appear here._
23
52
 
24
53
  ## 8.7.1
25
54
 
26
- * `FIX`: allow connecting `bpmn:MessageFlow` to `bpmn:CallActivity` ([#1467](https://github.com/bpmn-io/bpmn-js/issues/1467))
55
+ * `FIX`: allow connecting `bpmn:MessageFlow` to `bpmn:CallActivity` ([#1467](https://github.com/bpmn-io/bpmn-js/issues/1467))
27
56
  * `DEPS`: update to `bpmn-moddle@7.1.2`
28
57
 
29
58
  ## 8.7.0
@@ -0,0 +1,105 @@
1
+ .bjs-container {
2
+ --bjs-font-family: Arial, sans-serif;
3
+
4
+ --color-grey-225-10-15: hsl(225, 10%, 15%);
5
+ --color-grey-225-10-35: hsl(225, 10%, 35%);
6
+ --color-grey-225-10-55: hsl(225, 10%, 55%);
7
+ --color-grey-225-10-75: hsl(225, 10%, 75%);
8
+ --color-grey-225-10-80: hsl(225, 10%, 80%);
9
+ --color-grey-225-10-85: hsl(225, 10%, 85%);
10
+ --color-grey-225-10-90: hsl(225, 10%, 90%);
11
+ --color-grey-225-10-95: hsl(225, 10%, 95%);
12
+ --color-grey-225-10-97: hsl(225, 10%, 97%);
13
+
14
+ --color-blue-205-100-45: hsl(205, 100%, 45%);
15
+ --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);
16
+ --color-blue-205-100-50: hsl(205, 100%, 50%);
17
+ --color-blue-205-100-95: hsl(205, 100%, 95%);
18
+
19
+ --color-green-150-86-44: hsl(150, 86%, 44%);
20
+
21
+ --color-red-360-100-40: hsl(360, 100%, 40%);
22
+ --color-red-360-100-45: hsl(360, 100%, 45%);
23
+ --color-red-360-100-92: hsl(360, 100%, 92%);
24
+ --color-red-360-100-97: hsl(360, 100%, 97%);
25
+
26
+ --color-white: hsl(0, 0%, 100%);
27
+ --color-black: hsl(0, 0%, 0%);
28
+ --color-black-opacity-05: hsla(0, 0%, 0%, 5%);
29
+ --color-black-opacity-10: hsla(0, 0%, 0%, 10%);
30
+
31
+ --breadcrumbs-font-family: var(--bjs-font-family);
32
+ --breadcrumbs-item-color: var(--color-blue-205-100-50);
33
+ --breadcrumbs-arrow-color: var(--color-black);
34
+ --drilldown-fill-color: var(--color-white);
35
+ --drilldown-background-color: var(--color-blue-205-100-50);
36
+ }
37
+
38
+ .bjs-breadcrumbs {
39
+ position: absolute;
40
+ display: none;
41
+ flex-wrap: wrap;
42
+ align-items: center;
43
+ top: 10px;
44
+ font-family: var(--breadcrumbs-font-family);
45
+ font-size: 16px;
46
+ line-height: normal;
47
+ }
48
+
49
+ .bjs-breadcrumbs-shown .bjs-breadcrumbs {
50
+ display: flex;
51
+ }
52
+
53
+ .djs-palette-shown .bjs-breadcrumbs {
54
+ left: 50px;
55
+ }
56
+
57
+ .djs-palette-shown.djs-palette-two-column .bjs-breadcrumbs {
58
+ left: 100px;
59
+ }
60
+
61
+ .bjs-breadcrumbs li {
62
+ display: inline-flex;
63
+ padding-bottom: 5px;
64
+ }
65
+
66
+ .bjs-breadcrumbs li a {
67
+ cursor: pointer;
68
+ color: var(--breadcrumbs-item-color);
69
+ }
70
+
71
+ .bjs-breadcrumbs li:last-of-type a {
72
+ color: inherit;
73
+ cursor: default;
74
+ }
75
+
76
+ .bjs-breadcrumbs li:not(:first-child)::before {
77
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" /><path d="M0 0h24v24H0z" fill="none" /></svg>');
78
+ padding: 0 8px;
79
+ color: var(--breadcrumbs-arrow-color);
80
+ height: 1em;
81
+ }
82
+
83
+ .bjs-breadcrumbs .bpmnjs-crumb {
84
+ display: inline-block;
85
+ max-width: 200px;
86
+ overflow: hidden;
87
+ text-overflow: ellipsis;
88
+ white-space: nowrap;
89
+ }
90
+
91
+ .bjs-drilldown {
92
+ width: 20px;
93
+ height: 20px;
94
+
95
+ padding: 0px;
96
+ margin-left: -20px;
97
+
98
+ cursor: pointer;
99
+ border: none;
100
+ border-radius: 2px;
101
+ outline: none;
102
+
103
+ fill: var(--drilldown-fill-color);
104
+ background-color: var(--drilldown-background-color);
105
+ }
@@ -2,84 +2,86 @@
2
2
  * color definitions
3
3
  */
4
4
  .djs-container {
5
- --blue-base-65: #4d90ff;
6
- --blue-base-65-opacity-30: rgba(77, 144, 255, 0.3);
7
- --blue-darken-48: #005df7;
8
- --blue-darken-55: #1a70ff;
9
- --blue-lighten-82: #a2c5ff;
10
-
11
- --red-base-62: #ff3d3d;
12
- --red-base-62-lighten-90: rgb(255, 235, 235);
13
-
14
- --silver-darken-94: #efefef;
15
-
16
- --color-000000: #000000;
17
- --color-000000-opacity-05: rgba(0, 0, 0, 0.05);
18
- --color-000000-opacity-10: rgba(0, 0, 0, 0.1);
19
- --color-333333: #333333;
20
- --color-666666: #666666;
21
- --color-aaaaaa: #aaaaaa;
22
- --color-cccccc: #cccccc;
23
- --color-cdcdcd: #cdcdcd;
24
- --color-dddddd: #dddddd;
25
- --color-f6f6f6: #f6f6f6;
26
- --color-fafafa: #fafafa;
27
- --color-fefefe: #fefefe;
28
- --color-ffffff: #ffffff;
29
-
30
- --bendpoint-fill-color: var(--blue-base-65-opacity-30);
31
- --bendpoint-stroke-color: var(--blue-base-65);
32
-
33
- --context-pad-entry-background-color: var(--color-fefefe);
34
- --context-pad-entry-hover-background-color: var(--silver-darken-94);
35
-
36
- --element-dragger-color: var(--blue-base-65);
37
- --element-hover-outline-fill-color: var(--blue-darken-48);
38
- --element-selected-outline-stroke-color: var(--blue-base-65);
39
-
40
- --lasso-fill-color: var(--color-000000-opacity-05);
41
- --lasso-stroke-color: var(--color-000000);
42
-
43
- --palette-entry-color: var(--color-333333);
44
- --palette-entry-hover-color: var(--blue-darken-48);
45
- --palette-entry-selected-color: var(--blue-base-65);
46
- --palette-separator-color: var(--color-aaaaaa);
47
- --palette-toggle-hover-background-color: var(--color-666666);
48
- --palette-background-color: var(--color-fafafa);
49
- --palette-border-color: var(--color-cccccc);
50
-
51
- --popup-body-background-color: var(--color-fefefe);
52
- --popup-header-entry-selected-color: var(--blue-base-65);
53
- --popup-header-entry-selected-background-color: var(--color-000000-opacity-10);
54
- --popup-header-separator-color: var(--color-dddddd);
55
- --popup-background-color: var(--color-fafafa);
56
- --popup-border-color: var(--color-cccccc);
57
-
58
- --resizer-fill-color: var(--blue-base-65-opacity-30);
59
- --resizer-stroke-color: var(--blue-base-65);
60
-
61
- --search-container-background-color: var(--color-fafafa);
62
- --search-container-border-color: var(--blue-darken-55);
63
- --search-container-box-shadow-color: var(--blue-lighten-82);
64
- --search-container-box-shadow-inset-color: var(--color-cdcdcd);
65
- --search-input-border-color: var(--color-cccccc);
66
- --search-result-border-color: var(--color-aaaaaa);
67
- --search-result-highlight-color: var(--color-000000);
68
- --search-result-selected-color: var(--blue-base-65-opacity-30);
69
-
70
- --shape-attach-allowed-stroke-color: var(--blue-base-65);
71
- --shape-connect-allowed-fill-color: var(--color-f6f6f6);
72
- --shape-drop-allowed-fill-color: var(--color-f6f6f6);
73
- --shape-drop-not-allowed-fill-color: var(--red-base-62-lighten-90);
74
- --shape-resize-preview-stroke-color: var(--blue-base-65);
75
-
76
- --snap-line-stroke-color: var(--blue-base-65-opacity-30);
77
-
78
- --space-tool-crosshair-stroke-color: var(--color-000000);
79
-
80
- --tooltip-error-background-color: var(--red-base-62-lighten-90);
81
- --tooltip-error-border-color: var(--red-base-62);
82
- --tooltip-error-color: var(--red-base-62);
5
+ --color-grey-225-10-15: hsl(225, 10%, 15%);
6
+ --color-grey-225-10-35: hsl(225, 10%, 35%);
7
+ --color-grey-225-10-55: hsl(225, 10%, 55%);
8
+ --color-grey-225-10-75: hsl(225, 10%, 75%);
9
+ --color-grey-225-10-80: hsl(225, 10%, 80%);
10
+ --color-grey-225-10-85: hsl(225, 10%, 85%);
11
+ --color-grey-225-10-90: hsl(225, 10%, 90%);
12
+ --color-grey-225-10-95: hsl(225, 10%, 95%);
13
+ --color-grey-225-10-97: hsl(225, 10%, 97%);
14
+
15
+ --color-blue-205-100-45: hsl(205, 100%, 45%);
16
+ --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);
17
+ --color-blue-205-100-50: hsl(205, 100%, 50%);
18
+ --color-blue-205-100-95: hsl(205, 100%, 95%);
19
+
20
+ --color-green-150-86-44: hsl(150, 86%, 44%);
21
+
22
+ --color-red-360-100-40: hsl(360, 100%, 40%);
23
+ --color-red-360-100-45: hsl(360, 100%, 45%);
24
+ --color-red-360-100-92: hsl(360, 100%, 92%);
25
+ --color-red-360-100-97: hsl(360, 100%, 97%);
26
+
27
+ --color-white: hsl(0, 0%, 100%);
28
+ --color-black: hsl(0, 0%, 0%);
29
+ --color-black-opacity-05: hsla(0, 0%, 0%, 5%);
30
+ --color-black-opacity-10: hsla(0, 0%, 0%, 10%);
31
+
32
+ --bendpoint-fill-color: var(--color-blue-205-100-45-opacity-30);
33
+ --bendpoint-stroke-color: var(--color-blue-205-100-50);
34
+
35
+ --context-pad-entry-background-color: var(--color-white);
36
+ --context-pad-entry-hover-background-color: var(--color-grey-225-10-95);
37
+
38
+ --element-dragger-color: var(--color-blue-205-100-50);
39
+ --element-hover-outline-fill-color: var(--color-blue-205-100-45);
40
+ --element-selected-outline-stroke-color: var(--color-blue-205-100-50);
41
+
42
+ --lasso-fill-color: var(--color-black-opacity-05);
43
+ --lasso-stroke-color: var(--color-black);
44
+
45
+ --palette-entry-color: var(--color-grey-225-10-15);
46
+ --palette-entry-hover-color: var(--color-blue-205-100-45);
47
+ --palette-entry-selected-color: var(--color-blue-205-100-50);
48
+ --palette-separator-color: var(--color-grey-225-10-75);
49
+ --palette-toggle-hover-background-color: var(--color-grey-225-10-55);
50
+ --palette-background-color: var(--color-grey-225-10-97);
51
+ --palette-border-color: var(--color-grey-225-10-75);
52
+
53
+ --popup-body-background-color: var(--color-white);
54
+ --popup-header-entry-selected-color: var(--color-blue-205-100-50);
55
+ --popup-header-entry-selected-background-color: var(--color-black-opacity-10);
56
+ --popup-header-separator-color: var(--color-grey-225-10-75);
57
+ --popup-background-color: var(--color-grey-225-10-97);
58
+ --popup-border-color: var(--color-grey-225-10-75);
59
+
60
+ --resizer-fill-color: var(--color-blue-205-100-45-opacity-30);
61
+ --resizer-stroke-color: var(--color-blue-205-100-50);
62
+
63
+ --search-container-background-color: var(--color-grey-225-10-97);
64
+ --search-container-border-color: var(--color-blue-205-100-50);
65
+ --search-container-box-shadow-color: var(--color-blue-205-100-95);
66
+ --search-container-box-shadow-inset-color: var(--color-grey-225-10-80);
67
+ --search-input-border-color: var(--color-grey-225-10-75);
68
+ --search-result-border-color: var(--color-grey-225-10-75);
69
+ --search-result-highlight-color: var(--color-black);
70
+ --search-result-selected-color: var(--color-blue-205-100-45-opacity-30);
71
+
72
+ --shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);
73
+ --shape-connect-allowed-fill-color: var(--color-grey-225-10-97);
74
+ --shape-drop-allowed-fill-color: var(--color-grey-225-10-97);
75
+ --shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);
76
+ --shape-resize-preview-stroke-color: var(--color-blue-205-100-50);
77
+
78
+ --snap-line-stroke-color: var(--color-blue-205-100-50-opacity-30);
79
+
80
+ --space-tool-crosshair-stroke-color: var(--color-black);
81
+
82
+ --tooltip-error-background-color: var(--color-red-360-100-97);
83
+ --tooltip-error-border-color: var(--color-red-360-100-45);
84
+ --tooltip-error-color: var(--color-red-360-100-45);
83
85
  }
84
86
 
85
87
  /**
@@ -468,6 +470,7 @@ marker.djs-dragger tspan {
468
470
  */
469
471
  .djs-overlay-context-pad {
470
472
  width: 72px;
473
+ z-index: 100;
471
474
  }
472
475
 
473
476
  .djs-context-pad {
@@ -750,6 +753,7 @@ marker.djs-dragger tspan {
750
753
  width: 100%;
751
754
  padding: 6px 10px;
752
755
  border: 1px solid var(--search-input-border-color);
756
+ box-sizing: border-box;
753
757
  }
754
758
 
755
759
  .djs-search-input input:focus {