bpmn-js 17.6.0 → 17.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/LICENSE +23 -23
  2. package/README.md +93 -93
  3. package/dist/assets/bpmn-js.css +145 -145
  4. package/dist/assets/diagram-js.css +966 -969
  5. package/dist/bpmn-modeler.development.js +59330 -59198
  6. package/dist/bpmn-modeler.production.min.js +8 -8
  7. package/dist/bpmn-navigated-viewer.development.js +22449 -22449
  8. package/dist/bpmn-navigated-viewer.production.min.js +1 -1
  9. package/dist/bpmn-viewer.development.js +21433 -21433
  10. package/dist/bpmn-viewer.production.min.js +1 -1
  11. package/index.js +2 -2
  12. package/lib/BaseModeler.d.ts +15 -15
  13. package/lib/BaseModeler.js +79 -79
  14. package/lib/BaseViewer.d.ts +352 -352
  15. package/lib/BaseViewer.js +858 -858
  16. package/lib/Modeler.d.ts +86 -86
  17. package/lib/Modeler.js +204 -204
  18. package/lib/NavigatedViewer.d.ts +11 -11
  19. package/lib/NavigatedViewer.js +37 -37
  20. package/lib/Viewer.d.ts +47 -47
  21. package/lib/Viewer.js +78 -78
  22. package/lib/core/index.d.ts +10 -10
  23. package/lib/core/index.js +8 -8
  24. package/lib/draw/BpmnRenderUtil.d.ts +123 -123
  25. package/lib/draw/BpmnRenderUtil.js +256 -256
  26. package/lib/draw/BpmnRenderer.d.ts +114 -114
  27. package/lib/draw/BpmnRenderer.js +2340 -2340
  28. package/lib/draw/PathMap.d.ts +330 -330
  29. package/lib/draw/PathMap.js +478 -478
  30. package/lib/draw/TextRenderer.d.ts +74 -74
  31. package/lib/draw/TextRenderer.js +136 -136
  32. package/lib/draw/index.d.ts +10 -10
  33. package/lib/draw/index.js +11 -11
  34. package/lib/features/align-elements/AlignElementsContextPadProvider.d.ts +32 -32
  35. package/lib/features/align-elements/AlignElementsContextPadProvider.js +105 -105
  36. package/lib/features/align-elements/AlignElementsIcons.d.ts +10 -10
  37. package/lib/features/align-elements/AlignElementsIcons.js +43 -43
  38. package/lib/features/align-elements/AlignElementsMenuProvider.d.ts +32 -32
  39. package/lib/features/align-elements/AlignElementsMenuProvider.js +100 -100
  40. package/lib/features/align-elements/BpmnAlignElements.d.ts +9 -9
  41. package/lib/features/align-elements/BpmnAlignElements.js +45 -45
  42. package/lib/features/align-elements/index.d.ts +11 -11
  43. package/lib/features/align-elements/index.js +23 -23
  44. package/lib/features/append-preview/AppendPreview.d.ts +36 -36
  45. package/lib/features/append-preview/AppendPreview.js +108 -108
  46. package/lib/features/append-preview/index.d.ts +16 -16
  47. package/lib/features/append-preview/index.js +15 -15
  48. package/lib/features/auto-place/BpmnAutoPlace.d.ts +13 -13
  49. package/lib/features/auto-place/BpmnAutoPlace.js +20 -20
  50. package/lib/features/auto-place/BpmnAutoPlaceUtil.d.ts +47 -47
  51. package/lib/features/auto-place/BpmnAutoPlaceUtil.js +225 -225
  52. package/lib/features/auto-place/index.d.ts +7 -7
  53. package/lib/features/auto-place/index.js +8 -8
  54. package/lib/features/auto-resize/BpmnAutoResize.d.ts +25 -25
  55. package/lib/features/auto-resize/BpmnAutoResize.js +45 -45
  56. package/lib/features/auto-resize/BpmnAutoResizeProvider.d.ts +26 -26
  57. package/lib/features/auto-resize/BpmnAutoResizeProvider.js +69 -69
  58. package/lib/features/auto-resize/index.d.ts +8 -8
  59. package/lib/features/auto-resize/index.js +12 -12
  60. package/lib/features/context-pad/ContextPadProvider.d.ts +73 -73
  61. package/lib/features/context-pad/ContextPadProvider.js +591 -591
  62. package/lib/features/context-pad/index.d.ts +7 -7
  63. package/lib/features/context-pad/index.js +22 -22
  64. package/lib/features/copy-paste/BpmnCopyPaste.d.ts +17 -17
  65. package/lib/features/copy-paste/BpmnCopyPaste.js +192 -192
  66. package/lib/features/copy-paste/ModdleCopy.d.ts +45 -45
  67. package/lib/features/copy-paste/ModdleCopy.js +275 -275
  68. package/lib/features/copy-paste/index.d.ts +9 -9
  69. package/lib/features/copy-paste/index.js +13 -13
  70. package/lib/features/di-ordering/BpmnDiOrdering.d.ts +11 -11
  71. package/lib/features/di-ordering/BpmnDiOrdering.js +48 -48
  72. package/lib/features/di-ordering/index.d.ts +6 -6
  73. package/lib/features/di-ordering/index.js +7 -7
  74. package/lib/features/distribute-elements/BpmnDistributeElements.d.ts +10 -10
  75. package/lib/features/distribute-elements/BpmnDistributeElements.js +60 -60
  76. package/lib/features/distribute-elements/DistributeElementsIcons.d.ts +5 -5
  77. package/lib/features/distribute-elements/DistributeElementsIcons.js +18 -18
  78. package/lib/features/distribute-elements/DistributeElementsMenuProvider.d.ts +32 -32
  79. package/lib/features/distribute-elements/DistributeElementsMenuProvider.js +92 -92
  80. package/lib/features/distribute-elements/index.d.ts +9 -9
  81. package/lib/features/distribute-elements/index.js +19 -19
  82. package/lib/features/drilldown/DrilldownBreadcrumbs.d.ts +19 -19
  83. package/lib/features/drilldown/DrilldownBreadcrumbs.js +131 -131
  84. package/lib/features/drilldown/DrilldownCentering.d.ts +17 -17
  85. package/lib/features/drilldown/DrilldownCentering.js +122 -122
  86. package/lib/features/drilldown/DrilldownOverlayBehavior.d.ts +18 -18
  87. package/lib/features/drilldown/DrilldownOverlayBehavior.js +210 -210
  88. package/lib/features/drilldown/SubprocessCompatibility.d.ts +21 -21
  89. package/lib/features/drilldown/SubprocessCompatibility.js +268 -268
  90. package/lib/features/drilldown/index.d.ts +13 -13
  91. package/lib/features/drilldown/index.js +16 -16
  92. package/lib/features/editor-actions/BpmnEditorActions.d.ts +13 -13
  93. package/lib/features/editor-actions/BpmnEditorActions.js +187 -187
  94. package/lib/features/editor-actions/index.d.ts +6 -6
  95. package/lib/features/editor-actions/index.js +10 -10
  96. package/lib/features/grid-snapping/BpmnGridSnapping.d.ts +9 -9
  97. package/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.d.ts +12 -12
  98. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.d.ts +27 -27
  99. package/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js +155 -155
  100. package/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.d.ts +13 -13
  101. package/lib/features/grid-snapping/behavior/index.d.ts +10 -10
  102. package/lib/features/grid-snapping/index.d.ts +11 -11
  103. package/lib/features/interaction-events/BpmnInteractionEvents.d.ts +18 -18
  104. package/lib/features/interaction-events/BpmnInteractionEvents.js +150 -150
  105. package/lib/features/interaction-events/index.d.ts +6 -6
  106. package/lib/features/interaction-events/index.js +5 -5
  107. package/lib/features/keyboard/BpmnKeyboardBindings.d.ts +15 -15
  108. package/lib/features/keyboard/BpmnKeyboardBindings.js +179 -179
  109. package/lib/features/keyboard/index.d.ts +7 -7
  110. package/lib/features/keyboard/index.js +11 -11
  111. package/lib/features/label-editing/LabelEditingPreview.d.ts +13 -13
  112. package/lib/features/label-editing/LabelEditingPreview.js +144 -144
  113. package/lib/features/label-editing/LabelEditingProvider.d.ts +62 -62
  114. package/lib/features/label-editing/LabelEditingProvider.js +519 -519
  115. package/lib/features/label-editing/LabelUtil.d.ts +1 -1
  116. package/lib/features/label-editing/LabelUtil.js +4 -4
  117. package/lib/features/label-editing/cmd/UpdateLabelHandler.d.ts +22 -22
  118. package/lib/features/label-editing/cmd/UpdateLabelHandler.js +149 -149
  119. package/lib/features/label-editing/index.d.ts +9 -9
  120. package/lib/features/label-editing/index.js +21 -21
  121. package/lib/features/modeling/BpmnFactory.d.ts +73 -73
  122. package/lib/features/modeling/BpmnFactory.js +180 -180
  123. package/lib/features/modeling/BpmnLayouter.d.ts +26 -26
  124. package/lib/features/modeling/BpmnLayouter.js +481 -481
  125. package/lib/features/modeling/BpmnUpdater.d.ts +90 -90
  126. package/lib/features/modeling/BpmnUpdater.js +837 -837
  127. package/lib/features/modeling/ElementFactory.d.ts +117 -117
  128. package/lib/features/modeling/ElementFactory.js +406 -406
  129. package/lib/features/modeling/ElementFactory.test.ts +132 -132
  130. package/lib/features/modeling/Modeling.d.ts +150 -150
  131. package/lib/features/modeling/Modeling.js +307 -307
  132. package/lib/features/modeling/Modeling.test.ts +147 -147
  133. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.d.ts +20 -20
  134. package/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js +284 -284
  135. package/lib/features/modeling/behavior/AppendBehavior.d.ts +6 -6
  136. package/lib/features/modeling/behavior/AppendBehavior.js +42 -42
  137. package/lib/features/modeling/behavior/AssociationBehavior.d.ts +11 -11
  138. package/lib/features/modeling/behavior/AttachEventBehavior.d.ts +15 -15
  139. package/lib/features/modeling/behavior/AttachEventBehavior.js +106 -106
  140. package/lib/features/modeling/behavior/BoundaryEventBehavior.d.ts +15 -15
  141. package/lib/features/modeling/behavior/BoundaryEventBehavior.js +74 -74
  142. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.d.ts +17 -17
  143. package/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js +222 -222
  144. package/lib/features/modeling/behavior/CreateBehavior.d.ts +9 -9
  145. package/lib/features/modeling/behavior/CreateBehavior.js +33 -33
  146. package/lib/features/modeling/behavior/CreateDataObjectBehavior.d.ts +15 -15
  147. package/lib/features/modeling/behavior/CreateDataObjectBehavior.js +43 -43
  148. package/lib/features/modeling/behavior/CreateParticipantBehavior.d.ts +19 -19
  149. package/lib/features/modeling/behavior/CreateParticipantBehavior.js +237 -237
  150. package/lib/features/modeling/behavior/DataInputAssociationBehavior.d.ts +21 -21
  151. package/lib/features/modeling/behavior/DataInputAssociationBehavior.js +162 -162
  152. package/lib/features/modeling/behavior/DataStoreBehavior.d.ts +19 -19
  153. package/lib/features/modeling/behavior/DeleteLaneBehavior.d.ts +15 -15
  154. package/lib/features/modeling/behavior/DeleteLaneBehavior.js +162 -162
  155. package/lib/features/modeling/behavior/DetachEventBehavior.d.ts +15 -15
  156. package/lib/features/modeling/behavior/DetachEventBehavior.js +101 -101
  157. package/lib/features/modeling/behavior/DropOnFlowBehavior.d.ts +13 -13
  158. package/lib/features/modeling/behavior/DropOnFlowBehavior.js +221 -221
  159. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.d.ts +11 -11
  160. package/lib/features/modeling/behavior/EventBasedGatewayBehavior.js +110 -110
  161. package/lib/features/modeling/behavior/FixHoverBehavior.d.ts +17 -17
  162. package/lib/features/modeling/behavior/GroupBehavior.d.ts +26 -26
  163. package/lib/features/modeling/behavior/GroupBehavior.js +332 -332
  164. package/lib/features/modeling/behavior/ImportDockingFix.d.ts +13 -13
  165. package/lib/features/modeling/behavior/ImportDockingFix.js +83 -83
  166. package/lib/features/modeling/behavior/IsHorizontalFix.d.ts +10 -10
  167. package/lib/features/modeling/behavior/IsHorizontalFix.js +54 -54
  168. package/lib/features/modeling/behavior/LabelBehavior.d.ts +56 -56
  169. package/lib/features/modeling/behavior/LabelBehavior.js +364 -364
  170. package/lib/features/modeling/behavior/LayoutConnectionBehavior.d.ts +16 -16
  171. package/lib/features/modeling/behavior/LayoutConnectionBehavior.js +121 -121
  172. package/lib/features/modeling/behavior/MessageFlowBehavior.d.ts +15 -15
  173. package/lib/features/modeling/behavior/NonInterruptingBehavior.d.ts +4 -4
  174. package/lib/features/modeling/behavior/NonInterruptingBehavior.js +41 -41
  175. package/lib/features/modeling/behavior/RemoveElementBehavior.d.ts +13 -13
  176. package/lib/features/modeling/behavior/RemoveElementBehavior.js +91 -91
  177. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.d.ts +16 -16
  178. package/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js +41 -41
  179. package/lib/features/modeling/behavior/RemoveParticipantBehavior.d.ts +15 -15
  180. package/lib/features/modeling/behavior/RemoveParticipantBehavior.js +54 -54
  181. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.d.ts +15 -15
  182. package/lib/features/modeling/behavior/ReplaceConnectionBehavior.js +194 -194
  183. package/lib/features/modeling/behavior/ReplaceElementBehaviour.d.ts +23 -23
  184. package/lib/features/modeling/behavior/ReplaceElementBehaviour.js +144 -144
  185. package/lib/features/modeling/behavior/ResizeBehavior.d.ts +67 -67
  186. package/lib/features/modeling/behavior/ResizeBehavior.js +262 -262
  187. package/lib/features/modeling/behavior/ResizeLaneBehavior.d.ts +16 -16
  188. package/lib/features/modeling/behavior/ResizeLaneBehavior.js +70 -70
  189. package/lib/features/modeling/behavior/RootElementReferenceBehavior.d.ts +25 -25
  190. package/lib/features/modeling/behavior/SpaceToolBehavior.d.ts +10 -10
  191. package/lib/features/modeling/behavior/SpaceToolBehavior.js +207 -207
  192. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.d.ts +28 -28
  193. package/lib/features/modeling/behavior/SubProcessPlaneBehavior.js +588 -588
  194. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.d.ts +15 -15
  195. package/lib/features/modeling/behavior/SubProcessStartEventBehavior.js +55 -55
  196. package/lib/features/modeling/behavior/TextAnnotationBehavior.d.ts +6 -6
  197. package/lib/features/modeling/behavior/TextAnnotationBehavior.js +42 -42
  198. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.d.ts +14 -14
  199. package/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js +87 -87
  200. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.d.ts +13 -13
  201. package/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js +156 -156
  202. package/lib/features/modeling/behavior/UnclaimIdBehavior.d.ts +19 -19
  203. package/lib/features/modeling/behavior/UnclaimIdBehavior.js +64 -64
  204. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.d.ts +16 -16
  205. package/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js +59 -59
  206. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.d.ts +15 -15
  207. package/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js +157 -157
  208. package/lib/features/modeling/behavior/index.d.ts +2 -2
  209. package/lib/features/modeling/behavior/index.js +128 -128
  210. package/lib/features/modeling/behavior/util/CategoryUtil.d.ts +49 -49
  211. package/lib/features/modeling/behavior/util/CategoryUtil.js +86 -86
  212. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.d.ts +19 -19
  213. package/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js +22 -22
  214. package/lib/features/modeling/behavior/util/GeometricUtil.d.ts +1 -1
  215. package/lib/features/modeling/behavior/util/LabelLayoutUtil.d.ts +32 -32
  216. package/lib/features/modeling/behavior/util/LabelLayoutUtil.js +41 -41
  217. package/lib/features/modeling/behavior/util/LayoutUtil.d.ts +48 -48
  218. package/lib/features/modeling/behavior/util/LayoutUtil.js +259 -259
  219. package/lib/features/modeling/behavior/util/LineAttachmentUtil.d.ts +37 -37
  220. package/lib/features/modeling/behavior/util/LineAttachmentUtil.js +241 -241
  221. package/lib/features/modeling/behavior/util/LineIntersect.d.ts +13 -13
  222. package/lib/features/modeling/behavior/util/LineIntersect.js +39 -39
  223. package/lib/features/modeling/behavior/util/NonInterruptingUtil.d.ts +3 -3
  224. package/lib/features/modeling/behavior/util/NonInterruptingUtil.js +32 -32
  225. package/lib/features/modeling/behavior/util/ResizeUtil.d.ts +1 -1
  226. package/lib/features/modeling/cmd/AddLaneHandler.d.ts +22 -22
  227. package/lib/features/modeling/cmd/AddLaneHandler.js +192 -192
  228. package/lib/features/modeling/cmd/IdClaimHandler.d.ts +22 -22
  229. package/lib/features/modeling/cmd/IdClaimHandler.js +51 -51
  230. package/lib/features/modeling/cmd/ResizeLaneHandler.d.ts +39 -39
  231. package/lib/features/modeling/cmd/ResizeLaneHandler.js +146 -146
  232. package/lib/features/modeling/cmd/SetColorHandler.d.ts +18 -18
  233. package/lib/features/modeling/cmd/SplitLaneHandler.d.ts +20 -20
  234. package/lib/features/modeling/cmd/SplitLaneHandler.js +99 -99
  235. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.d.ts +20 -20
  236. package/lib/features/modeling/cmd/UpdateCanvasRootHandler.js +99 -99
  237. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.d.ts +21 -21
  238. package/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js +218 -218
  239. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.d.ts +20 -20
  240. package/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js +107 -107
  241. package/lib/features/modeling/cmd/UpdatePropertiesHandler.d.ts +58 -58
  242. package/lib/features/modeling/cmd/UpdatePropertiesHandler.js +260 -260
  243. package/lib/features/modeling/cmd/UpdateSemanticParentHandler.d.ts +18 -18
  244. package/lib/features/modeling/index.d.ts +27 -27
  245. package/lib/features/modeling/index.js +45 -45
  246. package/lib/features/modeling/util/LaneUtil.d.ts +46 -46
  247. package/lib/features/modeling/util/LaneUtil.js +188 -188
  248. package/lib/features/modeling/util/ModelingUtil.d.ts +21 -21
  249. package/lib/features/modeling/util/ModelingUtil.js +54 -54
  250. package/lib/features/modeling-feedback/ModelingFeedback.d.ts +13 -13
  251. package/lib/features/modeling-feedback/ModelingFeedback.js +46 -46
  252. package/lib/features/modeling-feedback/index.d.ts +7 -7
  253. package/lib/features/modeling-feedback/index.js +12 -12
  254. package/lib/features/ordering/BpmnOrderingProvider.d.ts +19 -19
  255. package/lib/features/ordering/BpmnOrderingProvider.js +191 -191
  256. package/lib/features/ordering/index.d.ts +6 -6
  257. package/lib/features/ordering/index.js +5 -5
  258. package/lib/features/outline/OutlineProvider.d.ts +34 -34
  259. package/lib/features/outline/OutlineProvider.js +179 -179
  260. package/lib/features/outline/OutlineUtil.d.ts +18 -18
  261. package/lib/features/outline/OutlineUtil.js +31 -31
  262. package/lib/features/outline/index.d.ts +7 -7
  263. package/lib/features/outline/index.js +10 -10
  264. package/lib/features/palette/PaletteProvider.d.ts +34 -34
  265. package/lib/features/palette/PaletteProvider.js +214 -214
  266. package/lib/features/palette/index.d.ts +9 -9
  267. package/lib/features/palette/index.js +23 -23
  268. package/lib/features/popup-menu/ReplaceMenuProvider.d.ts +52 -52
  269. package/lib/features/popup-menu/ReplaceMenuProvider.js +679 -679
  270. package/lib/features/popup-menu/index.d.ts +11 -11
  271. package/lib/features/popup-menu/index.js +16 -16
  272. package/lib/features/popup-menu/util/Icons.d.ts +5 -5
  273. package/lib/features/popup-menu/util/Icons.js +14 -14
  274. package/lib/features/popup-menu/util/TypeUtil.d.ts +14 -14
  275. package/lib/features/popup-menu/util/TypeUtil.js +52 -52
  276. package/lib/features/replace/BpmnReplace.d.ts +47 -47
  277. package/lib/features/replace/BpmnReplace.js +382 -382
  278. package/lib/features/replace/ReplaceOptions.d.ts +75 -75
  279. package/lib/features/replace/ReplaceOptions.js +919 -919
  280. package/lib/features/replace/index.d.ts +9 -9
  281. package/lib/features/replace/index.js +14 -14
  282. package/lib/features/replace-preview/BpmnReplacePreview.d.ts +17 -17
  283. package/lib/features/replace-preview/BpmnReplacePreview.js +139 -139
  284. package/lib/features/replace-preview/index.d.ts +7 -7
  285. package/lib/features/replace-preview/index.js +11 -11
  286. package/lib/features/rules/BpmnRules.d.ts +181 -181
  287. package/lib/features/rules/BpmnRules.js +1191 -1191
  288. package/lib/features/rules/index.d.ts +7 -7
  289. package/lib/features/rules/index.js +11 -11
  290. package/lib/features/search/BpmnSearchProvider.d.ts +29 -29
  291. package/lib/features/search/BpmnSearchProvider.js +136 -136
  292. package/lib/features/search/index.d.ts +7 -7
  293. package/lib/features/search/index.js +12 -12
  294. package/lib/features/snapping/BpmnConnectSnapping.d.ts +17 -17
  295. package/lib/features/snapping/BpmnCreateMoveSnapping.d.ts +41 -41
  296. package/lib/features/snapping/BpmnCreateMoveSnapping.js +289 -289
  297. package/lib/features/snapping/BpmnSnappingUtil.d.ts +11 -11
  298. package/lib/features/snapping/index.d.ts +9 -9
  299. package/lib/features/snapping/index.js +12 -12
  300. package/lib/features/space-tool/BpmnSpaceTool.d.ts +21 -21
  301. package/lib/features/space-tool/BpmnSpaceTool.js +69 -69
  302. package/lib/features/space-tool/index.d.ts +6 -6
  303. package/lib/features/space-tool/index.js +7 -7
  304. package/lib/import/BpmnImporter.d.ts +51 -51
  305. package/lib/import/BpmnImporter.js +363 -363
  306. package/lib/import/BpmnTreeWalker.d.ts +20 -20
  307. package/lib/import/BpmnTreeWalker.js +453 -453
  308. package/lib/import/Importer.d.ts +25 -25
  309. package/lib/import/Importer.js +217 -217
  310. package/lib/import/Util.d.ts +1 -1
  311. package/lib/import/Util.js +6 -6
  312. package/lib/import/index.d.ts +6 -6
  313. package/lib/import/index.js +9 -9
  314. package/lib/model/Types.d.ts +25 -25
  315. package/lib/model/Types.ts +40 -40
  316. package/lib/util/CompatibilityUtil.d.ts +8 -8
  317. package/lib/util/CompatibilityUtil.js +29 -29
  318. package/lib/util/DiUtil.d.ts +60 -60
  319. package/lib/util/DiUtil.js +122 -122
  320. package/lib/util/DrilldownUtil.d.ts +39 -39
  321. package/lib/util/DrilldownUtil.js +69 -69
  322. package/lib/util/LabelUtil.d.ts +83 -83
  323. package/lib/util/LabelUtil.js +262 -262
  324. package/lib/util/ModelUtil.d.ts +40 -40
  325. package/lib/util/ModelUtil.js +58 -58
  326. package/lib/util/PoweredByUtil.d.ts +8 -8
  327. package/lib/util/PoweredByUtil.js +99 -99
  328. package/lib/util/Types.js +4 -4
  329. package/lib/util/Types.ts +3 -3
  330. package/package.json +132 -132
  331. package/test/helper/TranslationCollector.js +15 -15
  332. package/test/helper/index.js +313 -313
  333. package/test/matchers/BoundsMatchers.js +252 -252
  334. package/test/matchers/ConnectionMatchers.js +165 -165
  335. package/test/matchers/JSONMatcher.js +19 -19
  336. package/test/util/KeyEvents.js +22 -22
  337. package/test/util/MockEvents.js +61 -61
  338. package/test/util/custom-rules/CustomRules.js +16 -16
  339. package/test/util/custom-rules/index.js +6 -6
@@ -1,363 +1,363 @@
1
- import {
2
- assign
3
- } from 'min-dash';
4
-
5
- import { is } from '../util/ModelUtil';
6
-
7
- import {
8
- isLabelExternal,
9
- getExternalLabelBounds,
10
- getLabel
11
- } from '../util/LabelUtil';
12
-
13
- import {
14
- getMid
15
- } from 'diagram-js/lib/layout/LayoutUtil';
16
-
17
- import {
18
- isExpanded
19
- } from '../util/DiUtil';
20
-
21
- import {
22
- elementToString
23
- } from './Util';
24
-
25
- /**
26
- * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
27
- * @typedef {import('diagram-js/lib/core/ElementRegistry').default} ElementRegistry
28
- * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
29
- *
30
- * @typedef {import('../features/modeling/ElementFactory').default} ElementFactory
31
- * @typedef {import('../draw/TextRenderer').default} TextRenderer
32
- *
33
- * @typedef {import('../model/Types').Element} Element
34
- * @typedef {import('../model/Types').Label} Label
35
- * @typedef {import('../model/Types').Shape} Shape
36
- * @typedef {import('../model/Types').Connection} Connection
37
- * @typedef {import('../model/Types').Root} Root
38
- * @typedef {import('../model/Types').ModdleElement} ModdleElement
39
- */
40
-
41
- /**
42
- * @param {ModdleElement} semantic
43
- * @param {ModdleElement} di
44
- * @param {Object} [attrs=null]
45
- *
46
- * @return {Object}
47
- */
48
- function elementData(semantic, di, attrs) {
49
- return assign({
50
- id: semantic.id,
51
- type: semantic.$type,
52
- businessObject: semantic,
53
- di: di
54
- }, attrs);
55
- }
56
-
57
- function getWaypoints(di, source, target) {
58
-
59
- var waypoints = di.waypoint;
60
-
61
- if (!waypoints || waypoints.length < 2) {
62
- return [ getMid(source), getMid(target) ];
63
- }
64
-
65
- return waypoints.map(function(p) {
66
- return { x: p.x, y: p.y };
67
- });
68
- }
69
-
70
- function notYetDrawn(semantic, refSemantic, property) {
71
- return new Error(
72
- `element ${ elementToString(refSemantic) } referenced by ${ elementToString(semantic) }#${ property } not yet drawn`
73
- );
74
- }
75
-
76
-
77
- /**
78
- * An importer that adds bpmn elements to the canvas
79
- *
80
- * @param {EventBus} eventBus
81
- * @param {Canvas} canvas
82
- * @param {ElementFactory} elementFactory
83
- * @param {ElementRegistry} elementRegistry
84
- * @param {TextRenderer} textRenderer
85
- */
86
- export default function BpmnImporter(
87
- eventBus, canvas, elementFactory,
88
- elementRegistry, textRenderer) {
89
-
90
- this._eventBus = eventBus;
91
- this._canvas = canvas;
92
- this._elementFactory = elementFactory;
93
- this._elementRegistry = elementRegistry;
94
- this._textRenderer = textRenderer;
95
- }
96
-
97
- BpmnImporter.$inject = [
98
- 'eventBus',
99
- 'canvas',
100
- 'elementFactory',
101
- 'elementRegistry',
102
- 'textRenderer'
103
- ];
104
-
105
-
106
- /**
107
- * Add a BPMN element (semantic) to the canvas making it a child of the
108
- * given parent.
109
- *
110
- * @param {ModdleElement} semantic
111
- * @param {ModdleElement} di
112
- * @param {Shape} parentElement
113
- *
114
- * @return {Shape | Root | Connection}
115
- */
116
- BpmnImporter.prototype.add = function(semantic, di, parentElement) {
117
- var element,
118
- hidden;
119
-
120
- var parentIndex;
121
-
122
- // ROOT ELEMENT
123
- // handle the special case that we deal with a
124
- // invisible root element (process, subprocess or collaboration)
125
- if (is(di, 'bpmndi:BPMNPlane')) {
126
-
127
- var attrs = is(semantic, 'bpmn:SubProcess')
128
- ? { id: semantic.id + '_plane' }
129
- : {};
130
-
131
- // add a virtual element (not being drawn)
132
- element = this._elementFactory.createRoot(elementData(semantic, di, attrs));
133
-
134
- this._canvas.addRootElement(element);
135
- }
136
-
137
- // SHAPE
138
- else if (is(di, 'bpmndi:BPMNShape')) {
139
-
140
- var collapsed = !isExpanded(semantic, di),
141
- isFrame = isFrameElement(semantic);
142
-
143
- hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
144
-
145
- var bounds = di.bounds;
146
-
147
- element = this._elementFactory.createShape(elementData(semantic, di, {
148
- collapsed: collapsed,
149
- hidden: hidden,
150
- x: Math.round(bounds.x),
151
- y: Math.round(bounds.y),
152
- width: Math.round(bounds.width),
153
- height: Math.round(bounds.height),
154
- isFrame: isFrame
155
- }));
156
-
157
- if (is(semantic, 'bpmn:BoundaryEvent')) {
158
- this._attachBoundary(semantic, element);
159
- }
160
-
161
- // insert lanes behind other flow nodes (cf. #727)
162
- if (is(semantic, 'bpmn:Lane')) {
163
- parentIndex = 0;
164
- }
165
-
166
- if (is(semantic, 'bpmn:DataStoreReference')) {
167
-
168
- // check whether data store is inside our outside of its semantic parent
169
- if (!isPointInsideBBox(parentElement, getMid(bounds))) {
170
- parentElement = this._canvas.findRoot(parentElement);
171
- }
172
- }
173
-
174
- this._canvas.addShape(element, parentElement, parentIndex);
175
- }
176
-
177
- // CONNECTION
178
- else if (is(di, 'bpmndi:BPMNEdge')) {
179
-
180
- var source = this._getSource(semantic),
181
- target = this._getTarget(semantic);
182
-
183
- hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
184
-
185
- element = this._elementFactory.createConnection(elementData(semantic, di, {
186
- hidden: hidden,
187
- source: source,
188
- target: target,
189
- waypoints: getWaypoints(di, source, target)
190
- }));
191
-
192
- if (is(semantic, 'bpmn:DataAssociation')) {
193
-
194
- // render always on top; this ensures DataAssociations
195
- // are rendered correctly across different "hacks" people
196
- // love to model such as cross participant / sub process
197
- // associations
198
- parentElement = this._canvas.findRoot(parentElement);
199
- }
200
-
201
- this._canvas.addConnection(element, parentElement, parentIndex);
202
- } else {
203
- throw new Error(
204
- `unknown di ${ elementToString(di) } for element ${ elementToString(semantic) }`
205
- );
206
- }
207
-
208
- // (optional) LABEL
209
- if (isLabelExternal(semantic) && getLabel(element)) {
210
- this.addLabel(semantic, di, element);
211
- }
212
-
213
- this._eventBus.fire('bpmnElement.added', { element: element });
214
-
215
- return element;
216
- };
217
-
218
-
219
- /**
220
- * Attach a boundary element to the given host.
221
- *
222
- * @param {ModdleElement} boundarySemantic
223
- * @param {Shape} boundaryElement
224
- */
225
- BpmnImporter.prototype._attachBoundary = function(boundarySemantic, boundaryElement) {
226
- var hostSemantic = boundarySemantic.attachedToRef;
227
-
228
- if (!hostSemantic) {
229
- throw new Error(
230
- `missing ${ elementToString(boundarySemantic) }#attachedToRef`
231
- );
232
- }
233
-
234
- var host = this._elementRegistry.get(hostSemantic.id),
235
- attachers = host && host.attachers;
236
-
237
- if (!host) {
238
- throw notYetDrawn(boundarySemantic, hostSemantic, 'attachedToRef');
239
- }
240
-
241
- // wire element.host <> host.attachers
242
- boundaryElement.host = host;
243
-
244
- if (!attachers) {
245
- host.attachers = attachers = [];
246
- }
247
-
248
- if (attachers.indexOf(boundaryElement) === -1) {
249
- attachers.push(boundaryElement);
250
- }
251
- };
252
-
253
-
254
- /**
255
- * Add a label to a given element.
256
- *
257
- * @param {ModdleElement} semantic
258
- * @param {ModdleElement} di
259
- * @param {Element} element
260
- *
261
- * @return {Label}
262
- */
263
- BpmnImporter.prototype.addLabel = function(semantic, di, element) {
264
- var bounds,
265
- text,
266
- label;
267
-
268
- bounds = getExternalLabelBounds(di, element);
269
-
270
- text = getLabel(element);
271
-
272
- if (text) {
273
-
274
- // get corrected bounds from actual layouted text
275
- bounds = this._textRenderer.getExternalLabelBounds(bounds, text);
276
- }
277
-
278
- label = this._elementFactory.createLabel(elementData(semantic, di, {
279
- id: semantic.id + '_label',
280
- labelTarget: element,
281
- type: 'label',
282
- hidden: element.hidden || !getLabel(element),
283
- x: Math.round(bounds.x),
284
- y: Math.round(bounds.y),
285
- width: Math.round(bounds.width),
286
- height: Math.round(bounds.height)
287
- }));
288
-
289
- return this._canvas.addShape(label, element.parent);
290
- };
291
-
292
- /**
293
- * Get the source or target of the given connection.
294
- *
295
- * @param {ModdleElement} semantic
296
- * @param {'source' | 'target'} side
297
- *
298
- * @return {Element}
299
- */
300
- BpmnImporter.prototype._getConnectedElement = function(semantic, side) {
301
-
302
- var element,
303
- refSemantic,
304
- type = semantic.$type;
305
-
306
- refSemantic = semantic[side + 'Ref'];
307
-
308
- // handle mysterious isMany DataAssociation#sourceRef
309
- if (side === 'source' && type === 'bpmn:DataInputAssociation') {
310
- refSemantic = refSemantic && refSemantic[0];
311
- }
312
-
313
- // fix source / target for DataInputAssociation / DataOutputAssociation
314
- if (side === 'source' && type === 'bpmn:DataOutputAssociation' ||
315
- side === 'target' && type === 'bpmn:DataInputAssociation') {
316
-
317
- refSemantic = semantic.$parent;
318
- }
319
-
320
- element = refSemantic && this._getElement(refSemantic);
321
-
322
- if (element) {
323
- return element;
324
- }
325
-
326
- if (refSemantic) {
327
- throw notYetDrawn(semantic, refSemantic, side + 'Ref');
328
- } else {
329
- throw new Error(
330
- `${ elementToString(semantic) }#${ side } Ref not specified`
331
- );
332
- }
333
- };
334
-
335
- BpmnImporter.prototype._getSource = function(semantic) {
336
- return this._getConnectedElement(semantic, 'source');
337
- };
338
-
339
- BpmnImporter.prototype._getTarget = function(semantic) {
340
- return this._getConnectedElement(semantic, 'target');
341
- };
342
-
343
-
344
- BpmnImporter.prototype._getElement = function(semantic) {
345
- return this._elementRegistry.get(semantic.id);
346
- };
347
-
348
-
349
- // helpers ////////////////////
350
-
351
- function isPointInsideBBox(bbox, point) {
352
- var x = point.x,
353
- y = point.y;
354
-
355
- return x >= bbox.x &&
356
- x <= bbox.x + bbox.width &&
357
- y >= bbox.y &&
358
- y <= bbox.y + bbox.height;
359
- }
360
-
361
- function isFrameElement(semantic) {
362
- return is(semantic, 'bpmn:Group');
363
- }
1
+ import {
2
+ assign
3
+ } from 'min-dash';
4
+
5
+ import { is } from '../util/ModelUtil';
6
+
7
+ import {
8
+ isLabelExternal,
9
+ getExternalLabelBounds,
10
+ getLabel
11
+ } from '../util/LabelUtil';
12
+
13
+ import {
14
+ getMid
15
+ } from 'diagram-js/lib/layout/LayoutUtil';
16
+
17
+ import {
18
+ isExpanded
19
+ } from '../util/DiUtil';
20
+
21
+ import {
22
+ elementToString
23
+ } from './Util';
24
+
25
+ /**
26
+ * @typedef {import('diagram-js/lib/core/Canvas').default} Canvas
27
+ * @typedef {import('diagram-js/lib/core/ElementRegistry').default} ElementRegistry
28
+ * @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
29
+ *
30
+ * @typedef {import('../features/modeling/ElementFactory').default} ElementFactory
31
+ * @typedef {import('../draw/TextRenderer').default} TextRenderer
32
+ *
33
+ * @typedef {import('../model/Types').Element} Element
34
+ * @typedef {import('../model/Types').Label} Label
35
+ * @typedef {import('../model/Types').Shape} Shape
36
+ * @typedef {import('../model/Types').Connection} Connection
37
+ * @typedef {import('../model/Types').Root} Root
38
+ * @typedef {import('../model/Types').ModdleElement} ModdleElement
39
+ */
40
+
41
+ /**
42
+ * @param {ModdleElement} semantic
43
+ * @param {ModdleElement} di
44
+ * @param {Object} [attrs=null]
45
+ *
46
+ * @return {Object}
47
+ */
48
+ function elementData(semantic, di, attrs) {
49
+ return assign({
50
+ id: semantic.id,
51
+ type: semantic.$type,
52
+ businessObject: semantic,
53
+ di: di
54
+ }, attrs);
55
+ }
56
+
57
+ function getWaypoints(di, source, target) {
58
+
59
+ var waypoints = di.waypoint;
60
+
61
+ if (!waypoints || waypoints.length < 2) {
62
+ return [ getMid(source), getMid(target) ];
63
+ }
64
+
65
+ return waypoints.map(function(p) {
66
+ return { x: p.x, y: p.y };
67
+ });
68
+ }
69
+
70
+ function notYetDrawn(semantic, refSemantic, property) {
71
+ return new Error(
72
+ `element ${ elementToString(refSemantic) } referenced by ${ elementToString(semantic) }#${ property } not yet drawn`
73
+ );
74
+ }
75
+
76
+
77
+ /**
78
+ * An importer that adds bpmn elements to the canvas
79
+ *
80
+ * @param {EventBus} eventBus
81
+ * @param {Canvas} canvas
82
+ * @param {ElementFactory} elementFactory
83
+ * @param {ElementRegistry} elementRegistry
84
+ * @param {TextRenderer} textRenderer
85
+ */
86
+ export default function BpmnImporter(
87
+ eventBus, canvas, elementFactory,
88
+ elementRegistry, textRenderer) {
89
+
90
+ this._eventBus = eventBus;
91
+ this._canvas = canvas;
92
+ this._elementFactory = elementFactory;
93
+ this._elementRegistry = elementRegistry;
94
+ this._textRenderer = textRenderer;
95
+ }
96
+
97
+ BpmnImporter.$inject = [
98
+ 'eventBus',
99
+ 'canvas',
100
+ 'elementFactory',
101
+ 'elementRegistry',
102
+ 'textRenderer'
103
+ ];
104
+
105
+
106
+ /**
107
+ * Add a BPMN element (semantic) to the canvas making it a child of the
108
+ * given parent.
109
+ *
110
+ * @param {ModdleElement} semantic
111
+ * @param {ModdleElement} di
112
+ * @param {Shape} parentElement
113
+ *
114
+ * @return {Shape | Root | Connection}
115
+ */
116
+ BpmnImporter.prototype.add = function(semantic, di, parentElement) {
117
+ var element,
118
+ hidden;
119
+
120
+ var parentIndex;
121
+
122
+ // ROOT ELEMENT
123
+ // handle the special case that we deal with a
124
+ // invisible root element (process, subprocess or collaboration)
125
+ if (is(di, 'bpmndi:BPMNPlane')) {
126
+
127
+ var attrs = is(semantic, 'bpmn:SubProcess')
128
+ ? { id: semantic.id + '_plane' }
129
+ : {};
130
+
131
+ // add a virtual element (not being drawn)
132
+ element = this._elementFactory.createRoot(elementData(semantic, di, attrs));
133
+
134
+ this._canvas.addRootElement(element);
135
+ }
136
+
137
+ // SHAPE
138
+ else if (is(di, 'bpmndi:BPMNShape')) {
139
+
140
+ var collapsed = !isExpanded(semantic, di),
141
+ isFrame = isFrameElement(semantic);
142
+
143
+ hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
144
+
145
+ var bounds = di.bounds;
146
+
147
+ element = this._elementFactory.createShape(elementData(semantic, di, {
148
+ collapsed: collapsed,
149
+ hidden: hidden,
150
+ x: Math.round(bounds.x),
151
+ y: Math.round(bounds.y),
152
+ width: Math.round(bounds.width),
153
+ height: Math.round(bounds.height),
154
+ isFrame: isFrame
155
+ }));
156
+
157
+ if (is(semantic, 'bpmn:BoundaryEvent')) {
158
+ this._attachBoundary(semantic, element);
159
+ }
160
+
161
+ // insert lanes behind other flow nodes (cf. #727)
162
+ if (is(semantic, 'bpmn:Lane')) {
163
+ parentIndex = 0;
164
+ }
165
+
166
+ if (is(semantic, 'bpmn:DataStoreReference')) {
167
+
168
+ // check whether data store is inside our outside of its semantic parent
169
+ if (!isPointInsideBBox(parentElement, getMid(bounds))) {
170
+ parentElement = this._canvas.findRoot(parentElement);
171
+ }
172
+ }
173
+
174
+ this._canvas.addShape(element, parentElement, parentIndex);
175
+ }
176
+
177
+ // CONNECTION
178
+ else if (is(di, 'bpmndi:BPMNEdge')) {
179
+
180
+ var source = this._getSource(semantic),
181
+ target = this._getTarget(semantic);
182
+
183
+ hidden = parentElement && (parentElement.hidden || parentElement.collapsed);
184
+
185
+ element = this._elementFactory.createConnection(elementData(semantic, di, {
186
+ hidden: hidden,
187
+ source: source,
188
+ target: target,
189
+ waypoints: getWaypoints(di, source, target)
190
+ }));
191
+
192
+ if (is(semantic, 'bpmn:DataAssociation')) {
193
+
194
+ // render always on top; this ensures DataAssociations
195
+ // are rendered correctly across different "hacks" people
196
+ // love to model such as cross participant / sub process
197
+ // associations
198
+ parentElement = this._canvas.findRoot(parentElement);
199
+ }
200
+
201
+ this._canvas.addConnection(element, parentElement, parentIndex);
202
+ } else {
203
+ throw new Error(
204
+ `unknown di ${ elementToString(di) } for element ${ elementToString(semantic) }`
205
+ );
206
+ }
207
+
208
+ // (optional) LABEL
209
+ if (isLabelExternal(semantic) && getLabel(element)) {
210
+ this.addLabel(semantic, di, element);
211
+ }
212
+
213
+ this._eventBus.fire('bpmnElement.added', { element: element });
214
+
215
+ return element;
216
+ };
217
+
218
+
219
+ /**
220
+ * Attach a boundary element to the given host.
221
+ *
222
+ * @param {ModdleElement} boundarySemantic
223
+ * @param {Shape} boundaryElement
224
+ */
225
+ BpmnImporter.prototype._attachBoundary = function(boundarySemantic, boundaryElement) {
226
+ var hostSemantic = boundarySemantic.attachedToRef;
227
+
228
+ if (!hostSemantic) {
229
+ throw new Error(
230
+ `missing ${ elementToString(boundarySemantic) }#attachedToRef`
231
+ );
232
+ }
233
+
234
+ var host = this._elementRegistry.get(hostSemantic.id),
235
+ attachers = host && host.attachers;
236
+
237
+ if (!host) {
238
+ throw notYetDrawn(boundarySemantic, hostSemantic, 'attachedToRef');
239
+ }
240
+
241
+ // wire element.host <> host.attachers
242
+ boundaryElement.host = host;
243
+
244
+ if (!attachers) {
245
+ host.attachers = attachers = [];
246
+ }
247
+
248
+ if (attachers.indexOf(boundaryElement) === -1) {
249
+ attachers.push(boundaryElement);
250
+ }
251
+ };
252
+
253
+
254
+ /**
255
+ * Add a label to a given element.
256
+ *
257
+ * @param {ModdleElement} semantic
258
+ * @param {ModdleElement} di
259
+ * @param {Element} element
260
+ *
261
+ * @return {Label}
262
+ */
263
+ BpmnImporter.prototype.addLabel = function(semantic, di, element) {
264
+ var bounds,
265
+ text,
266
+ label;
267
+
268
+ bounds = getExternalLabelBounds(di, element);
269
+
270
+ text = getLabel(element);
271
+
272
+ if (text) {
273
+
274
+ // get corrected bounds from actual layouted text
275
+ bounds = this._textRenderer.getExternalLabelBounds(bounds, text);
276
+ }
277
+
278
+ label = this._elementFactory.createLabel(elementData(semantic, di, {
279
+ id: semantic.id + '_label',
280
+ labelTarget: element,
281
+ type: 'label',
282
+ hidden: element.hidden || !getLabel(element),
283
+ x: Math.round(bounds.x),
284
+ y: Math.round(bounds.y),
285
+ width: Math.round(bounds.width),
286
+ height: Math.round(bounds.height)
287
+ }));
288
+
289
+ return this._canvas.addShape(label, element.parent);
290
+ };
291
+
292
+ /**
293
+ * Get the source or target of the given connection.
294
+ *
295
+ * @param {ModdleElement} semantic
296
+ * @param {'source' | 'target'} side
297
+ *
298
+ * @return {Element}
299
+ */
300
+ BpmnImporter.prototype._getConnectedElement = function(semantic, side) {
301
+
302
+ var element,
303
+ refSemantic,
304
+ type = semantic.$type;
305
+
306
+ refSemantic = semantic[side + 'Ref'];
307
+
308
+ // handle mysterious isMany DataAssociation#sourceRef
309
+ if (side === 'source' && type === 'bpmn:DataInputAssociation') {
310
+ refSemantic = refSemantic && refSemantic[0];
311
+ }
312
+
313
+ // fix source / target for DataInputAssociation / DataOutputAssociation
314
+ if (side === 'source' && type === 'bpmn:DataOutputAssociation' ||
315
+ side === 'target' && type === 'bpmn:DataInputAssociation') {
316
+
317
+ refSemantic = semantic.$parent;
318
+ }
319
+
320
+ element = refSemantic && this._getElement(refSemantic);
321
+
322
+ if (element) {
323
+ return element;
324
+ }
325
+
326
+ if (refSemantic) {
327
+ throw notYetDrawn(semantic, refSemantic, side + 'Ref');
328
+ } else {
329
+ throw new Error(
330
+ `${ elementToString(semantic) }#${ side } Ref not specified`
331
+ );
332
+ }
333
+ };
334
+
335
+ BpmnImporter.prototype._getSource = function(semantic) {
336
+ return this._getConnectedElement(semantic, 'source');
337
+ };
338
+
339
+ BpmnImporter.prototype._getTarget = function(semantic) {
340
+ return this._getConnectedElement(semantic, 'target');
341
+ };
342
+
343
+
344
+ BpmnImporter.prototype._getElement = function(semantic) {
345
+ return this._elementRegistry.get(semantic.id);
346
+ };
347
+
348
+
349
+ // helpers ////////////////////
350
+
351
+ function isPointInsideBBox(bbox, point) {
352
+ var x = point.x,
353
+ y = point.y;
354
+
355
+ return x >= bbox.x &&
356
+ x <= bbox.x + bbox.width &&
357
+ y >= bbox.y &&
358
+ y <= bbox.y + bbox.height;
359
+ }
360
+
361
+ function isFrameElement(semantic) {
362
+ return is(semantic, 'bpmn:Group');
363
+ }