bpmn-js 18.8.0 → 18.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) 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 +39465 -39235
  5. package/dist/bpmn-modeler.production.min.js +36 -36
  6. package/dist/bpmn-navigated-viewer.development.js +21216 -21199
  7. package/dist/bpmn-navigated-viewer.production.min.js +5 -5
  8. package/dist/bpmn-viewer.development.js +21170 -21153
  9. package/dist/bpmn-viewer.production.min.js +5 -5
  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 +208 -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 +2419 -2412
  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 +287 -287
  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/label-link/LabelLink.d.ts +27 -0
  120. package/lib/features/label-link/LabelLink.js +202 -0
  121. package/lib/features/label-link/index.d.ts +14 -0
  122. package/lib/features/label-link/index.js +15 -0
  123. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  124. package/lib/features/modeling/BpmnFactory.js +180 -180
  125. package/lib/features/modeling/BpmnLayouter.d.ts +30 -30
  126. package/lib/features/modeling/BpmnLayouter.js +488 -488
  127. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  128. package/lib/features/modeling/BpmnUpdater.js +818 -818
  129. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  130. package/lib/features/modeling/ElementFactory.js +412 -412
  131. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  132. package/lib/features/modeling/Modeling.d.ts +150 -150
  133. package/lib/features/modeling/Modeling.js +309 -309
  134. package/lib/features/modeling/Modeling.test.ts +147 -147
  135. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +19 -19
  136. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +288 -288
  137. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  138. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  139. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  140. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  141. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  142. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  143. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  144. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  145. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  146. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  147. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  148. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  149. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +46 -46
  150. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  151. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  152. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  153. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  154. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  155. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  156. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  157. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  158. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  159. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  160. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  161. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  162. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  163. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  164. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  165. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  166. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  167. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  168. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  169. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  170. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  171. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  172. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  173. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  174. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  175. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  176. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  177. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  178. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  179. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  180. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  181. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +59 -59
  182. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  183. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  184. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  185. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  186. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +64 -64
  187. package/lib/features/modeling/behavior/ResizeBehavior.js +265 -265
  188. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  189. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  190. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  191. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.d.ts +16 -16
  192. package/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js +66 -66
  193. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  194. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  195. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  196. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  197. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  198. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +56 -56
  199. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  200. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  201. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  202. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  203. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  204. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  205. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  206. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  207. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  208. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  209. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  210. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  211. package/lib/features/modeling/behavior/index.d.ts +85 -85
  212. package/lib/features/modeling/behavior/index.js +131 -131
  213. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  214. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  215. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  216. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  217. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  218. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  219. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  220. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  221. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  222. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  223. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  224. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  225. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  226. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  227. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  228. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  229. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  230. package/lib/features/modeling/cmd/AddLaneHandler.js +187 -187
  231. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  232. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  233. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  234. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  235. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  236. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  237. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  238. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  239. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  240. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  241. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  242. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  243. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  244. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  245. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  246. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  247. package/lib/features/modeling/index.d.ts +39 -39
  248. package/lib/features/modeling/index.js +45 -45
  249. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  250. package/lib/features/modeling/util/LaneUtil.js +188 -188
  251. package/lib/features/modeling/util/ModelingUtil.d.ts +23 -23
  252. package/lib/features/modeling/util/ModelingUtil.js +88 -88
  253. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  254. package/lib/features/modeling-feedback/ModelingFeedback.js +51 -51
  255. package/lib/features/modeling-feedback/index.d.ts +9 -9
  256. package/lib/features/modeling-feedback/index.js +12 -12
  257. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  258. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  259. package/lib/features/ordering/index.d.ts +6 -6
  260. package/lib/features/ordering/index.js +5 -5
  261. package/lib/features/outline/OutlineProvider.d.ts +39 -39
  262. package/lib/features/outline/OutlineProvider.js +203 -189
  263. package/lib/features/outline/OutlineUtil.d.ts +23 -23
  264. package/lib/features/outline/OutlineUtil.js +35 -35
  265. package/lib/features/outline/index.d.ts +10 -10
  266. package/lib/features/outline/index.js +10 -10
  267. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  268. package/lib/features/palette/PaletteProvider.js +214 -214
  269. package/lib/features/palette/index.d.ts +22 -22
  270. package/lib/features/palette/index.js +23 -23
  271. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  272. package/lib/features/popup-menu/ReplaceMenuProvider.js +656 -656
  273. package/lib/features/popup-menu/index.d.ts +13 -13
  274. package/lib/features/popup-menu/index.js +16 -16
  275. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  276. package/lib/features/popup-menu/util/Icons.js +14 -14
  277. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  278. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  279. package/lib/features/replace/BpmnReplace.d.ts +45 -45
  280. package/lib/features/replace/BpmnReplace.js +391 -391
  281. package/lib/features/replace/ReplaceOptions.d.ts +85 -85
  282. package/lib/features/replace/ReplaceOptions.js +1198 -1198
  283. package/lib/features/replace/index.d.ts +16 -16
  284. package/lib/features/replace/index.js +14 -14
  285. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  286. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  287. package/lib/features/replace-preview/index.d.ts +9 -9
  288. package/lib/features/replace-preview/index.js +11 -11
  289. package/lib/features/rules/BpmnRules.d.ts +181 -181
  290. package/lib/features/rules/BpmnRules.js +1191 -1191
  291. package/lib/features/rules/index.d.ts +9 -9
  292. package/lib/features/rules/index.js +11 -11
  293. package/lib/features/search/BpmnSearchProvider.d.ts +34 -34
  294. package/lib/features/search/BpmnSearchProvider.js +91 -91
  295. package/lib/features/search/index.d.ts +11 -11
  296. package/lib/features/search/index.js +14 -14
  297. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  298. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  299. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  300. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  301. package/lib/features/snapping/index.d.ts +13 -13
  302. package/lib/features/snapping/index.js +12 -12
  303. package/lib/features/space-tool/BpmnSpaceTool.d.ts +24 -24
  304. package/lib/features/space-tool/BpmnSpaceTool.js +96 -96
  305. package/lib/features/space-tool/index.d.ts +9 -9
  306. package/lib/features/space-tool/index.js +7 -7
  307. package/lib/import/BpmnImporter.d.ts +51 -51
  308. package/lib/import/BpmnImporter.js +363 -363
  309. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  310. package/lib/import/BpmnTreeWalker.js +452 -452
  311. package/lib/import/Importer.d.ts +25 -25
  312. package/lib/import/Importer.js +222 -222
  313. package/lib/import/Util.d.ts +1 -1
  314. package/lib/import/Util.js +6 -6
  315. package/lib/import/index.d.ts +8 -8
  316. package/lib/import/index.js +9 -9
  317. package/lib/index.d.ts +1 -1
  318. package/lib/index.js +2 -2
  319. package/lib/model/Types.d.ts +25 -25
  320. package/lib/model/Types.ts +40 -40
  321. package/lib/util/CompatibilityUtil.d.ts +8 -8
  322. package/lib/util/CompatibilityUtil.js +29 -29
  323. package/lib/util/DiUtil.d.ts +60 -60
  324. package/lib/util/DiUtil.js +122 -122
  325. package/lib/util/DrilldownUtil.d.ts +39 -39
  326. package/lib/util/DrilldownUtil.js +69 -69
  327. package/lib/util/LabelUtil.d.ts +92 -83
  328. package/lib/util/LabelUtil.js +277 -266
  329. package/lib/util/ModelUtil.d.ts +40 -40
  330. package/lib/util/ModelUtil.js +58 -58
  331. package/lib/util/PoweredByUtil.d.ts +8 -8
  332. package/lib/util/PoweredByUtil.js +99 -99
  333. package/lib/util/Types.js +4 -4
  334. package/lib/util/Types.ts +3 -3
  335. package/package.json +131 -131
  336. package/test/helper/TranslationCollector.js +15 -15
  337. package/test/helper/index.js +313 -313
  338. package/test/matchers/BoundsMatchers.js +252 -252
  339. package/test/matchers/ConnectionMatchers.js +165 -165
  340. package/test/matchers/JSONMatcher.js +19 -19
  341. package/test/util/KeyEvents.js +22 -22
  342. package/test/util/MockEvents.js +61 -61
  343. package/test/util/custom-rules/CustomRules.js +16 -16
  344. package/test/util/custom-rules/index.js +6 -6
  345. package/test/util/svgHelpers.js +52 -0
@@ -1,288 +1,288 @@
1
- import inherits from 'inherits-browser';
2
-
3
- import {
4
- getOrientation,
5
- getMid,
6
- asTRBL
7
- } from 'diagram-js/lib/layout/LayoutUtil';
8
-
9
- import {
10
- substract
11
- } from 'diagram-js/lib/util/Math';
12
-
13
- import {
14
- hasExternalLabel
15
- } from '../../../util/LabelUtil';
16
-
17
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
18
- import { isConnection } from 'diagram-js/lib/util/ModelUtil';
19
-
20
- /**
21
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
22
- * @typedef {import('../Modeling').default} Modeling
23
- *
24
- * @typedef {import('../../../model/Types').Element} Element
25
- * @typedef {import('../../../model/Types').Shape} Shape
26
- *
27
- * @typedef {import('diagram-js/lib/util/Types').DirectionTRBL} DirectionTRBL
28
- */
29
-
30
- var ALIGNMENTS = [
31
- 'top',
32
- 'bottom',
33
- 'left',
34
- 'right'
35
- ];
36
-
37
- var ELEMENT_LABEL_DISTANCE = 10;
38
-
39
- /**
40
- * A behavior that ensures that labels are positioned in a way that they do not
41
- * overlap with other elements or connections.
42
- *
43
- * @param {EventBus} eventBus
44
- * @param {Modeling} modeling
45
- */
46
- export default function AdaptiveLabelPositioningBehavior(eventBus, modeling) {
47
-
48
- CommandInterceptor.call(this, eventBus);
49
-
50
- this.postExecuted([
51
- 'connection.create',
52
- 'connection.layout',
53
- 'connection.updateWaypoints'
54
- ], function(event) {
55
- var context = event.context,
56
- connection = context.connection,
57
- source = connection.source,
58
- target = connection.target,
59
- hints = context.hints || {};
60
-
61
- if (hints.createElementsBehavior !== false) {
62
- checkLabelAdjustment(source);
63
- checkLabelAdjustment(target);
64
- }
65
- });
66
-
67
-
68
- this.postExecuted([
69
- 'label.create'
70
- ], function(event) {
71
- var context = event.context,
72
- shape = context.shape,
73
- hints = context.hints || {};
74
-
75
- if (hints.createElementsBehavior !== false) {
76
- checkLabelAdjustment(shape.labelTarget);
77
- }
78
- });
79
-
80
-
81
- this.postExecuted([
82
- 'elements.create'
83
- ], function(event) {
84
- var context = event.context,
85
- elements = context.elements,
86
- hints = context.hints || {};
87
-
88
- if (hints.createElementsBehavior !== false) {
89
- elements.forEach(function(element) {
90
- checkLabelAdjustment(element);
91
- });
92
- }
93
- });
94
-
95
- function checkLabelAdjustment(element) {
96
-
97
- // skip non-existing labels
98
- if (!hasExternalLabel(element)) {
99
- return;
100
- }
101
-
102
- if (isConnection(element)) {
103
- return;
104
- }
105
-
106
- var optimalPosition = getOptimalPosition(element);
107
-
108
- // no optimal position found
109
- if (!optimalPosition) {
110
- return;
111
- }
112
-
113
- adjustLabelPosition(element, optimalPosition);
114
- }
115
-
116
- function adjustLabelPosition(element, orientation) {
117
-
118
- var elementMid = getMid(element),
119
- label = element.label,
120
- labelMid = getMid(label);
121
-
122
- // ignore labels that are being created
123
- if (!label.parent) {
124
- return;
125
- }
126
-
127
- var elementTrbl = asTRBL(element);
128
-
129
- var newLabelMid;
130
-
131
- switch (orientation) {
132
- case 'top':
133
- newLabelMid = {
134
- x: elementMid.x,
135
- y: elementTrbl.top - ELEMENT_LABEL_DISTANCE - label.height / 2
136
- };
137
-
138
- break;
139
-
140
- case 'left':
141
-
142
- newLabelMid = {
143
- x: elementTrbl.left - ELEMENT_LABEL_DISTANCE - label.width / 2,
144
- y: elementMid.y
145
- };
146
-
147
- break;
148
-
149
- case 'bottom':
150
-
151
- newLabelMid = {
152
- x: elementMid.x,
153
- y: elementTrbl.bottom + ELEMENT_LABEL_DISTANCE + label.height / 2
154
- };
155
-
156
- break;
157
-
158
- case 'right':
159
-
160
- newLabelMid = {
161
- x: elementTrbl.right + ELEMENT_LABEL_DISTANCE + label.width / 2,
162
- y: elementMid.y
163
- };
164
-
165
- break;
166
- }
167
-
168
- var delta = substract(newLabelMid, labelMid);
169
-
170
- modeling.moveShape(label, delta);
171
- }
172
-
173
- }
174
-
175
- inherits(AdaptiveLabelPositioningBehavior, CommandInterceptor);
176
-
177
- AdaptiveLabelPositioningBehavior.$inject = [
178
- 'eventBus',
179
- 'modeling'
180
- ];
181
-
182
-
183
- // helpers //////////////////////
184
-
185
- /**
186
- * Return alignments which are taken by a boundary's host element
187
- *
188
- * @param {Shape} element
189
- *
190
- * @return {DirectionTRBL[]}
191
- */
192
- function getTakenHostAlignments(element) {
193
-
194
- var hostElement = element.host,
195
- elementMid = getMid(element),
196
- hostOrientation = getOrientation(elementMid, hostElement);
197
-
198
- var freeAlignments;
199
-
200
- // check whether there is a multi-orientation, e.g. 'top-left'
201
- if (hostOrientation.indexOf('-') >= 0) {
202
- freeAlignments = hostOrientation.split('-');
203
- } else {
204
- freeAlignments = [ hostOrientation ];
205
- }
206
-
207
- var takenAlignments = ALIGNMENTS.filter(function(alignment) {
208
-
209
- return freeAlignments.indexOf(alignment) === -1;
210
- });
211
-
212
- return takenAlignments;
213
-
214
- }
215
-
216
- /**
217
- * Return alignments which are taken by related connections
218
- *
219
- * @param {Element} element
220
- *
221
- * @return {DirectionTRBL[]}
222
- */
223
- function getTakenConnectionAlignments(element) {
224
-
225
- var elementMid = getMid(element);
226
-
227
- var takenAlignments = [].concat(
228
- element.incoming.map(function(c) {
229
- return c.waypoints[c.waypoints.length - 2 ];
230
- }),
231
- element.outgoing.map(function(c) {
232
- return c.waypoints[1];
233
- })
234
- ).map(function(point) {
235
- return getApproximateOrientation(elementMid, point);
236
- });
237
-
238
- return takenAlignments;
239
- }
240
-
241
- /**
242
- * Return the optimal label position around an element
243
- * or `undefined`, if none was found.
244
- *
245
- * @param {Element} element
246
- *
247
- * @return {DirectionTRBL|undefined}
248
- */
249
- function getOptimalPosition(element) {
250
-
251
- var labelMid = getMid(element.label);
252
-
253
- var elementMid = getMid(element);
254
-
255
- var labelOrientation = getApproximateOrientation(elementMid, labelMid);
256
-
257
- if (!isAligned(labelOrientation)) {
258
- return;
259
- }
260
-
261
- var takenAlignments = getTakenConnectionAlignments(element);
262
-
263
- if (element.host) {
264
- var takenHostAlignments = getTakenHostAlignments(element);
265
-
266
- takenAlignments = takenAlignments.concat(takenHostAlignments);
267
- }
268
-
269
- var freeAlignments = ALIGNMENTS.filter(function(alignment) {
270
-
271
- return takenAlignments.indexOf(alignment) === -1;
272
- });
273
-
274
- // NOTHING TO DO; label already aligned a.O.K.
275
- if (freeAlignments.indexOf(labelOrientation) !== -1) {
276
- return;
277
- }
278
-
279
- return freeAlignments[0];
280
- }
281
-
282
- function getApproximateOrientation(p0, p1) {
283
- return getOrientation(p1, p0, 5);
284
- }
285
-
286
- function isAligned(orientation) {
287
- return ALIGNMENTS.indexOf(orientation) !== -1;
288
- }
1
+ import inherits from 'inherits-browser';
2
+
3
+ import {
4
+ getOrientation,
5
+ getMid,
6
+ asTRBL
7
+ } from 'diagram-js/lib/layout/LayoutUtil';
8
+
9
+ import {
10
+ substract
11
+ } from 'diagram-js/lib/util/Math';
12
+
13
+ import {
14
+ hasExternalLabel
15
+ } from '../../../util/LabelUtil';
16
+
17
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
18
+ import { isConnection } from 'diagram-js/lib/util/ModelUtil';
19
+
20
+ /**
21
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
22
+ * @typedef {import('../Modeling').default} Modeling
23
+ *
24
+ * @typedef {import('../../../model/Types').Element} Element
25
+ * @typedef {import('../../../model/Types').Shape} Shape
26
+ *
27
+ * @typedef {import('diagram-js/lib/util/Types').DirectionTRBL} DirectionTRBL
28
+ */
29
+
30
+ var ALIGNMENTS = [
31
+ 'top',
32
+ 'bottom',
33
+ 'left',
34
+ 'right'
35
+ ];
36
+
37
+ var ELEMENT_LABEL_DISTANCE = 10;
38
+
39
+ /**
40
+ * A behavior that ensures that labels are positioned in a way that they do not
41
+ * overlap with other elements or connections.
42
+ *
43
+ * @param {EventBus} eventBus
44
+ * @param {Modeling} modeling
45
+ */
46
+ export default function AdaptiveLabelPositioningBehavior(eventBus, modeling) {
47
+
48
+ CommandInterceptor.call(this, eventBus);
49
+
50
+ this.postExecuted([
51
+ 'connection.create',
52
+ 'connection.layout',
53
+ 'connection.updateWaypoints'
54
+ ], function(event) {
55
+ var context = event.context,
56
+ connection = context.connection,
57
+ source = connection.source,
58
+ target = connection.target,
59
+ hints = context.hints || {};
60
+
61
+ if (hints.createElementsBehavior !== false) {
62
+ checkLabelAdjustment(source);
63
+ checkLabelAdjustment(target);
64
+ }
65
+ });
66
+
67
+
68
+ this.postExecuted([
69
+ 'label.create'
70
+ ], function(event) {
71
+ var context = event.context,
72
+ shape = context.shape,
73
+ hints = context.hints || {};
74
+
75
+ if (hints.createElementsBehavior !== false) {
76
+ checkLabelAdjustment(shape.labelTarget);
77
+ }
78
+ });
79
+
80
+
81
+ this.postExecuted([
82
+ 'elements.create'
83
+ ], function(event) {
84
+ var context = event.context,
85
+ elements = context.elements,
86
+ hints = context.hints || {};
87
+
88
+ if (hints.createElementsBehavior !== false) {
89
+ elements.forEach(function(element) {
90
+ checkLabelAdjustment(element);
91
+ });
92
+ }
93
+ });
94
+
95
+ function checkLabelAdjustment(element) {
96
+
97
+ // skip non-existing labels
98
+ if (!hasExternalLabel(element)) {
99
+ return;
100
+ }
101
+
102
+ if (isConnection(element)) {
103
+ return;
104
+ }
105
+
106
+ var optimalPosition = getOptimalPosition(element);
107
+
108
+ // no optimal position found
109
+ if (!optimalPosition) {
110
+ return;
111
+ }
112
+
113
+ adjustLabelPosition(element, optimalPosition);
114
+ }
115
+
116
+ function adjustLabelPosition(element, orientation) {
117
+
118
+ var elementMid = getMid(element),
119
+ label = element.label,
120
+ labelMid = getMid(label);
121
+
122
+ // ignore labels that are being created
123
+ if (!label.parent) {
124
+ return;
125
+ }
126
+
127
+ var elementTrbl = asTRBL(element);
128
+
129
+ var newLabelMid;
130
+
131
+ switch (orientation) {
132
+ case 'top':
133
+ newLabelMid = {
134
+ x: elementMid.x,
135
+ y: elementTrbl.top - ELEMENT_LABEL_DISTANCE - label.height / 2
136
+ };
137
+
138
+ break;
139
+
140
+ case 'left':
141
+
142
+ newLabelMid = {
143
+ x: elementTrbl.left - ELEMENT_LABEL_DISTANCE - label.width / 2,
144
+ y: elementMid.y
145
+ };
146
+
147
+ break;
148
+
149
+ case 'bottom':
150
+
151
+ newLabelMid = {
152
+ x: elementMid.x,
153
+ y: elementTrbl.bottom + ELEMENT_LABEL_DISTANCE + label.height / 2
154
+ };
155
+
156
+ break;
157
+
158
+ case 'right':
159
+
160
+ newLabelMid = {
161
+ x: elementTrbl.right + ELEMENT_LABEL_DISTANCE + label.width / 2,
162
+ y: elementMid.y
163
+ };
164
+
165
+ break;
166
+ }
167
+
168
+ var delta = substract(newLabelMid, labelMid);
169
+
170
+ modeling.moveShape(label, delta);
171
+ }
172
+
173
+ }
174
+
175
+ inherits(AdaptiveLabelPositioningBehavior, CommandInterceptor);
176
+
177
+ AdaptiveLabelPositioningBehavior.$inject = [
178
+ 'eventBus',
179
+ 'modeling'
180
+ ];
181
+
182
+
183
+ // helpers //////////////////////
184
+
185
+ /**
186
+ * Return alignments which are taken by a boundary's host element
187
+ *
188
+ * @param {Shape} element
189
+ *
190
+ * @return {DirectionTRBL[]}
191
+ */
192
+ function getTakenHostAlignments(element) {
193
+
194
+ var hostElement = element.host,
195
+ elementMid = getMid(element),
196
+ hostOrientation = getOrientation(elementMid, hostElement);
197
+
198
+ var freeAlignments;
199
+
200
+ // check whether there is a multi-orientation, e.g. 'top-left'
201
+ if (hostOrientation.indexOf('-') >= 0) {
202
+ freeAlignments = hostOrientation.split('-');
203
+ } else {
204
+ freeAlignments = [ hostOrientation ];
205
+ }
206
+
207
+ var takenAlignments = ALIGNMENTS.filter(function(alignment) {
208
+
209
+ return freeAlignments.indexOf(alignment) === -1;
210
+ });
211
+
212
+ return takenAlignments;
213
+
214
+ }
215
+
216
+ /**
217
+ * Return alignments which are taken by related connections
218
+ *
219
+ * @param {Element} element
220
+ *
221
+ * @return {DirectionTRBL[]}
222
+ */
223
+ function getTakenConnectionAlignments(element) {
224
+
225
+ var elementMid = getMid(element);
226
+
227
+ var takenAlignments = [].concat(
228
+ element.incoming.map(function(c) {
229
+ return c.waypoints[c.waypoints.length - 2 ];
230
+ }),
231
+ element.outgoing.map(function(c) {
232
+ return c.waypoints[1];
233
+ })
234
+ ).map(function(point) {
235
+ return getApproximateOrientation(elementMid, point);
236
+ });
237
+
238
+ return takenAlignments;
239
+ }
240
+
241
+ /**
242
+ * Return the optimal label position around an element
243
+ * or `undefined`, if none was found.
244
+ *
245
+ * @param {Element} element
246
+ *
247
+ * @return {DirectionTRBL|undefined}
248
+ */
249
+ function getOptimalPosition(element) {
250
+
251
+ var labelMid = getMid(element.label);
252
+
253
+ var elementMid = getMid(element);
254
+
255
+ var labelOrientation = getApproximateOrientation(elementMid, labelMid);
256
+
257
+ if (!isAligned(labelOrientation)) {
258
+ return;
259
+ }
260
+
261
+ var takenAlignments = getTakenConnectionAlignments(element);
262
+
263
+ if (element.host) {
264
+ var takenHostAlignments = getTakenHostAlignments(element);
265
+
266
+ takenAlignments = takenAlignments.concat(takenHostAlignments);
267
+ }
268
+
269
+ var freeAlignments = ALIGNMENTS.filter(function(alignment) {
270
+
271
+ return takenAlignments.indexOf(alignment) === -1;
272
+ });
273
+
274
+ // NOTHING TO DO; label already aligned a.O.K.
275
+ if (freeAlignments.indexOf(labelOrientation) !== -1) {
276
+ return;
277
+ }
278
+
279
+ return freeAlignments[0];
280
+ }
281
+
282
+ function getApproximateOrientation(p0, p1) {
283
+ return getOrientation(p1, p0, 5);
284
+ }
285
+
286
+ function isAligned(orientation) {
287
+ return ALIGNMENTS.indexOf(orientation) !== -1;
288
+ }
@@ -1,6 +1,6 @@
1
- export default class AppendBehavior extends CommandInterceptor {
2
- constructor(eventBus: any);
3
- }
4
-
5
- type EventBus = import("diagram-js/lib/core/EventBus").default;
6
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
1
+ export default class AppendBehavior extends CommandInterceptor {
2
+ constructor(eventBus: any);
3
+ }
4
+
5
+ type EventBus = import("diagram-js/lib/core/EventBus").default;
6
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
@@ -1,43 +1,43 @@
1
- import inherits from 'inherits-browser';
2
-
3
- import { is } from '../../../util/ModelUtil';
4
-
5
- import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
6
-
7
- /**
8
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
9
- */
10
-
11
- export default function AppendBehavior(eventBus) {
12
-
13
- CommandInterceptor.call(this, eventBus);
14
-
15
- // assign correct shape position unless already set
16
-
17
- this.preExecute('shape.append', function(context) {
18
-
19
- var source = context.source,
20
- shape = context.shape;
21
-
22
- if (!context.position) {
23
-
24
- if (is(shape, 'bpmn:TextAnnotation')) {
25
- context.position = {
26
- x: source.x + source.width / 2 + 75,
27
- y: source.y - 50 - shape.height / 2
28
- };
29
- } else {
30
- context.position = {
31
- x: source.x + source.width + 80 + shape.width / 2,
32
- y: source.y + source.height / 2
33
- };
34
- }
35
- }
36
- }, true);
37
- }
38
-
39
- inherits(AppendBehavior, CommandInterceptor);
40
-
41
- AppendBehavior.$inject = [
42
- 'eventBus'
1
+ import inherits from 'inherits-browser';
2
+
3
+ import { is } from '../../../util/ModelUtil';
4
+
5
+ import CommandInterceptor from 'diagram-js/lib/command/CommandInterceptor';
6
+
7
+ /**
8
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
9
+ */
10
+
11
+ export default function AppendBehavior(eventBus) {
12
+
13
+ CommandInterceptor.call(this, eventBus);
14
+
15
+ // assign correct shape position unless already set
16
+
17
+ this.preExecute('shape.append', function(context) {
18
+
19
+ var source = context.source,
20
+ shape = context.shape;
21
+
22
+ if (!context.position) {
23
+
24
+ if (is(shape, 'bpmn:TextAnnotation')) {
25
+ context.position = {
26
+ x: source.x + source.width / 2 + 75,
27
+ y: source.y - 50 - shape.height / 2
28
+ };
29
+ } else {
30
+ context.position = {
31
+ x: source.x + source.width + 80 + shape.width / 2,
32
+ y: source.y + source.height / 2
33
+ };
34
+ }
35
+ }
36
+ }, true);
37
+ }
38
+
39
+ inherits(AppendBehavior, CommandInterceptor);
40
+
41
+ AppendBehavior.$inject = [
42
+ 'eventBus'
43
43
  ];