@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
@@ -0,0 +1,8 @@
1
+ import { IRect } from '@foblex/2d';
2
+ export declare class DragRectCache {
3
+ private static _cache;
4
+ static fromElement(element: HTMLElement | SVGElement): IRect;
5
+ static set(element: HTMLElement | SVGElement): void;
6
+ static invalidate(element: HTMLElement | SVGElement): void;
7
+ static invalidateAll(): void;
8
+ }
@@ -6,4 +6,4 @@ import { SetBackgroundTransformExecution } from './set-background-transform';
6
6
  * This file exports all the background-related features for the F-Flow domain.
7
7
  * It includes executions for adding, removing, and setting the background in the FComponentsStore.
8
8
  */
9
- export declare const F_BACKGROUND_FEATURES: (typeof AddBackgroundToStoreExecution | typeof AddPatternToBackgroundExecution | typeof RemoveBackgroundFromStoreExecution | typeof SetBackgroundTransformExecution)[];
9
+ export declare const F_BACKGROUND_FEATURES: (typeof AddPatternToBackgroundExecution | typeof AddBackgroundToStoreExecution | typeof RemoveBackgroundFromStoreExecution | typeof SetBackgroundTransformExecution)[];
@@ -12,4 +12,4 @@ import { RedrawCanvasWithAnimationExecution } from './redraw-canvas-with-animati
12
12
  /**
13
13
  * This file exports all the canvas-related executions that can be used in the FCanvas feature.
14
14
  */
15
- export declare const F_CANVAS_FEATURES: (typeof AddCanvasToStoreExecution | typeof CenterGroupOrNodeExecution | typeof FitToFlowExecution | typeof GetCanvasExecution | typeof InputCanvasPositionExecution | typeof InputCanvasScaleExecution | typeof RedrawCanvasWithAnimationExecution | typeof RemoveCanvasFromStoreExecution | typeof ResetScaleExecution | typeof ResetScaleAndCenterExecution | typeof UpdateScaleExecution)[];
15
+ export declare const F_CANVAS_FEATURES: (typeof ResetScaleAndCenterExecution | typeof FitToFlowExecution | typeof CenterGroupOrNodeExecution | typeof AddCanvasToStoreExecution | typeof GetCanvasExecution | typeof InputCanvasPositionExecution | typeof InputCanvasScaleExecution | typeof RedrawCanvasWithAnimationExecution | typeof RemoveCanvasFromStoreExecution | typeof ResetScaleExecution | typeof UpdateScaleExecution)[];
@@ -1,12 +1,12 @@
1
- import { EFConnectionBehavior } from '../../../f-connection';
1
+ import { FConnectionBase } from '../../../f-connection';
2
2
  import { EFConnectableSide } from '../../../f-connectors';
3
3
  import { IRoundedRect } from '@foblex/2d';
4
4
  export declare class CalculateConnectionLineByBehaviorRequest {
5
- sourceRect: IRoundedRect;
6
- targetRect: IRoundedRect;
7
- behavior: EFConnectionBehavior | string;
8
- sourceConnectableSide: EFConnectableSide;
9
- targetConnectableSide: EFConnectableSide;
5
+ readonly sourceRect: IRoundedRect;
6
+ readonly targetRect: IRoundedRect;
7
+ readonly connection: FConnectionBase;
8
+ readonly sourceConnectableSide: EFConnectableSide;
9
+ readonly targetConnectableSide: EFConnectableSide;
10
10
  static readonly fToken: unique symbol;
11
- constructor(sourceRect: IRoundedRect, targetRect: IRoundedRect, behavior: EFConnectionBehavior | string, sourceConnectableSide: EFConnectableSide, targetConnectableSide: EFConnectableSide);
11
+ constructor(sourceRect: IRoundedRect, targetRect: IRoundedRect, connection: FConnectionBase, sourceConnectableSide: EFConnectableSide, targetConnectableSide: EFConnectableSide);
12
12
  }
@@ -3,11 +3,45 @@ import { IExecution } from '@foblex/mediator';
3
3
  import { ILine } from '@foblex/2d';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * Execution that calculates the connection line based on the behavior.
6
+ * Calculates connection lines based on behavior rules.
7
+ * It determines which sides of the source and target should connect,
8
+ * then delegates to a registered behavior handler.
7
9
  */
8
10
  export declare class CalculateConnectionLineByBehavior implements IExecution<CalculateConnectionLineByBehaviorRequest, ILine> {
9
- private _handlers;
10
- handle(payload: CalculateConnectionLineByBehaviorRequest): ILine;
11
+ /**
12
+ * Main execution entry point.
13
+ *
14
+ * @param request The request containing source, target, and connection details.
15
+ * @returns A calculated connection line (ILine).
16
+ */
17
+ handle(request: CalculateConnectionLineByBehaviorRequest): ILine;
18
+ /**
19
+ * Computes the directional deltas between two rectangles.
20
+ */
21
+ private _calculateDirectionalVectors;
22
+ /**
23
+ * Determines the side for the source element.
24
+ */
25
+ private _determineSourceSide;
26
+ /**
27
+ * Determines the side for the target element.
28
+ */
29
+ private _determineTargetSide;
30
+ /**
31
+ * Resolves which side of a shape to connect to based on direction, fallback, and connection mode.
32
+ *
33
+ * @param requestedSide The side mode (e.g. CALCULATE, CALCULATE_HORIZONTAL, FIXED, etc.).
34
+ * @param deltaX Difference in X between source and target.
35
+ * @param deltaY Difference in Y between source and target.
36
+ * @param fallbackSide The default fallback side if calculation is ambiguous.
37
+ */
38
+ private _resolveConnectableSide;
39
+ /**
40
+ * Returns the appropriate handler for the given connection behavior.
41
+ *
42
+ * @throws Error if no handler is registered for the behavior.
43
+ */
44
+ private _getBehaviorHandler;
11
45
  static ɵfac: i0.ɵɵFactoryDeclaration<CalculateConnectionLineByBehavior, never>;
12
46
  static ɵprov: i0.ɵɵInjectableDeclaration<CalculateConnectionLineByBehavior>;
13
47
  }
@@ -1,5 +1,6 @@
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';
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';
@@ -0,0 +1,8 @@
1
+ import { IRoundedRect } from '@foblex/2d';
2
+ import { EFConnectableSide } from '../../../../f-connectors';
3
+ export interface CalculateBehaviorRequest {
4
+ sourceRect: IRoundedRect;
5
+ targetRect: IRoundedRect;
6
+ sourceConnectableSide: EFConnectableSide;
7
+ targetConnectableSide: EFConnectableSide;
8
+ }
@@ -1,8 +1,8 @@
1
1
  import { ILine } from '@foblex/2d';
2
- import { CalculateConnectionLineByBehaviorRequest } from './calculate-connection-line-by-behavior-request';
2
+ import { CalculateBehaviorRequest } from '../models/calculate-behavior-request';
3
3
  /**
4
4
  * Fixed center behavior calculates the connection line
5
5
  * It constructs a line between the gravity centers of the connector rectangles
6
6
  * @param payload
7
7
  */
8
- export declare function fixedCenterBehavior({ sourceRect, targetRect, }: CalculateConnectionLineByBehaviorRequest): ILine;
8
+ export declare function fixedCenterBehavior({ sourceRect, targetRect }: CalculateBehaviorRequest): ILine;
@@ -1,8 +1,8 @@
1
1
  import { ILine } from '@foblex/2d';
2
- import { CalculateConnectionLineByBehaviorRequest } from './calculate-connection-line-by-behavior-request';
2
+ import { CalculateBehaviorRequest } from '../models/calculate-behavior-request';
3
3
  /**
4
4
  * Fixed outbound behavior calculates the connection line
5
5
  * It constructs a line between the specified sides of the output and input rectangles
6
6
  * @param payload
7
7
  */
8
- export declare function fixedOutboundBehavior({ sourceRect, sourceConnectableSide, targetRect, targetConnectableSide, }: CalculateConnectionLineByBehaviorRequest): ILine;
8
+ export declare function fixedOutboundBehavior({ sourceRect, sourceConnectableSide, targetRect, targetConnectableSide, }: CalculateBehaviorRequest): ILine;
@@ -1,8 +1,8 @@
1
1
  import { ILine } from '@foblex/2d';
2
- import { CalculateConnectionLineByBehaviorRequest } from './calculate-connection-line-by-behavior-request';
2
+ import { CalculateBehaviorRequest } from '../models/calculate-behavior-request';
3
3
  /**
4
4
  * Floating behavior calculates the connection line
5
5
  * It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
6
6
  * @param payload
7
7
  */
8
- export declare function floatingBehavior({ sourceRect, targetRect, }: CalculateConnectionLineByBehaviorRequest): ILine;
8
+ export declare function floatingBehavior({ sourceRect, targetRect }: CalculateBehaviorRequest): ILine;
@@ -7,9 +7,9 @@ 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.
14
14
  */
15
- export declare const F_CONNECTION_FEATURES: (typeof AddConnectionForCreateToStoreExecution | typeof AddConnectionMarkerToStoreExecution | typeof AddConnectionToStoreExecution | typeof AddSnapConnectionToStoreExecution | typeof CreateConnectionMarkersExecution | typeof CalculateConnectionLineByBehavior | typeof RedrawConnectionsExecution | typeof RemoveConnectionForCreateFromStoreExecution | typeof RemoveConnectionFromStoreExecution | typeof RemoveConnectionMarkerFromStoreExecution | typeof RemoveSnapConnectionFromStoreExecution)[];
15
+ export declare const F_CONNECTION_FEATURES: (typeof RemoveConnectionFromStoreExecution | typeof AddConnectionForCreateToStoreExecution | typeof AddConnectionMarkerToStoreExecution | typeof AddConnectionToStoreExecution | typeof AddSnapConnectionToStoreExecution | typeof CreateConnectionMarkersExecution | typeof CalculateConnectionLineByBehavior | typeof RedrawConnections | typeof RemoveConnectionForCreateFromStoreExecution | typeof RemoveConnectionMarkerFromStoreExecution | typeof RemoveSnapConnectionFromStoreExecution)[];
@@ -1,2 +1,2 @@
1
- export * from './redraw-connections.execution';
1
+ export * from './redraw-connections';
2
2
  export * from './redraw-connections-request';
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  * It resets connectors, sets markers for temporary and snap connections,
7
7
  * and sets up connections based on the stored outputs and inputs.
8
8
  */
9
- export declare class RedrawConnectionsExecution implements IExecution<RedrawConnectionsRequest, void> {
9
+ export declare class RedrawConnections implements IExecution<RedrawConnectionsRequest, void> {
10
10
  private readonly _mediator;
11
11
  private readonly _store;
12
12
  handle(_request: RedrawConnectionsRequest): void;
@@ -16,6 +16,6 @@ export declare class RedrawConnectionsExecution implements IExecution<RedrawConn
16
16
  private _setupConnection;
17
17
  private _getLine;
18
18
  private _setMarkers;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<RedrawConnectionsExecution, never>;
20
- static ɵprov: i0.ɵɵInjectableDeclaration<RedrawConnectionsExecution>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<RedrawConnections, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<RedrawConnections>;
21
21
  }
@@ -0,0 +1,8 @@
1
+ import { FNodeInputBase } from '../../../f-connectors';
2
+ import { IPoint } from '@foblex/2d';
3
+ export declare class CalculateSourceConnectorsToConnectRequest {
4
+ readonly targetConnector: FNodeInputBase;
5
+ readonly pointerPosition: IPoint;
6
+ static readonly fToken: unique symbol;
7
+ constructor(targetConnector: FNodeInputBase, pointerPosition: IPoint);
8
+ }
@@ -0,0 +1,21 @@
1
+ import { CalculateSourceConnectorsToConnectRequest } from './calculate-source-connectors-to-connect-request';
2
+ import { IExecution } from '@foblex/mediator';
3
+ import { IConnectorAndRect } from '../i-connector-and-rect';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Execution that retrieves all source connectors that can be connected to a given target connector,
7
+ * along with their rectangles.
8
+ * Source - Output or Outlet connectors.
9
+ */
10
+ export declare class CalculateSourceConnectorsToConnect implements IExecution<CalculateSourceConnectorsToConnectRequest, IConnectorAndRect[]> {
11
+ private readonly _mediator;
12
+ private readonly _store;
13
+ private get _sourceConnectors();
14
+ handle({ targetConnector, pointerPosition, }: CalculateSourceConnectorsToConnectRequest): IConnectorAndRect[];
15
+ private _getConnectableSources;
16
+ private _calculateConnectableSides;
17
+ /** Delegates to the connected-positions calculation execution. */
18
+ private _calculateByConnectedPositions;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalculateSourceConnectorsToConnect, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalculateSourceConnectorsToConnect>;
21
+ }
@@ -0,0 +1,2 @@
1
+ export * from './calculate-source-connectors-to-connect-request';
2
+ export * from './calculate-source-connectors-to-connect';
@@ -0,0 +1,8 @@
1
+ import { FNodeOutletBase, FNodeOutputBase } from '../../../f-connectors';
2
+ import { IPoint } from '@foblex/2d';
3
+ export declare class CalculateTargetConnectorsToConnectRequest {
4
+ readonly sourceConnector: FNodeOutputBase | FNodeOutletBase;
5
+ readonly pointerPosition: IPoint;
6
+ static readonly fToken: unique symbol;
7
+ constructor(sourceConnector: FNodeOutputBase | FNodeOutletBase, pointerPosition: IPoint);
8
+ }
@@ -0,0 +1,20 @@
1
+ import { CalculateTargetConnectorsToConnectRequest } from './calculate-target-connectors-to-connect-request';
2
+ import { IExecution } from '@foblex/mediator';
3
+ import { IConnectorAndRect } from '../i-connector-and-rect';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Execution that retrieves all input connectors that can be connected to a given output or outlet connector,
7
+ */
8
+ export declare class CalculateTargetConnectorsToConnect implements IExecution<CalculateTargetConnectorsToConnectRequest, IConnectorAndRect[]> {
9
+ private readonly _mediator;
10
+ private readonly _store;
11
+ private get _targetConnectors();
12
+ handle({ sourceConnector, pointerPosition, }: CalculateTargetConnectorsToConnectRequest): IConnectorAndRect[];
13
+ private _getCanBeConnectedInputs;
14
+ private _filterSelfConnectable;
15
+ private _calculateConnectableSides;
16
+ /** Delegates to the connected-positions calculation execution. */
17
+ private _calculateByConnectedPositions;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalculateTargetConnectorsToConnect, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalculateTargetConnectorsToConnect>;
20
+ }
@@ -0,0 +1,2 @@
1
+ export * from './calculate-target-connectors-to-connect-request';
2
+ export * from './calculate-target-connectors-to-connect';
@@ -3,8 +3,8 @@ export * from './add-outlet-to-store';
3
3
  export * from './add-output-to-store';
4
4
  export * from './calculate-closest-connector';
5
5
  export * from './find-connectable-connector-using-priority-and-position';
6
- export * from './get-all-can-be-connected-inputs-and-rects';
7
- export * from './get-all-can-be-connected-source-connectors-and-rects';
6
+ export * from './calculate-target-connectors-to-connect';
7
+ export * from './calculate-source-connectors-to-connect';
8
8
  export * from './get-connector-and-rect';
9
9
  export * from './mark-connectable-connectors';
10
10
  export * from './remove-input-from-store';
@@ -6,9 +6,9 @@ import { RemoveOutletFromStoreExecution } from './remove-outlet-from-store';
6
6
  import { RemoveOutputFromStoreExecution } from './remove-output-from-store';
7
7
  import { MarkConnectableConnectors } from './mark-connectable-connectors';
8
8
  import { UnmarkConnectableConnectors } from './unmark-connectable-connectors';
9
- import { GetAllCanBeConnectedInputsAndRectsExecution } from './get-all-can-be-connected-inputs-and-rects';
9
+ import { CalculateTargetConnectorsToConnect } from './calculate-target-connectors-to-connect';
10
10
  import { GetConnectorAndRect } from './get-connector-and-rect';
11
11
  import { CalculateClosestConnector } from './calculate-closest-connector';
12
- import { GetAllCanBeConnectedSourceConnectorsAndRectsExecution } from './get-all-can-be-connected-source-connectors-and-rects';
12
+ import { CalculateSourceConnectorsToConnect } from './calculate-source-connectors-to-connect';
13
13
  import { FindConnectableConnectorUsingPriorityAndPositionExecution } from './find-connectable-connector-using-priority-and-position';
14
- export declare const F_CONNECTORS_FEATURES: (typeof AddInputToStore | typeof AddOutletToStore | typeof AddOutputToStore | typeof CalculateClosestConnector | typeof FindConnectableConnectorUsingPriorityAndPositionExecution | typeof GetAllCanBeConnectedSourceConnectorsAndRectsExecution | typeof GetAllCanBeConnectedInputsAndRectsExecution | typeof GetConnectorAndRect | typeof MarkConnectableConnectors | typeof RemoveInputFromStore | typeof RemoveOutletFromStoreExecution | typeof RemoveOutputFromStoreExecution | typeof UnmarkConnectableConnectors)[];
14
+ export declare const F_CONNECTORS_FEATURES: (typeof AddInputToStore | typeof AddOutletToStore | typeof AddOutputToStore | typeof CalculateClosestConnector | typeof FindConnectableConnectorUsingPriorityAndPositionExecution | typeof CalculateSourceConnectorsToConnect | typeof CalculateTargetConnectorsToConnect | typeof GetConnectorAndRect | typeof MarkConnectableConnectors | typeof RemoveInputFromStore | typeof RemoveOutletFromStoreExecution | typeof RemoveOutputFromStoreExecution | typeof UnmarkConnectableConnectors)[];
@@ -10,7 +10,7 @@ export declare class EmitSelectionChangeEventExecution implements IExecution<Emi
10
10
  private readonly _store;
11
11
  private get _fSelectionChange();
12
12
  private readonly _dragContext;
13
- handle(request: EmitSelectionChangeEventRequest): void;
13
+ handle(_request: EmitSelectionChangeEventRequest): void;
14
14
  private _getSelection;
15
15
  private _emitSelectionChange;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<EmitSelectionChangeEventExecution, never>;
@@ -1,4 +1,4 @@
1
1
  export type FEventTrigger = (event: FTriggerEvent) => boolean;
2
2
  export type FTriggerEvent = MouseEvent | TouchEvent | WheelEvent;
3
3
  export declare function isValidEventTrigger(event: FTriggerEvent, fTrigger: FEventTrigger): boolean;
4
- export declare function defaultEventTrigger(event: FTriggerEvent): boolean;
4
+ export declare function defaultEventTrigger(_event: FTriggerEvent): boolean;
@@ -1,6 +1,6 @@
1
1
  import { FLineAlignmentBase } from '../../../f-line-alignment';
2
2
  export declare class AddLineAlignmentToStoreRequest {
3
- fComponent: FLineAlignmentBase;
3
+ readonly instance: FLineAlignmentBase;
4
4
  static readonly fToken: unique symbol;
5
- constructor(fComponent: FLineAlignmentBase);
5
+ constructor(instance: FLineAlignmentBase);
6
6
  }
@@ -4,9 +4,9 @@ import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Execution that adds a line alignment to the FComponentsStore.
6
6
  */
7
- export declare class AddLineAlignmentToStoreExecution implements IExecution<AddLineAlignmentToStoreRequest, void> {
7
+ export declare class AddLineAlignmentToStore implements IExecution<AddLineAlignmentToStoreRequest, void> {
8
8
  private readonly _store;
9
- handle(request: AddLineAlignmentToStoreRequest): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<AddLineAlignmentToStoreExecution, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<AddLineAlignmentToStoreExecution>;
9
+ handle({ instance }: AddLineAlignmentToStoreRequest): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddLineAlignmentToStore, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<AddLineAlignmentToStore>;
12
12
  }
@@ -1,2 +1,2 @@
1
- export * from './add-line-alignment-to-store.execution';
1
+ export * from './add-line-alignment-to-store';
2
2
  export * from './add-line-alignment-to-store-request';
@@ -1,8 +1,8 @@
1
- import { AddLineAlignmentToStoreExecution } from './add-line-alignment-to-store';
2
- import { RemoveLineAlignmentFromStoreExecution } from './remove-line-alignment-from-store';
1
+ import { AddLineAlignmentToStore } from './add-line-alignment-to-store';
2
+ import { RemoveLineAlignmentFromStore } from './remove-line-alignment-from-store';
3
3
  /**
4
4
  * Collection of all FLineAlignment feature executions.
5
5
  * These executions handle the addition and removal of line alignments
6
6
  * in the FComponentsStore.
7
7
  */
8
- export declare const F_LINE_ALIGNMENT_FEATURES: (typeof AddLineAlignmentToStoreExecution | typeof RemoveLineAlignmentFromStoreExecution)[];
8
+ export declare const F_LINE_ALIGNMENT_FEATURES: (typeof AddLineAlignmentToStore | typeof RemoveLineAlignmentFromStore)[];
@@ -1,2 +1,2 @@
1
- export * from './remove-line-alignment-from-store.execution';
1
+ export * from './remove-line-alignment-from-store';
2
2
  export * from './remove-line-alignment-from-store-request';
@@ -4,9 +4,9 @@ import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Execution that removes a line alignment from the FComponentsStore.
6
6
  */
7
- export declare class RemoveLineAlignmentFromStoreExecution implements IExecution<RemoveLineAlignmentFromStoreRequest, void> {
7
+ export declare class RemoveLineAlignmentFromStore implements IExecution<RemoveLineAlignmentFromStoreRequest, void> {
8
8
  private readonly _store;
9
- handle(request: RemoveLineAlignmentFromStoreRequest): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<RemoveLineAlignmentFromStoreExecution, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<RemoveLineAlignmentFromStoreExecution>;
9
+ handle(_request: RemoveLineAlignmentFromStoreRequest): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoveLineAlignmentFromStore, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<RemoveLineAlignmentFromStore>;
12
12
  }
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class AddNodeToStoreRequest {
3
- fComponent: FNodeBase;
3
+ readonly nodeOrGroup: FNodeBase;
4
4
  static readonly fToken: unique symbol;
5
- constructor(fComponent: FNodeBase);
5
+ constructor(nodeOrGroup: FNodeBase);
6
6
  }
@@ -0,0 +1,8 @@
1
+ import { FConnectorBase } from '../../../../f-connectors';
2
+ import { IPoint } from '@foblex/2d';
3
+ export declare class CalculateConnectableSideByConnectedPositionsRequest {
4
+ readonly connector: FConnectorBase;
5
+ readonly pointerPosition?: IPoint | undefined;
6
+ static readonly fToken: unique symbol;
7
+ constructor(connector: FConnectorBase, pointerPosition?: IPoint | undefined);
8
+ }
@@ -14,35 +14,9 @@ export declare class CalculateConnectableSideByConnectedPositions implements IEx
14
14
  * @param request - Contains the connector and optionally allowed sides.
15
15
  * @returns {EFConnectableSide} - The chosen connectable side.
16
16
  */
17
- handle({ connector, mode, }: CalculateConnectableSideByConnectedPositionsRequest): EFConnectableSide;
18
- /**
19
- * Accumulates sum of gravity centers and count, excluding the current host.
20
- * Single pass, minimal allocations.
21
- */
17
+ handle({ connector, pointerPosition, }: CalculateConnectableSideByConnectedPositionsRequest): EFConnectableSide;
22
18
  private _accumulateConnectedCenters;
23
- /**
24
- * Converts allowed sides array to a compact bit mask.
25
- * If not provided or empty -> all sides allowed.
26
- */
27
- private _toSideMask;
28
- /**
29
- * Determines final side using ideal side first; if disallowed, picks best fallback.
30
- * Inputs are numbers to avoid object wrappers on hot path.
31
- */
32
- private _determineSide;
33
- /**
34
- * Picks the "ideal" side based on vector (dx, dy) with hysteresis.
35
- */
36
- private _pickIdealSide;
37
- /**
38
- * Quick membership check via bit mask.
39
- */
40
- private _isAllowed;
41
- /**
42
- * Picks the best available side from allowed mask by maximizing directional score.
43
- * No intermediate objects, constant-time operations.
44
- */
45
- private _pickFallbackSide;
19
+ private _getConnectorRect;
46
20
  static ɵfac: i0.ɵɵFactoryDeclaration<CalculateConnectableSideByConnectedPositions, never>;
47
21
  static ɵprov: i0.ɵɵInjectableDeclaration<CalculateConnectableSideByConnectedPositions>;
48
22
  }
@@ -0,0 +1,52 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { IExecution } from '@foblex/mediator';
3
+ import { CalculateConnectableSideByInternalPositionRequest } from './calculate-connectable-side-by-internal-position-request';
4
+ import { EFConnectableSide } from '../../../../f-connectors';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Injection token for configuring the side detection tolerance (in pixels).
8
+ * A new side must beat the previous side by more than this value to switch.
9
+ */
10
+ export declare const CONNECTABLE_SIDE_EPSILON: InjectionToken<number>;
11
+ /**
12
+ * Calculates the connectable side of a connector relative to its node host.
13
+ *
14
+ * Optimizations & behavior:
15
+ * - Hysteresis via epsilon to avoid jitter near boundaries.
16
+ * - Per-connector memoization using WeakMap (no leaks).
17
+ * - During drag (isDragging === true) the last memorized side is returned immediately
18
+ * for maximum stability and performance; a safe fallback computes it if missing.
19
+ */
20
+ export declare class CalculateConnectableSideByInternalPosition implements IExecution<CalculateConnectableSideByInternalPositionRequest, EFConnectableSide> {
21
+ private readonly _mediator;
22
+ /**
23
+ * Stores the last computed side per connector.
24
+ * WeakMap ensures entries are garbage-collected with the connector objects.
25
+ */
26
+ private readonly _lastSide;
27
+ /** Pixel threshold to prevent side switching unless the new side is sufficiently better. */
28
+ private readonly _epsilon;
29
+ /**
30
+ * Entry point: returns the connectable side for a given connector.
31
+ * If a drag is in progress, returns the last memorized side for stability.
32
+ */
33
+ handle({ connector, }: CalculateConnectableSideByInternalPositionRequest): EFConnectableSide;
34
+ /**
35
+ * Determines the side of the connector relative to the node host by
36
+ * comparing distances from the connector's gravity center to each host edge.
37
+ *
38
+ * Hysteresis rule:
39
+ * If the previously chosen side is within `epsilon` pixels of the new best side,
40
+ * keep the previous side to avoid flicker.
41
+ *
42
+ * @param connectorHost - The connector element (HTML or SVG).
43
+ * @param nodeHost - The parent node element (HTML or SVG).
44
+ * @param connectorKey - The connector object, used as WeakMap key.
45
+ * @returns The most stable connectable side.
46
+ */
47
+ private _getSideByDelta;
48
+ /** Returns true if a drag operation is currently active. */
49
+ private _isDragging;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalculateConnectableSideByInternalPosition, never>;
51
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalculateConnectableSideByInternalPosition>;
52
+ }
@@ -0,0 +1,6 @@
1
+ import { FNodeBase } from '../../../f-node';
2
+ export declare class CalculateConnectorsConnectableSidesRequest {
3
+ readonly nodeOrGroup: FNodeBase;
4
+ static readonly fToken: unique symbol;
5
+ constructor(nodeOrGroup: FNodeBase);
6
+ }
@@ -0,0 +1,22 @@
1
+ import { IExecution } from '@foblex/mediator';
2
+ import { CalculateConnectorsConnectableSidesRequest } from './calculate-connectors-connectable-sides-request';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Execution that calculates connectable sides for all connectors of a node.
6
+ */
7
+ export declare class CalculateConnectorsConnectableSides implements IExecution<CalculateConnectorsConnectableSidesRequest, void> {
8
+ private readonly _mediator;
9
+ /**
10
+ * Orchestrates side calculation for all connectors of the given node.
11
+ */
12
+ handle({ nodeOrGroup }: CalculateConnectorsConnectableSidesRequest): void;
13
+ /**
14
+ * Resolves the connectable side for a connector quickly.
15
+ * Avoids intermediate arrays and redundant allocations.
16
+ */
17
+ private _resolveSideForConnectorFast;
18
+ /** Delegates to the connected-positions calculation execution. */
19
+ private _calculateByConnectedPositions;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalculateConnectorsConnectableSides, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalculateConnectorsConnectableSides>;
22
+ }
@@ -0,0 +1,6 @@
1
+ import { EFConnectableSide } from '../../../../f-connectors';
2
+ export declare const CALCULATABLE_SIDES: {
3
+ calculate: EFConnectableSide[];
4
+ calculate_horizontal: EFConnectableSide[];
5
+ calculate_vertical: EFConnectableSide[];
6
+ };
@@ -0,0 +1 @@
1
+ export * from './calculatable-sides';
@@ -0,0 +1,7 @@
1
+ export * from './calculate-connectable-side-by-connected-positions';
2
+ export * from './calculate-connectable-side-by-internal-position';
3
+ export * from './constants';
4
+ export * from './models';
5
+ export * from './utils';
6
+ export * from './calculate-connectors-connectable-sides';
7
+ export * from './calculate-connectors-connectable-sides-request';
@@ -0,0 +1 @@
1
+ export * from './t-calculate-mode';
@@ -0,0 +1,2 @@
1
+ import { EFConnectableSide } from '../../../../f-connectors';
2
+ export type TCalculateMode = EFConnectableSide.CALCULATE | EFConnectableSide.CALCULATE_HORIZONTAL | EFConnectableSide.CALCULATE_VERTICAL;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Converts allowed sides array to a compact bit mask.
3
+ * If not provided or empty -> all sides allowed.
4
+ */
5
+ import { EFConnectableSide } from '../../../../f-connectors';
6
+ /**
7
+ * Determines final side using ideal side first; if disallowed, picks best fallback.
8
+ * Inputs are numbers to avoid object wrappers on hot path.
9
+ */
10
+ export declare function determineSide(selfX: number, selfY: number, avgX: number, avgY: number, allowed?: EFConnectableSide[]): EFConnectableSide;
@@ -0,0 +1,2 @@
1
+ export * from './determine-side';
2
+ export * from './is-calculate-mode';
@@ -0,0 +1,7 @@
1
+ import { EFConnectableSide } from '../../../../f-connectors';
2
+ /**
3
+ * Checks if the given side is one of the calculate modes.
4
+ * @param side The connectable side to check.
5
+ * @returns True if the side is a calculate mode, false otherwise.
6
+ */
7
+ export declare function isCalculateMode(side: EFConnectableSide): boolean;
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class CalculateInputConnectionsRequest {
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 CalculateInputConnections implements IExecution<CalculateInputConnectionsRequest, FConnectionBase[]> {
9
9
  private readonly _store;
10
- handle(request: CalculateInputConnectionsRequest): FConnectionBase[];
11
- private _calculateConnectors;
12
- private _calculateConnections;
10
+ handle({ nodeOrGroup }: CalculateInputConnectionsRequest): FConnectionBase[];
11
+ private _collectInputIds;
12
+ private _collectConnections;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<CalculateInputConnections, never>;
14
14
  static ɵprov: i0.ɵɵInjectableDeclaration<CalculateInputConnections>;
15
15
  }
@@ -8,9 +8,8 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export declare class CalculateNodesBoundingBox implements IExecution<CalculateNodesBoundingBoxRequest, IRect | null> {
10
10
  private readonly _store;
11
- handle(request: CalculateNodesBoundingBoxRequest): IRect | null;
12
- private _getNodesRects;
13
- private _getElementRect;
11
+ handle(_request: CalculateNodesBoundingBoxRequest): IRect | null;
12
+ private _nodesRects;
14
13
  static ɵfac: i0.ɵɵFactoryDeclaration<CalculateNodesBoundingBox, never>;
15
14
  static ɵprov: i0.ɵɵInjectableDeclaration<CalculateNodesBoundingBox>;
16
15
  }