bpmn-js 17.6.1 → 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 (338) 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/bpmn-modeler.development.js +25393 -25381
  5. package/dist/bpmn-modeler.production.min.js +2 -2
  6. package/dist/bpmn-navigated-viewer.development.js +21134 -21134
  7. package/dist/bpmn-navigated-viewer.production.min.js +1 -1
  8. package/dist/bpmn-viewer.development.js +21059 -21059
  9. package/dist/bpmn-viewer.production.min.js +1 -1
  10. package/index.js +2 -2
  11. package/lib/BaseModeler.d.ts +15 -15
  12. package/lib/BaseModeler.js +79 -79
  13. package/lib/BaseViewer.d.ts +352 -352
  14. package/lib/BaseViewer.js +858 -858
  15. package/lib/Modeler.d.ts +86 -86
  16. package/lib/Modeler.js +204 -204
  17. package/lib/NavigatedViewer.d.ts +11 -11
  18. package/lib/NavigatedViewer.js +37 -37
  19. package/lib/Viewer.d.ts +47 -47
  20. package/lib/Viewer.js +78 -78
  21. package/lib/core/index.d.ts +10 -10
  22. package/lib/core/index.js +8 -8
  23. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  24. package/lib/draw/BpmnRenderUtil.js +256 -256
  25. package/lib/draw/BpmnRenderer.d.ts +114 -114
  26. package/lib/draw/BpmnRenderer.js +2340 -2340
  27. package/lib/draw/PathMap.d.ts +330 -330
  28. package/lib/draw/PathMap.js +478 -478
  29. package/lib/draw/TextRenderer.d.ts +74 -74
  30. package/lib/draw/TextRenderer.js +136 -136
  31. package/lib/draw/index.d.ts +10 -10
  32. package/lib/draw/index.js +11 -11
  33. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  34. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  35. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  36. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  37. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  38. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  39. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  40. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  41. package/lib/features/align-elements/index.d.ts +11 -11
  42. package/lib/features/align-elements/index.js +23 -23
  43. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  44. package/lib/features/append-preview/AppendPreview.js +108 -108
  45. package/lib/features/append-preview/index.d.ts +16 -16
  46. package/lib/features/append-preview/index.js +15 -15
  47. package/lib/features/auto-place/BpmnAutoPlace.d.ts +13 -13
  48. package/lib/features/auto-place/BpmnAutoPlace.js +20 -20
  49. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +47 -47
  50. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +225 -225
  51. package/lib/features/auto-place/index.d.ts +7 -7
  52. package/lib/features/auto-place/index.js +8 -8
  53. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  54. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  55. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  56. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  57. package/lib/features/auto-resize/index.d.ts +8 -8
  58. package/lib/features/auto-resize/index.js +12 -12
  59. package/lib/features/context-pad/ContextPadProvider.d.ts +73 -73
  60. package/lib/features/context-pad/ContextPadProvider.js +591 -591
  61. package/lib/features/context-pad/index.d.ts +7 -7
  62. package/lib/features/context-pad/index.js +22 -22
  63. package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
  64. package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
  65. package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
  66. package/lib/features/copy-paste/ModdleCopy.js +275 -275
  67. package/lib/features/copy-paste/index.d.ts +9 -9
  68. package/lib/features/copy-paste/index.js +13 -13
  69. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  70. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  71. package/lib/features/di-ordering/index.d.ts +6 -6
  72. package/lib/features/di-ordering/index.js +7 -7
  73. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  74. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  75. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  76. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  77. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  78. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  79. package/lib/features/distribute-elements/index.d.ts +9 -9
  80. package/lib/features/distribute-elements/index.js +19 -19
  81. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  82. package/lib/features/drilldown/DrilldownBreadcrumbs.js +131 -131
  83. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  84. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  85. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +18 -18
  86. package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
  87. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  88. package/lib/features/drilldown/SubprocessCompatibility.js +268 -268
  89. package/lib/features/drilldown/index.d.ts +13 -13
  90. package/lib/features/drilldown/index.js +16 -16
  91. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  92. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  93. package/lib/features/editor-actions/index.d.ts +6 -6
  94. package/lib/features/editor-actions/index.js +10 -10
  95. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  96. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +12 -12
  97. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  98. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  99. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  100. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  101. package/lib/features/grid-snapping/index.d.ts +11 -11
  102. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  103. package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
  104. package/lib/features/interaction-events/index.d.ts +6 -6
  105. package/lib/features/interaction-events/index.js +5 -5
  106. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  107. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  108. package/lib/features/keyboard/index.d.ts +7 -7
  109. package/lib/features/keyboard/index.js +11 -11
  110. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  111. package/lib/features/label-editing/LabelEditingPreview.js +144 -144
  112. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  113. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  114. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  115. package/lib/features/label-editing/LabelUtil.js +4 -4
  116. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  117. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  118. package/lib/features/label-editing/index.d.ts +9 -9
  119. package/lib/features/label-editing/index.js +21 -21
  120. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  121. package/lib/features/modeling/BpmnFactory.js +180 -180
  122. package/lib/features/modeling/BpmnLayouter.d.ts +26 -26
  123. package/lib/features/modeling/BpmnLayouter.js +481 -481
  124. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  125. package/lib/features/modeling/BpmnUpdater.js +837 -837
  126. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  127. package/lib/features/modeling/ElementFactory.js +406 -406
  128. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  129. package/lib/features/modeling/Modeling.d.ts +150 -150
  130. package/lib/features/modeling/Modeling.js +307 -307
  131. package/lib/features/modeling/Modeling.test.ts +147 -147
  132. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
  133. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
  134. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  135. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  136. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  137. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  138. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  139. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  140. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  141. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  142. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  143. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  144. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  145. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  146. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  147. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  148. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  149. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  150. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  151. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  152. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  153. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  154. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  155. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  156. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  157. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  158. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  159. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  160. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  161. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  162. package/lib/features/modeling/behavior/GroupBehavior.js +332 -332
  163. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  164. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  165. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  166. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  167. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  168. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  169. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  170. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  171. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  172. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  173. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  174. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  175. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  176. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  177. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  178. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  179. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
  180. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  181. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  182. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  183. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  184. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
  185. package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
  186. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  187. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  188. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  189. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  190. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  191. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  192. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  193. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  194. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
  195. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  196. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  197. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  198. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  199. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  200. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  201. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  202. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  203. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  204. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  205. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  206. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  207. package/lib/features/modeling/behavior/index.d.ts +2 -2
  208. package/lib/features/modeling/behavior/index.js +128 -128
  209. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  210. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  211. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  212. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  213. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  214. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  215. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  216. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  217. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  218. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  219. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  220. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  221. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  222. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  223. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  224. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  225. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  226. package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
  227. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  228. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  229. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  230. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  231. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  232. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  233. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  234. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  235. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  236. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  237. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  238. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  239. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  240. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  241. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  242. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  243. package/lib/features/modeling/index.d.ts +27 -27
  244. package/lib/features/modeling/index.js +45 -45
  245. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  246. package/lib/features/modeling/util/LaneUtil.js +188 -188
  247. package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
  248. package/lib/features/modeling/util/ModelingUtil.js +54 -54
  249. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  250. package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
  251. package/lib/features/modeling-feedback/index.d.ts +7 -7
  252. package/lib/features/modeling-feedback/index.js +12 -12
  253. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  254. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  255. package/lib/features/ordering/index.d.ts +6 -6
  256. package/lib/features/ordering/index.js +5 -5
  257. package/lib/features/outline/OutlineProvider.d.ts +34 -34
  258. package/lib/features/outline/OutlineProvider.js +179 -179
  259. package/lib/features/outline/OutlineUtil.d.ts +18 -18
  260. package/lib/features/outline/OutlineUtil.js +31 -31
  261. package/lib/features/outline/index.d.ts +7 -7
  262. package/lib/features/outline/index.js +10 -10
  263. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  264. package/lib/features/palette/PaletteProvider.js +214 -214
  265. package/lib/features/palette/index.d.ts +9 -9
  266. package/lib/features/palette/index.js +23 -23
  267. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  268. package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
  269. package/lib/features/popup-menu/index.d.ts +11 -11
  270. package/lib/features/popup-menu/index.js +16 -16
  271. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  272. package/lib/features/popup-menu/util/Icons.js +14 -14
  273. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  274. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  275. package/lib/features/replace/BpmnReplace.d.ts +47 -47
  276. package/lib/features/replace/BpmnReplace.js +382 -382
  277. package/lib/features/replace/ReplaceOptions.d.ts +75 -75
  278. package/lib/features/replace/ReplaceOptions.js +919 -919
  279. package/lib/features/replace/index.d.ts +9 -9
  280. package/lib/features/replace/index.js +14 -14
  281. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  282. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  283. package/lib/features/replace-preview/index.d.ts +7 -7
  284. package/lib/features/replace-preview/index.js +11 -11
  285. package/lib/features/rules/BpmnRules.d.ts +181 -181
  286. package/lib/features/rules/BpmnRules.js +1191 -1191
  287. package/lib/features/rules/index.d.ts +7 -7
  288. package/lib/features/rules/index.js +11 -11
  289. package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
  290. package/lib/features/search/BpmnSearchProvider.js +136 -136
  291. package/lib/features/search/index.d.ts +7 -7
  292. package/lib/features/search/index.js +12 -12
  293. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  294. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  295. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  296. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  297. package/lib/features/snapping/index.d.ts +9 -9
  298. package/lib/features/snapping/index.js +12 -12
  299. package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
  300. package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
  301. package/lib/features/space-tool/index.d.ts +6 -6
  302. package/lib/features/space-tool/index.js +7 -7
  303. package/lib/import/BpmnImporter.d.ts +51 -51
  304. package/lib/import/BpmnImporter.js +363 -363
  305. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  306. package/lib/import/BpmnTreeWalker.js +453 -453
  307. package/lib/import/Importer.d.ts +25 -25
  308. package/lib/import/Importer.js +217 -217
  309. package/lib/import/Util.d.ts +1 -1
  310. package/lib/import/Util.js +6 -6
  311. package/lib/import/index.d.ts +6 -6
  312. package/lib/import/index.js +9 -9
  313. package/lib/model/Types.d.ts +25 -25
  314. package/lib/model/Types.ts +40 -40
  315. package/lib/util/CompatibilityUtil.d.ts +8 -8
  316. package/lib/util/CompatibilityUtil.js +29 -29
  317. package/lib/util/DiUtil.d.ts +60 -60
  318. package/lib/util/DiUtil.js +122 -122
  319. package/lib/util/DrilldownUtil.d.ts +39 -39
  320. package/lib/util/DrilldownUtil.js +69 -69
  321. package/lib/util/LabelUtil.d.ts +83 -83
  322. package/lib/util/LabelUtil.js +262 -262
  323. package/lib/util/ModelUtil.d.ts +40 -40
  324. package/lib/util/ModelUtil.js +58 -58
  325. package/lib/util/PoweredByUtil.d.ts +8 -8
  326. package/lib/util/PoweredByUtil.js +99 -99
  327. package/lib/util/Types.js +4 -4
  328. package/lib/util/Types.ts +3 -3
  329. package/package.json +132 -132
  330. package/test/helper/TranslationCollector.js +15 -15
  331. package/test/helper/index.js +313 -313
  332. package/test/matchers/BoundsMatchers.js +252 -252
  333. package/test/matchers/ConnectionMatchers.js +165 -165
  334. package/test/matchers/JSONMatcher.js +19 -19
  335. package/test/util/KeyEvents.js +22 -22
  336. package/test/util/MockEvents.js +61 -61
  337. package/test/util/custom-rules/CustomRules.js +16 -16
  338. 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
+ }