bpmn-js 18.6.1 → 18.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 (340) hide show
  1. package/LICENSE +23 -23
  2. package/README.md +95 -95
  3. package/dist/assets/bpmn-js.css +145 -145
  4. package/dist/bpmn-modeler.development.js +38928 -38906
  5. package/dist/bpmn-modeler.production.min.js +2 -2
  6. package/dist/bpmn-navigated-viewer.development.js +21211 -21189
  7. package/dist/bpmn-navigated-viewer.production.min.js +2 -2
  8. package/dist/bpmn-viewer.development.js +21152 -21130
  9. package/dist/bpmn-viewer.production.min.js +2 -2
  10. package/lib/BaseModeler.d.ts +15 -15
  11. package/lib/BaseModeler.js +79 -79
  12. package/lib/BaseViewer.d.ts +352 -352
  13. package/lib/BaseViewer.js +858 -858
  14. package/lib/Modeler.d.ts +86 -86
  15. package/lib/Modeler.js +206 -206
  16. package/lib/NavigatedViewer.d.ts +11 -11
  17. package/lib/NavigatedViewer.js +37 -37
  18. package/lib/Viewer.d.ts +47 -47
  19. package/lib/Viewer.js +76 -76
  20. package/lib/core/index.d.ts +10 -10
  21. package/lib/core/index.js +8 -8
  22. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  23. package/lib/draw/BpmnRenderUtil.js +256 -256
  24. package/lib/draw/BpmnRenderer.d.ts +116 -116
  25. package/lib/draw/BpmnRenderer.js +2412 -2390
  26. package/lib/draw/PathMap.d.ts +330 -330
  27. package/lib/draw/PathMap.js +478 -478
  28. package/lib/draw/TextRenderer.d.ts +74 -74
  29. package/lib/draw/TextRenderer.js +136 -136
  30. package/lib/draw/index.d.ts +10 -10
  31. package/lib/draw/index.js +11 -11
  32. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  33. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  34. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  35. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  36. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  37. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  38. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  39. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  40. package/lib/features/align-elements/index.d.ts +17 -17
  41. package/lib/features/align-elements/index.js +23 -23
  42. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  43. package/lib/features/append-preview/AppendPreview.js +108 -108
  44. package/lib/features/append-preview/index.d.ts +18 -18
  45. package/lib/features/append-preview/index.js +15 -15
  46. package/lib/features/auto-place/BpmnAutoPlace.d.ts +15 -15
  47. package/lib/features/auto-place/BpmnAutoPlace.js +22 -22
  48. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +52 -52
  49. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +226 -226
  50. package/lib/features/auto-place/index.d.ts +10 -10
  51. package/lib/features/auto-place/index.js +8 -8
  52. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  53. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  54. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  55. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  56. package/lib/features/auto-resize/index.d.ts +8 -8
  57. package/lib/features/auto-resize/index.js +12 -12
  58. package/lib/features/context-pad/ContextPadProvider.d.ts +62 -62
  59. package/lib/features/context-pad/ContextPadProvider.js +592 -592
  60. package/lib/features/context-pad/index.d.ts +7 -7
  61. package/lib/features/context-pad/index.js +22 -22
  62. package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
  63. package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
  64. package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
  65. package/lib/features/copy-paste/ModdleCopy.js +286 -286
  66. package/lib/features/copy-paste/index.d.ts +11 -11
  67. package/lib/features/copy-paste/index.js +13 -13
  68. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  69. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  70. package/lib/features/di-ordering/index.d.ts +6 -6
  71. package/lib/features/di-ordering/index.js +7 -7
  72. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  73. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  74. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  75. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  76. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  77. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  78. package/lib/features/distribute-elements/index.d.ts +13 -13
  79. package/lib/features/distribute-elements/index.js +19 -19
  80. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  81. package/lib/features/drilldown/DrilldownBreadcrumbs.js +138 -138
  82. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  83. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  84. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +20 -20
  85. package/lib/features/drilldown/DrilldownOverlayBehavior.js +218 -218
  86. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  87. package/lib/features/drilldown/SubprocessCompatibility.js +266 -266
  88. package/lib/features/drilldown/index.d.ts +19 -19
  89. package/lib/features/drilldown/index.js +16 -16
  90. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  91. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  92. package/lib/features/editor-actions/index.d.ts +8 -8
  93. package/lib/features/editor-actions/index.js +10 -10
  94. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  95. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +14 -14
  96. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  97. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  98. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  99. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  100. package/lib/features/grid-snapping/index.d.ts +13 -13
  101. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  102. package/lib/features/interaction-events/BpmnInteractionEvents.js +146 -146
  103. package/lib/features/interaction-events/index.d.ts +6 -6
  104. package/lib/features/interaction-events/index.js +5 -5
  105. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  106. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  107. package/lib/features/keyboard/index.d.ts +10 -10
  108. package/lib/features/keyboard/index.js +11 -11
  109. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  110. package/lib/features/label-editing/LabelEditingPreview.js +145 -145
  111. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  112. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  113. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  114. package/lib/features/label-editing/LabelUtil.js +4 -4
  115. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  116. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  117. package/lib/features/label-editing/index.d.ts +9 -9
  118. package/lib/features/label-editing/index.js +21 -21
  119. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  120. package/lib/features/modeling/BpmnFactory.js +180 -180
  121. package/lib/features/modeling/BpmnLayouter.d.ts +30 -30
  122. package/lib/features/modeling/BpmnLayouter.js +488 -488
  123. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  124. package/lib/features/modeling/BpmnUpdater.js +818 -818
  125. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  126. package/lib/features/modeling/ElementFactory.js +412 -412
  127. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  128. package/lib/features/modeling/Modeling.d.ts +150 -150
  129. package/lib/features/modeling/Modeling.js +309 -309
  130. package/lib/features/modeling/Modeling.test.ts +147 -147
  131. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +19 -19
  132. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +288 -288
  133. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  134. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  135. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  136. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  137. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  138. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  139. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  140. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  141. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  142. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  143. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  144. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  145. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  146. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  147. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  148. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  149. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  150. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  151. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  152. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  153. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  154. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  155. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  156. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  157. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  158. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  159. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  160. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  161. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  162. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  163. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  164. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  165. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  166. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  167. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  168. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  169. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  170. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  171. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  172. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  173. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  174. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  175. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  176. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  177. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +59 -59
  178. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  179. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  180. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  181. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  182. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +64 -64
  183. package/lib/features/modeling/behavior/ResizeBehavior.js +265 -265
  184. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  185. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  186. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  187. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.d.ts +16 -16
  188. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js +66 -66
  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 +56 -56
  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 +85 -85
  208. package/lib/features/modeling/behavior/index.js +131 -131
  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 +187 -187
  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 +39 -39
  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 +23 -23
  248. package/lib/features/modeling/util/ModelingUtil.js +88 -88
  249. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  250. package/lib/features/modeling-feedback/ModelingFeedback.js +51 -51
  251. package/lib/features/modeling-feedback/index.d.ts +9 -9
  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 +39 -39
  258. package/lib/features/outline/OutlineProvider.js +189 -189
  259. package/lib/features/outline/OutlineUtil.d.ts +23 -23
  260. package/lib/features/outline/OutlineUtil.js +35 -35
  261. package/lib/features/outline/index.d.ts +10 -10
  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 +22 -22
  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 +656 -656
  269. package/lib/features/popup-menu/index.d.ts +13 -13
  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 +45 -45
  276. package/lib/features/replace/BpmnReplace.js +391 -391
  277. package/lib/features/replace/ReplaceOptions.d.ts +85 -85
  278. package/lib/features/replace/ReplaceOptions.js +1198 -1198
  279. package/lib/features/replace/index.d.ts +16 -16
  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 +9 -9
  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 +9 -9
  288. package/lib/features/rules/index.js +11 -11
  289. package/lib/features/search/BpmnSearchProvider.d.ts +34 -34
  290. package/lib/features/search/BpmnSearchProvider.js +91 -91
  291. package/lib/features/search/index.d.ts +11 -11
  292. package/lib/features/search/index.js +14 -14
  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 +13 -13
  298. package/lib/features/snapping/index.js +12 -12
  299. package/lib/features/space-tool/BpmnSpaceTool.d.ts +24 -24
  300. package/lib/features/space-tool/BpmnSpaceTool.js +96 -96
  301. package/lib/features/space-tool/index.d.ts +9 -9
  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 +452 -452
  307. package/lib/import/Importer.d.ts +25 -25
  308. package/lib/import/Importer.js +222 -222
  309. package/lib/import/Util.d.ts +1 -1
  310. package/lib/import/Util.js +6 -6
  311. package/lib/import/index.d.ts +8 -8
  312. package/lib/import/index.js +9 -9
  313. package/lib/index.d.ts +1 -1
  314. package/lib/index.js +2 -2
  315. package/lib/model/Types.d.ts +25 -25
  316. package/lib/model/Types.ts +40 -40
  317. package/lib/util/CompatibilityUtil.d.ts +8 -8
  318. package/lib/util/CompatibilityUtil.js +29 -29
  319. package/lib/util/DiUtil.d.ts +60 -60
  320. package/lib/util/DiUtil.js +122 -122
  321. package/lib/util/DrilldownUtil.d.ts +39 -39
  322. package/lib/util/DrilldownUtil.js +69 -69
  323. package/lib/util/LabelUtil.d.ts +83 -83
  324. package/lib/util/LabelUtil.js +266 -266
  325. package/lib/util/ModelUtil.d.ts +40 -40
  326. package/lib/util/ModelUtil.js +58 -58
  327. package/lib/util/PoweredByUtil.d.ts +8 -8
  328. package/lib/util/PoweredByUtil.js +99 -99
  329. package/lib/util/Types.js +4 -4
  330. package/lib/util/Types.ts +3 -3
  331. package/package.json +2 -2
  332. package/test/helper/TranslationCollector.js +15 -15
  333. package/test/helper/index.js +313 -313
  334. package/test/matchers/BoundsMatchers.js +252 -252
  335. package/test/matchers/ConnectionMatchers.js +165 -165
  336. package/test/matchers/JSONMatcher.js +19 -19
  337. package/test/util/KeyEvents.js +22 -22
  338. package/test/util/MockEvents.js +61 -61
  339. package/test/util/custom-rules/CustomRules.js +16 -16
  340. 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
+ }