@foblex/flow 17.8.4 → 17.8.6

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 (257) hide show
  1. package/domain/drag-rect-cache.d.ts +8 -0
  2. package/domain/f-background/providers.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +7 -7
  5. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts +37 -3
  6. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +4 -3
  7. package/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts +8 -0
  8. package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-center-behavior.d.ts → utils/fixed-center-behavior.d.ts} +2 -2
  9. package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-outbound-behavior.d.ts → utils/fixed-outbound-behavior.d.ts} +2 -2
  10. package/domain/f-connection/calculate-connection-line-by-behavior/{floating-behavior.d.ts → utils/floating-behavior.d.ts} +2 -2
  11. package/domain/f-connection/providers.d.ts +2 -2
  12. package/domain/f-connection/redraw-connections/index.d.ts +1 -1
  13. package/domain/f-connection/redraw-connections/{redraw-connections.execution.d.ts → redraw-connections.d.ts} +3 -3
  14. package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.d.ts +8 -0
  15. package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.d.ts +21 -0
  16. package/domain/f-connectors/calculate-source-connectors-to-connect/index.d.ts +2 -0
  17. package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.d.ts +8 -0
  18. package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.d.ts +20 -0
  19. package/domain/f-connectors/calculate-target-connectors-to-connect/index.d.ts +2 -0
  20. package/domain/f-connectors/index.d.ts +2 -2
  21. package/domain/f-connectors/providers.d.ts +3 -3
  22. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
  23. package/domain/f-event-trigger.d.ts +1 -1
  24. package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +2 -2
  25. package/domain/f-line-alignment/add-line-alignment-to-store/{add-line-alignment-to-store.execution.d.ts → add-line-alignment-to-store.d.ts} +4 -4
  26. package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +1 -1
  27. package/domain/f-line-alignment/providers.d.ts +3 -3
  28. package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +1 -1
  29. package/domain/f-line-alignment/remove-line-alignment-from-store/{remove-line-alignment-from-store.execution.d.ts → remove-line-alignment-from-store.d.ts} +4 -4
  30. package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +2 -2
  31. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +8 -0
  32. package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +2 -28
  33. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +52 -0
  34. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.d.ts +6 -0
  35. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.d.ts +22 -0
  36. package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +6 -0
  37. package/domain/f-node/calculate-connectors-connectable-sides/constants/index.d.ts +1 -0
  38. package/domain/f-node/calculate-connectors-connectable-sides/index.d.ts +7 -0
  39. package/domain/f-node/calculate-connectors-connectable-sides/models/index.d.ts +1 -0
  40. package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +2 -0
  41. package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +10 -0
  42. package/domain/f-node/calculate-connectors-connectable-sides/utils/index.d.ts +2 -0
  43. package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +7 -0
  44. package/domain/f-node/calculate-input-connections/calculate-input-connections-request.d.ts +2 -2
  45. package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +3 -3
  46. package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.d.ts +2 -3
  47. package/domain/f-node/calculate-output-connections/calculate-output-connections-request.d.ts +2 -2
  48. package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +3 -3
  49. package/domain/f-node/get-parent-nodes/get-parent-nodes.d.ts +1 -1
  50. package/domain/f-node/get-parent-nodes/get-parent-nodes.request.d.ts +2 -2
  51. package/domain/f-node/index.d.ts +1 -2
  52. package/domain/f-node/providers.d.ts +2 -3
  53. package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +2 -2
  54. package/domain/f-node/remove-node-from-store/remove-node-from-store.d.ts +1 -1
  55. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +2 -2
  56. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.d.ts +2 -2
  57. package/domain/index.d.ts +1 -0
  58. package/domain/providers.d.ts +4 -3
  59. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -2
  60. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.request.d.ts → move-front-elements-before-target-element-request.d.ts} +4 -4
  61. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.execution.d.ts → move-front-elements-before-target-element.d.ts} +4 -4
  62. package/esm2022/domain/css-cls.mjs +2 -1
  63. package/esm2022/domain/drag-rect-cache.mjs +19 -0
  64. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +4 -4
  65. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +126 -13
  66. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +5 -4
  67. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +2 -0
  68. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +12 -0
  69. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +31 -0
  70. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +22 -0
  71. package/esm2022/domain/f-connection/providers.mjs +3 -3
  72. package/esm2022/domain/f-connection/redraw-connections/index.mjs +2 -2
  73. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +75 -0
  74. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.mjs +10 -0
  75. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +59 -0
  76. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/index.mjs +3 -0
  77. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.mjs +10 -0
  78. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +64 -0
  79. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/index.mjs +3 -0
  80. package/esm2022/domain/f-connectors/index.mjs +3 -3
  81. package/esm2022/domain/f-connectors/providers.mjs +5 -5
  82. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +1 -1
  83. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  84. package/esm2022/domain/f-event-trigger.mjs +2 -2
  85. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +4 -4
  86. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.mjs +25 -0
  87. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +2 -2
  88. package/esm2022/domain/f-line-alignment/providers.mjs +4 -7
  89. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +2 -2
  90. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.mjs +25 -0
  91. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +4 -4
  92. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +2 -2
  93. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +10 -0
  94. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +59 -0
  95. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +3 -0
  96. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +8 -0
  97. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +132 -0
  98. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +3 -0
  99. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.mjs +8 -0
  100. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +73 -0
  101. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +12 -0
  102. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/index.mjs +2 -0
  103. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/index.mjs +8 -0
  104. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/index.mjs +2 -0
  105. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +2 -0
  106. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +124 -0
  107. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/index.mjs +3 -0
  108. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +12 -0
  109. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +4 -4
  110. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +20 -7
  111. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +5 -8
  112. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +1 -1
  113. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +4 -4
  114. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +20 -7
  115. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
  116. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
  117. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +8 -8
  118. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +4 -4
  119. package/esm2022/domain/f-node/index.mjs +2 -3
  120. package/esm2022/domain/f-node/providers.mjs +3 -5
  121. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +4 -4
  122. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +3 -3
  123. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +3 -3
  124. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
  125. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +4 -4
  126. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.mjs +1 -1
  127. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +2 -2
  128. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -14
  129. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +4 -1
  130. package/esm2022/domain/index.mjs +2 -1
  131. package/esm2022/domain/is-mobile.mjs +5 -3
  132. package/esm2022/domain/providers.mjs +5 -5
  133. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -3
  134. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element-request.mjs +15 -0
  135. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.mjs +34 -0
  136. package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +201 -0
  137. package/esm2022/f-connection/common/domain/index.mjs +2 -1
  138. package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +12 -0
  139. package/esm2022/f-connection/common/e-f-connection-type.mjs +2 -1
  140. package/esm2022/f-connection/common/f-connection-base.mjs +28 -5
  141. package/esm2022/f-connection/common/index.mjs +2 -1
  142. package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -3
  143. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +9 -17
  144. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +10 -4
  145. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +4 -5
  146. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +3 -2
  147. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +14 -4
  148. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +14 -4
  149. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +1 -1
  150. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.mjs +10 -0
  151. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +58 -0
  152. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.mjs +10 -0
  153. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.mjs +47 -0
  154. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -3
  155. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +3 -3
  156. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +12 -12
  157. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +7 -7
  158. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +10 -10
  159. package/esm2022/f-draggable/f-connection/providers.mjs +4 -4
  160. package/esm2022/f-draggable/f-draggable.directive.mjs +5 -4
  161. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +1 -1
  162. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +11 -13
  163. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +3 -3
  164. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +14 -12
  165. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
  166. package/esm2022/f-flow/f-flow.component.mjs +2 -2
  167. package/esm2022/f-node/f-group.directive.mjs +3 -3
  168. package/esm2022/f-node/f-node.directive.mjs +3 -3
  169. package/esm2022/f-storage/f-connectors-store.mjs +11 -0
  170. package/esm2022/f-storage/index.mjs +2 -1
  171. package/f-backgroud/providers.d.ts +1 -1
  172. package/f-connection/common/domain/adaptive-curve-builder.d.ts +102 -0
  173. package/f-connection/common/domain/index.d.ts +1 -0
  174. package/f-connection/common/e-f-connection-connectable-side.d.ts +10 -0
  175. package/f-connection/common/e-f-connection-type.d.ts +2 -1
  176. package/f-connection/common/f-connection-base.d.ts +14 -2
  177. package/f-connection/common/index.d.ts +1 -0
  178. package/f-connection/f-connection/f-connection.component.d.ts +4 -2
  179. package/f-connection/f-connection-builder/f-connection-factory.d.ts +2 -4
  180. package/f-connection/f-connection-content/f-connection-content.d.ts +2 -2
  181. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -2
  182. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -2
  183. package/f-connection/providers.d.ts +1 -1
  184. package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.d.ts +8 -0
  185. package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.d.ts +16 -0
  186. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.d.ts +8 -0
  187. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.d.ts +14 -0
  188. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -2
  189. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +2 -2
  190. package/f-draggable/f-connection/providers.d.ts +2 -2
  191. package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.d.ts +2 -2
  192. package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
  193. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +1 -1
  194. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +1 -1
  195. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.d.ts +1 -1
  196. package/f-draggable/f-node-move/providers.d.ts +1 -1
  197. package/f-draggable/providers.d.ts +1 -1
  198. package/f-minimap/domain/providers.d.ts +1 -1
  199. package/f-node/providers.d.ts +1 -1
  200. package/f-selection-area/domain/providers.d.ts +1 -1
  201. package/f-storage/f-connectors-store.d.ts +6 -0
  202. package/f-storage/index.d.ts +1 -0
  203. package/f-storage/providers.d.ts +1 -1
  204. package/fesm2022/foblex-flow.mjs +1741 -1235
  205. package/fesm2022/foblex-flow.mjs.map +1 -1
  206. package/package.json +1 -1
  207. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +0 -17
  208. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +0 -6
  209. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +0 -2
  210. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +0 -18
  211. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.d.ts +0 -6
  212. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.d.ts +0 -2
  213. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +0 -9
  214. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +0 -20
  215. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.d.ts +0 -6
  216. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.d.ts +0 -28
  217. package/domain/f-node/calculate-node-connectors-connectable-sides/index.d.ts +0 -4
  218. package/domain/f-node/get-nodes/get-nodes-request.d.ts +0 -3
  219. package/domain/f-node/get-nodes/get-nodes.d.ts +0 -13
  220. package/domain/f-node/get-nodes/index.d.ts +0 -2
  221. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +0 -12
  222. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +0 -31
  223. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +0 -22
  224. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +0 -73
  225. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +0 -48
  226. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +0 -8
  227. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +0 -3
  228. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +0 -43
  229. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.mjs +0 -8
  230. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.mjs +0 -3
  231. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +0 -25
  232. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +0 -25
  233. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +0 -16
  234. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +0 -181
  235. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +0 -3
  236. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +0 -8
  237. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +0 -55
  238. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +0 -3
  239. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.mjs +0 -8
  240. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.mjs +0 -90
  241. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/index.mjs +0 -5
  242. package/esm2022/domain/f-node/get-nodes/get-nodes-request.mjs +0 -4
  243. package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +0 -25
  244. package/esm2022/domain/f-node/get-nodes/index.mjs +0 -3
  245. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -34
  246. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -15
  247. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +0 -52
  248. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +0 -10
  249. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +0 -49
  250. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +0 -10
  251. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +0 -16
  252. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts +0 -8
  253. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +0 -14
  254. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts +0 -8
  255. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/index.d.ts +0 -0
  256. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.d.ts +0 -0
  257. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/index.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class CalculateOutputConnectionsRequest {
3
- fNode: FNodeBase;
3
+ readonly nodeOrGroup: FNodeBase;
4
4
  static readonly fToken: unique symbol;
5
- constructor(fNode: FNodeBase);
5
+ constructor(nodeOrGroup: FNodeBase);
6
6
  }
@@ -7,9 +7,9 @@ import * as i0 from "@angular/core";
7
7
  */
8
8
  export declare class CalculateOutputConnections implements IExecution<CalculateOutputConnectionsRequest, FConnectionBase[]> {
9
9
  private readonly _store;
10
- handle(request: CalculateOutputConnectionsRequest): FConnectionBase[];
11
- private _calculateConnectors;
12
- private _calculateConnections;
10
+ handle({ nodeOrGroup }: CalculateOutputConnectionsRequest): FConnectionBase[];
11
+ private _collectOutputIds;
12
+ private _collectConnections;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<CalculateOutputConnections, never>;
14
14
  static ɵprov: i0.ɵɵInjectableDeclaration<CalculateOutputConnections>;
15
15
  }
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
7
7
  */
8
8
  export declare class GetParentNodes implements IExecution<GetParentNodesRequest, FNodeBase[]> {
9
9
  private readonly _store;
10
- handle(request: GetParentNodesRequest): FNodeBase[];
10
+ handle({ nodeOrGroup }: GetParentNodesRequest): FNodeBase[];
11
11
  private _getParentNodes;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<GetParentNodes, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<GetParentNodes>;
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class GetParentNodesRequest {
3
- fNode: FNodeBase;
3
+ readonly nodeOrGroup: FNodeBase;
4
4
  static readonly fToken: unique symbol;
5
- constructor(fNode: FNodeBase);
5
+ constructor(nodeOrGroup: FNodeBase);
6
6
  }
@@ -1,13 +1,12 @@
1
1
  export * from './add-node-to-store';
2
2
  export * from './calculate-input-connections';
3
- export * from './calculate-node-connectors-connectable-sides';
3
+ export * from './calculate-connectors-connectable-sides';
4
4
  export * from './calculate-nodes-bounding-box';
5
5
  export * from './calculate-nodes-bounding-box-normalized-position';
6
6
  export * from './calculate-output-connections';
7
7
  export * from './fit-to-child-nodes-and-groups';
8
8
  export * from './get-child-node-ids';
9
9
  export * from './get-node-padding';
10
- export * from './get-nodes';
11
10
  export * from './get-parent-nodes';
12
11
  export * from './update-node-when-state-or-size-changed';
13
12
  export * from './remove-node-from-store';
@@ -1,7 +1,6 @@
1
1
  import { AddNodeToStore } from './add-node-to-store';
2
2
  import { RemoveNodeFromStore } from './remove-node-from-store';
3
3
  import { UpdateNodeWhenStateOrSizeChanged } from './update-node-when-state-or-size-changed';
4
- import { GetNodes } from './get-nodes';
5
4
  import { CalculateNodesBoundingBox } from './calculate-nodes-bounding-box';
6
5
  import { CalculateNodesBoundingBoxNormalizedPosition } from './calculate-nodes-bounding-box-normalized-position';
7
6
  import { GetNodePadding } from './get-node-padding';
@@ -10,8 +9,8 @@ import { CalculateInputConnections } from './calculate-input-connections';
10
9
  import { CalculateOutputConnections } from './calculate-output-connections';
11
10
  import { GetChildNodeIds } from './get-child-node-ids';
12
11
  import { FitToChildNodesAndGroups } from './fit-to-child-nodes-and-groups';
13
- import { CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByInternalPosition, CalculateNodeConnectorsConnectableSides } from './calculate-node-connectors-connectable-sides';
12
+ import { CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByInternalPosition, CalculateConnectorsConnectableSides } from './calculate-connectors-connectable-sides';
14
13
  /**
15
14
  * This file exports all the node-related executions that can be used in the F-Flow domain.
16
15
  */
17
- export declare const F_NODE_FEATURES: (typeof CalculateConnectableSideByConnectedPositions | typeof CalculateNodeConnectorsConnectableSides | typeof AddNodeToStore | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetNodes | typeof GetParentNodes | typeof UpdateNodeWhenStateOrSizeChanged | typeof RemoveNodeFromStore)[];
16
+ export declare const F_NODE_FEATURES: (typeof AddNodeToStore | typeof CalculateConnectableSideByConnectedPositions | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateConnectorsConnectableSides | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetParentNodes | typeof UpdateNodeWhenStateOrSizeChanged | typeof RemoveNodeFromStore)[];
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class RemoveNodeFromStoreRequest {
3
- fComponent: FNodeBase;
3
+ readonly instance: FNodeBase;
4
4
  static readonly fToken: unique symbol;
5
- constructor(fComponent: FNodeBase);
5
+ constructor(instance: FNodeBase);
6
6
  }
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  */
7
7
  export declare class RemoveNodeFromStore implements IExecution<RemoveNodeFromStoreRequest, void> {
8
8
  private readonly _store;
9
- handle(request: RemoveNodeFromStoreRequest): void;
9
+ handle({ instance }: RemoveNodeFromStoreRequest): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<RemoveNodeFromStore, never>;
11
11
  static ɵprov: i0.ɵɵInjectableDeclaration<RemoveNodeFromStore>;
12
12
  }
@@ -9,8 +9,8 @@ import * as i0 from "@angular/core";
9
9
  export declare class SelectAndUpdateNodeLayerExecution implements IHandler<SelectAndUpdateNodeLayerRequest, void> {
10
10
  private readonly _dragContext;
11
11
  private readonly _mediator;
12
- handle(request: SelectAndUpdateNodeLayerRequest): void;
13
- private selectNodeIfNotSelected;
12
+ handle({ nodeOrGroup }: SelectAndUpdateNodeLayerRequest): void;
13
+ private _selectNodeIfNotSelected;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectAndUpdateNodeLayerExecution, never>;
15
15
  static ɵprov: i0.ɵɵInjectableDeclaration<SelectAndUpdateNodeLayerExecution>;
16
16
  }
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class SelectAndUpdateNodeLayerRequest {
3
- fNode: FNodeBase;
3
+ readonly nodeOrGroup: FNodeBase;
4
4
  static readonly fToken: unique symbol;
5
- constructor(fNode: FNodeBase);
5
+ constructor(nodeOrGroup: FNodeBase);
6
6
  }
package/domain/index.d.ts CHANGED
@@ -23,4 +23,5 @@ export * from './is-mobile';
23
23
  export * from './log-deprecated';
24
24
  export * from './log-execution-time';
25
25
  export * from './providers';
26
+ export * from './drag-rect-cache';
26
27
  export * from './transition-end';
@@ -1,13 +1,14 @@
1
1
  import { GetNormalizedElementRectExecution } from './get-normalized-element-rect';
2
- import { MoveFrontElementsBeforeTargetElementExecution, UpdateItemAndChildrenLayersExecution } from './update-item-and-children-layers';
2
+ import { MoveFrontElementsBeforeTargetElement, UpdateItemAndChildrenLayersExecution } from './update-item-and-children-layers';
3
3
  import { GetNormalizedPointExecution } from './get-normalized-point';
4
+ import { SortItemsByParentExecution } from './sort-item-layers';
4
5
  import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
5
6
  import { GetElementRoundedRectExecution } from './get-element-rounded-rect';
6
- import { GetNormalizedConnectorRectExecution } from "./get-normalized-connector-rect";
7
+ import { GetNormalizedConnectorRectExecution } from './get-normalized-connector-rect';
7
8
  /**
8
9
  * This module provides a collection of common providers for the FFlow domain.
9
10
  * It includes features related to canvas, connections, background, connectors,
10
11
  * draggable elements, flow, line alignment, nodes, selection, zoom,
11
12
  * and various utility executions.
12
13
  */
13
- export declare const COMMON_PROVIDERS: (typeof import("./f-node").CalculateConnectableSideByConnectedPositions | typeof import("./f-node").CalculateNodeConnectorsConnectableSides | typeof GetElementRoundedRectExecution | typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").CalculateConnectionLineByBehavior | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStore | typeof import("./f-connectors").AddOutletToStore | typeof import("./f-connectors").AddOutputToStore | typeof import("./f-connectors").CalculateClosestConnector | typeof import("./f-connectors").FindConnectableConnectorUsingPriorityAndPositionExecution | typeof import("./f-connectors").GetAllCanBeConnectedSourceConnectorsAndRectsExecution | typeof import("./f-connectors").GetAllCanBeConnectedInputsAndRectsExecution | typeof import("./f-connectors").GetConnectorAndRect | typeof import("./f-connectors").MarkConnectableConnectors | typeof import("./f-connectors").RemoveInputFromStore | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-connectors").UnmarkConnectableConnectors | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-line-alignment").AddLineAlignmentToStoreExecution | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateConnectableSideByInternalPosition | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateNodesBoundingBoxNormalizedPosition | typeof import("./f-node").CalculateOutputConnections | typeof import("./f-node").FitToChildNodesAndGroups | typeof import("./f-node").GetChildNodeIds | typeof import("./f-node").GetNodePadding | typeof import("./f-node").GetParentNodes | typeof import("./f-node").UpdateNodeWhenStateOrSizeChanged | typeof import("./f-node").RemoveNodeFromStore | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof import("./f-zoom").AddZoomToStoreExecution | typeof import("./f-zoom").SetZoomExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedConnectorRectExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
14
+ export declare const COMMON_PROVIDERS: (typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").CalculateConnectionLineByBehavior | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStore | typeof import("./f-connectors").AddOutletToStore | typeof import("./f-connectors").AddOutputToStore | typeof import("./f-connectors").CalculateClosestConnector | typeof import("./f-connectors").FindConnectableConnectorUsingPriorityAndPositionExecution | typeof import("./f-connectors").CalculateSourceConnectorsToConnect | typeof import("./f-connectors").CalculateTargetConnectorsToConnect | typeof import("./f-connectors").GetConnectorAndRect | typeof import("./f-connectors").MarkConnectableConnectors | typeof import("./f-connectors").RemoveInputFromStore | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-connectors").UnmarkConnectableConnectors | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-line-alignment").AddLineAlignmentToStore | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateConnectableSideByConnectedPositions | typeof import("./f-node").CalculateConnectableSideByInternalPosition | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateConnectorsConnectableSides | typeof import("./f-node").CalculateNodesBoundingBoxNormalizedPosition | typeof import("./f-node").CalculateOutputConnections | typeof import("./f-node").FitToChildNodesAndGroups | typeof import("./f-node").GetChildNodeIds | typeof import("./f-node").GetNodePadding | typeof import("./f-node").GetParentNodes | typeof import("./f-node").UpdateNodeWhenStateOrSizeChanged | typeof import("./f-node").RemoveNodeFromStore | typeof GetElementRoundedRectExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof import("./f-zoom").AddZoomToStoreExecution | typeof import("./f-zoom").SetZoomExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedConnectorRectExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof SortItemsByParentExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElement)[];
@@ -1,2 +1,2 @@
1
- export * from './move-front-elements-before-target-element.execution';
2
- export * from './move-front-elements-before-target-element.request';
1
+ export * from './move-front-elements-before-target-element';
2
+ export * from './move-front-elements-before-target-element-request';
@@ -1,8 +1,8 @@
1
1
  export declare class MoveFrontElementsBeforeTargetElementRequest {
2
- fItemsContainer: HTMLElement;
3
- allElements: Element[];
4
- elementsThatShouldBeInFront: Element[];
5
- targetIndex: number;
2
+ readonly fItemsContainer: HTMLElement;
3
+ readonly allElements: Element[];
4
+ readonly elementsThatShouldBeInFront: Element[];
5
+ readonly targetIndex: number;
6
6
  static readonly fToken: unique symbol;
7
7
  constructor(fItemsContainer: HTMLElement, // fGroupsContainer || fNodesContainer || fConnectionsContainer
8
8
  allElements: Element[], elementsThatShouldBeInFront: Element[], targetIndex: number);
@@ -1,12 +1,12 @@
1
- import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elements-before-target-element.request';
1
+ import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elements-before-target-element-request';
2
2
  import { IExecution } from '@foblex/mediator';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Execution that moves elements in the FItemsContainer before a target element.
6
6
  * It removes elements that should not be in front and inserts them before the target element.
7
7
  */
8
- export declare class MoveFrontElementsBeforeTargetElementExecution implements IExecution<MoveFrontElementsBeforeTargetElementRequest, void> {
8
+ export declare class MoveFrontElementsBeforeTargetElement implements IExecution<MoveFrontElementsBeforeTargetElementRequest, void> {
9
9
  handle(request: MoveFrontElementsBeforeTargetElementRequest): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<MoveFrontElementsBeforeTargetElementExecution, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<MoveFrontElementsBeforeTargetElementExecution>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<MoveFrontElementsBeforeTargetElement, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<MoveFrontElementsBeforeTargetElement>;
12
12
  }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable */
1
2
  export const F_CSS_CLASS = {
2
3
  DRAG_AND_DROP: {
3
4
  DRAGGING: 'f-dragging',
@@ -18,4 +19,4 @@ export const F_CSS_CLASS = {
18
19
  DRAG_HANDLE: 'f-connection-drag-handle',
19
20
  },
20
21
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Nzcy1jbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBRXpCLGFBQWEsRUFBRTtRQUViLFFBQVEsRUFBRSxZQUFZO1FBRXRCLG9CQUFvQixFQUFFLHdCQUF3QjtLQUMvQztJQUVELFFBQVEsRUFBRTtRQUVSLGFBQWEsRUFBRSwwQkFBMEI7UUFFekMsV0FBVyxFQUFFLHdCQUF3QjtLQUN0QztJQUVELFNBQVMsRUFBRTtRQUVULGdCQUFnQixFQUFFLHlCQUF5QjtRQUUzQyxzQkFBc0IsRUFBRSwrQkFBK0I7UUFFdkQsZUFBZSxFQUFFLHdCQUF3QjtRQUV6QyxxQkFBcUIsRUFBRSw4QkFBOEI7UUFFckQsV0FBVyxFQUFFLHlCQUF5QjtLQUN2QztJQUVELFVBQVUsRUFBRTtRQUVWLFdBQVcsRUFBRSwwQkFBMEI7S0FDeEM7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEZfQ1NTX0NMQVNTID0ge1xuXG4gIERSQUdfQU5EX0RST1A6IHtcblxuICAgIERSQUdHSU5HOiAnZi1kcmFnZ2luZycsXG5cbiAgICBDT05ORUNUSU9OU19EUkFHR0lORzogJ2YtY29ubmVjdGlvbnMtZHJhZ2dpbmcnLFxuICB9LFxuXG4gIEdST1VQSU5HOiB7XG5cbiAgICBPVkVSX0JPVU5EQVJZOiAnZi1ncm91cGluZy1vdmVyLWJvdW5kYXJ5JyxcblxuICAgIERST1BfQUNUSVZFOiAnZi1ncm91cGluZy1kcm9wLWFjdGl2ZScsXG4gIH0sXG5cbiAgQ09OTkVDVE9SOiB7XG5cbiAgICBPVVRQVVRfQ09OTkVDVEVEOiAnZi1ub2RlLW91dHB1dC1jb25uZWN0ZWQnLFxuXG4gICAgT1VUUFVUX05PVF9DT05ORUNUQUJMRTogJ2Ytbm9kZS1vdXRwdXQtbm90LWNvbm5lY3RhYmxlJyxcblxuICAgIElOUFVUX0NPTk5FQ1RFRDogJ2Ytbm9kZS1pbnB1dC1jb25uZWN0ZWQnLFxuXG4gICAgSU5QVVRfTk9UX0NPTk5FQ1RBQkxFOiAnZi1ub2RlLWlucHV0LW5vdC1jb25uZWN0YWJsZScsXG5cbiAgICBDT05ORUNUQUJMRTogJ2YtY29ubmVjdG9yLWNvbm5lY3RhYmxlJyxcbiAgfSxcblxuICBDT05ORUNUSU9OOiB7XG5cbiAgICBEUkFHX0hBTkRMRTogJ2YtY29ubmVjdGlvbi1kcmFnLWhhbmRsZScsXG4gIH0sXG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Nzcy1jbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsWUFBWTtRQUV0QixvQkFBb0IsRUFBRSx3QkFBd0I7S0FDL0M7SUFFRCxRQUFRLEVBQUU7UUFDUixhQUFhLEVBQUUsMEJBQTBCO1FBRXpDLFdBQVcsRUFBRSx3QkFBd0I7S0FDdEM7SUFFRCxTQUFTLEVBQUU7UUFDVCxnQkFBZ0IsRUFBRSx5QkFBeUI7UUFFM0Msc0JBQXNCLEVBQUUsK0JBQStCO1FBRXZELGVBQWUsRUFBRSx3QkFBd0I7UUFFekMscUJBQXFCLEVBQUUsOEJBQThCO1FBRXJELFdBQVcsRUFBRSx5QkFBeUI7S0FDdkM7SUFFRCxVQUFVLEVBQUU7UUFDVixXQUFXLEVBQUUsMEJBQTBCO0tBQ3hDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5leHBvcnQgY29uc3QgRl9DU1NfQ0xBU1MgPSB7XG4gIERSQUdfQU5EX0RST1A6IHtcbiAgICBEUkFHR0lORzogJ2YtZHJhZ2dpbmcnLFxuXG4gICAgQ09OTkVDVElPTlNfRFJBR0dJTkc6ICdmLWNvbm5lY3Rpb25zLWRyYWdnaW5nJyxcbiAgfSxcblxuICBHUk9VUElORzoge1xuICAgIE9WRVJfQk9VTkRBUlk6ICdmLWdyb3VwaW5nLW92ZXItYm91bmRhcnknLFxuXG4gICAgRFJPUF9BQ1RJVkU6ICdmLWdyb3VwaW5nLWRyb3AtYWN0aXZlJyxcbiAgfSxcblxuICBDT05ORUNUT1I6IHtcbiAgICBPVVRQVVRfQ09OTkVDVEVEOiAnZi1ub2RlLW91dHB1dC1jb25uZWN0ZWQnLFxuXG4gICAgT1VUUFVUX05PVF9DT05ORUNUQUJMRTogJ2Ytbm9kZS1vdXRwdXQtbm90LWNvbm5lY3RhYmxlJyxcblxuICAgIElOUFVUX0NPTk5FQ1RFRDogJ2Ytbm9kZS1pbnB1dC1jb25uZWN0ZWQnLFxuXG4gICAgSU5QVVRfTk9UX0NPTk5FQ1RBQkxFOiAnZi1ub2RlLWlucHV0LW5vdC1jb25uZWN0YWJsZScsXG5cbiAgICBDT05ORUNUQUJMRTogJ2YtY29ubmVjdG9yLWNvbm5lY3RhYmxlJyxcbiAgfSxcblxuICBDT05ORUNUSU9OOiB7XG4gICAgRFJBR19IQU5ETEU6ICdmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUnLFxuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { RectExtensions } from '@foblex/2d';
2
+ export class DragRectCache {
3
+ static _cache = new WeakMap();
4
+ static fromElement(element) {
5
+ const rect = this._cache.get(element) || RectExtensions.fromElement(element);
6
+ this._cache.set(element, rect);
7
+ return rect;
8
+ }
9
+ static set(element) {
10
+ this._cache.set(element, RectExtensions.fromElement(element));
11
+ }
12
+ static invalidate(element) {
13
+ this._cache.delete(element);
14
+ }
15
+ static invalidateAll() {
16
+ this._cache = new WeakMap();
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1yZWN0LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZHJhZy1yZWN0LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsTUFBTSxPQUFPLGFBQWE7SUFDaEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztJQUUvQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWlDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBaUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFpQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWE7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztJQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBEcmFnUmVjdENhY2hlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgX2NhY2hlID0gbmV3IFdlYWtNYXA8RWxlbWVudCwgSVJlY3Q+KCk7XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuX2NhY2hlLmdldChlbGVtZW50KSB8fCBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChlbGVtZW50KTtcbiAgICB0aGlzLl9jYWNoZS5zZXQoZWxlbWVudCwgcmVjdCk7XG5cbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX2NhY2hlLnNldChlbGVtZW50LCBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChlbGVtZW50KSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGludmFsaWRhdGUoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fY2FjaGUuZGVsZXRlKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpbnZhbGlkYXRlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX2NhY2hlID0gbmV3IFdlYWtNYXA8RWxlbWVudCwgSVJlY3Q+KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,16 +1,16 @@
1
1
  export class CalculateConnectionLineByBehaviorRequest {
2
2
  sourceRect;
3
3
  targetRect;
4
- behavior;
4
+ connection;
5
5
  sourceConnectableSide;
6
6
  targetConnectableSide;
7
7
  static fToken = Symbol('CalculateConnectionLineByBehaviorRequest');
8
- constructor(sourceRect, targetRect, behavior, sourceConnectableSide, targetConnectableSide) {
8
+ constructor(sourceRect, targetRect, connection, sourceConnectableSide, targetConnectableSide) {
9
9
  this.sourceRect = sourceRect;
10
10
  this.targetRect = targetRect;
11
- this.behavior = behavior;
11
+ this.connection = connection;
12
12
  this.sourceConnectableSide = sourceConnectableSide;
13
13
  this.targetConnectableSide = targetConnectableSide;
14
14
  }
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IvY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyx3Q0FBd0M7SUFJMUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVBULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFFNUUsWUFDUyxVQUF3QixFQUN4QixVQUF3QixFQUN4QixRQUF1QyxFQUN2QyxxQkFBd0MsRUFDeEMscUJBQXdDO1FBSnhDLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUErQjtRQUN2QywwQkFBcUIsR0FBckIscUJBQXFCLENBQW1CO1FBQ3hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBbUI7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICAgIHB1YmxpYyB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4gICAgcHVibGljIGJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB8IHN0cmluZyxcbiAgICBwdWJsaWMgc291cmNlQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBwdWJsaWMgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKSB7fVxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IvY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyx3Q0FBd0M7SUFJakM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVBsQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBRTVFLFlBQ2tCLFVBQXdCLEVBQ3hCLFVBQXdCLEVBQ3hCLFVBQTJCLEVBQzNCLHFCQUF3QyxFQUN4QyxxQkFBd0M7UUFKeEMsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBbUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFtQjtJQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKSB7fVxufVxuIl19
@@ -1,23 +1,136 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { CalculateConnectionLineByBehaviorRequest } from './calculate-connection-line-by-behavior-request';
3
3
  import { Injectable } from '@angular/core';
4
- import { EFConnectionBehavior } from '../../../f-connection';
4
+ import { EFConnectionBehavior, EFConnectionConnectableSide } from '../../../f-connection';
5
5
  import { FExecutionRegister } from '@foblex/mediator';
6
- import { floatingBehavior } from './floating-behavior';
7
- import { fixedCenterBehavior } from './fixed-center-behavior';
8
- import { fixedOutboundBehavior } from './fixed-outbound-behavior';
6
+ import { floatingBehavior } from './utils/floating-behavior';
7
+ import { fixedCenterBehavior } from './utils/fixed-center-behavior';
8
+ import { fixedOutboundBehavior } from './utils/fixed-outbound-behavior';
9
+ import { EFConnectableSide } from '../../../f-connectors';
9
10
  import * as i0 from "@angular/core";
10
11
  /**
11
- * Execution that calculates the connection line based on the behavior.
12
+ * Small epsilon to treat near-zero differences as negligible.
13
+ */
14
+ const EPSILON = 0.5;
15
+ /**
16
+ * Registry of all connection behavior handlers.
17
+ */
18
+ const BEHAVIOR_HANDLERS = {
19
+ [EFConnectionBehavior.FLOATING]: floatingBehavior,
20
+ [EFConnectionBehavior.FIXED_CENTER]: fixedCenterBehavior,
21
+ [EFConnectionBehavior.FIXED]: fixedOutboundBehavior,
22
+ };
23
+ /**
24
+ * Calculates connection lines based on behavior rules.
25
+ * It determines which sides of the source and target should connect,
26
+ * then delegates to a registered behavior handler.
12
27
  */
13
28
  let CalculateConnectionLineByBehavior = class CalculateConnectionLineByBehavior {
14
- _handlers = {
15
- [EFConnectionBehavior.FLOATING.toString()]: floatingBehavior,
16
- [EFConnectionBehavior.FIXED_CENTER.toString()]: fixedCenterBehavior,
17
- [EFConnectionBehavior.FIXED.toString()]: fixedOutboundBehavior,
18
- };
19
- handle(payload) {
20
- return this._handlers[payload.behavior](payload);
29
+ /**
30
+ * Main execution entry point.
31
+ *
32
+ * @param request The request containing source, target, and connection details.
33
+ * @returns A calculated connection line (ILine).
34
+ */
35
+ handle(request) {
36
+ const vectors = this._calculateDirectionalVectors(request.sourceRect.gravityCenter.x, request.sourceRect.gravityCenter.y, request.targetRect.gravityCenter.x, request.targetRect.gravityCenter.y);
37
+ const sourceSide = this._determineSourceSide(request, vectors);
38
+ const targetSide = this._determineTargetSide(request, vectors);
39
+ request.connection._applyResolvedSidesToConnection(sourceSide, targetSide);
40
+ const handler = this._getBehaviorHandler(request.connection.fBehavior);
41
+ return handler({
42
+ sourceRect: request.sourceRect,
43
+ targetRect: request.targetRect,
44
+ sourceConnectableSide: sourceSide,
45
+ targetConnectableSide: targetSide,
46
+ });
47
+ }
48
+ /**
49
+ * Computes the directional deltas between two rectangles.
50
+ */
51
+ _calculateDirectionalVectors(sourceX, sourceY, targetX, targetY) {
52
+ const sourceToTargetX = targetX - sourceX;
53
+ const sourceToTargetY = targetY - sourceY;
54
+ return {
55
+ sourceToTargetX,
56
+ sourceToTargetY,
57
+ targetToSourceX: -sourceToTargetX,
58
+ targetToSourceY: -sourceToTargetY,
59
+ };
60
+ }
61
+ /**
62
+ * Determines the side for the source element.
63
+ */
64
+ _determineSourceSide(request, vectors) {
65
+ return this._resolveConnectableSide(request.connection.fOutputSide(), vectors.sourceToTargetX, vectors.sourceToTargetY, request.sourceConnectableSide);
66
+ }
67
+ /**
68
+ * Determines the side for the target element.
69
+ */
70
+ _determineTargetSide(request, vectors) {
71
+ return this._resolveConnectableSide(request.connection.fInputSide(), vectors.targetToSourceX, vectors.targetToSourceY, request.targetConnectableSide);
72
+ }
73
+ /**
74
+ * Resolves which side of a shape to connect to based on direction, fallback, and connection mode.
75
+ *
76
+ * @param requestedSide The side mode (e.g. CALCULATE, CALCULATE_HORIZONTAL, FIXED, etc.).
77
+ * @param deltaX Difference in X between source and target.
78
+ * @param deltaY Difference in Y between source and target.
79
+ * @param fallbackSide The default fallback side if calculation is ambiguous.
80
+ */
81
+ _resolveConnectableSide(requestedSide, deltaX, deltaY, fallbackSide) {
82
+ if (requestedSide === EFConnectionConnectableSide.DEFAULT) {
83
+ return fallbackSide;
84
+ }
85
+ const absoluteX = Math.abs(deltaX);
86
+ const absoluteY = Math.abs(deltaY);
87
+ const isNearZero = absoluteX < EPSILON && absoluteY < EPSILON;
88
+ if (isNearZero) {
89
+ return fallbackSide;
90
+ }
91
+ const isHorizontalDominant = absoluteX >= absoluteY;
92
+ switch (requestedSide) {
93
+ case EFConnectionConnectableSide.CALCULATE:
94
+ return isHorizontalDominant
95
+ ? deltaX >= 0
96
+ ? EFConnectableSide.RIGHT
97
+ : EFConnectableSide.LEFT
98
+ : deltaY >= 0
99
+ ? EFConnectableSide.BOTTOM
100
+ : EFConnectableSide.TOP;
101
+ case EFConnectionConnectableSide.CALCULATE_HORIZONTAL:
102
+ if (absoluteX < EPSILON) {
103
+ return fallbackSide;
104
+ }
105
+ return deltaX >= 0 ? EFConnectableSide.RIGHT : EFConnectableSide.LEFT;
106
+ case EFConnectionConnectableSide.CALCULATE_VERTICAL:
107
+ if (absoluteY < EPSILON) {
108
+ return fallbackSide;
109
+ }
110
+ return deltaY >= 0 ? EFConnectableSide.BOTTOM : EFConnectableSide.TOP;
111
+ case EFConnectionConnectableSide.TOP:
112
+ return EFConnectableSide.TOP;
113
+ case EFConnectionConnectableSide.BOTTOM:
114
+ return EFConnectableSide.BOTTOM;
115
+ case EFConnectionConnectableSide.LEFT:
116
+ return EFConnectableSide.LEFT;
117
+ case EFConnectionConnectableSide.RIGHT:
118
+ return EFConnectableSide.RIGHT;
119
+ default:
120
+ return fallbackSide;
121
+ }
122
+ }
123
+ /**
124
+ * Returns the appropriate handler for the given connection behavior.
125
+ *
126
+ * @throws Error if no handler is registered for the behavior.
127
+ */
128
+ _getBehaviorHandler(behavior) {
129
+ const handler = BEHAVIOR_HANDLERS[behavior];
130
+ if (!handler) {
131
+ throw new Error(`[Behavior] No handler for behavior: ${behavior}`);
132
+ }
133
+ return handler;
21
134
  }
22
135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
136
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior });
@@ -29,4 +142,4 @@ export { CalculateConnectionLineByBehavior };
29
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectionLineByBehavior, decorators: [{
30
143
  type: Injectable
31
144
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFOztHQUVHO0FBR0ksSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFHcEMsU0FBUyxHQUFHO1FBQ2xCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCO1FBRTVELENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsbUJBQW1CO1FBRW5FLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUscUJBQXFCO0tBQy9ELENBQUM7SUFFSyxNQUFNLENBQUMsT0FBaUQ7UUFDN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDO3dHQWJVLGlDQUFpQzs0R0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsd0NBQXdDLENBQUM7R0FDaEQsaUNBQWlDLENBYzdDOzs0RkFkWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yLXJlcXVlc3QnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJTGluZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgZmxvYXRpbmdCZWhhdmlvciB9IGZyb20gJy4vZmxvYXRpbmctYmVoYXZpb3InO1xuaW1wb3J0IHsgZml4ZWRDZW50ZXJCZWhhdmlvciB9IGZyb20gJy4vZml4ZWQtY2VudGVyLWJlaGF2aW9yJztcbmltcG9ydCB7IGZpeGVkT3V0Ym91bmRCZWhhdmlvciB9IGZyb20gJy4vZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3InO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZSBiYXNlZCBvbiB0aGUgYmVoYXZpb3IuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsIElMaW5lPlxue1xuICBwcml2YXRlIF9oYW5kbGVycyA9IHtcbiAgICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRkxPQVRJTkcudG9TdHJpbmcoKV06IGZsb2F0aW5nQmVoYXZpb3IsXG5cbiAgICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRURfQ0VOVEVSLnRvU3RyaW5nKCldOiBmaXhlZENlbnRlckJlaGF2aW9yLFxuXG4gICAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVELnRvU3RyaW5nKCldOiBmaXhlZE91dGJvdW5kQmVoYXZpb3IsXG4gIH07XG5cbiAgcHVibGljIGhhbmRsZShwYXlsb2FkOiBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9oYW5kbGVyc1twYXlsb2FkLmJlaGF2aW9yXShwYXlsb2FkKTtcbiAgfVxufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBT3BCOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBb0M7SUFDekQsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0I7SUFDakQsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxtQkFBbUI7SUFDeEQsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxxQkFBcUI7Q0FDcEQsQ0FBQztBQVlGOzs7O0dBSUc7QUFHSSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUc1Qzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFpRDtRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQy9DLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUNsQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDbkMsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUvRCxPQUFPLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUzRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RSxPQUFPLE9BQU8sQ0FBQztZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIscUJBQXFCLEVBQUUsVUFBVTtZQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QixDQUNsQyxPQUFlLEVBQ2YsT0FBZSxFQUNmLE9BQWUsRUFDZixPQUFlO1FBRWYsTUFBTSxlQUFlLEdBQUcsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMxQyxNQUFNLGVBQWUsR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRTFDLE9BQU87WUFDTCxlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWUsRUFBRSxDQUFDLGVBQWU7WUFDakMsZUFBZSxFQUFFLENBQUMsZUFBZTtTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CLENBQzFCLE9BQWlELEVBQ2pELE9BQTRCO1FBRTVCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUNoQyxPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMscUJBQXFCLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0IsQ0FDMUIsT0FBaUQsRUFDakQsT0FBNEI7UUFFNUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQ2pDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQy9CLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxxQkFBcUIsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssdUJBQXVCLENBQzdCLGFBQTBDLEVBQzFDLE1BQWMsRUFDZCxNQUFjLEVBQ2QsWUFBK0I7UUFFL0IsSUFBSSxhQUFhLEtBQUssMkJBQTJCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUQsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxNQUFNLFVBQVUsR0FBRyxTQUFTLEdBQUcsT0FBTyxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFFOUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFFcEQsUUFBUSxhQUFhLEVBQUUsQ0FBQztZQUN0QixLQUFLLDJCQUEyQixDQUFDLFNBQVM7Z0JBQ3hDLE9BQU8sb0JBQW9CO29CQUN6QixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQ1gsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUs7d0JBQ3pCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO29CQUMxQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQ1gsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU07d0JBQzFCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7WUFFOUIsS0FBSywyQkFBMkIsQ0FBQyxvQkFBb0I7Z0JBQ25ELElBQUksU0FBUyxHQUFHLE9BQU8sRUFBRSxDQUFDO29CQUN4QixPQUFPLFlBQVksQ0FBQztnQkFDdEIsQ0FBQztnQkFFRCxPQUFPLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1lBRXhFLEtBQUssMkJBQTJCLENBQUMsa0JBQWtCO2dCQUNqRCxJQUFJLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLENBQUM7Z0JBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztZQUV4RSxLQUFLLDJCQUEyQixDQUFDLEdBQUc7Z0JBQ2xDLE9BQU8saUJBQWlCLENBQUMsR0FBRyxDQUFDO1lBQy9CLEtBQUssMkJBQTJCLENBQUMsTUFBTTtnQkFDckMsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDbEMsS0FBSywyQkFBMkIsQ0FBQyxJQUFJO2dCQUNuQyxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUNoQyxLQUFLLDJCQUEyQixDQUFDLEtBQUs7Z0JBQ3BDLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDO1lBRWpDO2dCQUNFLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLFFBQThCO1FBQ3hELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7d0dBaEtVLGlDQUFpQzs0R0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsd0NBQXdDLENBQUM7R0FDaEQsaUNBQWlDLENBaUs3Qzs7NEZBaktZLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3ItcmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciwgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSUxpbmUgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGZsb2F0aW5nQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzL2Zsb2F0aW5nLWJlaGF2aW9yJztcbmltcG9ydCB7IGZpeGVkQ2VudGVyQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzL2ZpeGVkLWNlbnRlci1iZWhhdmlvcic7XG5pbXBvcnQgeyBmaXhlZE91dGJvdW5kQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzL2ZpeGVkLW91dGJvdW5kLWJlaGF2aW9yJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IENhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB9IGZyb20gJy4vbW9kZWxzL2NhbGN1bGF0ZS1iZWhhdmlvci1yZXF1ZXN0JztcblxuLyoqXG4gKiBTbWFsbCBlcHNpbG9uIHRvIHRyZWF0IG5lYXItemVybyBkaWZmZXJlbmNlcyBhcyBuZWdsaWdpYmxlLlxuICovXG5jb25zdCBFUFNJTE9OID0gMC41O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHNpZ25hdHVyZSBmb3IgYmVoYXZpb3Itc3BlY2lmaWMgY29ubmVjdGlvbiBsaW5lIGhhbmRsZXJzLlxuICovXG50eXBlIEJlaGF2aW9ySGFuZGxlciA9IChhcmdzOiBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpID0+IElMaW5lO1xuXG4vKipcbiAqIFJlZ2lzdHJ5IG9mIGFsbCBjb25uZWN0aW9uIGJlaGF2aW9yIGhhbmRsZXJzLlxuICovXG5jb25zdCBCRUhBVklPUl9IQU5ETEVSUzogUmVjb3JkPHN0cmluZywgQmVoYXZpb3JIYW5kbGVyPiA9IHtcbiAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZMT0FUSU5HXTogZmxvYXRpbmdCZWhhdmlvcixcbiAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEX0NFTlRFUl06IGZpeGVkQ2VudGVyQmVoYXZpb3IsXG4gIFtFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRF06IGZpeGVkT3V0Ym91bmRCZWhhdmlvcixcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGlyZWN0aW9uYWwgZGVsdGFzIGJldHdlZW4gdHdvIHJlY3RhbmdsZXMuXG4gKi9cbmludGVyZmFjZSBJRGlyZWN0aW9uYWxWZWN0b3JzIHtcbiAgc291cmNlVG9UYXJnZXRYOiBudW1iZXI7XG4gIHNvdXJjZVRvVGFyZ2V0WTogbnVtYmVyO1xuICB0YXJnZXRUb1NvdXJjZVg6IG51bWJlcjtcbiAgdGFyZ2V0VG9Tb3VyY2VZOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBjb25uZWN0aW9uIGxpbmVzIGJhc2VkIG9uIGJlaGF2aW9yIHJ1bGVzLlxuICogSXQgZGV0ZXJtaW5lcyB3aGljaCBzaWRlcyBvZiB0aGUgc291cmNlIGFuZCB0YXJnZXQgc2hvdWxkIGNvbm5lY3QsXG4gKiB0aGVuIGRlbGVnYXRlcyB0byBhIHJlZ2lzdGVyZWQgYmVoYXZpb3IgaGFuZGxlci5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCwgSUxpbmU+XG57XG4gIC8qKlxuICAgKiBNYWluIGV4ZWN1dGlvbiBlbnRyeSBwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3QgY29udGFpbmluZyBzb3VyY2UsIHRhcmdldCwgYW5kIGNvbm5lY3Rpb24gZGV0YWlscy5cbiAgICogQHJldHVybnMgQSBjYWxjdWxhdGVkIGNvbm5lY3Rpb24gbGluZSAoSUxpbmUpLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICAgIGNvbnN0IHZlY3RvcnMgPSB0aGlzLl9jYWxjdWxhdGVEaXJlY3Rpb25hbFZlY3RvcnMoXG4gICAgICByZXF1ZXN0LnNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlci54LFxuICAgICAgcmVxdWVzdC5zb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIueSxcbiAgICAgIHJlcXVlc3QudGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLngsXG4gICAgICByZXF1ZXN0LnRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlci55LFxuICAgICk7XG5cbiAgICBjb25zdCBzb3VyY2VTaWRlID0gdGhpcy5fZGV0ZXJtaW5lU291cmNlU2lkZShyZXF1ZXN0LCB2ZWN0b3JzKTtcbiAgICBjb25zdCB0YXJnZXRTaWRlID0gdGhpcy5fZGV0ZXJtaW5lVGFyZ2V0U2lkZShyZXF1ZXN0LCB2ZWN0b3JzKTtcblxuICAgIHJlcXVlc3QuY29ubmVjdGlvbi5fYXBwbHlSZXNvbHZlZFNpZGVzVG9Db25uZWN0aW9uKHNvdXJjZVNpZGUsIHRhcmdldFNpZGUpO1xuXG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuX2dldEJlaGF2aW9ySGFuZGxlcihyZXF1ZXN0LmNvbm5lY3Rpb24uZkJlaGF2aW9yKTtcblxuICAgIHJldHVybiBoYW5kbGVyKHtcbiAgICAgIHNvdXJjZVJlY3Q6IHJlcXVlc3Quc291cmNlUmVjdCxcbiAgICAgIHRhcmdldFJlY3Q6IHJlcXVlc3QudGFyZ2V0UmVjdCxcbiAgICAgIHNvdXJjZUNvbm5lY3RhYmxlU2lkZTogc291cmNlU2lkZSxcbiAgICAgIHRhcmdldENvbm5lY3RhYmxlU2lkZTogdGFyZ2V0U2lkZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgZGlyZWN0aW9uYWwgZGVsdGFzIGJldHdlZW4gdHdvIHJlY3RhbmdsZXMuXG4gICAqL1xuICBwcml2YXRlIF9jYWxjdWxhdGVEaXJlY3Rpb25hbFZlY3RvcnMoXG4gICAgc291cmNlWDogbnVtYmVyLFxuICAgIHNvdXJjZVk6IG51bWJlcixcbiAgICB0YXJnZXRYOiBudW1iZXIsXG4gICAgdGFyZ2V0WTogbnVtYmVyLFxuICApOiBJRGlyZWN0aW9uYWxWZWN0b3JzIHtcbiAgICBjb25zdCBzb3VyY2VUb1RhcmdldFggPSB0YXJnZXRYIC0gc291cmNlWDtcbiAgICBjb25zdCBzb3VyY2VUb1RhcmdldFkgPSB0YXJnZXRZIC0gc291cmNlWTtcblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2VUb1RhcmdldFgsXG4gICAgICBzb3VyY2VUb1RhcmdldFksXG4gICAgICB0YXJnZXRUb1NvdXJjZVg6IC1zb3VyY2VUb1RhcmdldFgsXG4gICAgICB0YXJnZXRUb1NvdXJjZVk6IC1zb3VyY2VUb1RhcmdldFksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBzaWRlIGZvciB0aGUgc291cmNlIGVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIF9kZXRlcm1pbmVTb3VyY2VTaWRlKFxuICAgIHJlcXVlc3Q6IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZPdXRwdXRTaWRlKCksXG4gICAgICB2ZWN0b3JzLnNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHZlY3RvcnMuc291cmNlVG9UYXJnZXRZLFxuICAgICAgcmVxdWVzdC5zb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHRoZSBzaWRlIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQuXG4gICAqL1xuICBwcml2YXRlIF9kZXRlcm1pbmVUYXJnZXRTaWRlKFxuICAgIHJlcXVlc3Q6IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZJbnB1dFNpZGUoKSxcbiAgICAgIHZlY3RvcnMudGFyZ2V0VG9Tb3VyY2VYLFxuICAgICAgdmVjdG9ycy50YXJnZXRUb1NvdXJjZVksXG4gICAgICByZXF1ZXN0LnRhcmdldENvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHdoaWNoIHNpZGUgb2YgYSBzaGFwZSB0byBjb25uZWN0IHRvIGJhc2VkIG9uIGRpcmVjdGlvbiwgZmFsbGJhY2ssIGFuZCBjb25uZWN0aW9uIG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0ZWRTaWRlIFRoZSBzaWRlIG1vZGUgKGUuZy4gQ0FMQ1VMQVRFLCBDQUxDVUxBVEVfSE9SSVpPTlRBTCwgRklYRUQsIGV0Yy4pLlxuICAgKiBAcGFyYW0gZGVsdGFYIERpZmZlcmVuY2UgaW4gWCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZGVsdGFZIERpZmZlcmVuY2UgaW4gWSBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZmFsbGJhY2tTaWRlIFRoZSBkZWZhdWx0IGZhbGxiYWNrIHNpZGUgaWYgY2FsY3VsYXRpb24gaXMgYW1iaWd1b3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICByZXF1ZXN0ZWRTaWRlOiBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUsXG4gICAgZGVsdGFYOiBudW1iZXIsXG4gICAgZGVsdGFZOiBudW1iZXIsXG4gICAgZmFsbGJhY2tTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIGlmIChyZXF1ZXN0ZWRTaWRlID09PSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCkge1xuICAgICAgcmV0dXJuIGZhbGxiYWNrU2lkZTtcbiAgICB9XG5cbiAgICBjb25zdCBhYnNvbHV0ZVggPSBNYXRoLmFicyhkZWx0YVgpO1xuICAgIGNvbnN0IGFic29sdXRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XG4gICAgY29uc3QgaXNOZWFyWmVybyA9IGFic29sdXRlWCA8IEVQU0lMT04gJiYgYWJzb2x1dGVZIDwgRVBTSUxPTjtcblxuICAgIGlmIChpc05lYXJaZXJvKSB7XG4gICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSG9yaXpvbnRhbERvbWluYW50ID0gYWJzb2x1dGVYID49IGFic29sdXRlWTtcblxuICAgIHN3aXRjaCAocmVxdWVzdGVkU2lkZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFOlxuICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsRG9taW5hbnRcbiAgICAgICAgICA/IGRlbHRhWCA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUXG4gICAgICAgICAgICA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlRcbiAgICAgICAgICA6IGRlbHRhWSA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTVxuICAgICAgICAgICAgOiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9IT1JJWk9OVEFMOlxuICAgICAgICBpZiAoYWJzb2x1dGVYIDwgRVBTSUxPTikge1xuICAgICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVsdGFYID49IDAgPyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9WRVJUSUNBTDpcbiAgICAgICAgaWYgKGFic29sdXRlWSA8IEVQU0lMT04pIHtcbiAgICAgICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+PSAwID8gRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NIDogRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uIGJlaGF2aW9yLlxuICAgKlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5vIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGJlaGF2aW9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0QmVoYXZpb3JIYW5kbGVyKGJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcik6IEJlaGF2aW9ySGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IEJFSEFWSU9SX0hBTkRMRVJTW2JlaGF2aW9yXTtcbiAgICBpZiAoIWhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW0JlaGF2aW9yXSBObyBoYW5kbGVyIGZvciBiZWhhdmlvcjogJHtiZWhhdmlvcn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './calculate-connection-line-by-behavior';
2
2
  export * from './calculate-connection-line-by-behavior-request';
3
- export * from './fixed-center-behavior';
4
- export * from './fixed-outbound-behavior';
5
- export * from './floating-behavior';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3ItcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtY2VudGVyLWJlaGF2aW9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9maXhlZC1vdXRib3VuZC1iZWhhdmlvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmxvYXRpbmctYmVoYXZpb3InO1xuIl19
3
+ export * from './models/calculate-behavior-request';
4
+ export * from './utils/fixed-center-behavior';
5
+ export * from './utils/fixed-outbound-behavior';
6
+ export * from './utils/floating-behavior';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpeGVkLWNlbnRlci1iZWhhdmlvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3InO1xuXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2Zsb2F0aW5nLWJlaGF2aW9yJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB7XG4gIHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdDtcbiAgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0O1xuICBzb3VyY2VDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlO1xuICB0YXJnZXRDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlO1xufVxuIl19
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Fixed center behavior calculates the connection line
3
+ * It constructs a line between the gravity centers of the connector rectangles
4
+ * @param payload
5
+ */
6
+ export function fixedCenterBehavior({ sourceRect, targetRect }) {
7
+ return {
8
+ point1: sourceRect.gravityCenter,
9
+ point2: targetRect.gravityCenter,
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtY2VudGVyLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWxpbmUtYnktYmVoYXZpb3IvdXRpbHMvZml4ZWQtY2VudGVyLWJlaGF2aW9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE0QjtJQUN0RixPQUFPO1FBQ0wsTUFBTSxFQUFFLFVBQVUsQ0FBQyxhQUFhO1FBQ2hDLE1BQU0sRUFBRSxVQUFVLENBQUMsYUFBYTtLQUNqQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG4vKipcbiAqIEZpeGVkIGNlbnRlciBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIGdyYXZpdHkgY2VudGVycyBvZiB0aGUgY29ubmVjdG9yIHJlY3RhbmdsZXNcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhlZENlbnRlckJlaGF2aW9yKHsgc291cmNlUmVjdCwgdGFyZ2V0UmVjdCB9OiBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBzb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgcG9pbnQyOiB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { EFConnectableSide } from '../../../../f-connectors';
2
+ /**
3
+ * Fixed outbound behavior calculates the connection line
4
+ * It constructs a line between the specified sides of the output and input rectangles
5
+ * @param payload
6
+ */
7
+ export function fixedOutboundBehavior({ sourceRect, sourceConnectableSide, targetRect, targetConnectableSide, }) {
8
+ return {
9
+ point1: _getPosition(sourceRect, sourceConnectableSide === EFConnectableSide.AUTO
10
+ ? EFConnectableSide.BOTTOM
11
+ : sourceConnectableSide),
12
+ point2: _getPosition(targetRect, targetConnectableSide === EFConnectableSide.AUTO
13
+ ? EFConnectableSide.TOP
14
+ : targetConnectableSide),
15
+ };
16
+ }
17
+ function _getPosition(rect, side) {
18
+ switch (side) {
19
+ case EFConnectableSide.TOP:
20
+ return { x: rect.x + rect.width / 2, y: rect.y };
21
+ case EFConnectableSide.BOTTOM:
22
+ return { x: rect.x + rect.width / 2, y: rect.y + rect.height };
23
+ case EFConnectableSide.LEFT:
24
+ return { x: rect.x, y: rect.y + rect.height / 2 };
25
+ case EFConnectableSide.RIGHT:
26
+ return { x: rect.x + rect.width, y: rect.y + rect.height / 2 };
27
+ default:
28
+ throw new Error(`Unknown side: ${side}`);
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtb3V0Ym91bmQtYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci91dGlscy9maXhlZC1vdXRib3VuZC1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc3RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQ3BDLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsVUFBVSxFQUNWLHFCQUFxQixHQUNJO0lBQ3pCLE9BQU87UUFDTCxNQUFNLEVBQUUsWUFBWSxDQUNsQixVQUFVLEVBQ1YscUJBQXFCLEtBQUssaUJBQWlCLENBQUMsSUFBSTtZQUM5QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTTtZQUMxQixDQUFDLENBQUMscUJBQXFCLENBQzFCO1FBQ0QsTUFBTSxFQUFFLFlBQVksQ0FDbEIsVUFBVSxFQUNWLHFCQUFxQixLQUFLLGlCQUFpQixDQUFDLElBQUk7WUFDOUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDdkIsQ0FBQyxDQUFDLHFCQUFxQixDQUMxQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBVyxFQUFFLElBQXVCO0lBQ3hELFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDYixLQUFLLGlCQUFpQixDQUFDLEdBQUc7WUFDeEIsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakUsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BELEtBQUssaUJBQWlCLENBQUMsS0FBSztZQUMxQixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pFO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG4vKipcbiAqIEZpeGVkIG91dGJvdW5kIGJlaGF2aW9yIGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZVxuICogSXQgY29uc3RydWN0cyBhIGxpbmUgYmV0d2VlbiB0aGUgc3BlY2lmaWVkIHNpZGVzIG9mIHRoZSBvdXRwdXQgYW5kIGlucHV0IHJlY3RhbmdsZXNcbiAqIEBwYXJhbSBwYXlsb2FkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhlZE91dGJvdW5kQmVoYXZpb3Ioe1xuICBzb3VyY2VSZWN0LFxuICBzb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gIHRhcmdldFJlY3QsXG4gIHRhcmdldENvbm5lY3RhYmxlU2lkZSxcbn06IENhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCk6IElMaW5lIHtcbiAgcmV0dXJuIHtcbiAgICBwb2ludDE6IF9nZXRQb3NpdGlvbihcbiAgICAgIHNvdXJjZVJlY3QsXG4gICAgICBzb3VyY2VDb25uZWN0YWJsZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkFVVE9cbiAgICAgICAgPyBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT01cbiAgICAgICAgOiBzb3VyY2VDb25uZWN0YWJsZVNpZGUsXG4gICAgKSxcbiAgICBwb2ludDI6IF9nZXRQb3NpdGlvbihcbiAgICAgIHRhcmdldFJlY3QsXG4gICAgICB0YXJnZXRDb25uZWN0YWJsZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkFVVE9cbiAgICAgICAgPyBFRkNvbm5lY3RhYmxlU2lkZS5UT1BcbiAgICAgICAgOiB0YXJnZXRDb25uZWN0YWJsZVNpZGUsXG4gICAgKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gX2dldFBvc2l0aW9uKHJlY3Q6IElSZWN0LCBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IElQb2ludCB7XG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54ICsgcmVjdC53aWR0aCAvIDIsIHk6IHJlY3QueSB9O1xuICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54ICsgcmVjdC53aWR0aCAvIDIsIHk6IHJlY3QueSArIHJlY3QuaGVpZ2h0IH07XG4gICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54LCB5OiByZWN0LnkgKyByZWN0LmhlaWdodCAvIDIgfTtcbiAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgcmV0dXJuIHsgeDogcmVjdC54ICsgcmVjdC53aWR0aCwgeTogcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzaWRlOiAke3NpZGV9YCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { GetIntersections } from '@foblex/2d';
2
+ /**
3
+ * Floating behavior calculates the connection line
4
+ * It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
5
+ * @param payload
6
+ */
7
+ export function floatingBehavior({ sourceRect, targetRect }) {
8
+ return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect), _toRoundedRectIntersections(sourceRect, targetRect), sourceRect, targetRect);
9
+ }
10
+ function _fromRoundedRectIntersections(sourceRect, targetRect) {
11
+ return GetIntersections.getRoundedRectIntersections(sourceRect.gravityCenter, targetRect.gravityCenter, sourceRect)[0];
12
+ }
13
+ function _toRoundedRectIntersections(sourceRect, targetRect) {
14
+ return GetIntersections.getRoundedRectIntersections(targetRect.gravityCenter, sourceRect.gravityCenter, targetRect)[0];
15
+ }
16
+ function _getIntersectionsLine(from, to, sourceRect, targetRect) {
17
+ return {
18
+ point1: from ? from : sourceRect.gravityCenter,
19
+ point2: to ? to : targetRect.gravityCenter,
20
+ };
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY2FsY3VsYXRlLWNvbm5lY3Rpb24tbGluZS1ieS1iZWhhdmlvci91dGlscy9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQStCLE1BQU0sWUFBWSxDQUFDO0FBRzNFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE0QjtJQUNuRixPQUFPLHFCQUFxQixDQUMxQiw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQ3JELDJCQUEyQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFDbkQsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsVUFBd0IsRUFBRSxVQUF3QjtJQUN2RixPQUFPLGdCQUFnQixDQUFDLDJCQUEyQixDQUNqRCxVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLFVBQXdCLEVBQUUsVUFBd0I7SUFDckYsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDakQsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBWSxFQUNaLEVBQVUsRUFDVixVQUF3QixFQUN4QixVQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUM5QyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO0tBQzNDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW50ZXJzZWN0aW9ucywgSUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMvY2FsY3VsYXRlLWJlaGF2aW9yLXJlcXVlc3QnO1xuXG4vKipcbiAqIEZsb2F0aW5nIGJlaGF2aW9yIGNhbGN1bGF0ZXMgdGhlIGNvbm5lY3Rpb24gbGluZVxuICogSXQgY29uc3RydWN0cyBhIGxpbmUgYmV0d2VlbiB0aGUgaW50ZXJzZWN0aW9ucyBvZiB0aGUgY29ubmVjdG9ycyByZWN0YW5nbGVzIGFuZCBsaW5lIGZyb20gdGhlIGNlbnRlcnMgb2YgdGhlIGNvbm5lY3RvciByZWN0YW5nbGVzXG4gKiBAcGFyYW0gcGF5bG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZmxvYXRpbmdCZWhhdmlvcih7IHNvdXJjZVJlY3QsIHRhcmdldFJlY3QgfTogQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0KTogSUxpbmUge1xuICByZXR1cm4gX2dldEludGVyc2VjdGlvbnNMaW5lKFxuICAgIF9mcm9tUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QpLFxuICAgIF90b1JvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhzb3VyY2VSZWN0LCB0YXJnZXRSZWN0KSxcbiAgICBzb3VyY2VSZWN0LFxuICAgIHRhcmdldFJlY3QsXG4gICk7XG59XG5cbmZ1bmN0aW9uIF9mcm9tUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdCwgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0KSB7XG4gIHJldHVybiBHZXRJbnRlcnNlY3Rpb25zLmdldFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgICBzb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgdGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHNvdXJjZVJlY3QsXG4gIClbMF07XG59XG5cbmZ1bmN0aW9uIF90b1JvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCkge1xuICByZXR1cm4gR2V0SW50ZXJzZWN0aW9ucy5nZXRSb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoXG4gICAgdGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICB0YXJnZXRSZWN0LFxuICApWzBdO1xufVxuXG5mdW5jdGlvbiBfZ2V0SW50ZXJzZWN0aW9uc0xpbmUoXG4gIGZyb206IElQb2ludCxcbiAgdG86IElQb2ludCxcbiAgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4pOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBmcm9tID8gZnJvbSA6IHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICBwb2ludDI6IHRvID8gdG8gOiB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gIH07XG59XG4iXX0=
@@ -7,7 +7,7 @@ import { RemoveConnectionFromStoreExecution } from './remove-connection-from-sto
7
7
  import { RemoveSnapConnectionFromStoreExecution } from './remove-snap-connection-from-store';
8
8
  import { AddConnectionMarkerToStoreExecution } from './add-connection-marker-to-store';
9
9
  import { RemoveConnectionMarkerFromStoreExecution } from './remove-connection-marker-from-store';
10
- import { RedrawConnectionsExecution } from './redraw-connections';
10
+ import { RedrawConnections } from './redraw-connections';
11
11
  import { CalculateConnectionLineByBehavior } from './calculate-connection-line-by-behavior';
12
12
  /**
13
13
  * This file exports all the connection-related features for the F-Flow domain.
@@ -19,10 +19,10 @@ export const F_CONNECTION_FEATURES = [
19
19
  AddSnapConnectionToStoreExecution,
20
20
  CreateConnectionMarkersExecution,
21
21
  CalculateConnectionLineByBehavior,
22
- RedrawConnectionsExecution,
22
+ RedrawConnections,
23
23
  RemoveConnectionForCreateFromStoreExecution,
24
24
  RemoveConnectionFromStoreExecution,
25
25
  RemoveConnectionMarkerFromStoreExecution,
26
26
  RemoveSnapConnectionFromStoreExecution,
27
27
  ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLHNDQUFzQztJQUV0QyxtQ0FBbUM7SUFFbkMsNkJBQTZCO0lBRTdCLGlDQUFpQztJQUVqQyxnQ0FBZ0M7SUFFaEMsaUNBQWlDO0lBRWpDLDBCQUEwQjtJQUUxQiwyQ0FBMkM7SUFFM0Msa0NBQWtDO0lBRWxDLHdDQUF3QztJQUV4QyxzQ0FBc0M7Q0FDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi1mb3ItY3JlYXRlLXRvLXN0b3JlJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZSc7XG5pbXBvcnQgeyBBZGRTbmFwQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1zbmFwLWNvbm5lY3Rpb24tdG8tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1zbmFwLWNvbm5lY3Rpb24tZnJvbS1zdG9yZSc7XG5pbXBvcnQgeyBBZGRDb25uZWN0aW9uTWFya2VyVG9TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vYWRkLWNvbm5lY3Rpb24tbWFya2VyLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLW1hcmtlci1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlZHJhd0Nvbm5lY3Rpb25zRXhlY3V0aW9uIH0gZnJvbSAnLi9yZWRyYXctY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yIH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yJztcblxuLyoqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIGNvbm5lY3Rpb24tcmVsYXRlZCBmZWF0dXJlcyBmb3IgdGhlIEYtRmxvdyBkb21haW4uXG4gKi9cbmV4cG9ydCBjb25zdCBGX0NPTk5FQ1RJT05fRkVBVFVSRVMgPSBbXG4gIEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25NYXJrZXJUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZFNuYXBDb25uZWN0aW9uVG9TdG9yZUV4ZWN1dGlvbixcblxuICBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc0V4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3IsXG5cbiAgUmVkcmF3Q29ubmVjdGlvbnNFeGVjdXRpb24sXG5cbiAgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbixcblxuICBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlRXhlY3V0aW9uLFxuXG4gIFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24sXG5cbiAgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24sXG5dO1xuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLHNDQUFzQztJQUV0QyxtQ0FBbUM7SUFFbkMsNkJBQTZCO0lBRTdCLGlDQUFpQztJQUVqQyxnQ0FBZ0M7SUFFaEMsaUNBQWlDO0lBRWpDLGlCQUFpQjtJQUVqQiwyQ0FBMkM7SUFFM0Msa0NBQWtDO0lBRWxDLHdDQUF3QztJQUV4QyxzQ0FBc0M7Q0FDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi1mb3ItY3JlYXRlLXRvLXN0b3JlJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uIH0gZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZSc7XG5pbXBvcnQgeyBBZGRTbmFwQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1zbmFwLWNvbm5lY3Rpb24tdG8tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1zbmFwLWNvbm5lY3Rpb24tZnJvbS1zdG9yZSc7XG5pbXBvcnQgeyBBZGRDb25uZWN0aW9uTWFya2VyVG9TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vYWRkLWNvbm5lY3Rpb24tbWFya2VyLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLW1hcmtlci1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFJlZHJhd0Nvbm5lY3Rpb25zIH0gZnJvbSAnLi9yZWRyYXctY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yIH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1saW5lLWJ5LWJlaGF2aW9yJztcblxuLyoqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIGNvbm5lY3Rpb24tcmVsYXRlZCBmZWF0dXJlcyBmb3IgdGhlIEYtRmxvdyBkb21haW4uXG4gKi9cbmV4cG9ydCBjb25zdCBGX0NPTk5FQ1RJT05fRkVBVFVSRVMgPSBbXG4gIEFkZENvbm5lY3Rpb25Gb3JDcmVhdGVUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25NYXJrZXJUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uLFxuXG4gIEFkZFNuYXBDb25uZWN0aW9uVG9TdG9yZUV4ZWN1dGlvbixcblxuICBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc0V4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3IsXG5cbiAgUmVkcmF3Q29ubmVjdGlvbnMsXG5cbiAgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZUV4ZWN1dGlvbixcblxuICBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlRXhlY3V0aW9uLFxuXG4gIFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVFeGVjdXRpb24sXG5cbiAgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24sXG5dO1xuIl19