bpmn-js 17.6.0 → 17.6.2

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 (339) hide show
  1. package/LICENSE +23 -23
  2. package/README.md +93 -93
  3. package/dist/assets/bpmn-js.css +145 -145
  4. package/dist/assets/diagram-js.css +966 -969
  5. package/dist/bpmn-modeler.development.js +59330 -59198
  6. package/dist/bpmn-modeler.production.min.js +8 -8
  7. package/dist/bpmn-navigated-viewer.development.js +22449 -22449
  8. package/dist/bpmn-navigated-viewer.production.min.js +1 -1
  9. package/dist/bpmn-viewer.development.js +21433 -21433
  10. package/dist/bpmn-viewer.production.min.js +1 -1
  11. package/index.js +2 -2
  12. package/lib/BaseModeler.d.ts +15 -15
  13. package/lib/BaseModeler.js +79 -79
  14. package/lib/BaseViewer.d.ts +352 -352
  15. package/lib/BaseViewer.js +858 -858
  16. package/lib/Modeler.d.ts +86 -86
  17. package/lib/Modeler.js +204 -204
  18. package/lib/NavigatedViewer.d.ts +11 -11
  19. package/lib/NavigatedViewer.js +37 -37
  20. package/lib/Viewer.d.ts +47 -47
  21. package/lib/Viewer.js +78 -78
  22. package/lib/core/index.d.ts +10 -10
  23. package/lib/core/index.js +8 -8
  24. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  25. package/lib/draw/BpmnRenderUtil.js +256 -256
  26. package/lib/draw/BpmnRenderer.d.ts +114 -114
  27. package/lib/draw/BpmnRenderer.js +2340 -2340
  28. package/lib/draw/PathMap.d.ts +330 -330
  29. package/lib/draw/PathMap.js +478 -478
  30. package/lib/draw/TextRenderer.d.ts +74 -74
  31. package/lib/draw/TextRenderer.js +136 -136
  32. package/lib/draw/index.d.ts +10 -10
  33. package/lib/draw/index.js +11 -11
  34. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  35. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  36. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  37. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  38. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  39. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  40. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  41. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  42. package/lib/features/align-elements/index.d.ts +11 -11
  43. package/lib/features/align-elements/index.js +23 -23
  44. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  45. package/lib/features/append-preview/AppendPreview.js +108 -108
  46. package/lib/features/append-preview/index.d.ts +16 -16
  47. package/lib/features/append-preview/index.js +15 -15
  48. package/lib/features/auto-place/BpmnAutoPlace.d.ts +13 -13
  49. package/lib/features/auto-place/BpmnAutoPlace.js +20 -20
  50. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +47 -47
  51. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +225 -225
  52. package/lib/features/auto-place/index.d.ts +7 -7
  53. package/lib/features/auto-place/index.js +8 -8
  54. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  55. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  56. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  57. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  58. package/lib/features/auto-resize/index.d.ts +8 -8
  59. package/lib/features/auto-resize/index.js +12 -12
  60. package/lib/features/context-pad/ContextPadProvider.d.ts +73 -73
  61. package/lib/features/context-pad/ContextPadProvider.js +591 -591
  62. package/lib/features/context-pad/index.d.ts +7 -7
  63. package/lib/features/context-pad/index.js +22 -22
  64. package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
  65. package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
  66. package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
  67. package/lib/features/copy-paste/ModdleCopy.js +275 -275
  68. package/lib/features/copy-paste/index.d.ts +9 -9
  69. package/lib/features/copy-paste/index.js +13 -13
  70. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  71. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  72. package/lib/features/di-ordering/index.d.ts +6 -6
  73. package/lib/features/di-ordering/index.js +7 -7
  74. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  75. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  76. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  77. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  78. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  79. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  80. package/lib/features/distribute-elements/index.d.ts +9 -9
  81. package/lib/features/distribute-elements/index.js +19 -19
  82. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  83. package/lib/features/drilldown/DrilldownBreadcrumbs.js +131 -131
  84. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  85. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  86. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +18 -18
  87. package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
  88. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  89. package/lib/features/drilldown/SubprocessCompatibility.js +268 -268
  90. package/lib/features/drilldown/index.d.ts +13 -13
  91. package/lib/features/drilldown/index.js +16 -16
  92. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  93. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  94. package/lib/features/editor-actions/index.d.ts +6 -6
  95. package/lib/features/editor-actions/index.js +10 -10
  96. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  97. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +12 -12
  98. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  99. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  100. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  101. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  102. package/lib/features/grid-snapping/index.d.ts +11 -11
  103. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  104. package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
  105. package/lib/features/interaction-events/index.d.ts +6 -6
  106. package/lib/features/interaction-events/index.js +5 -5
  107. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  108. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  109. package/lib/features/keyboard/index.d.ts +7 -7
  110. package/lib/features/keyboard/index.js +11 -11
  111. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  112. package/lib/features/label-editing/LabelEditingPreview.js +144 -144
  113. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  114. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  115. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  116. package/lib/features/label-editing/LabelUtil.js +4 -4
  117. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  118. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  119. package/lib/features/label-editing/index.d.ts +9 -9
  120. package/lib/features/label-editing/index.js +21 -21
  121. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  122. package/lib/features/modeling/BpmnFactory.js +180 -180
  123. package/lib/features/modeling/BpmnLayouter.d.ts +26 -26
  124. package/lib/features/modeling/BpmnLayouter.js +481 -481
  125. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  126. package/lib/features/modeling/BpmnUpdater.js +837 -837
  127. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  128. package/lib/features/modeling/ElementFactory.js +406 -406
  129. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  130. package/lib/features/modeling/Modeling.d.ts +150 -150
  131. package/lib/features/modeling/Modeling.js +307 -307
  132. package/lib/features/modeling/Modeling.test.ts +147 -147
  133. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
  134. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
  135. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  136. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  137. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  138. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  139. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  140. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  141. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  142. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  143. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  144. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  145. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  146. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  147. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  148. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  149. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  150. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  151. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  152. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  153. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  154. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  155. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  156. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  157. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  158. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  159. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  160. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  161. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  162. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  163. package/lib/features/modeling/behavior/GroupBehavior.js +332 -332
  164. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  165. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  166. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  167. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  168. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  169. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  170. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  171. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  172. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  173. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  174. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  175. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  176. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  177. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  178. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  179. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  180. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
  181. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  182. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  183. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  184. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  185. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
  186. package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
  187. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  188. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  189. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  190. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  191. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  192. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  193. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  194. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  195. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
  196. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  197. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  198. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  199. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  200. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  201. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  202. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  203. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  204. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  205. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  206. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  207. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  208. package/lib/features/modeling/behavior/index.d.ts +2 -2
  209. package/lib/features/modeling/behavior/index.js +128 -128
  210. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  211. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  212. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  213. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  214. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  215. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  216. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  217. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  218. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  219. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  220. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  221. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  222. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  223. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  224. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  225. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  226. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  227. package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
  228. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  229. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  230. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  231. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  232. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  233. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  234. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  235. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  236. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  237. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  238. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  239. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  240. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  241. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  242. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  243. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  244. package/lib/features/modeling/index.d.ts +27 -27
  245. package/lib/features/modeling/index.js +45 -45
  246. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  247. package/lib/features/modeling/util/LaneUtil.js +188 -188
  248. package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
  249. package/lib/features/modeling/util/ModelingUtil.js +54 -54
  250. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  251. package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
  252. package/lib/features/modeling-feedback/index.d.ts +7 -7
  253. package/lib/features/modeling-feedback/index.js +12 -12
  254. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  255. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  256. package/lib/features/ordering/index.d.ts +6 -6
  257. package/lib/features/ordering/index.js +5 -5
  258. package/lib/features/outline/OutlineProvider.d.ts +34 -34
  259. package/lib/features/outline/OutlineProvider.js +179 -179
  260. package/lib/features/outline/OutlineUtil.d.ts +18 -18
  261. package/lib/features/outline/OutlineUtil.js +31 -31
  262. package/lib/features/outline/index.d.ts +7 -7
  263. package/lib/features/outline/index.js +10 -10
  264. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  265. package/lib/features/palette/PaletteProvider.js +214 -214
  266. package/lib/features/palette/index.d.ts +9 -9
  267. package/lib/features/palette/index.js +23 -23
  268. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  269. package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
  270. package/lib/features/popup-menu/index.d.ts +11 -11
  271. package/lib/features/popup-menu/index.js +16 -16
  272. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  273. package/lib/features/popup-menu/util/Icons.js +14 -14
  274. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  275. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  276. package/lib/features/replace/BpmnReplace.d.ts +47 -47
  277. package/lib/features/replace/BpmnReplace.js +382 -382
  278. package/lib/features/replace/ReplaceOptions.d.ts +75 -75
  279. package/lib/features/replace/ReplaceOptions.js +919 -919
  280. package/lib/features/replace/index.d.ts +9 -9
  281. package/lib/features/replace/index.js +14 -14
  282. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  283. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  284. package/lib/features/replace-preview/index.d.ts +7 -7
  285. package/lib/features/replace-preview/index.js +11 -11
  286. package/lib/features/rules/BpmnRules.d.ts +181 -181
  287. package/lib/features/rules/BpmnRules.js +1191 -1191
  288. package/lib/features/rules/index.d.ts +7 -7
  289. package/lib/features/rules/index.js +11 -11
  290. package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
  291. package/lib/features/search/BpmnSearchProvider.js +136 -136
  292. package/lib/features/search/index.d.ts +7 -7
  293. package/lib/features/search/index.js +12 -12
  294. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  295. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  296. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  297. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  298. package/lib/features/snapping/index.d.ts +9 -9
  299. package/lib/features/snapping/index.js +12 -12
  300. package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
  301. package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
  302. package/lib/features/space-tool/index.d.ts +6 -6
  303. package/lib/features/space-tool/index.js +7 -7
  304. package/lib/import/BpmnImporter.d.ts +51 -51
  305. package/lib/import/BpmnImporter.js +363 -363
  306. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  307. package/lib/import/BpmnTreeWalker.js +453 -453
  308. package/lib/import/Importer.d.ts +25 -25
  309. package/lib/import/Importer.js +217 -217
  310. package/lib/import/Util.d.ts +1 -1
  311. package/lib/import/Util.js +6 -6
  312. package/lib/import/index.d.ts +6 -6
  313. package/lib/import/index.js +9 -9
  314. package/lib/model/Types.d.ts +25 -25
  315. package/lib/model/Types.ts +40 -40
  316. package/lib/util/CompatibilityUtil.d.ts +8 -8
  317. package/lib/util/CompatibilityUtil.js +29 -29
  318. package/lib/util/DiUtil.d.ts +60 -60
  319. package/lib/util/DiUtil.js +122 -122
  320. package/lib/util/DrilldownUtil.d.ts +39 -39
  321. package/lib/util/DrilldownUtil.js +69 -69
  322. package/lib/util/LabelUtil.d.ts +83 -83
  323. package/lib/util/LabelUtil.js +262 -262
  324. package/lib/util/ModelUtil.d.ts +40 -40
  325. package/lib/util/ModelUtil.js +58 -58
  326. package/lib/util/PoweredByUtil.d.ts +8 -8
  327. package/lib/util/PoweredByUtil.js +99 -99
  328. package/lib/util/Types.js +4 -4
  329. package/lib/util/Types.ts +3 -3
  330. package/package.json +132 -132
  331. package/test/helper/TranslationCollector.js +15 -15
  332. package/test/helper/index.js +313 -313
  333. package/test/matchers/BoundsMatchers.js +252 -252
  334. package/test/matchers/ConnectionMatchers.js +165 -165
  335. package/test/matchers/JSONMatcher.js +19 -19
  336. package/test/util/KeyEvents.js +22 -22
  337. package/test/util/MockEvents.js +61 -61
  338. package/test/util/custom-rules/CustomRules.js +16 -16
  339. package/test/util/custom-rules/index.js +6 -6
@@ -1,364 +1,364 @@
1
- import {
2
- assign
3
- } from 'min-dash';
4
-
5
- import inherits from 'inherits-browser';
6
-
7
- import {
8
- is,
9
- getBusinessObject
10
- } from '../../../util/ModelUtil';
11
-
12
- import {
13
- isLabelExternal,
14
- getLabel,
15
- hasExternalLabel,
16
- isLabel
17
- } from '../../../util/LabelUtil';
18
-
19
- import {
20
- getLabelAdjustment
21
- } from './util/LabelLayoutUtil';
22
-
23
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
24
-
25
- import {
26
- getNewAttachPoint
27
- } from 'diagram-js/lib/util/AttachUtil';
28
-
29
- import {
30
- getMid,
31
- roundPoint
32
- } from 'diagram-js/lib/layout/LayoutUtil';
33
-
34
- import {
35
- delta
36
- } from 'diagram-js/lib/util/PositionUtil';
37
-
38
- import {
39
- sortBy
40
- } from 'min-dash';
41
-
42
- import {
43
- getDistancePointLine,
44
- perpendicularFoot
45
- } from './util/GeometricUtil';
46
-
47
- var NAME_PROPERTY = 'name';
48
- var TEXT_PROPERTY = 'text';
49
-
50
- /**
51
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
52
- * @typedef {import('../Modeling').default} Modeling
53
- * @typedef {import('../BpmnFactory').default} BpmnFactory
54
- * @typedef {import('../../../draw/TextRenderer').default} TextRenderer
55
- *
56
- * @typedef {import('diagram-js/lib/util/Types').Point} Point
57
- * @typedef {import('diagram-js/lib/util/Types').Rect} Rect
58
- *
59
- * @typedef {Point[]} Line
60
- */
61
-
62
- /**
63
- * A component that makes sure that external labels are added
64
- * together with respective elements and properly updated (DI wise)
65
- * during move.
66
- *
67
- * @param {EventBus} eventBus
68
- * @param {Modeling} modeling
69
- * @param {BpmnFactory} bpmnFactory
70
- * @param {TextRenderer} textRenderer
71
- */
72
- export default function LabelBehavior(
73
- eventBus, modeling, bpmnFactory,
74
- textRenderer) {
75
-
76
- CommandInterceptor.call(this, eventBus);
77
-
78
- // update label if name property was updated
79
- this.postExecute('element.updateProperties', onPropertyUpdate);
80
- this.postExecute('element.updateModdleProperties', e => {
81
- const elementBo = getBusinessObject(e.context.element);
82
-
83
- if (elementBo === e.context.moddleElement) {
84
- onPropertyUpdate(e);
85
- }
86
- });
87
-
88
- function onPropertyUpdate(e) {
89
- var context = e.context,
90
- element = context.element,
91
- properties = context.properties;
92
-
93
- if (NAME_PROPERTY in properties) {
94
- modeling.updateLabel(element, properties[NAME_PROPERTY]);
95
- }
96
-
97
- if (TEXT_PROPERTY in properties
98
- && is(element, 'bpmn:TextAnnotation')) {
99
-
100
- var newBounds = textRenderer.getTextAnnotationBounds(
101
- {
102
- x: element.x,
103
- y: element.y,
104
- width: element.width,
105
- height: element.height
106
- },
107
- properties[TEXT_PROPERTY] || ''
108
- );
109
-
110
- modeling.updateLabel(element, properties.text, newBounds);
111
- }
112
- }
113
-
114
- // create label shape after shape/connection was created
115
- this.postExecute([ 'shape.create', 'connection.create' ], function(e) {
116
- var context = e.context,
117
- hints = context.hints || {};
118
-
119
- if (hints.createElementsBehavior === false) {
120
- return;
121
- }
122
-
123
- var element = context.shape || context.connection;
124
-
125
- if (isLabel(element) || !isLabelExternal(element)) {
126
- return;
127
- }
128
-
129
- // only create label if attribute available
130
- if (!getLabel(element)) {
131
- return;
132
- }
133
-
134
- modeling.updateLabel(element, getLabel(element));
135
- });
136
-
137
- // update label after label shape was deleted
138
- this.postExecute('shape.delete', function(event) {
139
- var context = event.context,
140
- labelTarget = context.labelTarget,
141
- hints = context.hints || {};
142
-
143
- // check if label
144
- if (labelTarget && hints.unsetLabel !== false) {
145
- modeling.updateLabel(labelTarget, null, null, { removeShape: false });
146
- }
147
- });
148
-
149
- function getVisibleLabelAdjustment(event) {
150
-
151
- var context = event.context,
152
- connection = context.connection,
153
- label = connection.label,
154
- hints = assign({}, context.hints),
155
- newWaypoints = context.newWaypoints || connection.waypoints,
156
- oldWaypoints = context.oldWaypoints;
157
-
158
-
159
- if (typeof hints.startChanged === 'undefined') {
160
- hints.startChanged = !!hints.connectionStart;
161
- }
162
-
163
- if (typeof hints.endChanged === 'undefined') {
164
- hints.endChanged = !!hints.connectionEnd;
165
- }
166
-
167
- return getLabelAdjustment(label, newWaypoints, oldWaypoints, hints);
168
- }
169
-
170
- this.postExecute([
171
- 'connection.layout',
172
- 'connection.updateWaypoints'
173
- ], function(event) {
174
- var context = event.context,
175
- hints = context.hints || {};
176
-
177
- if (hints.labelBehavior === false) {
178
- return;
179
- }
180
-
181
- var connection = context.connection,
182
- label = connection.label,
183
- labelAdjustment;
184
-
185
- // handle missing label as well as the case
186
- // that the label parent does not exist (yet),
187
- // because it is being pasted / created via multi element create
188
- //
189
- // Cf. https://github.com/bpmn-io/bpmn-js/pull/1227
190
- if (!label || !label.parent) {
191
- return;
192
- }
193
-
194
- labelAdjustment = getVisibleLabelAdjustment(event);
195
-
196
- modeling.moveShape(label, labelAdjustment);
197
- });
198
-
199
-
200
- // keep label position on shape replace
201
- this.postExecute([ 'shape.replace' ], function(event) {
202
- var context = event.context,
203
- newShape = context.newShape,
204
- oldShape = context.oldShape;
205
-
206
- var businessObject = getBusinessObject(newShape);
207
-
208
- if (businessObject
209
- && isLabelExternal(businessObject)
210
- && oldShape.label
211
- && newShape.label) {
212
- newShape.label.x = oldShape.label.x;
213
- newShape.label.y = oldShape.label.y;
214
- }
215
- });
216
-
217
-
218
- // move external label after resizing
219
- this.postExecute('shape.resize', function(event) {
220
-
221
- var context = event.context,
222
- shape = context.shape,
223
- newBounds = context.newBounds,
224
- oldBounds = context.oldBounds;
225
-
226
- if (hasExternalLabel(shape)) {
227
-
228
- var label = shape.label,
229
- labelMid = getMid(label),
230
- edges = asEdges(oldBounds);
231
-
232
- // get nearest border point to label as reference point
233
- var referencePoint = getReferencePoint(labelMid, edges);
234
-
235
- var delta = getReferencePointDelta(referencePoint, oldBounds, newBounds);
236
-
237
- modeling.moveShape(label, delta);
238
-
239
- }
240
-
241
- });
242
-
243
- }
244
-
245
- inherits(LabelBehavior, CommandInterceptor);
246
-
247
- LabelBehavior.$inject = [
248
- 'eventBus',
249
- 'modeling',
250
- 'bpmnFactory',
251
- 'textRenderer'
252
- ];
253
-
254
- // helpers //////////////////////
255
-
256
- /**
257
- * Calculates a reference point delta relative to a new position
258
- * of a certain element's bounds
259
- *
260
- * @param {Point} referencePoint
261
- * @param {Rect} oldBounds
262
- * @param {Rect} newBounds
263
- *
264
- * @return {Point}
265
- */
266
- export function getReferencePointDelta(referencePoint, oldBounds, newBounds) {
267
-
268
- var newReferencePoint = getNewAttachPoint(referencePoint, oldBounds, newBounds);
269
-
270
- return roundPoint(delta(newReferencePoint, referencePoint));
271
- }
272
-
273
- /**
274
- * Generates the nearest point (reference point) for a given point
275
- * onto given set of lines
276
- *
277
- * @param {Point} point
278
- * @param {Line[]} lines
279
- *
280
- * @return {Point}
281
- */
282
- export function getReferencePoint(point, lines) {
283
-
284
- if (!lines.length) {
285
- return;
286
- }
287
-
288
- var nearestLine = getNearestLine(point, lines);
289
-
290
- return perpendicularFoot(point, nearestLine);
291
- }
292
-
293
- /**
294
- * Convert the given bounds to a lines array containing all edges
295
- *
296
- * @param {Rect|Point} bounds
297
- *
298
- * @return {Line[]}
299
- */
300
- export function asEdges(bounds) {
301
- return [
302
- [ // top
303
- {
304
- x: bounds.x,
305
- y: bounds.y
306
- },
307
- {
308
- x: bounds.x + (bounds.width || 0),
309
- y: bounds.y
310
- }
311
- ],
312
- [ // right
313
- {
314
- x: bounds.x + (bounds.width || 0),
315
- y: bounds.y
316
- },
317
- {
318
- x: bounds.x + (bounds.width || 0),
319
- y: bounds.y + (bounds.height || 0)
320
- }
321
- ],
322
- [ // bottom
323
- {
324
- x: bounds.x,
325
- y: bounds.y + (bounds.height || 0)
326
- },
327
- {
328
- x: bounds.x + (bounds.width || 0),
329
- y: bounds.y + (bounds.height || 0)
330
- }
331
- ],
332
- [ // left
333
- {
334
- x: bounds.x,
335
- y: bounds.y
336
- },
337
- {
338
- x: bounds.x,
339
- y: bounds.y + (bounds.height || 0)
340
- }
341
- ]
342
- ];
343
- }
344
-
345
- /**
346
- * Returns the nearest line for a given point by distance
347
- * @param {Point} point
348
- * @param {Line[]} lines
349
- *
350
- * @return {Line}
351
- */
352
- function getNearestLine(point, lines) {
353
-
354
- var distances = lines.map(function(l) {
355
- return {
356
- line: l,
357
- distance: getDistancePointLine(point, l)
358
- };
359
- });
360
-
361
- var sorted = sortBy(distances, 'distance');
362
-
363
- return sorted[0].line;
364
- }
1
+ import {
2
+ assign
3
+ } from 'min-dash';
4
+
5
+ import inherits from 'inherits-browser';
6
+
7
+ import {
8
+ is,
9
+ getBusinessObject
10
+ } from '../../../util/ModelUtil';
11
+
12
+ import {
13
+ isLabelExternal,
14
+ getLabel,
15
+ hasExternalLabel,
16
+ isLabel
17
+ } from '../../../util/LabelUtil';
18
+
19
+ import {
20
+ getLabelAdjustment
21
+ } from './util/LabelLayoutUtil';
22
+
23
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
24
+
25
+ import {
26
+ getNewAttachPoint
27
+ } from 'diagram-js/lib/util/AttachUtil';
28
+
29
+ import {
30
+ getMid,
31
+ roundPoint
32
+ } from 'diagram-js/lib/layout/LayoutUtil';
33
+
34
+ import {
35
+ delta
36
+ } from 'diagram-js/lib/util/PositionUtil';
37
+
38
+ import {
39
+ sortBy
40
+ } from 'min-dash';
41
+
42
+ import {
43
+ getDistancePointLine,
44
+ perpendicularFoot
45
+ } from './util/GeometricUtil';
46
+
47
+ var NAME_PROPERTY = 'name';
48
+ var TEXT_PROPERTY = 'text';
49
+
50
+ /**
51
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
52
+ * @typedef {import('../Modeling').default} Modeling
53
+ * @typedef {import('../BpmnFactory').default} BpmnFactory
54
+ * @typedef {import('../../../draw/TextRenderer').default} TextRenderer
55
+ *
56
+ * @typedef {import('diagram-js/lib/util/Types').Point} Point
57
+ * @typedef {import('diagram-js/lib/util/Types').Rect} Rect
58
+ *
59
+ * @typedef {Point[]} Line
60
+ */
61
+
62
+ /**
63
+ * A component that makes sure that external labels are added
64
+ * together with respective elements and properly updated (DI wise)
65
+ * during move.
66
+ *
67
+ * @param {EventBus} eventBus
68
+ * @param {Modeling} modeling
69
+ * @param {BpmnFactory} bpmnFactory
70
+ * @param {TextRenderer} textRenderer
71
+ */
72
+ export default function LabelBehavior(
73
+ eventBus, modeling, bpmnFactory,
74
+ textRenderer) {
75
+
76
+ CommandInterceptor.call(this, eventBus);
77
+
78
+ // update label if name property was updated
79
+ this.postExecute('element.updateProperties', onPropertyUpdate);
80
+ this.postExecute('element.updateModdleProperties', e => {
81
+ const elementBo = getBusinessObject(e.context.element);
82
+
83
+ if (elementBo === e.context.moddleElement) {
84
+ onPropertyUpdate(e);
85
+ }
86
+ });
87
+
88
+ function onPropertyUpdate(e) {
89
+ var context = e.context,
90
+ element = context.element,
91
+ properties = context.properties;
92
+
93
+ if (NAME_PROPERTY in properties) {
94
+ modeling.updateLabel(element, properties[NAME_PROPERTY]);
95
+ }
96
+
97
+ if (TEXT_PROPERTY in properties
98
+ && is(element, 'bpmn:TextAnnotation')) {
99
+
100
+ var newBounds = textRenderer.getTextAnnotationBounds(
101
+ {
102
+ x: element.x,
103
+ y: element.y,
104
+ width: element.width,
105
+ height: element.height
106
+ },
107
+ properties[TEXT_PROPERTY] || ''
108
+ );
109
+
110
+ modeling.updateLabel(element, properties.text, newBounds);
111
+ }
112
+ }
113
+
114
+ // create label shape after shape/connection was created
115
+ this.postExecute([ 'shape.create', 'connection.create' ], function(e) {
116
+ var context = e.context,
117
+ hints = context.hints || {};
118
+
119
+ if (hints.createElementsBehavior === false) {
120
+ return;
121
+ }
122
+
123
+ var element = context.shape || context.connection;
124
+
125
+ if (isLabel(element) || !isLabelExternal(element)) {
126
+ return;
127
+ }
128
+
129
+ // only create label if attribute available
130
+ if (!getLabel(element)) {
131
+ return;
132
+ }
133
+
134
+ modeling.updateLabel(element, getLabel(element));
135
+ });
136
+
137
+ // update label after label shape was deleted
138
+ this.postExecute('shape.delete', function(event) {
139
+ var context = event.context,
140
+ labelTarget = context.labelTarget,
141
+ hints = context.hints || {};
142
+
143
+ // check if label
144
+ if (labelTarget && hints.unsetLabel !== false) {
145
+ modeling.updateLabel(labelTarget, null, null, { removeShape: false });
146
+ }
147
+ });
148
+
149
+ function getVisibleLabelAdjustment(event) {
150
+
151
+ var context = event.context,
152
+ connection = context.connection,
153
+ label = connection.label,
154
+ hints = assign({}, context.hints),
155
+ newWaypoints = context.newWaypoints || connection.waypoints,
156
+ oldWaypoints = context.oldWaypoints;
157
+
158
+
159
+ if (typeof hints.startChanged === 'undefined') {
160
+ hints.startChanged = !!hints.connectionStart;
161
+ }
162
+
163
+ if (typeof hints.endChanged === 'undefined') {
164
+ hints.endChanged = !!hints.connectionEnd;
165
+ }
166
+
167
+ return getLabelAdjustment(label, newWaypoints, oldWaypoints, hints);
168
+ }
169
+
170
+ this.postExecute([
171
+ 'connection.layout',
172
+ 'connection.updateWaypoints'
173
+ ], function(event) {
174
+ var context = event.context,
175
+ hints = context.hints || {};
176
+
177
+ if (hints.labelBehavior === false) {
178
+ return;
179
+ }
180
+
181
+ var connection = context.connection,
182
+ label = connection.label,
183
+ labelAdjustment;
184
+
185
+ // handle missing label as well as the case
186
+ // that the label parent does not exist (yet),
187
+ // because it is being pasted / created via multi element create
188
+ //
189
+ // Cf. https://github.com/bpmn-io/bpmn-js/pull/1227
190
+ if (!label || !label.parent) {
191
+ return;
192
+ }
193
+
194
+ labelAdjustment = getVisibleLabelAdjustment(event);
195
+
196
+ modeling.moveShape(label, labelAdjustment);
197
+ });
198
+
199
+
200
+ // keep label position on shape replace
201
+ this.postExecute([ 'shape.replace' ], function(event) {
202
+ var context = event.context,
203
+ newShape = context.newShape,
204
+ oldShape = context.oldShape;
205
+
206
+ var businessObject = getBusinessObject(newShape);
207
+
208
+ if (businessObject
209
+ && isLabelExternal(businessObject)
210
+ && oldShape.label
211
+ && newShape.label) {
212
+ newShape.label.x = oldShape.label.x;
213
+ newShape.label.y = oldShape.label.y;
214
+ }
215
+ });
216
+
217
+
218
+ // move external label after resizing
219
+ this.postExecute('shape.resize', function(event) {
220
+
221
+ var context = event.context,
222
+ shape = context.shape,
223
+ newBounds = context.newBounds,
224
+ oldBounds = context.oldBounds;
225
+
226
+ if (hasExternalLabel(shape)) {
227
+
228
+ var label = shape.label,
229
+ labelMid = getMid(label),
230
+ edges = asEdges(oldBounds);
231
+
232
+ // get nearest border point to label as reference point
233
+ var referencePoint = getReferencePoint(labelMid, edges);
234
+
235
+ var delta = getReferencePointDelta(referencePoint, oldBounds, newBounds);
236
+
237
+ modeling.moveShape(label, delta);
238
+
239
+ }
240
+
241
+ });
242
+
243
+ }
244
+
245
+ inherits(LabelBehavior, CommandInterceptor);
246
+
247
+ LabelBehavior.$inject = [
248
+ 'eventBus',
249
+ 'modeling',
250
+ 'bpmnFactory',
251
+ 'textRenderer'
252
+ ];
253
+
254
+ // helpers //////////////////////
255
+
256
+ /**
257
+ * Calculates a reference point delta relative to a new position
258
+ * of a certain element's bounds
259
+ *
260
+ * @param {Point} referencePoint
261
+ * @param {Rect} oldBounds
262
+ * @param {Rect} newBounds
263
+ *
264
+ * @return {Point}
265
+ */
266
+ export function getReferencePointDelta(referencePoint, oldBounds, newBounds) {
267
+
268
+ var newReferencePoint = getNewAttachPoint(referencePoint, oldBounds, newBounds);
269
+
270
+ return roundPoint(delta(newReferencePoint, referencePoint));
271
+ }
272
+
273
+ /**
274
+ * Generates the nearest point (reference point) for a given point
275
+ * onto given set of lines
276
+ *
277
+ * @param {Point} point
278
+ * @param {Line[]} lines
279
+ *
280
+ * @return {Point}
281
+ */
282
+ export function getReferencePoint(point, lines) {
283
+
284
+ if (!lines.length) {
285
+ return;
286
+ }
287
+
288
+ var nearestLine = getNearestLine(point, lines);
289
+
290
+ return perpendicularFoot(point, nearestLine);
291
+ }
292
+
293
+ /**
294
+ * Convert the given bounds to a lines array containing all edges
295
+ *
296
+ * @param {Rect|Point} bounds
297
+ *
298
+ * @return {Line[]}
299
+ */
300
+ export function asEdges(bounds) {
301
+ return [
302
+ [ // top
303
+ {
304
+ x: bounds.x,
305
+ y: bounds.y
306
+ },
307
+ {
308
+ x: bounds.x + (bounds.width || 0),
309
+ y: bounds.y
310
+ }
311
+ ],
312
+ [ // right
313
+ {
314
+ x: bounds.x + (bounds.width || 0),
315
+ y: bounds.y
316
+ },
317
+ {
318
+ x: bounds.x + (bounds.width || 0),
319
+ y: bounds.y + (bounds.height || 0)
320
+ }
321
+ ],
322
+ [ // bottom
323
+ {
324
+ x: bounds.x,
325
+ y: bounds.y + (bounds.height || 0)
326
+ },
327
+ {
328
+ x: bounds.x + (bounds.width || 0),
329
+ y: bounds.y + (bounds.height || 0)
330
+ }
331
+ ],
332
+ [ // left
333
+ {
334
+ x: bounds.x,
335
+ y: bounds.y
336
+ },
337
+ {
338
+ x: bounds.x,
339
+ y: bounds.y + (bounds.height || 0)
340
+ }
341
+ ]
342
+ ];
343
+ }
344
+
345
+ /**
346
+ * Returns the nearest line for a given point by distance
347
+ * @param {Point} point
348
+ * @param {Line[]} lines
349
+ *
350
+ * @return {Line}
351
+ */
352
+ function getNearestLine(point, lines) {
353
+
354
+ var distances = lines.map(function(l) {
355
+ return {
356
+ line: l,
357
+ distance: getDistancePointLine(point, l)
358
+ };
359
+ });
360
+
361
+ var sorted = sortBy(distances, 'distance');
362
+
363
+ return sorted[0].line;
364
+ }