bpmn-js 17.7.0 → 17.7.1

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 (337) 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 +36730 -36727
  5. package/dist/bpmn-modeler.production.min.js +4 -4
  6. package/dist/bpmn-navigated-viewer.development.js +21139 -21136
  7. package/dist/bpmn-navigated-viewer.production.min.js +3 -3
  8. package/dist/bpmn-viewer.development.js +21054 -21051
  9. package/dist/bpmn-viewer.production.min.js +3 -3
  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/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 +275 -275
  66. package/lib/features/copy-paste/index.d.ts +9 -9
  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 +9 -9
  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 +131 -131
  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 +18 -18
  85. package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
  86. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  87. package/lib/features/drilldown/SubprocessCompatibility.js +266 -268
  88. package/lib/features/drilldown/index.d.ts +13 -13
  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 +6 -6
  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 +12 -12
  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 +11 -11
  101. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  102. package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
  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 +7 -7
  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 +144 -144
  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 +26 -26
  122. package/lib/features/modeling/BpmnLayouter.js +481 -481
  123. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  124. package/lib/features/modeling/BpmnUpdater.js +837 -837
  125. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  126. package/lib/features/modeling/ElementFactory.js +406 -406
  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 +307 -307
  130. package/lib/features/modeling/Modeling.test.ts +147 -147
  131. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
  132. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
  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/GroupBehavior.js +332 -332
  162. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  163. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  164. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  165. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  166. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  167. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  168. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  169. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  170. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  171. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  172. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  173. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  174. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  175. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  176. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  177. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  178. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
  179. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  180. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  181. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  182. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  183. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
  184. package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
  185. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  186. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  187. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  188. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  189. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  190. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  191. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  192. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  193. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
  194. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  195. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  196. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  197. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  198. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  199. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  200. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  201. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  202. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  203. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  204. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  205. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  206. package/lib/features/modeling/behavior/index.d.ts +2 -2
  207. package/lib/features/modeling/behavior/index.js +128 -128
  208. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  209. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  210. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  211. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  212. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  213. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  214. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  215. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  216. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  217. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  218. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  219. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  220. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  221. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  222. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  223. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  224. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  225. package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
  226. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  227. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  228. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  229. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  230. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  231. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  232. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  233. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  234. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  235. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  236. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  237. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  238. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  239. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  240. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  241. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  242. package/lib/features/modeling/index.d.ts +27 -27
  243. package/lib/features/modeling/index.js +45 -45
  244. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  245. package/lib/features/modeling/util/LaneUtil.js +188 -188
  246. package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
  247. package/lib/features/modeling/util/ModelingUtil.js +54 -54
  248. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  249. package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
  250. package/lib/features/modeling-feedback/index.d.ts +7 -7
  251. package/lib/features/modeling-feedback/index.js +12 -12
  252. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  253. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  254. package/lib/features/ordering/index.d.ts +6 -6
  255. package/lib/features/ordering/index.js +5 -5
  256. package/lib/features/outline/OutlineProvider.d.ts +34 -34
  257. package/lib/features/outline/OutlineProvider.js +179 -179
  258. package/lib/features/outline/OutlineUtil.d.ts +18 -18
  259. package/lib/features/outline/OutlineUtil.js +31 -31
  260. package/lib/features/outline/index.d.ts +7 -7
  261. package/lib/features/outline/index.js +10 -10
  262. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  263. package/lib/features/palette/PaletteProvider.js +214 -214
  264. package/lib/features/palette/index.d.ts +9 -9
  265. package/lib/features/palette/index.js +23 -23
  266. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  267. package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
  268. package/lib/features/popup-menu/index.d.ts +11 -11
  269. package/lib/features/popup-menu/index.js +16 -16
  270. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  271. package/lib/features/popup-menu/util/Icons.js +14 -14
  272. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  273. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  274. package/lib/features/replace/BpmnReplace.d.ts +47 -47
  275. package/lib/features/replace/BpmnReplace.js +382 -382
  276. package/lib/features/replace/ReplaceOptions.d.ts +75 -75
  277. package/lib/features/replace/ReplaceOptions.js +919 -919
  278. package/lib/features/replace/index.d.ts +9 -9
  279. package/lib/features/replace/index.js +14 -14
  280. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  281. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  282. package/lib/features/replace-preview/index.d.ts +7 -7
  283. package/lib/features/replace-preview/index.js +11 -11
  284. package/lib/features/rules/BpmnRules.d.ts +181 -181
  285. package/lib/features/rules/BpmnRules.js +1191 -1191
  286. package/lib/features/rules/index.d.ts +7 -7
  287. package/lib/features/rules/index.js +11 -11
  288. package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
  289. package/lib/features/search/BpmnSearchProvider.js +136 -136
  290. package/lib/features/search/index.d.ts +7 -7
  291. package/lib/features/search/index.js +12 -12
  292. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  293. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  294. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  295. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  296. package/lib/features/snapping/index.d.ts +9 -9
  297. package/lib/features/snapping/index.js +12 -12
  298. package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
  299. package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
  300. package/lib/features/space-tool/index.d.ts +6 -6
  301. package/lib/features/space-tool/index.js +7 -7
  302. package/lib/import/BpmnImporter.d.ts +51 -51
  303. package/lib/import/BpmnImporter.js +363 -363
  304. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  305. package/lib/import/BpmnTreeWalker.js +453 -453
  306. package/lib/import/Importer.d.ts +25 -25
  307. package/lib/import/Importer.js +222 -217
  308. package/lib/import/Util.d.ts +1 -1
  309. package/lib/import/Util.js +6 -6
  310. package/lib/import/index.d.ts +6 -6
  311. package/lib/import/index.js +9 -9
  312. package/lib/model/Types.d.ts +25 -25
  313. package/lib/model/Types.ts +40 -40
  314. package/lib/util/CompatibilityUtil.d.ts +8 -8
  315. package/lib/util/CompatibilityUtil.js +29 -29
  316. package/lib/util/DiUtil.d.ts +60 -60
  317. package/lib/util/DiUtil.js +122 -122
  318. package/lib/util/DrilldownUtil.d.ts +39 -39
  319. package/lib/util/DrilldownUtil.js +69 -69
  320. package/lib/util/LabelUtil.d.ts +83 -83
  321. package/lib/util/LabelUtil.js +262 -262
  322. package/lib/util/ModelUtil.d.ts +40 -40
  323. package/lib/util/ModelUtil.js +58 -58
  324. package/lib/util/PoweredByUtil.d.ts +8 -8
  325. package/lib/util/PoweredByUtil.js +99 -99
  326. package/lib/util/Types.js +4 -4
  327. package/lib/util/Types.ts +3 -3
  328. package/package.json +132 -132
  329. package/test/helper/TranslationCollector.js +15 -15
  330. package/test/helper/index.js +313 -313
  331. package/test/matchers/BoundsMatchers.js +252 -252
  332. package/test/matchers/ConnectionMatchers.js +165 -165
  333. package/test/matchers/JSONMatcher.js +19 -19
  334. package/test/util/KeyEvents.js +22 -22
  335. package/test/util/MockEvents.js +61 -61
  336. package/test/util/custom-rules/CustomRules.js +16 -16
  337. package/test/util/custom-rules/index.js +6 -6
@@ -1,259 +1,259 @@
1
- import {
2
- getDistancePointPoint,
3
- rotateVector,
4
- getAngle
5
- } from './GeometricUtil';
6
-
7
- import {
8
- getAttachment
9
- } from './LineAttachmentUtil';
10
-
11
- import {
12
- roundPoint
13
- } from 'diagram-js/lib/layout/LayoutUtil';
14
-
15
- /**
16
- * @typedef {import('diagram-js/lib/util/Types').Point} Point
17
- *
18
- * @typedef {import('./LineAttachmentUtil').Attachment} Attachment
19
- *
20
- * @typedef { {
21
- * point: Point;
22
- * delta: Point;
23
- * } } AnchorPointAdjustment
24
- *
25
- * @typedef { {
26
- * segmentMove?: {
27
- * segmentStartIndex: number;
28
- * newSegmentStartIndex: number;
29
- * };
30
- * bendpointMove?: {
31
- * insert: boolean;
32
- * bendpointIndex: number;
33
- * };
34
- * connectionStart: boolean;
35
- * connectionEnd: boolean;
36
- * } } FindNewLineStartIndexHints
37
- */
38
-
39
- /**
40
- * @param {Point[]} oldWaypoints
41
- * @param {Point[]} newWaypoints
42
- * @param {Attachment} attachment
43
- * @param {FindNewLineStartIndexHints} hints
44
- *
45
- * @return {number}
46
- */
47
- export function findNewLineStartIndex(oldWaypoints, newWaypoints, attachment, hints) {
48
-
49
- var index = attachment.segmentIndex;
50
-
51
- var offset = newWaypoints.length - oldWaypoints.length;
52
-
53
- // segmentMove happened
54
- if (hints.segmentMove) {
55
-
56
- var oldSegmentStartIndex = hints.segmentMove.segmentStartIndex,
57
- newSegmentStartIndex = hints.segmentMove.newSegmentStartIndex;
58
-
59
- // if point was on moved segment return new segment index
60
- if (index === oldSegmentStartIndex) {
61
- return newSegmentStartIndex;
62
- }
63
-
64
- // point is after new segment index
65
- if (index >= newSegmentStartIndex) {
66
- return (index + offset < newSegmentStartIndex) ? newSegmentStartIndex : index + offset;
67
- }
68
-
69
- // if point is before new segment index
70
- return index;
71
- }
72
-
73
- // bendpointMove happened
74
- if (hints.bendpointMove) {
75
-
76
- var insert = hints.bendpointMove.insert,
77
- bendpointIndex = hints.bendpointMove.bendpointIndex,
78
- newIndex;
79
-
80
- // waypoints length didnt change
81
- if (offset === 0) {
82
- return index;
83
- }
84
-
85
- // point behind new/removed bendpoint
86
- if (index >= bendpointIndex) {
87
- newIndex = insert ? index + 1 : index - 1;
88
- }
89
-
90
- // point before new/removed bendpoint
91
- if (index < bendpointIndex) {
92
-
93
- newIndex = index;
94
-
95
- // decide point should take right or left segment
96
- if (insert && attachment.type !== 'bendpoint' && bendpointIndex - 1 === index) {
97
-
98
- var rel = relativePositionMidWaypoint(newWaypoints, bendpointIndex);
99
-
100
- if (rel < attachment.relativeLocation) {
101
- newIndex++;
102
- }
103
- }
104
- }
105
-
106
- return newIndex;
107
- }
108
-
109
- // start/end changed
110
- if (offset === 0) {
111
- return index;
112
- }
113
-
114
- if (hints.connectionStart && index === 0) {
115
- return 0;
116
- }
117
-
118
- if (hints.connectionEnd && index === oldWaypoints.length - 2) {
119
- return newWaypoints.length - 2;
120
- }
121
-
122
- // if nothing fits, take the middle segment
123
- return Math.floor((newWaypoints.length - 2) / 2);
124
- }
125
-
126
-
127
- /**
128
- * Calculate the required adjustment (move delta) for the given point
129
- * after the connection waypoints got updated.
130
- *
131
- * @param {Point} position
132
- * @param {Point[]} newWaypoints
133
- * @param {Point[]} oldWaypoints
134
- * @param {FindNewLineStartIndexHints} hints
135
- *
136
- * @return {AnchorPointAdjustment} result
137
- */
138
- export function getAnchorPointAdjustment(position, newWaypoints, oldWaypoints, hints) {
139
-
140
- var dx = 0,
141
- dy = 0;
142
-
143
- var oldPosition = {
144
- point: position,
145
- delta: { x: 0, y: 0 }
146
- };
147
-
148
- // get closest attachment
149
- var attachment = getAttachment(position, oldWaypoints),
150
- oldLabelLineIndex = attachment.segmentIndex,
151
- newLabelLineIndex = findNewLineStartIndex(oldWaypoints, newWaypoints, attachment, hints);
152
-
153
-
154
- // should never happen
155
- // TODO(@janstuemmel): throw an error here when connectionSegmentMove is refactored
156
- if (newLabelLineIndex < 0 ||
157
- newLabelLineIndex > newWaypoints.length - 2 ||
158
- newLabelLineIndex === null) {
159
- return oldPosition;
160
- }
161
-
162
- var oldLabelLine = getLine(oldWaypoints, oldLabelLineIndex),
163
- newLabelLine = getLine(newWaypoints, newLabelLineIndex),
164
- oldFoot = attachment.position;
165
-
166
- var relativeFootPosition = getRelativeFootPosition(oldLabelLine, oldFoot),
167
- angleDelta = getAngleDelta(oldLabelLine, newLabelLine);
168
-
169
- // special rule if label on bendpoint
170
- if (attachment.type === 'bendpoint') {
171
-
172
- var offset = newWaypoints.length - oldWaypoints.length,
173
- oldBendpointIndex = attachment.bendpointIndex,
174
- oldBendpoint = oldWaypoints[oldBendpointIndex];
175
-
176
- // bendpoint position hasn't changed, return same position
177
- if (newWaypoints.indexOf(oldBendpoint) !== -1) {
178
- return oldPosition;
179
- }
180
-
181
- // new bendpoint and old bendpoint have same index, then just return the offset
182
- if (offset === 0) {
183
- var newBendpoint = newWaypoints[oldBendpointIndex];
184
-
185
- dx = newBendpoint.x - attachment.position.x,
186
- dy = newBendpoint.y - attachment.position.y;
187
-
188
- return {
189
- delta: {
190
- x: dx,
191
- y: dy
192
- },
193
- point: {
194
- x: position.x + dx,
195
- y: position.y + dy
196
- }
197
- };
198
- }
199
-
200
- // if bendpoints get removed
201
- if (offset < 0 && oldBendpointIndex !== 0 && oldBendpointIndex < oldWaypoints.length - 1) {
202
- relativeFootPosition = relativePositionMidWaypoint(oldWaypoints, oldBendpointIndex);
203
- }
204
- }
205
-
206
- var newFoot = {
207
- x: (newLabelLine[1].x - newLabelLine[0].x) * relativeFootPosition + newLabelLine[0].x,
208
- y: (newLabelLine[1].y - newLabelLine[0].y) * relativeFootPosition + newLabelLine[0].y
209
- };
210
-
211
- // the rotated vector to label
212
- var newLabelVector = rotateVector({
213
- x: position.x - oldFoot.x,
214
- y: position.y - oldFoot.y
215
- }, angleDelta);
216
-
217
- // the new relative position
218
- dx = newFoot.x + newLabelVector.x - position.x;
219
- dy = newFoot.y + newLabelVector.y - position.y;
220
-
221
- return {
222
- point: roundPoint(newFoot),
223
- delta: roundPoint({
224
- x: dx,
225
- y: dy
226
- })
227
- };
228
- }
229
-
230
-
231
- // HELPERS //////////////////////
232
-
233
- function relativePositionMidWaypoint(waypoints, idx) {
234
-
235
- var distanceSegment1 = getDistancePointPoint(waypoints[idx - 1], waypoints[idx]),
236
- distanceSegment2 = getDistancePointPoint(waypoints[idx], waypoints[idx + 1]);
237
-
238
- var relativePosition = distanceSegment1 / (distanceSegment1 + distanceSegment2);
239
-
240
- return relativePosition;
241
- }
242
-
243
- function getAngleDelta(l1, l2) {
244
- var a1 = getAngle(l1),
245
- a2 = getAngle(l2);
246
- return a2 - a1;
247
- }
248
-
249
- function getLine(waypoints, idx) {
250
- return [ waypoints[idx], waypoints[idx + 1] ];
251
- }
252
-
253
- function getRelativeFootPosition(line, foot) {
254
-
255
- var length = getDistancePointPoint(line[0], line[1]),
256
- lengthToFoot = getDistancePointPoint(line[0], foot);
257
-
258
- return length === 0 ? 0 : lengthToFoot / length;
259
- }
1
+ import {
2
+ getDistancePointPoint,
3
+ rotateVector,
4
+ getAngle
5
+ } from './GeometricUtil';
6
+
7
+ import {
8
+ getAttachment
9
+ } from './LineAttachmentUtil';
10
+
11
+ import {
12
+ roundPoint
13
+ } from 'diagram-js/lib/layout/LayoutUtil';
14
+
15
+ /**
16
+ * @typedef {import('diagram-js/lib/util/Types').Point} Point
17
+ *
18
+ * @typedef {import('./LineAttachmentUtil').Attachment} Attachment
19
+ *
20
+ * @typedef { {
21
+ * point: Point;
22
+ * delta: Point;
23
+ * } } AnchorPointAdjustment
24
+ *
25
+ * @typedef { {
26
+ * segmentMove?: {
27
+ * segmentStartIndex: number;
28
+ * newSegmentStartIndex: number;
29
+ * };
30
+ * bendpointMove?: {
31
+ * insert: boolean;
32
+ * bendpointIndex: number;
33
+ * };
34
+ * connectionStart: boolean;
35
+ * connectionEnd: boolean;
36
+ * } } FindNewLineStartIndexHints
37
+ */
38
+
39
+ /**
40
+ * @param {Point[]} oldWaypoints
41
+ * @param {Point[]} newWaypoints
42
+ * @param {Attachment} attachment
43
+ * @param {FindNewLineStartIndexHints} hints
44
+ *
45
+ * @return {number}
46
+ */
47
+ export function findNewLineStartIndex(oldWaypoints, newWaypoints, attachment, hints) {
48
+
49
+ var index = attachment.segmentIndex;
50
+
51
+ var offset = newWaypoints.length - oldWaypoints.length;
52
+
53
+ // segmentMove happened
54
+ if (hints.segmentMove) {
55
+
56
+ var oldSegmentStartIndex = hints.segmentMove.segmentStartIndex,
57
+ newSegmentStartIndex = hints.segmentMove.newSegmentStartIndex;
58
+
59
+ // if point was on moved segment return new segment index
60
+ if (index === oldSegmentStartIndex) {
61
+ return newSegmentStartIndex;
62
+ }
63
+
64
+ // point is after new segment index
65
+ if (index >= newSegmentStartIndex) {
66
+ return (index + offset < newSegmentStartIndex) ? newSegmentStartIndex : index + offset;
67
+ }
68
+
69
+ // if point is before new segment index
70
+ return index;
71
+ }
72
+
73
+ // bendpointMove happened
74
+ if (hints.bendpointMove) {
75
+
76
+ var insert = hints.bendpointMove.insert,
77
+ bendpointIndex = hints.bendpointMove.bendpointIndex,
78
+ newIndex;
79
+
80
+ // waypoints length didnt change
81
+ if (offset === 0) {
82
+ return index;
83
+ }
84
+
85
+ // point behind new/removed bendpoint
86
+ if (index >= bendpointIndex) {
87
+ newIndex = insert ? index + 1 : index - 1;
88
+ }
89
+
90
+ // point before new/removed bendpoint
91
+ if (index < bendpointIndex) {
92
+
93
+ newIndex = index;
94
+
95
+ // decide point should take right or left segment
96
+ if (insert && attachment.type !== 'bendpoint' && bendpointIndex - 1 === index) {
97
+
98
+ var rel = relativePositionMidWaypoint(newWaypoints, bendpointIndex);
99
+
100
+ if (rel < attachment.relativeLocation) {
101
+ newIndex++;
102
+ }
103
+ }
104
+ }
105
+
106
+ return newIndex;
107
+ }
108
+
109
+ // start/end changed
110
+ if (offset === 0) {
111
+ return index;
112
+ }
113
+
114
+ if (hints.connectionStart && index === 0) {
115
+ return 0;
116
+ }
117
+
118
+ if (hints.connectionEnd && index === oldWaypoints.length - 2) {
119
+ return newWaypoints.length - 2;
120
+ }
121
+
122
+ // if nothing fits, take the middle segment
123
+ return Math.floor((newWaypoints.length - 2) / 2);
124
+ }
125
+
126
+
127
+ /**
128
+ * Calculate the required adjustment (move delta) for the given point
129
+ * after the connection waypoints got updated.
130
+ *
131
+ * @param {Point} position
132
+ * @param {Point[]} newWaypoints
133
+ * @param {Point[]} oldWaypoints
134
+ * @param {FindNewLineStartIndexHints} hints
135
+ *
136
+ * @return {AnchorPointAdjustment} result
137
+ */
138
+ export function getAnchorPointAdjustment(position, newWaypoints, oldWaypoints, hints) {
139
+
140
+ var dx = 0,
141
+ dy = 0;
142
+
143
+ var oldPosition = {
144
+ point: position,
145
+ delta: { x: 0, y: 0 }
146
+ };
147
+
148
+ // get closest attachment
149
+ var attachment = getAttachment(position, oldWaypoints),
150
+ oldLabelLineIndex = attachment.segmentIndex,
151
+ newLabelLineIndex = findNewLineStartIndex(oldWaypoints, newWaypoints, attachment, hints);
152
+
153
+
154
+ // should never happen
155
+ // TODO(@janstuemmel): throw an error here when connectionSegmentMove is refactored
156
+ if (newLabelLineIndex < 0 ||
157
+ newLabelLineIndex > newWaypoints.length - 2 ||
158
+ newLabelLineIndex === null) {
159
+ return oldPosition;
160
+ }
161
+
162
+ var oldLabelLine = getLine(oldWaypoints, oldLabelLineIndex),
163
+ newLabelLine = getLine(newWaypoints, newLabelLineIndex),
164
+ oldFoot = attachment.position;
165
+
166
+ var relativeFootPosition = getRelativeFootPosition(oldLabelLine, oldFoot),
167
+ angleDelta = getAngleDelta(oldLabelLine, newLabelLine);
168
+
169
+ // special rule if label on bendpoint
170
+ if (attachment.type === 'bendpoint') {
171
+
172
+ var offset = newWaypoints.length - oldWaypoints.length,
173
+ oldBendpointIndex = attachment.bendpointIndex,
174
+ oldBendpoint = oldWaypoints[oldBendpointIndex];
175
+
176
+ // bendpoint position hasn't changed, return same position
177
+ if (newWaypoints.indexOf(oldBendpoint) !== -1) {
178
+ return oldPosition;
179
+ }
180
+
181
+ // new bendpoint and old bendpoint have same index, then just return the offset
182
+ if (offset === 0) {
183
+ var newBendpoint = newWaypoints[oldBendpointIndex];
184
+
185
+ dx = newBendpoint.x - attachment.position.x,
186
+ dy = newBendpoint.y - attachment.position.y;
187
+
188
+ return {
189
+ delta: {
190
+ x: dx,
191
+ y: dy
192
+ },
193
+ point: {
194
+ x: position.x + dx,
195
+ y: position.y + dy
196
+ }
197
+ };
198
+ }
199
+
200
+ // if bendpoints get removed
201
+ if (offset < 0 && oldBendpointIndex !== 0 && oldBendpointIndex < oldWaypoints.length - 1) {
202
+ relativeFootPosition = relativePositionMidWaypoint(oldWaypoints, oldBendpointIndex);
203
+ }
204
+ }
205
+
206
+ var newFoot = {
207
+ x: (newLabelLine[1].x - newLabelLine[0].x) * relativeFootPosition + newLabelLine[0].x,
208
+ y: (newLabelLine[1].y - newLabelLine[0].y) * relativeFootPosition + newLabelLine[0].y
209
+ };
210
+
211
+ // the rotated vector to label
212
+ var newLabelVector = rotateVector({
213
+ x: position.x - oldFoot.x,
214
+ y: position.y - oldFoot.y
215
+ }, angleDelta);
216
+
217
+ // the new relative position
218
+ dx = newFoot.x + newLabelVector.x - position.x;
219
+ dy = newFoot.y + newLabelVector.y - position.y;
220
+
221
+ return {
222
+ point: roundPoint(newFoot),
223
+ delta: roundPoint({
224
+ x: dx,
225
+ y: dy
226
+ })
227
+ };
228
+ }
229
+
230
+
231
+ // HELPERS //////////////////////
232
+
233
+ function relativePositionMidWaypoint(waypoints, idx) {
234
+
235
+ var distanceSegment1 = getDistancePointPoint(waypoints[idx - 1], waypoints[idx]),
236
+ distanceSegment2 = getDistancePointPoint(waypoints[idx], waypoints[idx + 1]);
237
+
238
+ var relativePosition = distanceSegment1 / (distanceSegment1 + distanceSegment2);
239
+
240
+ return relativePosition;
241
+ }
242
+
243
+ function getAngleDelta(l1, l2) {
244
+ var a1 = getAngle(l1),
245
+ a2 = getAngle(l2);
246
+ return a2 - a1;
247
+ }
248
+
249
+ function getLine(waypoints, idx) {
250
+ return [ waypoints[idx], waypoints[idx + 1] ];
251
+ }
252
+
253
+ function getRelativeFootPosition(line, foot) {
254
+
255
+ var length = getDistancePointPoint(line[0], line[1]),
256
+ lengthToFoot = getDistancePointPoint(line[0], foot);
257
+
258
+ return length === 0 ? 0 : lengthToFoot / length;
259
+ }
@@ -1,37 +1,37 @@
1
- /**
2
- * Return the attachment of the given point on the specified line.
3
- *
4
- * The attachment is either a bendpoint (attached to the given point)
5
- * or segment (attached to a location on a line segment) attachment:
6
- *
7
- * ```javascript
8
- * var pointAttachment = {
9
- * type: 'bendpoint',
10
- * bendpointIndex: 3,
11
- * position: { x: 10, y: 10 } // the attach point on the line
12
- * };
13
- *
14
- * var segmentAttachment = {
15
- * type: 'segment',
16
- * segmentIndex: 2,
17
- * relativeLocation: 0.31, // attach point location between 0 (at start) and 1 (at end)
18
- * position: { x: 10, y: 10 } // the attach point on the line
19
- * };
20
- * ```
21
- *
22
- * @param point
23
- * @param line
24
- *
25
- * @return
26
- */
27
- export function getAttachment(point: Point, line: Point[]): Attachment;
28
-
29
- type Point = import('diagram-js/lib/util/Types').Point;
30
-
31
- export type Attachment = {
32
- type: 'bendpoint' | 'segment';
33
- position: Point;
34
- segmentIndex: number;
35
- bendpointIndex?: number;
36
- relativeLocation?: number;
37
- };
1
+ /**
2
+ * Return the attachment of the given point on the specified line.
3
+ *
4
+ * The attachment is either a bendpoint (attached to the given point)
5
+ * or segment (attached to a location on a line segment) attachment:
6
+ *
7
+ * ```javascript
8
+ * var pointAttachment = {
9
+ * type: 'bendpoint',
10
+ * bendpointIndex: 3,
11
+ * position: { x: 10, y: 10 } // the attach point on the line
12
+ * };
13
+ *
14
+ * var segmentAttachment = {
15
+ * type: 'segment',
16
+ * segmentIndex: 2,
17
+ * relativeLocation: 0.31, // attach point location between 0 (at start) and 1 (at end)
18
+ * position: { x: 10, y: 10 } // the attach point on the line
19
+ * };
20
+ * ```
21
+ *
22
+ * @param point
23
+ * @param line
24
+ *
25
+ * @return
26
+ */
27
+ export function getAttachment(point: Point, line: Point[]): Attachment;
28
+
29
+ type Point = import('diagram-js/lib/util/Types').Point;
30
+
31
+ export type Attachment = {
32
+ type: 'bendpoint' | 'segment';
33
+ position: Point;
34
+ segmentIndex: number;
35
+ bendpointIndex?: number;
36
+ relativeLocation?: number;
37
+ };