@foblex/flow 17.9.21 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (752) hide show
  1. package/LICENSE +1 -1
  2. package/domain/css-cls.d.ts +0 -3
  3. package/domain/f-background/add-pattern-to-background/{add-pattern-to-background.execution.d.ts → add-pattern-to-background.d.ts} +4 -3
  4. package/domain/f-background/add-pattern-to-background/index.d.ts +1 -1
  5. package/domain/f-background/providers.d.ts +2 -2
  6. package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.d.ts +3 -3
  7. package/domain/f-connection/add-connection-for-create-to-store/{add-connection-for-create-to-store.execution.d.ts → add-connection-for-create-to-store.d.ts} +4 -4
  8. package/domain/f-connection/add-connection-for-create-to-store/index.d.ts +1 -1
  9. package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.d.ts +3 -3
  10. package/domain/f-connection/add-connection-marker-to-store/{add-connection-marker-to-store.execution.d.ts → add-connection-marker-to-store.d.ts} +4 -4
  11. package/domain/f-connection/add-connection-marker-to-store/index.d.ts +1 -1
  12. package/domain/f-connection/add-connection-to-store/add-connection-to-store-request.d.ts +3 -3
  13. package/domain/f-connection/add-connection-to-store/{add-connection-to-store.execution.d.ts → add-connection-to-store.d.ts} +4 -4
  14. package/domain/f-connection/add-connection-to-store/index.d.ts +1 -1
  15. package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.d.ts +3 -3
  16. package/domain/f-connection/add-snap-connection-to-store/{add-snap-connection-to-store.execution.d.ts → add-snap-connection-to-store.d.ts} +4 -4
  17. package/domain/f-connection/add-snap-connection-to-store/index.d.ts +1 -1
  18. package/domain/f-connection/create-connection-markers/create-connection-markers-request.d.ts +3 -3
  19. package/domain/f-connection/create-connection-markers/{create-connection-markers.execution.d.ts → create-connection-markers.d.ts} +7 -8
  20. package/domain/f-connection/create-connection-markers/index.d.ts +1 -1
  21. package/domain/f-connection/index.d.ts +1 -1
  22. package/domain/f-connection/providers.d.ts +11 -11
  23. package/domain/f-connection/redraw-connections/redraw-connections.d.ts +6 -4
  24. package/domain/f-connection/remove-connection-for-create-from-store/index.d.ts +1 -1
  25. package/domain/f-connection/remove-connection-for-create-from-store/{remove-connection-for-create-from-store.execution.d.ts → remove-connection-for-create-from-store.d.ts} +4 -4
  26. package/domain/f-connection/remove-connection-from-store/index.d.ts +1 -1
  27. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.d.ts +3 -3
  28. package/domain/f-connection/remove-connection-from-store/{remove-connection-from-store.execution.d.ts → remove-connection-from-store.d.ts} +4 -5
  29. package/domain/f-connection/remove-connection-marker-from-store/index.d.ts +1 -1
  30. package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.d.ts +3 -3
  31. package/domain/f-connection/remove-connection-marker-from-store/{remove-connection-marker-from-store.execution.d.ts → remove-connection-marker-from-store.d.ts} +4 -4
  32. package/domain/f-connection/remove-connection-waypoint/index.d.ts +2 -0
  33. package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.d.ts +6 -0
  34. package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.d.ts +11 -0
  35. package/domain/f-connection/remove-snap-connection-from-store/index.d.ts +1 -1
  36. package/domain/f-connection/remove-snap-connection-from-store/{remove-snap-connection-from-store.execution.d.ts → remove-snap-connection-from-store.d.ts} +4 -4
  37. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
  38. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
  39. package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.d.ts +3 -0
  40. package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.d.ts +14 -0
  41. package/domain/f-flow/calculate-flow-state/calculate-connections-state/index.d.ts +2 -0
  42. package/domain/f-flow/calculate-flow-state/calculate-flow-state-request.d.ts +3 -0
  43. package/domain/f-flow/calculate-flow-state/calculate-flow-state.d.ts +17 -0
  44. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.d.ts +6 -0
  45. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.d.ts +15 -0
  46. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.d.ts +2 -0
  47. package/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.d.ts +13 -0
  48. package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-connector.d.ts +1 -1
  49. package/domain/f-flow/{get-flow-state → calculate-flow-state}/index.d.ts +4 -4
  50. package/domain/f-flow/calculate-flow-state/providers.d.ts +7 -0
  51. package/domain/f-flow/index.d.ts +1 -1
  52. package/domain/f-flow/providers.d.ts +1 -1
  53. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +1 -1
  54. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +1 -1
  55. package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +1 -1
  56. package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +1 -1
  57. package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +1 -1
  58. package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +1 -1
  59. package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +1 -1
  60. package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +1 -1
  61. package/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.d.ts +3 -0
  62. package/domain/f-selection/{get-can-be-selected-items/get-can-be-selected-items.execution.d.ts → calculate-selectable-items/calculate-selectable-items.d.ts} +8 -8
  63. package/domain/f-selection/calculate-selectable-items/index.d.ts +3 -0
  64. package/domain/f-selection/index.d.ts +1 -1
  65. package/domain/f-selection/providers.d.ts +2 -2
  66. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +2 -2
  67. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.d.ts +12 -0
  68. package/domain/f-zoom/add-zoom-to-store/index.d.ts +1 -1
  69. package/domain/f-zoom/providers.d.ts +5 -5
  70. package/domain/f-zoom/remove-zoom-from-store/index.d.ts +1 -1
  71. package/domain/f-zoom/remove-zoom-from-store/{remove-zoom-from-store.execution.d.ts → remove-zoom-from-store.d.ts} +3 -3
  72. package/domain/f-zoom/reset-zoom/index.d.ts +1 -1
  73. package/domain/f-zoom/reset-zoom/reset-zoom.d.ts +13 -0
  74. package/domain/f-zoom/set-zoom/index.d.ts +1 -1
  75. package/domain/f-zoom/set-zoom/{set-zoom.execution.d.ts → set-zoom.d.ts} +6 -6
  76. package/domain/index.d.ts +0 -1
  77. package/domain/providers.d.ts +1 -1
  78. package/drag-toolkit/pointer-events/i-pointer-event.d.ts +6 -4
  79. package/esm2022/domain/css-cls.mjs +1 -4
  80. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.mjs +56 -0
  81. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +1 -1
  82. package/esm2022/domain/f-background/add-pattern-to-background/index.mjs +2 -2
  83. package/esm2022/domain/f-background/providers.mjs +3 -3
  84. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +4 -4
  85. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.mjs +25 -0
  86. package/esm2022/domain/f-connection/add-connection-for-create-to-store/index.mjs +2 -2
  87. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +4 -4
  88. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.mjs +25 -0
  89. package/esm2022/domain/f-connection/add-connection-marker-to-store/index.mjs +2 -2
  90. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +4 -4
  91. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.mjs +26 -0
  92. package/esm2022/domain/f-connection/add-connection-to-store/index.mjs +2 -2
  93. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +4 -4
  94. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.mjs +25 -0
  95. package/esm2022/domain/f-connection/add-snap-connection-to-store/index.mjs +2 -2
  96. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers-request.mjs +4 -4
  97. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +64 -0
  98. package/esm2022/domain/f-connection/create-connection-markers/index.mjs +2 -2
  99. package/esm2022/domain/f-connection/index.mjs +2 -2
  100. package/esm2022/domain/f-connection/providers.mjs +21 -21
  101. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +24 -21
  102. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/index.mjs +2 -2
  103. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.mjs +25 -0
  104. package/esm2022/domain/f-connection/remove-connection-from-store/index.mjs +2 -2
  105. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +4 -4
  106. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.mjs +33 -0
  107. package/esm2022/domain/f-connection/remove-connection-marker-from-store/index.mjs +2 -2
  108. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +4 -4
  109. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.mjs +25 -0
  110. package/esm2022/domain/f-connection/remove-connection-waypoint/index.mjs +3 -0
  111. package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.mjs +10 -0
  112. package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.mjs +40 -0
  113. package/esm2022/domain/f-connection/remove-snap-connection-from-store/index.mjs +2 -2
  114. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.mjs +25 -0
  115. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +1 -1
  116. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +1 -1
  117. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
  118. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
  119. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.mjs +1 -1
  120. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -5
  121. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.mjs +4 -0
  122. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.mjs +38 -0
  123. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/index.mjs +3 -0
  124. package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state-request.mjs +4 -0
  125. package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state.mjs +45 -0
  126. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.mjs +8 -0
  127. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.mjs +58 -0
  128. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.mjs +3 -0
  129. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.mjs +2 -0
  130. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connector.mjs +2 -0
  131. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-node.mjs +2 -0
  132. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state.mjs +2 -0
  133. package/esm2022/domain/f-flow/calculate-flow-state/index.mjs +10 -0
  134. package/esm2022/domain/f-flow/calculate-flow-state/providers.mjs +12 -0
  135. package/esm2022/domain/f-flow/index.mjs +2 -2
  136. package/esm2022/domain/f-flow/providers.mjs +2 -2
  137. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +1 -1
  138. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +2 -2
  139. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +2 -2
  140. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +2 -2
  141. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +1 -1
  142. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +2 -2
  143. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +2 -2
  144. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +1 -1
  145. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +1 -1
  146. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +2 -2
  147. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.mjs +4 -0
  148. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items.mjs +70 -0
  149. package/esm2022/domain/f-selection/calculate-selectable-items/i-can-be-selected-element-and-rect.mjs +2 -0
  150. package/esm2022/domain/f-selection/calculate-selectable-items/index.mjs +4 -0
  151. package/esm2022/domain/f-selection/clear-selection/clear-selection.request.mjs +1 -1
  152. package/esm2022/domain/f-selection/index.mjs +2 -2
  153. package/esm2022/domain/f-selection/providers.mjs +3 -3
  154. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +4 -4
  155. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.mjs +28 -0
  156. package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +2 -2
  157. package/esm2022/domain/f-zoom/providers.mjs +6 -11
  158. package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +2 -2
  159. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.mjs +28 -0
  160. package/esm2022/domain/f-zoom/reset-zoom/index.mjs +2 -2
  161. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.mjs +30 -0
  162. package/esm2022/domain/f-zoom/set-zoom/index.mjs +2 -2
  163. package/esm2022/domain/f-zoom/set-zoom/set-zoom.mjs +54 -0
  164. package/esm2022/domain/index.mjs +1 -2
  165. package/esm2022/drag-toolkit/event.extensions.mjs +2 -2
  166. package/esm2022/drag-toolkit/pointer-events/i-pointer-event.mjs +15 -10
  167. package/esm2022/f-canvas/domain/{f-canvas-change.event.mjs → f-canvas-change-event.mjs} +1 -1
  168. package/esm2022/f-canvas/domain/index.mjs +2 -2
  169. package/esm2022/f-canvas/f-canvas-base.mjs +7 -5
  170. package/esm2022/f-canvas/f-canvas.component.mjs +26 -36
  171. package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -24
  172. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +13 -18
  173. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +9 -15
  174. package/esm2022/f-connection/index.mjs +2 -7
  175. package/esm2022/f-connection/providers.mjs +9 -13
  176. package/esm2022/f-connection-v2/components/connection-content/f-connection-content.mjs +76 -0
  177. package/esm2022/f-connection-v2/components/connection-content/index.mjs +4 -0
  178. package/esm2022/f-connection-v2/components/connection-content/models/f-connection-content-base.mjs +10 -0
  179. package/esm2022/f-connection-v2/components/connection-content/models/index.mjs +2 -0
  180. package/esm2022/f-connection-v2/components/connection-content/utils/i-polyline-content.mjs +2 -0
  181. package/esm2022/f-connection-v2/components/connection-content/utils/index.mjs +6 -0
  182. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-align.mjs +6 -0
  183. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-layout-engine.mjs +25 -0
  184. package/esm2022/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.mjs +2 -2
  185. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-sampler-result.mjs +2 -0
  186. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-tangent.mjs +2 -0
  187. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/index.mjs +5 -0
  188. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline-sampler.mjs +143 -0
  189. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline.mjs +71 -0
  190. package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.mjs +35 -0
  191. package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.mjs +35 -0
  192. package/esm2022/f-connection-v2/components/connection-drag-handles/index.mjs +4 -0
  193. package/esm2022/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.mjs +17 -0
  194. package/esm2022/f-connection-v2/components/connection-drag-handles/models/index.mjs +2 -0
  195. package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +54 -0
  196. package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +3 -0
  197. package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +6 -0
  198. package/esm2022/f-connection-v2/components/connection-gradient/models/index.mjs +2 -0
  199. package/esm2022/f-connection-v2/components/connection-marker/enums/e-f-marker-type.mjs +8 -0
  200. package/esm2022/f-connection-v2/components/connection-marker/enums/index.mjs +2 -0
  201. package/esm2022/f-connection-v2/components/connection-marker/f-connection-marker.mjs +50 -0
  202. package/esm2022/f-connection-v2/components/connection-marker/index.mjs +4 -0
  203. package/esm2022/f-connection-v2/components/connection-marker/models/f-connection-marker-base.mjs +6 -0
  204. package/esm2022/f-connection-v2/components/connection-marker/models/index.mjs +2 -0
  205. package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +66 -0
  206. package/esm2022/f-connection-v2/components/connection-path/index.mjs +3 -0
  207. package/esm2022/f-connection-v2/components/connection-path/models/f-connection-path-base.mjs +6 -0
  208. package/esm2022/f-connection-v2/components/connection-path/models/index.mjs +2 -0
  209. package/esm2022/f-connection-v2/components/connection-selection/f-connection-selection.mjs +34 -0
  210. package/esm2022/f-connection-v2/components/connection-selection/index.mjs +3 -0
  211. package/esm2022/f-connection-v2/components/connection-selection/models/f-connection-selection-base.mjs +6 -0
  212. package/esm2022/f-connection-v2/components/connection-selection/models/index.mjs +2 -0
  213. package/esm2022/f-connection-v2/components/connection-waypoints/f-connection-waypoints.mjs +50 -0
  214. package/esm2022/f-connection-v2/components/connection-waypoints/index.mjs +4 -0
  215. package/esm2022/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.mjs +27 -0
  216. package/esm2022/f-connection-v2/components/connection-waypoints/models/index.mjs +2 -0
  217. package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.mjs +7 -0
  218. package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.mjs +7 -0
  219. package/esm2022/f-connection-v2/components/connection-waypoints/utils/index.mjs +5 -0
  220. package/esm2022/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.mjs +4 -0
  221. package/esm2022/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.mjs +16 -0
  222. package/esm2022/f-connection-v2/components/f-connection-base.mjs +112 -0
  223. package/esm2022/f-connection-v2/components/index.mjs +9 -0
  224. package/esm2022/f-connection-v2/enums/e-f-connectable-side.mjs +12 -0
  225. package/esm2022/f-connection-v2/enums/e-f-connection-type.mjs +8 -0
  226. package/esm2022/f-connection-v2/enums/index.mjs +3 -0
  227. package/esm2022/f-connection-v2/index.mjs +5 -0
  228. package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +5 -0
  229. package/esm2022/f-connection-v2/models/f-connection-waypoints-changed-event.mjs +9 -0
  230. package/esm2022/f-connection-v2/models/index.mjs +3 -0
  231. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.mjs +15 -0
  232. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.mjs +136 -0
  233. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-behavior.mjs +7 -0
  234. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-connectable-side.mjs +12 -0
  235. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/index.mjs +3 -0
  236. package/esm2022/f-connection-v2/utils/connection-behaviour/index.mjs +6 -0
  237. package/esm2022/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.mjs +2 -0
  238. package/esm2022/f-connection-v2/utils/connection-behaviour/models/index.mjs +2 -0
  239. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-center-behavior.mjs +12 -0
  240. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-outbound-behavior.mjs +31 -0
  241. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.mjs +22 -0
  242. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/index.mjs +4 -0
  243. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.mjs +74 -0
  244. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.mjs +2 -0
  245. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.mjs +49 -0
  246. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.mjs +2 -0
  247. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/index.mjs +6 -0
  248. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.mjs +50 -0
  249. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.mjs +106 -0
  250. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.mjs +46 -0
  251. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.mjs +4 -0
  252. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.mjs +28 -0
  253. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.mjs +2 -0
  254. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.mjs +4 -0
  255. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.mjs +8 -0
  256. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.mjs +7 -0
  257. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.mjs +39 -0
  258. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/index.mjs +9 -0
  259. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.mjs +12 -0
  260. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.mjs +28 -0
  261. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.mjs +30 -0
  262. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.mjs +37 -0
  263. package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.mjs +9 -0
  264. package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder.mjs +50 -0
  265. package/esm2022/f-connection-v2/utils/connection-line-builder/index.mjs +6 -0
  266. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-request.mjs +2 -0
  267. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-response.mjs +2 -0
  268. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder.mjs +2 -0
  269. package/esm2022/f-connection-v2/utils/connection-line-builder/models/index.mjs +4 -0
  270. package/esm2022/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.mjs +3 -0
  271. package/esm2022/f-connection-v2/utils/connection-line-builder/providers/index.mjs +2 -0
  272. package/esm2022/f-connection-v2/utils/create-connection-dom-identifier.mjs +5 -0
  273. package/esm2022/f-connection-v2/utils/create-connection-selection-dom-identifier.mjs +5 -0
  274. package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +5 -0
  275. package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +5 -0
  276. package/esm2022/f-connection-v2/utils/index.mjs +7 -0
  277. package/esm2022/f-connectors/f-connector-base.mjs +2 -2
  278. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +2 -2
  279. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
  280. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +2 -2
  281. package/esm2022/f-connectors/f-source-connector-base.mjs +8 -1
  282. package/esm2022/f-connectors/index.mjs +1 -2
  283. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +1 -1
  284. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +1 -8
  285. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -6
  286. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +6 -3
  287. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +8 -5
  288. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +8 -5
  289. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +1 -1
  290. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +22 -27
  291. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +8 -7
  292. package/esm2022/f-draggable/f-connection/index.mjs +2 -1
  293. package/esm2022/f-draggable/f-connection/move-connection-waypoint/index.mjs +4 -0
  294. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.mjs +3 -0
  295. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.mjs +8 -0
  296. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.mjs +32 -0
  297. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.mjs +49 -0
  298. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.mjs +3 -0
  299. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.mjs +10 -0
  300. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.mjs +65 -0
  301. package/esm2022/f-draggable/f-connection/providers.mjs +5 -2
  302. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
  303. package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
  304. package/esm2022/f-draggable/f-draggable.directive.mjs +20 -9
  305. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +6 -3
  306. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +1 -1
  307. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +1 -1
  308. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +1 -1
  309. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +1 -1
  310. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +1 -1
  311. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +1 -1
  312. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +7 -5
  313. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +19 -14
  314. package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +3 -3
  315. package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation-request.mjs +10 -0
  316. package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation.mjs +81 -0
  317. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +1 -1
  318. package/esm2022/f-draggable/f-node-move/providers.mjs +3 -3
  319. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +1 -1
  320. package/esm2022/f-draggable/index.mjs +3 -2
  321. package/esm2022/f-draggable/pinch-to-zoom/constants/constants.mjs +6 -0
  322. package/esm2022/f-draggable/pinch-to-zoom/constants/index.mjs +2 -0
  323. package/esm2022/f-draggable/pinch-to-zoom/finalize/index.mjs +3 -0
  324. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.mjs +8 -0
  325. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.mjs +31 -0
  326. package/esm2022/f-draggable/pinch-to-zoom/index.mjs +7 -0
  327. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.mjs +68 -0
  328. package/esm2022/f-draggable/pinch-to-zoom/preparation/index.mjs +3 -0
  329. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.mjs +8 -0
  330. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.mjs +42 -0
  331. package/esm2022/f-draggable/pinch-to-zoom/providers.mjs +4 -0
  332. package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-center.mjs +10 -0
  333. package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.mjs +9 -0
  334. package/esm2022/f-draggable/pinch-to-zoom/utils/index.mjs +3 -0
  335. package/esm2022/f-draggable/providers.mjs +4 -2
  336. package/esm2022/f-draggable/single-select/index.mjs +4 -0
  337. package/esm2022/f-draggable/single-select/providers.mjs +3 -0
  338. package/esm2022/f-draggable/single-select/single-select-request.mjs +10 -0
  339. package/esm2022/f-draggable/single-select/single-select.mjs +139 -0
  340. package/esm2022/f-flow/f-flow.component.mjs +39 -26
  341. package/esm2022/f-flow.module.mjs +38 -37
  342. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  343. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +10 -17
  344. package/esm2022/f-minimap/f-minimap.component.mjs +8 -9
  345. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +21 -19
  346. package/esm2022/f-storage/f-components-store.mjs +1 -1
  347. package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +2 -2
  348. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +1 -1
  349. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.mjs +23 -0
  350. package/esm2022/f-storage/features/listen-count-changes/index.mjs +2 -2
  351. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +1 -1
  352. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.mjs +23 -0
  353. package/esm2022/f-storage/features/listen-transform-changes/index.mjs +3 -3
  354. package/esm2022/f-storage/features/listen-transform-changes/{listen-transform-changes.request.mjs → listen-transform-changes-request.mjs} +1 -1
  355. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.mjs +23 -0
  356. package/esm2022/f-storage/features/notify-data-changed/index.mjs +2 -2
  357. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +1 -1
  358. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.mjs +22 -0
  359. package/esm2022/f-storage/features/notify-transform-changed/index.mjs +3 -3
  360. package/esm2022/f-storage/features/notify-transform-changed/{notify-transform-changed.request.mjs → notify-transform-changed-request.mjs} +1 -1
  361. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.mjs +22 -0
  362. package/esm2022/f-storage/index.mjs +1 -2
  363. package/esm2022/f-storage/providers.mjs +11 -11
  364. package/esm2022/f-zoom/f-zoom.directive.mjs +44 -45
  365. package/esm2022/public-api.mjs +2 -1
  366. package/esm2022/reactivity/debounce-time.mjs +16 -5
  367. package/esm2022/reactivity/f-channel-hub.mjs +33 -9
  368. package/esm2022/reactivity/index.mjs +2 -1
  369. package/esm2022/reactivity/notify-on-start.mjs +12 -4
  370. package/esm2022/reactivity/take-one.mjs +17 -0
  371. package/esm2022/reactivity/types.mjs +1 -1
  372. package/esm2022/utils/calculate-pointer-in-flow.mjs +9 -0
  373. package/esm2022/utils/index.mjs +2 -1
  374. package/f-canvas/domain/index.d.ts +1 -1
  375. package/f-canvas/f-canvas-base.d.ts +2 -2
  376. package/f-canvas/f-canvas.component.d.ts +3 -10
  377. package/f-connection/f-connection/f-connection.component.d.ts +2 -7
  378. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -6
  379. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -6
  380. package/f-connection/index.d.ts +1 -6
  381. package/f-connection/providers.d.ts +3 -4
  382. package/{f-connection/f-connection-content → f-connection-v2/components/connection-content}/f-connection-content.d.ts +3 -30
  383. package/f-connection-v2/components/connection-content/index.d.ts +3 -0
  384. package/f-connection-v2/components/connection-content/models/f-connection-content-base.d.ts +36 -0
  385. package/f-connection-v2/components/connection-content/models/index.d.ts +1 -0
  386. package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-layout-engine.d.ts +1 -9
  387. package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.d.ts +8 -0
  388. package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.d.ts +8 -0
  389. package/f-connection-v2/components/connection-drag-handles/index.d.ts +3 -0
  390. package/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.d.ts +11 -0
  391. package/f-connection-v2/components/connection-drag-handles/models/index.d.ts +1 -0
  392. package/{f-connection/common/f-gradient/f-connection-gradient.component.d.ts → f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts} +5 -6
  393. package/f-connection-v2/components/connection-gradient/index.d.ts +2 -0
  394. package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +8 -0
  395. package/f-connection-v2/components/connection-gradient/models/index.d.ts +1 -0
  396. package/f-connection-v2/components/connection-marker/enums/index.d.ts +1 -0
  397. package/f-connection-v2/components/connection-marker/f-connection-marker.d.ts +17 -0
  398. package/f-connection-v2/components/connection-marker/index.d.ts +3 -0
  399. package/{f-connection/f-marker/f-marker-base.d.ts → f-connection-v2/components/connection-marker/models/f-connection-marker-base.d.ts} +3 -4
  400. package/f-connection-v2/components/connection-marker/models/index.d.ts +1 -0
  401. package/f-connection-v2/components/connection-path/f-connection-path.d.ts +14 -0
  402. package/f-connection-v2/components/connection-path/index.d.ts +2 -0
  403. package/f-connection-v2/components/connection-path/models/f-connection-path-base.d.ts +9 -0
  404. package/f-connection-v2/components/connection-path/models/index.d.ts +1 -0
  405. package/f-connection-v2/components/connection-selection/f-connection-selection.d.ts +9 -0
  406. package/f-connection-v2/components/connection-selection/index.d.ts +2 -0
  407. package/f-connection-v2/components/connection-selection/models/f-connection-selection-base.d.ts +6 -0
  408. package/f-connection-v2/components/connection-selection/models/index.d.ts +1 -0
  409. package/f-connection-v2/components/connection-waypoints/f-connection-waypoints.d.ts +19 -0
  410. package/f-connection-v2/components/connection-waypoints/index.d.ts +3 -0
  411. package/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.d.ts +16 -0
  412. package/f-connection-v2/components/connection-waypoints/models/index.d.ts +1 -0
  413. package/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.d.ts +6 -0
  414. package/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.d.ts +6 -0
  415. package/f-connection-v2/components/connection-waypoints/utils/index.d.ts +4 -0
  416. package/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.d.ts +2 -0
  417. package/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.d.ts +17 -0
  418. package/{f-connection/common → f-connection-v2/components}/f-connection-base.d.ts +14 -31
  419. package/f-connection-v2/components/index.d.ts +8 -0
  420. package/f-connection-v2/enums/index.d.ts +2 -0
  421. package/f-connection-v2/index.d.ts +4 -0
  422. package/f-connection-v2/models/f-connection-components-parent.d.ts +15 -0
  423. package/f-connection-v2/models/f-connection-waypoints-changed-event.d.ts +6 -0
  424. package/f-connection-v2/models/index.d.ts +2 -0
  425. package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.d.ts +11 -0
  426. package/{domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts → f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.d.ts} +5 -6
  427. package/f-connection-v2/utils/connection-behaviour/enums/index.d.ts +2 -0
  428. package/f-connection-v2/utils/connection-behaviour/index.d.ts +5 -0
  429. package/{domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts → f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.d.ts} +2 -2
  430. package/f-connection-v2/utils/connection-behaviour/models/index.d.ts +1 -0
  431. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-center-behavior.d.ts +2 -2
  432. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-outbound-behavior.d.ts +2 -2
  433. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/floating-behavior.d.ts +2 -2
  434. package/f-connection-v2/utils/connection-behaviour/utils/index.d.ts +3 -0
  435. package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.d.ts +8 -0
  436. package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.d.ts +1 -0
  437. package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.d.ts +4 -0
  438. package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.d.ts +1 -0
  439. package/f-connection-v2/utils/connection-line-builder/builders/index.d.ts +5 -0
  440. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.d.ts +17 -0
  441. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.d.ts +6 -0
  442. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.d.ts +2 -0
  443. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.d.ts +3 -0
  444. package/{f-connection/common/domain/f-straight.path-builder.d.ts → f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.d.ts} +2 -2
  445. package/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.d.ts +1 -0
  446. package/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.d.ts +2 -0
  447. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.d.ts +2 -0
  448. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.d.ts +3 -0
  449. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.d.ts +2 -0
  450. package/f-connection-v2/utils/connection-line-builder/builders/utils/index.d.ts +8 -0
  451. package/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.d.ts +2 -0
  452. package/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.d.ts +10 -0
  453. package/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.d.ts +2 -0
  454. package/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.d.ts +24 -0
  455. package/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.d.ts +7 -0
  456. package/f-connection-v2/utils/connection-line-builder/connection-line-builder.d.ts +13 -0
  457. package/f-connection-v2/utils/connection-line-builder/index.d.ts +5 -0
  458. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-request.d.ts +2 -1
  459. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-response.d.ts +2 -2
  460. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder.d.ts +1 -2
  461. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/index.d.ts +1 -4
  462. package/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.d.ts +4 -0
  463. package/f-connection-v2/utils/connection-line-builder/providers/index.d.ts +1 -0
  464. package/f-connection-v2/utils/create-connection-dom-identifier.d.ts +1 -0
  465. package/f-connection-v2/utils/create-connection-selection-dom-identifier.d.ts +1 -0
  466. package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -0
  467. package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -0
  468. package/f-connection-v2/utils/index.d.ts +6 -0
  469. package/f-connectors/f-connector-base.d.ts +1 -1
  470. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  471. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  472. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  473. package/f-connectors/f-source-connector-base.d.ts +3 -0
  474. package/f-connectors/index.d.ts +0 -1
  475. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -0
  476. package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +2 -1
  477. package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +4 -2
  478. package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +4 -2
  479. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +1 -1
  480. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +6 -7
  481. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +2 -2
  482. package/f-draggable/f-connection/index.d.ts +1 -0
  483. package/f-draggable/f-connection/move-connection-waypoint/index.d.ts +3 -0
  484. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.d.ts +2 -0
  485. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.d.ts +6 -0
  486. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.d.ts +11 -0
  487. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.d.ts +20 -0
  488. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.d.ts +2 -0
  489. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.d.ts +8 -0
  490. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.d.ts +19 -0
  491. package/f-draggable/f-connection/providers.d.ts +3 -2
  492. package/f-draggable/f-drag-handler/i-f-drag-handler.d.ts +2 -1
  493. package/f-draggable/f-draggable-base.d.ts +3 -1
  494. package/f-draggable/f-draggable.directive.d.ts +5 -1
  495. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -1
  496. package/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.d.ts +1 -1
  497. package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +1 -1
  498. package/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.d.ts +1 -1
  499. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +1 -1
  500. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +1 -1
  501. package/f-draggable/f-node-move/move-drag-handler.d.ts +2 -2
  502. package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +1 -1
  503. package/f-draggable/f-node-move/move-preparation/index.d.ts +2 -2
  504. package/f-draggable/f-node-move/move-preparation/{f-node-move-preparation.request.d.ts → move-node-preparation-request.d.ts} +3 -3
  505. package/f-draggable/f-node-move/move-preparation/move-node-preparation.d.ts +17 -0
  506. package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +3 -3
  507. package/f-draggable/f-node-move/providers.d.ts +2 -2
  508. package/f-draggable/index.d.ts +2 -1
  509. package/f-draggable/pinch-to-zoom/constants/constants.d.ts +5 -0
  510. package/f-draggable/pinch-to-zoom/constants/index.d.ts +1 -0
  511. package/f-draggable/pinch-to-zoom/finalize/index.d.ts +2 -0
  512. package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.d.ts +6 -0
  513. package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.d.ts +11 -0
  514. package/f-draggable/pinch-to-zoom/index.d.ts +6 -0
  515. package/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.d.ts +21 -0
  516. package/f-draggable/pinch-to-zoom/preparation/index.d.ts +2 -0
  517. package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.d.ts +6 -0
  518. package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.d.ts +13 -0
  519. package/f-draggable/pinch-to-zoom/providers.d.ts +3 -0
  520. package/f-draggable/pinch-to-zoom/utils/calculate-touch-center.d.ts +2 -0
  521. package/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.d.ts +1 -0
  522. package/f-draggable/pinch-to-zoom/utils/index.d.ts +2 -0
  523. package/f-draggable/providers.d.ts +1 -1
  524. package/f-draggable/single-select/index.d.ts +3 -0
  525. package/f-draggable/single-select/providers.d.ts +2 -0
  526. package/f-draggable/single-select/single-select-request.d.ts +8 -0
  527. package/f-draggable/{f-single-select/f-single-select.execution.d.ts → single-select/single-select.d.ts} +7 -6
  528. package/f-flow/f-flow.component.d.ts +1 -1
  529. package/f-flow.module.d.ts +36 -37
  530. package/f-line-alignment/f-line-alignment-base.d.ts +3 -4
  531. package/f-line-alignment/f-line-alignment.component.d.ts +3 -4
  532. package/f-minimap/f-minimap.component.d.ts +2 -2
  533. package/f-selection-area/domain/selection-area.drag-handle.d.ts +6 -5
  534. package/f-storage/f-components-store.d.ts +3 -4
  535. package/f-storage/features/listen-components-data-changed/index.d.ts +1 -1
  536. package/f-storage/features/listen-components-data-changed/{listen-data-changes.execution.d.ts → listen-data-changes.d.ts} +3 -3
  537. package/f-storage/features/listen-count-changes/index.d.ts +1 -1
  538. package/f-storage/features/listen-count-changes/{listen-count-changes.execution.d.ts → listen-count-changes.d.ts} +3 -3
  539. package/f-storage/features/listen-transform-changes/index.d.ts +2 -2
  540. package/f-storage/features/listen-transform-changes/{listen-transform-changes.execution.d.ts → listen-transform-changes.d.ts} +4 -4
  541. package/f-storage/features/notify-data-changed/index.d.ts +1 -1
  542. package/f-storage/features/notify-data-changed/{notify-data-changed.execution.d.ts → notify-data-changed.d.ts} +3 -3
  543. package/f-storage/features/notify-transform-changed/index.d.ts +2 -2
  544. package/f-storage/features/notify-transform-changed/{notify-transform-changed.execution.d.ts → notify-transform-changed.d.ts} +4 -4
  545. package/f-storage/index.d.ts +0 -1
  546. package/f-storage/providers.d.ts +6 -6
  547. package/f-zoom/f-zoom.directive.d.ts +11 -14
  548. package/fesm2022/foblex-flow.mjs +4354 -3905
  549. package/fesm2022/foblex-flow.mjs.map +1 -1
  550. package/package.json +2 -2
  551. package/public-api.d.ts +1 -0
  552. package/reactivity/index.d.ts +1 -0
  553. package/reactivity/take-one.d.ts +2 -0
  554. package/reactivity/types.d.ts +6 -1
  555. package/schematics/collection.json +6 -1
  556. package/utils/calculate-pointer-in-flow.d.ts +4 -0
  557. package/utils/index.d.ts +1 -0
  558. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +0 -12
  559. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +0 -6
  560. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -3
  561. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +0 -14
  562. package/domain/f-flow/get-flow-state/get-flow-state-connections/index.d.ts +0 -2
  563. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -6
  564. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +0 -15
  565. package/domain/f-flow/get-flow-state/get-flow-state-nodes/index.d.ts +0 -2
  566. package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +0 -15
  567. package/domain/f-flow/get-flow-state/get-flow-state.request.d.ts +0 -3
  568. package/domain/f-flow/get-flow-state/i-f-flow-state-connection.d.ts +0 -9
  569. package/domain/f-flow/get-flow-state/providers.d.ts +0 -7
  570. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.d.ts +0 -3
  571. package/domain/f-selection/get-can-be-selected-items/index.d.ts +0 -3
  572. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +0 -12
  573. package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +0 -13
  574. package/domain/i-map.d.ts +0 -1
  575. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +0 -48
  576. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +0 -25
  577. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +0 -25
  578. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +0 -26
  579. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +0 -25
  580. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +0 -16
  581. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +0 -145
  582. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +0 -7
  583. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +0 -2
  584. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +0 -12
  585. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +0 -31
  586. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +0 -22
  587. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +0 -65
  588. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +0 -25
  589. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +0 -33
  590. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +0 -25
  591. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +0 -25
  592. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -4
  593. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -35
  594. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +0 -3
  595. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -8
  596. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -58
  597. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
  598. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +0 -39
  599. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +0 -4
  600. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +0 -2
  601. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +0 -2
  602. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +0 -2
  603. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +0 -2
  604. package/esm2022/domain/f-flow/get-flow-state/index.mjs +0 -10
  605. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +0 -12
  606. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -4
  607. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -66
  608. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +0 -2
  609. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +0 -4
  610. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +0 -28
  611. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +0 -28
  612. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +0 -30
  613. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +0 -54
  614. package/esm2022/domain/i-map.mjs +0 -2
  615. package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +0 -201
  616. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +0 -10
  617. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +0 -12
  618. package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +0 -3
  619. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +0 -8
  620. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
  621. package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +0 -3
  622. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -58
  623. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -161
  624. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +0 -16
  625. package/esm2022/f-connection/common/domain/index.mjs +0 -7
  626. package/esm2022/f-connection/common/e-f-connection-behavior.mjs +0 -7
  627. package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +0 -12
  628. package/esm2022/f-connection/common/e-f-connection-type.mjs +0 -8
  629. package/esm2022/f-connection/common/f-connection-base.mjs +0 -121
  630. package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
  631. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -65
  632. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -57
  633. package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +0 -3
  634. package/esm2022/f-connection/common/f-connection-text/index.mjs +0 -4
  635. package/esm2022/f-connection/common/f-connection.injection-token.mjs +0 -3
  636. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +0 -37
  637. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +0 -37
  638. package/esm2022/f-connection/common/f-drag-handle/index.mjs +0 -3
  639. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -55
  640. package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +0 -3
  641. package/esm2022/f-connection/common/f-gradient/index.mjs +0 -3
  642. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -45
  643. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -14
  644. package/esm2022/f-connection/common/f-path/i-connection-path.mjs +0 -3
  645. package/esm2022/f-connection/common/f-path/index.mjs +0 -4
  646. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -24
  647. package/esm2022/f-connection/common/f-selection/index.mjs +0 -2
  648. package/esm2022/f-connection/common/i-has-connection-color.mjs +0 -2
  649. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +0 -2
  650. package/esm2022/f-connection/common/i-has-connection-text.mjs +0 -2
  651. package/esm2022/f-connection/common/index.mjs +0 -15
  652. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +0 -3
  653. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -26
  654. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +0 -2
  655. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +0 -2
  656. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +0 -2
  657. package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +0 -2
  658. package/esm2022/f-connection/f-connection-builder/index.mjs +0 -7
  659. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +0 -30
  660. package/esm2022/f-connection/f-connection-center/index.mjs +0 -2
  661. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +0 -102
  662. package/esm2022/f-connection/f-connection-content/index.mjs +0 -3
  663. package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs +0 -2
  664. package/esm2022/f-connection/f-connection-content/polyline-content-engine/index.mjs +0 -6
  665. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs +0 -6
  666. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +0 -28
  667. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.mjs +0 -2
  668. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.mjs +0 -2
  669. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs +0 -5
  670. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.mjs +0 -143
  671. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.mjs +0 -68
  672. package/esm2022/f-connection/f-marker/e-f-marker-type.mjs +0 -8
  673. package/esm2022/f-connection/f-marker/f-marker-base.mjs +0 -5
  674. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -51
  675. package/esm2022/f-connection/f-marker/index.mjs +0 -4
  676. package/esm2022/f-connectors/e-f-connectable-side.mjs +0 -12
  677. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +0 -82
  678. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +0 -10
  679. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +0 -138
  680. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +0 -10
  681. package/esm2022/f-draggable/f-single-select/index.mjs +0 -4
  682. package/esm2022/f-draggable/f-single-select/providers.mjs +0 -5
  683. package/esm2022/f-storage/f-connectors-store.mjs +0 -11
  684. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +0 -23
  685. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +0 -23
  686. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +0 -23
  687. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +0 -22
  688. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +0 -22
  689. package/f-connection/common/domain/adaptive-curve-builder.d.ts +0 -102
  690. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +0 -7
  691. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +0 -6
  692. package/f-connection/common/domain/calculate-center-between-points/index.d.ts +0 -2
  693. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +0 -6
  694. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +0 -8
  695. package/f-connection/common/domain/calculate-connection-center/index.d.ts +0 -2
  696. package/f-connection/common/domain/f-bezier.path-builder.d.ts +0 -6
  697. package/f-connection/common/domain/f-segment.path-builder.d.ts +0 -11
  698. package/f-connection/common/domain/index.d.ts +0 -6
  699. package/f-connection/common/f-connection-identifiers.d.ts +0 -8
  700. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +0 -18
  701. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +0 -16
  702. package/f-connection/common/f-connection-text/i-connection-text.d.ts +0 -7
  703. package/f-connection/common/f-connection-text/index.d.ts +0 -3
  704. package/f-connection/common/f-connection.injection-token.d.ts +0 -2
  705. package/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.d.ts +0 -13
  706. package/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.d.ts +0 -13
  707. package/f-connection/common/f-drag-handle/index.d.ts +0 -2
  708. package/f-connection/common/f-gradient/i-connection-gradient.d.ts +0 -8
  709. package/f-connection/common/f-gradient/index.d.ts +0 -2
  710. package/f-connection/common/f-path/f-connection-path.component.d.ts +0 -15
  711. package/f-connection/common/f-path/get-path-marker-id.d.ts +0 -4
  712. package/f-connection/common/f-path/i-connection-path.d.ts +0 -9
  713. package/f-connection/common/f-path/index.d.ts +0 -3
  714. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +0 -10
  715. package/f-connection/common/f-selection/index.d.ts +0 -1
  716. package/f-connection/common/i-has-connection-color.d.ts +0 -5
  717. package/f-connection/common/i-has-connection-from-to.d.ts +0 -6
  718. package/f-connection/common/i-has-connection-text.d.ts +0 -4
  719. package/f-connection/common/index.d.ts +0 -14
  720. package/f-connection/f-connection-builder/f-connection-builders.d.ts +0 -4
  721. package/f-connection/f-connection-builder/f-connection-factory.d.ts +0 -9
  722. package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +0 -6
  723. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +0 -10
  724. package/f-connection/f-connection-center/index.d.ts +0 -1
  725. package/f-connection/f-connection-content/index.d.ts +0 -2
  726. package/f-connection/f-marker/f-marker.directive.d.ts +0 -18
  727. package/f-connection/f-marker/index.d.ts +0 -3
  728. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +0 -20
  729. package/f-draggable/f-single-select/f-single-select.request.d.ts +0 -8
  730. package/f-draggable/f-single-select/index.d.ts +0 -3
  731. package/f-draggable/f-single-select/providers.d.ts +0 -2
  732. package/f-storage/f-connectors-store.d.ts +0 -6
  733. /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-node.d.ts +0 -0
  734. /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state.d.ts +0 -0
  735. /package/domain/f-selection/{get-can-be-selected-items → calculate-selectable-items}/i-can-be-selected-element-and-rect.d.ts +0 -0
  736. /package/f-canvas/domain/{f-canvas-change.event.d.ts → f-canvas-change-event.d.ts} +0 -0
  737. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/i-polyline-content.d.ts +0 -0
  738. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/index.d.ts +0 -0
  739. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-align.d.ts +0 -0
  740. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.d.ts +0 -0
  741. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-sampler-result.d.ts +0 -0
  742. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-tangent.d.ts +0 -0
  743. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/index.d.ts +0 -0
  744. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline-sampler.d.ts +0 -0
  745. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline.d.ts +0 -0
  746. /package/{f-connection/f-marker → f-connection-v2/components/connection-marker/enums}/e-f-marker-type.d.ts +0 -0
  747. /package/{f-connectors → f-connection-v2/enums}/e-f-connectable-side.d.ts +0 -0
  748. /package/{f-connection/common → f-connection-v2/enums}/e-f-connection-type.d.ts +0 -0
  749. /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-behavior.d.ts +0 -0
  750. /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-connectable-side.d.ts +0 -0
  751. /package/f-storage/features/listen-transform-changes/{listen-transform-changes.request.d.ts → listen-transform-changes-request.d.ts} +0 -0
  752. /package/f-storage/features/notify-transform-changed/{notify-transform-changed.request.d.ts → notify-transform-changed-request.d.ts} +0 -0
@@ -1,66 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { RectExtensions } from '@foblex/2d';
4
- import { GetCanBeSelectedItemsRequest } from './get-can-be-selected-items-request';
5
- import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
- import { FComponentsStore } from '../../../f-storage';
7
- import { FDraggableDataContext } from '../../../f-draggable';
8
- import { GetNormalizedElementRectRequest } from '../../get-normalized-element-rect';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * Execution that retrieves elements that can be selected in the Flow, along with their bounding rectangles.
12
- * It filters out elements that are already selected in the FDraggableDataContext.
13
- */
14
- let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
15
- _mediator = inject(FMediator);
16
- _store = inject(FComponentsStore);
17
- _dragContext = inject(FDraggableDataContext);
18
- get fNodes() {
19
- return this._store.fNodes;
20
- }
21
- get fConnections() {
22
- return this._store.fConnections;
23
- }
24
- get transform() {
25
- return this._store.fCanvas.transform;
26
- }
27
- handle() {
28
- return [...this.getNodesWithRects(), ...this.getConnectionsWithRects()].filter((x) => {
29
- return !this._dragContext.selectedItems.includes(x.element);
30
- });
31
- }
32
- /**
33
- * Retrieves nodes with their bounding rectangles that can be selected.
34
- * @private
35
- */
36
- getNodesWithRects() {
37
- return this.fNodes.filter((x) => !x.fSelectionDisabled()).map((x) => {
38
- return {
39
- element: x,
40
- fRect: RectExtensions.mult(this._mediator.execute(new GetNormalizedElementRectRequest(x.hostElement)), this.transform.scale),
41
- };
42
- });
43
- }
44
- /**
45
- * Retrieves connections with their bounding rectangles that can be selected.
46
- * @private
47
- */
48
- getConnectionsWithRects() {
49
- return this.fConnections.filter((x) => !x.fSelectionDisabled()).map((x) => {
50
- return {
51
- element: x,
52
- fRect: RectExtensions.mult(this._mediator.execute(new GetNormalizedElementRectRequest(x.boundingElement)), this.transform.scale),
53
- };
54
- });
55
- }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCanBeSelectedItemsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
57
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCanBeSelectedItemsExecution });
58
- };
59
- GetCanBeSelectedItemsExecution = __decorate([
60
- FExecutionRegister(GetCanBeSelectedItemsRequest)
61
- ], GetCanBeSelectedItemsExecution);
62
- export { GetCanBeSelectedItemsExecution };
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCanBeSelectedItemsExecution, decorators: [{
64
- type: Injectable
65
- }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQTBCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUduRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRXBGOzs7R0FHRztBQUdJLElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBRXhCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFlBQVksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUU5RCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sQ0FBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xFLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2pGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUNyQjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyx1QkFBdUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hFLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQ3JGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUNyQjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBdERVLDhCQUE4Qjs0R0FBOUIsOEJBQThCOztBQUE5Qiw4QkFBOEI7SUFEMUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7R0FDcEMsOEJBQThCLENBdUQxQzs7NEZBdkRZLDhCQUE4QjtrQkFGMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElDYW5CZVNlbGVjdGVkRWxlbWVudEFuZFJlY3QgfSBmcm9tICcuL2ktY2FuLWJlLXNlbGVjdGVkLWVsZW1lbnQtYW5kLXJlY3QnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy1yZXF1ZXN0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdCc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgcmV0cmlldmVzIGVsZW1lbnRzIHRoYXQgY2FuIGJlIHNlbGVjdGVkIGluIHRoZSBGbG93LCBhbG9uZyB3aXRoIHRoZWlyIGJvdW5kaW5nIHJlY3RhbmdsZXMuXG4gKiBJdCBmaWx0ZXJzIG91dCBlbGVtZW50cyB0aGF0IGFyZSBhbHJlYWR5IHNlbGVjdGVkIGluIHRoZSBGRHJhZ2dhYmxlRGF0YUNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRDYW5CZVNlbGVjdGVkSXRlbXNFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPHZvaWQsIElDYW5CZVNlbGVjdGVkRWxlbWVudEFuZFJlY3RbXT4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHByaXZhdGUgZ2V0IGZOb2RlcygpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKCk6IElDYW5CZVNlbGVjdGVkRWxlbWVudEFuZFJlY3RbXSB7XG4gICAgcmV0dXJuIFsgLi4udGhpcy5nZXROb2Rlc1dpdGhSZWN0cygpLCAuLi50aGlzLmdldENvbm5lY3Rpb25zV2l0aFJlY3RzKCkgXS5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhdGhpcy5fZHJhZ0NvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyh4LmVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBub2RlcyB3aXRoIHRoZWlyIGJvdW5kaW5nIHJlY3RhbmdsZXMgdGhhdCBjYW4gYmUgc2VsZWN0ZWQuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldE5vZGVzV2l0aFJlY3RzKCk6IElDYW5CZVNlbGVjdGVkRWxlbWVudEFuZFJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZk5vZGVzLmZpbHRlcigoeCkgPT4gIXguZlNlbGVjdGlvbkRpc2FibGVkKCkpLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudDogeCxcbiAgICAgICAgZlJlY3Q6IFJlY3RFeHRlbnNpb25zLm11bHQoXG4gICAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoeC5ob3N0RWxlbWVudCkpLFxuICAgICAgICAgIHRoaXMudHJhbnNmb3JtLnNjYWxlLFxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgY29ubmVjdGlvbnMgd2l0aCB0aGVpciBib3VuZGluZyByZWN0YW5nbGVzIHRoYXQgY2FuIGJlIHNlbGVjdGVkLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb25uZWN0aW9uc1dpdGhSZWN0cygpOiBJQ2FuQmVTZWxlY3RlZEVsZW1lbnRBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+ICF4LmZTZWxlY3Rpb25EaXNhYmxlZCgpKS5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVsZW1lbnQ6IHgsXG4gICAgICAgIGZSZWN0OiBSZWN0RXh0ZW5zaW9ucy5tdWx0KFxuICAgICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguYm91bmRpbmdFbGVtZW50KSksXG4gICAgICAgICAgdGhpcy50cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jYW4tYmUtc2VsZWN0ZWQtZWxlbWVudC1hbmQtcmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytc2VsZWN0aW9uL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMvaS1jYW4tYmUtc2VsZWN0ZWQtZWxlbWVudC1hbmQtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vLi4vLi4vbWl4aW5zJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ2FuQmVTZWxlY3RlZEVsZW1lbnRBbmRSZWN0IHtcblxuICBlbGVtZW50OiBJU2VsZWN0YWJsZTtcblxuICBmUmVjdDogSVJlY3Q7XG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './get-can-be-selected-items.execution';
2
- export * from './get-can-be-selected-items-request';
3
- export * from './i-can-be-selected-element-and-rect';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWNhbi1iZS1zZWxlY3RlZC1lbGVtZW50LWFuZC1yZWN0JztcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { FExecutionRegister } from '@foblex/mediator';
4
- import { AddZoomToStoreRequest } from './add-zoom-to-store-request';
5
- import { FComponentsStore } from '../../../f-storage';
6
- import { F_ZOOM_TAG } from '../f-zoom-tag';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Execution that adds a Zoom to the FComponentsStore.
10
- */
11
- let AddZoomToStoreExecution = class AddZoomToStoreExecution {
12
- _store = inject(FComponentsStore);
13
- handle(request) {
14
- this._store.fComponents = {
15
- [F_ZOOM_TAG]: request.fComponent,
16
- };
17
- }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddZoomToStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddZoomToStoreExecution });
20
- };
21
- AddZoomToStoreExecution = __decorate([
22
- FExecutionRegister(AddZoomToStoreRequest)
23
- ], AddZoomToStoreExecution);
24
- export { AddZoomToStoreExecution };
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddZoomToStoreExecution, decorators: [{
26
- type: Injectable
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXpvb20tdG8tc3RvcmUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi16b29tL2FkZC16b29tLXRvLXN0b3JlL2FkZC16b29tLXRvLXN0b3JlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFHSSxJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQUdqQixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUMsTUFBTSxDQUFDLE9BQThCO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHO1lBQ3hCLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVU7U0FDakMsQ0FBQztJQUNKLENBQUM7d0dBVFUsdUJBQXVCOzRHQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0FVbkM7OzRGQVZZLHVCQUF1QjtrQkFGbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBBZGRab29tVG9TdG9yZVJlcXVlc3QgfSBmcm9tICcuL2FkZC16b29tLXRvLXN0b3JlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX1pPT01fVEFHIH0gZnJvbSAnLi4vZi16b29tLXRhZyc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgYWRkcyBhIFpvb20gdG8gdGhlIEZDb21wb25lbnRzU3RvcmUuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQWRkWm9vbVRvU3RvcmVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEFkZFpvb21Ub1N0b3JlRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxBZGRab29tVG9TdG9yZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEFkZFpvb21Ub1N0b3JlUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlLmZDb21wb25lbnRzID0ge1xuICAgICAgW0ZfWk9PTV9UQUddOiByZXF1ZXN0LmZDb21wb25lbnQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,28 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { FExecutionRegister } from '@foblex/mediator';
4
- import { RemoveZoomFromStoreRequest } from './remove-zoom-from-store-request';
5
- import { FComponentsStore } from '../../../f-storage';
6
- import { F_ZOOM_TAG } from '../f-zoom-tag';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * Execution that removes a Zoom from the FComponentsStore.
10
- */
11
- let RemoveZoomFromStoreExecution = class RemoveZoomFromStoreExecution {
12
- _store = inject(FComponentsStore);
13
- handle(_request) {
14
- this._store.fComponents = {
15
- [F_ZOOM_TAG]: undefined,
16
- };
17
- }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveZoomFromStoreExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveZoomFromStoreExecution });
20
- };
21
- RemoveZoomFromStoreExecution = __decorate([
22
- FExecutionRegister(RemoveZoomFromStoreRequest)
23
- ], RemoveZoomFromStoreExecution);
24
- export { RemoveZoomFromStoreExecution };
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RemoveZoomFromStoreExecution, decorators: [{
26
- type: Injectable
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXpvb20tZnJvbS1zdG9yZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXpvb20vcmVtb3ZlLXpvb20tZnJvbS1zdG9yZS9yZW1vdmUtem9vbS1mcm9tLXN0b3JlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFHSSxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQUN0QixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUMsTUFBTSxDQUFDLFFBQW9DO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHO1lBQ3hCLENBQUMsVUFBVSxDQUFDLEVBQUUsU0FBUztTQUN4QixDQUFDO0lBQ0osQ0FBQzt3R0FQVSw0QkFBNEI7NEdBQTVCLDRCQUE0Qjs7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDO0dBQ2xDLDRCQUE0QixDQVF4Qzs7NEZBUlksNEJBQTRCO2tCQUZ4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFJlbW92ZVpvb21Gcm9tU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi9yZW1vdmUtem9vbS1mcm9tLXN0b3JlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX1pPT01fVEFHIH0gZnJvbSAnLi4vZi16b29tLXRhZyc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgcmVtb3ZlcyBhIFpvb20gZnJvbSB0aGUgRkNvbXBvbmVudHNTdG9yZS5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihSZW1vdmVab29tRnJvbVN0b3JlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBSZW1vdmVab29tRnJvbVN0b3JlRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxSZW1vdmVab29tRnJvbVN0b3JlUmVxdWVzdCwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKF9yZXF1ZXN0OiBSZW1vdmVab29tRnJvbVN0b3JlUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlLmZDb21wb25lbnRzID0ge1xuICAgICAgW0ZfWk9PTV9UQUddOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,30 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { FExecutionRegister } from '@foblex/mediator';
4
- import { ResetZoomRequest } from './reset-zoom-request';
5
- import { FComponentsStore } from '../../../f-storage';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Execution that resets the zoom level of the FCanvas.
9
- */
10
- let ResetZoomExecution = class ResetZoomExecution {
11
- _store = inject(FComponentsStore);
12
- get _fCanvas() {
13
- return this._store.fCanvas;
14
- }
15
- handle(request) {
16
- this._fCanvas.resetScale();
17
- this._fCanvas.redraw();
18
- this._fCanvas.emitCanvasChangeEvent();
19
- }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResetZoomExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResetZoomExecution });
22
- };
23
- ResetZoomExecution = __decorate([
24
- FExecutionRegister(ResetZoomRequest)
25
- ], ResetZoomExecution);
26
- export { ResetZoomExecution };
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResetZoomExecution, decorators: [{
28
- type: Injectable
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtem9vbS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXpvb20vcmVzZXQtem9vbS9yZXNldC16b29tLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBR3REOztHQUVHO0FBR0ksSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFWixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbkQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF5QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7d0dBWlUsa0JBQWtCOzRHQUFsQixrQkFBa0I7O0FBQWxCLGtCQUFrQjtJQUQ5QixrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztHQUN4QixrQkFBa0IsQ0FhOUI7OzRGQWJZLGtCQUFrQjtrQkFGOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBSZXNldFpvb21SZXF1ZXN0IH0gZnJvbSAnLi9yZXNldC16b29tLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY2FudmFzJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCByZXNldHMgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIEZDYW52YXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoUmVzZXRab29tUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBSZXNldFpvb21FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFJlc2V0Wm9vbVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZkNhbnZhcygpOiBGQ2FudmFzQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDYW52YXMhO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBSZXNldFpvb21SZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZkNhbnZhcy5yZXNldFNjYWxlKCk7XG4gICAgdGhpcy5fZkNhbnZhcy5yZWRyYXcoKTtcbiAgICB0aGlzLl9mQ2FudmFzLmVtaXRDYW52YXNDaGFuZ2VFdmVudCgpO1xuICB9XG59XG4iXX0=
@@ -1,54 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
3
- import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
- import { SetZoomRequest } from './set-zoom-request';
5
- import { FComponentsStore } from '../../../f-storage';
6
- import { F_ZOOM_TAG } from '../f-zoom-tag';
7
- import { Point } from '@foblex/2d';
8
- import { IsDragStartedRequest } from '../../f-draggable';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * Execution that sets the zoom level of the FCanvas based on the provided request.
12
- * It adjusts the zoom level by a specified step and direction, ensuring it stays within defined limits.
13
- */
14
- let SetZoomExecution = class SetZoomExecution {
15
- _mediator = inject(FMediator);
16
- _store = inject(FComponentsStore);
17
- get _fHost() {
18
- return this._store.fFlow?.hostElement;
19
- }
20
- get _fCanvas() {
21
- return this._store.fCanvas;
22
- }
23
- get _fZoomComponent() {
24
- return this._store.fComponents[F_ZOOM_TAG];
25
- }
26
- get _isDragStarted() {
27
- return this._mediator.execute(new IsDragStartedRequest());
28
- }
29
- handle(request) {
30
- if (this._isDragStarted || !this._fZoomComponent) {
31
- return;
32
- }
33
- const result = this._fCanvas.transform.scale + request.step * request.direction;
34
- this._fCanvas.setScale(this._clamp(result), this._castPositionToFlow(request.position));
35
- request.animate ? this._fCanvas.redrawWithAnimation() : this._fCanvas.redraw();
36
- this._fCanvas.emitCanvasChangeEvent();
37
- }
38
- _clamp(value) {
39
- return Math.max(this._fZoomComponent.minimum, Math.min(value, this._fZoomComponent.maximum));
40
- }
41
- _castPositionToFlow(position) {
42
- return Point.fromPoint(position).elementTransform(this._fHost);
43
- }
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetZoomExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
45
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetZoomExecution });
46
- };
47
- SetZoomExecution = __decorate([
48
- FExecutionRegister(SetZoomRequest)
49
- ], SetZoomExecution);
50
- export { SetZoomExecution };
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetZoomExecution, decorators: [{
52
- type: Injectable
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXpvb20uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi16b29tL3NldC16b29tL3NldC16b29tLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXpEOzs7R0FHRztBQUdJLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQ1YsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbkQsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBWSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFlLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVksY0FBYztRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFVLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBdUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2pELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUVoRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4RixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxRQUFnQjtRQUMxQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7d0dBdENVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOztBQUFoQixnQkFBZ0I7SUFENUIsa0JBQWtCLENBQUMsY0FBYyxDQUFDO0dBQ3RCLGdCQUFnQixDQXVDNUI7OzRGQXZDWSxnQkFBZ0I7a0JBRjVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBTZXRab29tUmVxdWVzdCB9IGZyb20gJy4vc2V0LXpvb20tcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZfWk9PTV9UQUcgfSBmcm9tICcuLi9mLXpvb20tdGFnJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRlpvb21CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi16b29tJztcbmltcG9ydCB7IElzRHJhZ1N0YXJ0ZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUnO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHNldHMgdGhlIHpvb20gbGV2ZWwgb2YgdGhlIEZDYW52YXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHJlcXVlc3QuXG4gKiBJdCBhZGp1c3RzIHRoZSB6b29tIGxldmVsIGJ5IGEgc3BlY2lmaWVkIHN0ZXAgYW5kIGRpcmVjdGlvbiwgZW5zdXJpbmcgaXQgc3RheXMgd2l0aGluIGRlZmluZWQgbGltaXRzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNldFpvb21SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNldFpvb21FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFNldFpvb21SZXF1ZXN0LCB2b2lkPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZGbG93Py5ob3N0RWxlbWVudCE7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNhbnZhcygpOiBGQ2FudmFzQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDYW52YXMhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2Zab29tQ29tcG9uZW50KCk6IEZab29tQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDb21wb25lbnRzW0ZfWk9PTV9UQUddISBhcyBGWm9vbUJhc2U7XG4gIH1cblxuICBwcml2YXRlIGdldCBfaXNEcmFnU3RhcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxib29sZWFuPihuZXcgSXNEcmFnU3RhcnRlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNldFpvb21SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzRHJhZ1N0YXJ0ZWQgfHwgIXRoaXMuX2Zab29tQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNhbnZhcy50cmFuc2Zvcm0uc2NhbGUgKyByZXF1ZXN0LnN0ZXAgKiByZXF1ZXN0LmRpcmVjdGlvbjtcblxuICAgIHRoaXMuX2ZDYW52YXMuc2V0U2NhbGUodGhpcy5fY2xhbXAocmVzdWx0KSwgdGhpcy5fY2FzdFBvc2l0aW9uVG9GbG93KHJlcXVlc3QucG9zaXRpb24pKTtcbiAgICByZXF1ZXN0LmFuaW1hdGUgPyB0aGlzLl9mQ2FudmFzLnJlZHJhd1dpdGhBbmltYXRpb24oKSA6IHRoaXMuX2ZDYW52YXMucmVkcmF3KCk7XG4gICAgdGhpcy5fZkNhbnZhcy5lbWl0Q2FudmFzQ2hhbmdlRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsYW1wKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heCh0aGlzLl9mWm9vbUNvbXBvbmVudC5taW5pbXVtLCBNYXRoLm1pbih2YWx1ZSwgdGhpcy5fZlpvb21Db21wb25lbnQubWF4aW11bSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FzdFBvc2l0aW9uVG9GbG93KHBvc2l0aW9uOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSU1hcDxUID0gc3RyaW5nPiA9IFJlY29yZDxzdHJpbmcsIFQ+O1xuIl19
@@ -1,201 +0,0 @@
1
- import { EFConnectableSide } from '../../../f-connectors';
2
- import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
3
- /**
4
- * AdaptiveCurveBuilder
5
- *
6
- * Builds a smooth **adaptive connector curve** between two points using a cubic Bézier path,
7
- * but with control points computed differently from a classic “Bezier” connector.
8
- *
9
- * Key differences from a classic Bézier builder:
10
- * - Control handles are **aligned with the port side** (LEFT/RIGHT/TOP/BOTTOM),
11
- * yet are **slightly blended toward the target direction** to reduce harsh S-shapes.
12
- * - Handle lengths are **adaptive**: based on the `offset` (your “padding” from ports)
13
- * and the projected distance along the side’s axis. This produces a subtler curvature
14
- * and a distinct look & feel compared to a standard Bézier connector.
15
- *
16
- * Compatibility:
17
- * - Implements {@link IFConnectionBuilder}; output shape is the same:
18
- * SVG path, sampled points for hit-testing, and connection center.
19
- * - Only the four base sides are expected to be passed here:
20
- * {@link EFConnectableSide.LEFT}, {@link EFConnectableSide.RIGHT},
21
- * {@link EFConnectableSide.TOP}, {@link EFConnectableSide.BOTTOM}.
22
- *
23
- * Usage example:
24
- * ```ts
25
- * const builder = new AdaptiveCurveBuilder();
26
- * const res = builder.handle({
27
- * source: { x: 100, y: 120 },
28
- * sourceSide: EFConnectableSide.RIGHT,
29
- * target: { x: 340, y: 220 },
30
- * targetSide: EFConnectableSide.LEFT,
31
- * offset: 16, // acts as padding + minimal handle baseline
32
- * });
33
- * // res.path -> SVG "M … C …" string
34
- * // res.points -> sampled points along the curve
35
- * ```
36
- */
37
- export class AdaptiveCurveBuilder {
38
- /**
39
- * Returns a unit direction vector for a given side.
40
- *
41
- * @param side - One of LEFT/RIGHT/TOP/BOTTOM.
42
- * @returns Unit vector pointing outwards from the side.
43
- * @remarks
44
- * Only base sides should reach this builder. A fallback `{0,0}` is returned
45
- * defensively, but should not occur in normal usage.
46
- */
47
- static _dir(side) {
48
- switch (side) {
49
- case EFConnectableSide.LEFT:
50
- return { x: -1, y: 0 };
51
- case EFConnectableSide.RIGHT:
52
- return { x: 1, y: 0 };
53
- case EFConnectableSide.TOP:
54
- return { x: 0, y: -1 };
55
- case EFConnectableSide.BOTTOM:
56
- return { x: 0, y: 1 };
57
- }
58
- return { x: 0, y: 0 };
59
- }
60
- /**
61
- * Checks whether a side is horizontal (LEFT/RIGHT).
62
- *
63
- * @param side - Side to check.
64
- * @returns `true` for LEFT/RIGHT, otherwise `false`.
65
- */
66
- static _isH(side) {
67
- return side === EFConnectableSide.LEFT || side === EFConnectableSide.RIGHT;
68
- }
69
- /**
70
- * Computes a **soft** handle length for a control point.
71
- *
72
- * The handle length is derived from:
73
- * - `offset` (acts as padding & the baseline handle),
74
- * - distance projected along the side’s axis (dx for horizontal, dy for vertical),
75
- * - a conservative upper bound to avoid bloated curves.
76
- *
77
- * @param p0 - Start (or end) point of the segment.
78
- * @param p3 - Opposite end (or start) point.
79
- * @param side - Side at which the handle originates.
80
- * @param offset - Visual padding/minimal handle baseline (must be ≥ 0).
81
- * @returns A bounded positive handle length.
82
- */
83
- static _handleLen(p0, p3, side, offset) {
84
- const dx = Math.abs(p3.x - p0.x);
85
- const dy = Math.abs(p3.y - p0.y);
86
- const d = Math.hypot(dx, dy);
87
- const along = this._isH(side) ? dx : dy;
88
- const MIN = Math.max(8, offset);
89
- const MAX = offset + 0.5 * d; // upper cap to keep the shape compact
90
- const len = offset * 1.05 + along * 0.3; // moderate growth along the axis
91
- return Math.min(MAX, Math.max(MIN, len));
92
- }
93
- /**
94
- * Computes a control point by taking the side direction and **lightly blending**
95
- * it toward the target direction. This reduces harsh inflections while keeping
96
- * the perceptual attachment to the port side.
97
- *
98
- * @param side - Base side defining the primary direction (LEFT/RIGHT/TOP/BOTTOM).
99
- * @param source - Anchor point where the control handle is attached.
100
- * @param target - Opposite end; used to orient the handle slightly toward the goal.
101
- * @param handle - Handle length (see {@link _handleLen}).
102
- * @returns Control point coordinates for the cubic Bézier segment.
103
- */
104
- static _softControl(side, source, target, handle) {
105
- const v = this._dir(side);
106
- const dx = target.x - source.x;
107
- const dy = target.y - source.y;
108
- const dist = Math.hypot(dx, dy) || 1;
109
- const tx = dx / dist;
110
- const ty = dy / dist;
111
- // Orientation of side vs. target direction (in [-1, 1])
112
- const dot = v.x * tx + v.y * ty;
113
- // Small base blend toward the target; slightly increase if the side points away.
114
- const baseBlend = 0.12;
115
- const extra = Math.max(0, -dot) * 0.08; // add a bit when pointing “backwards”
116
- const blend = Math.min(0.2, baseBlend + extra);
117
- const dirX = v.x * (1 - blend) + tx * blend;
118
- const dirY = v.y * (1 - blend) + ty * blend;
119
- const len = Math.hypot(dirX, dirY) || 1;
120
- return { x: source.x + (dirX / len) * handle, y: source.y + (dirY / len) * handle };
121
- }
122
- /**
123
- * Builds an adaptive connector between `source` and `target`.
124
- *
125
- * @param request - Connection build request.
126
- * @param request.source - Start point of the connector.
127
- * @param request.sourceSide - Side at the source port (LEFT/RIGHT/TOP/BOTTOM).
128
- * @param request.target - End point of the connector.
129
- * @param request.targetSide - Side at the target port (LEFT/RIGHT/TOP/BOTTOM).
130
- * @param request.offset - Visual padding & minimal handle baseline (≥ 0).
131
- *
132
- * @returns Standard {@link IFConnectionBuilderResponse}:
133
- * - `path`: SVG cubic path (“M … C …”),
134
- * - `points`: discretized samples along the curve,
135
- * - `connectionCenter`: approximate visual center for labeling/interaction,
136
- * - `secondPoint`/`penultimatePoint`: first/second control points (for tooling).
137
- *
138
- * @remarks
139
- * The returned path slightly offsets the end point by +0.0002 on both axes
140
- * to avoid edge cases in some renderers and hit-testing implementations.
141
- */
142
- handle(request) {
143
- const { source, sourceSide, target, targetSide } = request;
144
- const offset = Math.max(0, request.offset ?? 0);
145
- const p0 = { x: source.x, y: source.y };
146
- const p3 = { x: target.x, y: target.y };
147
- const h0 = AdaptiveCurveBuilder._handleLen(p0, p3, sourceSide, offset);
148
- const h3 = AdaptiveCurveBuilder._handleLen(p3, p0, targetSide, offset);
149
- const c1 = AdaptiveCurveBuilder._softControl(sourceSide, p0, p3, h0);
150
- const c2 = AdaptiveCurveBuilder._softControl(targetSide, p3, p0, h3);
151
- const path = `M ${p0.x} ${p0.y} C ${c1.x} ${c1.y}, ${c2.x} ${c2.y}, ${p3.x + 0.0002} ${p3.y + 0.0002}`;
152
- const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([p0, c1, c2, p3]));
153
- return {
154
- path,
155
- connectionCenter,
156
- secondPoint: c1,
157
- penultimatePoint: c2,
158
- points: _sampleCubic(p0, c1, c2, p3, 32),
159
- };
160
- }
161
- }
162
- /**
163
- * Evaluates a cubic Bézier at parameter `t` in [0, 1].
164
- *
165
- * @param p0 - Start point.
166
- * @param p1 - First control point.
167
- * @param p2 - Second control point.
168
- * @param p3 - End point.
169
- * @param t - Parameter in [0, 1].
170
- * @returns Point on the curve at `t`.
171
- */
172
- function bez3(p0, p1, p2, p3, t) {
173
- const u = 1 - t, tt = t * t, uu = u * u, uuu = uu * u, ttt = tt * t;
174
- return {
175
- x: uuu * p0.x + 3 * uu * t * p1.x + 3 * u * tt * p2.x + ttt * p3.x,
176
- y: uuu * p0.y + 3 * uu * t * p1.y + 3 * u * tt * p2.y + ttt * p3.y,
177
- };
178
- }
179
- /**
180
- * Uniformly samples a cubic Bézier segment.
181
- *
182
- * @param p0 - Start point.
183
- * @param p1 - First control point.
184
- * @param p2 - Second control point.
185
- * @param p3 - End point.
186
- * @param samples - Number of sub-segments (default: 32). The function returns `samples + 1` points.
187
- * @returns Array of sampled points including both endpoints.
188
- * @remarks
189
- * Sampling is uniform in parameter `t`, not in arc length. This is typically
190
- * sufficient for hit-testing and bounding boxes; if you need error-bounded
191
- * flattening, consider an adaptive subdivision strategy instead.
192
- */
193
- function _sampleCubic(p0, p1, p2, p3, samples = 32) {
194
- const out = new Array(samples + 1);
195
- out[0] = { ...p0 };
196
- for (let i = 1; i <= samples; i++) {
197
- out[i] = bez3(p0, p1, p2, p3, i / samples);
198
- }
199
- return out;
200
- }
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRpdmUtY3VydmUtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vYWRhcHRpdmUtY3VydmUtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLCtCQUErQixDQUFDO0FBT3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7OztPQVFHO0lBQ0ssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUF1QjtRQUN6QyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QixLQUFLLGlCQUFpQixDQUFDLEdBQUc7Z0JBQ3hCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUF1QjtRQUN6QyxPQUFPLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLGlCQUFpQixDQUFDLEtBQUssQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNLLE1BQU0sQ0FBQyxVQUFVLENBQ3ZCLEVBQVUsRUFDVixFQUFVLEVBQ1YsSUFBdUIsRUFDdkIsTUFBYztRQUVkLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztRQUNwRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxpQ0FBaUM7UUFFMUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ssTUFBTSxDQUFDLFlBQVksQ0FDekIsSUFBdUIsRUFDdkIsTUFBYyxFQUNkLE1BQWMsRUFDZCxNQUFjO1FBRWQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFckIsd0RBQXdEO1FBQ3hELE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWhDLGlGQUFpRjtRQUNqRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxzQ0FBc0M7UUFDOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBRS9DLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0ksTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVoRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXhDLE1BQU0sRUFBRSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RSxNQUFNLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFdkUsTUFBTSxFQUFFLEdBQUcsb0JBQW9CLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sRUFBRSxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyRSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFdkcsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUMsTUFBTSxDQUNwRSxJQUFJLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDdkQsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJO1lBQ0osZ0JBQWdCO1lBQ2hCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDekMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsSUFBSSxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxDQUFTO0lBQ3JFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQ2IsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQ1YsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQ1YsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQ1osR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFZixPQUFPO1FBQ0wsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBUyxZQUFZLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLE9BQU8sR0FBRyxFQUFFO0lBQ2hGLE1BQU0sR0FBRyxHQUFhLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO0lBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0LFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQge1xuICBJRkNvbm5lY3Rpb25CdWlsZGVyLFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCxcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbi8qKlxuICogQWRhcHRpdmVDdXJ2ZUJ1aWxkZXJcbiAqXG4gKiBCdWlsZHMgYSBzbW9vdGggKiphZGFwdGl2ZSBjb25uZWN0b3IgY3VydmUqKiBiZXR3ZWVuIHR3byBwb2ludHMgdXNpbmcgYSBjdWJpYyBCw6l6aWVyIHBhdGgsXG4gKiBidXQgd2l0aCBjb250cm9sIHBvaW50cyBjb21wdXRlZCBkaWZmZXJlbnRseSBmcm9tIGEgY2xhc3NpYyDigJxCZXppZXLigJ0gY29ubmVjdG9yLlxuICpcbiAqIEtleSBkaWZmZXJlbmNlcyBmcm9tIGEgY2xhc3NpYyBCw6l6aWVyIGJ1aWxkZXI6XG4gKiAtIENvbnRyb2wgaGFuZGxlcyBhcmUgKiphbGlnbmVkIHdpdGggdGhlIHBvcnQgc2lkZSoqIChMRUZUL1JJR0hUL1RPUC9CT1RUT00pLFxuICogICB5ZXQgYXJlICoqc2xpZ2h0bHkgYmxlbmRlZCB0b3dhcmQgdGhlIHRhcmdldCBkaXJlY3Rpb24qKiB0byByZWR1Y2UgaGFyc2ggUy1zaGFwZXMuXG4gKiAtIEhhbmRsZSBsZW5ndGhzIGFyZSAqKmFkYXB0aXZlKio6IGJhc2VkIG9uIHRoZSBgb2Zmc2V0YCAoeW91ciDigJxwYWRkaW5n4oCdIGZyb20gcG9ydHMpXG4gKiAgIGFuZCB0aGUgcHJvamVjdGVkIGRpc3RhbmNlIGFsb25nIHRoZSBzaWRl4oCZcyBheGlzLiBUaGlzIHByb2R1Y2VzIGEgc3VidGxlciBjdXJ2YXR1cmVcbiAqICAgYW5kIGEgZGlzdGluY3QgbG9vayAmIGZlZWwgY29tcGFyZWQgdG8gYSBzdGFuZGFyZCBCw6l6aWVyIGNvbm5lY3Rvci5cbiAqXG4gKiBDb21wYXRpYmlsaXR5OlxuICogLSBJbXBsZW1lbnRzIHtAbGluayBJRkNvbm5lY3Rpb25CdWlsZGVyfTsgb3V0cHV0IHNoYXBlIGlzIHRoZSBzYW1lOlxuICogICBTVkcgcGF0aCwgc2FtcGxlZCBwb2ludHMgZm9yIGhpdC10ZXN0aW5nLCBhbmQgY29ubmVjdGlvbiBjZW50ZXIuXG4gKiAtIE9ubHkgdGhlIGZvdXIgYmFzZSBzaWRlcyBhcmUgZXhwZWN0ZWQgdG8gYmUgcGFzc2VkIGhlcmU6XG4gKiAgIHtAbGluayBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUfSwge0BsaW5rIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUfSxcbiAqICAge0BsaW5rIEVGQ29ubmVjdGFibGVTaWRlLlRPUH0sIHtAbGluayBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT019LlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiBgYGB0c1xuICogY29uc3QgYnVpbGRlciA9IG5ldyBBZGFwdGl2ZUN1cnZlQnVpbGRlcigpO1xuICogY29uc3QgcmVzID0gYnVpbGRlci5oYW5kbGUoe1xuICogICBzb3VyY2U6IHsgeDogMTAwLCB5OiAxMjAgfSxcbiAqICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUuUklHSFQsXG4gKiAgIHRhcmdldDogeyB4OiAzNDAsIHk6IDIyMCB9LFxuICogICB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZS5MRUZULFxuICogICBvZmZzZXQ6IDE2LCAvLyBhY3RzIGFzIHBhZGRpbmcgKyBtaW5pbWFsIGhhbmRsZSBiYXNlbGluZVxuICogfSk7XG4gKiAvLyByZXMucGF0aCAtPiBTVkcgXCJNIOKApiBDIOKAplwiIHN0cmluZ1xuICogLy8gcmVzLnBvaW50cyAtPiBzYW1wbGVkIHBvaW50cyBhbG9uZyB0aGUgY3VydmVcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQWRhcHRpdmVDdXJ2ZUJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSB1bml0IGRpcmVjdGlvbiB2ZWN0b3IgZm9yIGEgZ2l2ZW4gc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHNpZGUgLSBPbmUgb2YgTEVGVC9SSUdIVC9UT1AvQk9UVE9NLlxuICAgKiBAcmV0dXJucyBVbml0IHZlY3RvciBwb2ludGluZyBvdXR3YXJkcyBmcm9tIHRoZSBzaWRlLlxuICAgKiBAcmVtYXJrc1xuICAgKiBPbmx5IGJhc2Ugc2lkZXMgc2hvdWxkIHJlYWNoIHRoaXMgYnVpbGRlci4gQSBmYWxsYmFjayBgezAsMH1gIGlzIHJldHVybmVkXG4gICAqIGRlZmVuc2l2ZWx5LCBidXQgc2hvdWxkIG5vdCBvY2N1ciBpbiBub3JtYWwgdXNhZ2UuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBfZGlyKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSVBvaW50IHtcbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmV0dXJuIHsgeDogLTEsIHk6IDAgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICAgIHJldHVybiB7IHg6IDEsIHk6IDAgfTtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiAtMSB9O1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiB7IHg6IDAsIHk6IDEgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB4OiAwLCB5OiAwIH07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzaWRlIGlzIGhvcml6b250YWwgKExFRlQvUklHSFQpLlxuICAgKlxuICAgKiBAcGFyYW0gc2lkZSAtIFNpZGUgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIGB0cnVlYCBmb3IgTEVGVC9SSUdIVCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBfaXNIKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQgfHwgc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgYSAqKnNvZnQqKiBoYW5kbGUgbGVuZ3RoIGZvciBhIGNvbnRyb2wgcG9pbnQuXG4gICAqXG4gICAqIFRoZSBoYW5kbGUgbGVuZ3RoIGlzIGRlcml2ZWQgZnJvbTpcbiAgICogLSBgb2Zmc2V0YCAoYWN0cyBhcyBwYWRkaW5nICYgdGhlIGJhc2VsaW5lIGhhbmRsZSksXG4gICAqIC0gZGlzdGFuY2UgcHJvamVjdGVkIGFsb25nIHRoZSBzaWRl4oCZcyBheGlzIChkeCBmb3IgaG9yaXpvbnRhbCwgZHkgZm9yIHZlcnRpY2FsKSxcbiAgICogLSBhIGNvbnNlcnZhdGl2ZSB1cHBlciBib3VuZCB0byBhdm9pZCBibG9hdGVkIGN1cnZlcy5cbiAgICpcbiAgICogQHBhcmFtIHAwIC0gU3RhcnQgKG9yIGVuZCkgcG9pbnQgb2YgdGhlIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwMyAtIE9wcG9zaXRlIGVuZCAob3Igc3RhcnQpIHBvaW50LlxuICAgKiBAcGFyYW0gc2lkZSAtIFNpZGUgYXQgd2hpY2ggdGhlIGhhbmRsZSBvcmlnaW5hdGVzLlxuICAgKiBAcGFyYW0gb2Zmc2V0IC0gVmlzdWFsIHBhZGRpbmcvbWluaW1hbCBoYW5kbGUgYmFzZWxpbmUgKG11c3QgYmUg4omlIDApLlxuICAgKiBAcmV0dXJucyBBIGJvdW5kZWQgcG9zaXRpdmUgaGFuZGxlIGxlbmd0aC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIF9oYW5kbGVMZW4oXG4gICAgcDA6IElQb2ludCxcbiAgICBwMzogSVBvaW50LFxuICAgIHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIG9mZnNldDogbnVtYmVyLFxuICApOiBudW1iZXIge1xuICAgIGNvbnN0IGR4ID0gTWF0aC5hYnMocDMueCAtIHAwLngpO1xuICAgIGNvbnN0IGR5ID0gTWF0aC5hYnMocDMueSAtIHAwLnkpO1xuICAgIGNvbnN0IGQgPSBNYXRoLmh5cG90KGR4LCBkeSk7XG4gICAgY29uc3QgYWxvbmcgPSB0aGlzLl9pc0goc2lkZSkgPyBkeCA6IGR5O1xuXG4gICAgY29uc3QgTUlOID0gTWF0aC5tYXgoOCwgb2Zmc2V0KTtcbiAgICBjb25zdCBNQVggPSBvZmZzZXQgKyAwLjUgKiBkOyAvLyB1cHBlciBjYXAgdG8ga2VlcCB0aGUgc2hhcGUgY29tcGFjdFxuICAgIGNvbnN0IGxlbiA9IG9mZnNldCAqIDEuMDUgKyBhbG9uZyAqIDAuMzsgLy8gbW9kZXJhdGUgZ3Jvd3RoIGFsb25nIHRoZSBheGlzXG5cbiAgICByZXR1cm4gTWF0aC5taW4oTUFYLCBNYXRoLm1heChNSU4sIGxlbikpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIGEgY29udHJvbCBwb2ludCBieSB0YWtpbmcgdGhlIHNpZGUgZGlyZWN0aW9uIGFuZCAqKmxpZ2h0bHkgYmxlbmRpbmcqKlxuICAgKiBpdCB0b3dhcmQgdGhlIHRhcmdldCBkaXJlY3Rpb24uIFRoaXMgcmVkdWNlcyBoYXJzaCBpbmZsZWN0aW9ucyB3aGlsZSBrZWVwaW5nXG4gICAqIHRoZSBwZXJjZXB0dWFsIGF0dGFjaG1lbnQgdG8gdGhlIHBvcnQgc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHNpZGUgLSBCYXNlIHNpZGUgZGVmaW5pbmcgdGhlIHByaW1hcnkgZGlyZWN0aW9uIChMRUZUL1JJR0hUL1RPUC9CT1RUT00pLlxuICAgKiBAcGFyYW0gc291cmNlIC0gQW5jaG9yIHBvaW50IHdoZXJlIHRoZSBjb250cm9sIGhhbmRsZSBpcyBhdHRhY2hlZC5cbiAgICogQHBhcmFtIHRhcmdldCAtIE9wcG9zaXRlIGVuZDsgdXNlZCB0byBvcmllbnQgdGhlIGhhbmRsZSBzbGlnaHRseSB0b3dhcmQgdGhlIGdvYWwuXG4gICAqIEBwYXJhbSBoYW5kbGUgLSBIYW5kbGUgbGVuZ3RoIChzZWUge0BsaW5rIF9oYW5kbGVMZW59KS5cbiAgICogQHJldHVybnMgQ29udHJvbCBwb2ludCBjb29yZGluYXRlcyBmb3IgdGhlIGN1YmljIELDqXppZXIgc2VnbWVudC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIF9zb2Z0Q29udHJvbChcbiAgICBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBzb3VyY2U6IElQb2ludCxcbiAgICB0YXJnZXQ6IElQb2ludCxcbiAgICBoYW5kbGU6IG51bWJlcixcbiAgKTogSVBvaW50IHtcbiAgICBjb25zdCB2ID0gdGhpcy5fZGlyKHNpZGUpO1xuXG4gICAgY29uc3QgZHggPSB0YXJnZXQueCAtIHNvdXJjZS54O1xuICAgIGNvbnN0IGR5ID0gdGFyZ2V0LnkgLSBzb3VyY2UueTtcbiAgICBjb25zdCBkaXN0ID0gTWF0aC5oeXBvdChkeCwgZHkpIHx8IDE7XG4gICAgY29uc3QgdHggPSBkeCAvIGRpc3Q7XG4gICAgY29uc3QgdHkgPSBkeSAvIGRpc3Q7XG5cbiAgICAvLyBPcmllbnRhdGlvbiBvZiBzaWRlIHZzLiB0YXJnZXQgZGlyZWN0aW9uIChpbiBbLTEsIDFdKVxuICAgIGNvbnN0IGRvdCA9IHYueCAqIHR4ICsgdi55ICogdHk7XG5cbiAgICAvLyBTbWFsbCBiYXNlIGJsZW5kIHRvd2FyZCB0aGUgdGFyZ2V0OyBzbGlnaHRseSBpbmNyZWFzZSBpZiB0aGUgc2lkZSBwb2ludHMgYXdheS5cbiAgICBjb25zdCBiYXNlQmxlbmQgPSAwLjEyO1xuICAgIGNvbnN0IGV4dHJhID0gTWF0aC5tYXgoMCwgLWRvdCkgKiAwLjA4OyAvLyBhZGQgYSBiaXQgd2hlbiBwb2ludGluZyDigJxiYWNrd2FyZHPigJ1cbiAgICBjb25zdCBibGVuZCA9IE1hdGgubWluKDAuMiwgYmFzZUJsZW5kICsgZXh0cmEpO1xuXG4gICAgY29uc3QgZGlyWCA9IHYueCAqICgxIC0gYmxlbmQpICsgdHggKiBibGVuZDtcbiAgICBjb25zdCBkaXJZID0gdi55ICogKDEgLSBibGVuZCkgKyB0eSAqIGJsZW5kO1xuICAgIGNvbnN0IGxlbiA9IE1hdGguaHlwb3QoZGlyWCwgZGlyWSkgfHwgMTtcblxuICAgIHJldHVybiB7IHg6IHNvdXJjZS54ICsgKGRpclggLyBsZW4pICogaGFuZGxlLCB5OiBzb3VyY2UueSArIChkaXJZIC8gbGVuKSAqIGhhbmRsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbiBhZGFwdGl2ZSBjb25uZWN0b3IgYmV0d2VlbiBgc291cmNlYCBhbmQgYHRhcmdldGAuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0IC0gQ29ubmVjdGlvbiBidWlsZCByZXF1ZXN0LlxuICAgKiBAcGFyYW0gcmVxdWVzdC5zb3VyY2UgLSBTdGFydCBwb2ludCBvZiB0aGUgY29ubmVjdG9yLlxuICAgKiBAcGFyYW0gcmVxdWVzdC5zb3VyY2VTaWRlIC0gU2lkZSBhdCB0aGUgc291cmNlIHBvcnQgKExFRlQvUklHSFQvVE9QL0JPVFRPTSkuXG4gICAqIEBwYXJhbSByZXF1ZXN0LnRhcmdldCAtIEVuZCBwb2ludCBvZiB0aGUgY29ubmVjdG9yLlxuICAgKiBAcGFyYW0gcmVxdWVzdC50YXJnZXRTaWRlIC0gU2lkZSBhdCB0aGUgdGFyZ2V0IHBvcnQgKExFRlQvUklHSFQvVE9QL0JPVFRPTSkuXG4gICAqIEBwYXJhbSByZXF1ZXN0Lm9mZnNldCAtIFZpc3VhbCBwYWRkaW5nICYgbWluaW1hbCBoYW5kbGUgYmFzZWxpbmUgKOKJpSAwKS5cbiAgICpcbiAgICogQHJldHVybnMgU3RhbmRhcmQge0BsaW5rIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZX06XG4gICAqIC0gYHBhdGhgOiBTVkcgY3ViaWMgcGF0aCAo4oCcTSDigKYgQyDigKbigJ0pLFxuICAgKiAtIGBwb2ludHNgOiBkaXNjcmV0aXplZCBzYW1wbGVzIGFsb25nIHRoZSBjdXJ2ZSxcbiAgICogLSBgY29ubmVjdGlvbkNlbnRlcmA6IGFwcHJveGltYXRlIHZpc3VhbCBjZW50ZXIgZm9yIGxhYmVsaW5nL2ludGVyYWN0aW9uLFxuICAgKiAtIGBzZWNvbmRQb2ludGAvYHBlbnVsdGltYXRlUG9pbnRgOiBmaXJzdC9zZWNvbmQgY29udHJvbCBwb2ludHMgKGZvciB0b29saW5nKS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhlIHJldHVybmVkIHBhdGggc2xpZ2h0bHkgb2Zmc2V0cyB0aGUgZW5kIHBvaW50IGJ5ICswLjAwMDIgb24gYm90aCBheGVzXG4gICAqIHRvIGF2b2lkIGVkZ2UgY2FzZXMgaW4gc29tZSByZW5kZXJlcnMgYW5kIGhpdC10ZXN0aW5nIGltcGxlbWVudGF0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QpOiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3Qgb2Zmc2V0ID0gTWF0aC5tYXgoMCwgcmVxdWVzdC5vZmZzZXQgPz8gMCk7XG5cbiAgICBjb25zdCBwMCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG4gICAgY29uc3QgcDMgPSB7IHg6IHRhcmdldC54LCB5OiB0YXJnZXQueSB9O1xuXG4gICAgY29uc3QgaDAgPSBBZGFwdGl2ZUN1cnZlQnVpbGRlci5faGFuZGxlTGVuKHAwLCBwMywgc291cmNlU2lkZSwgb2Zmc2V0KTtcbiAgICBjb25zdCBoMyA9IEFkYXB0aXZlQ3VydmVCdWlsZGVyLl9oYW5kbGVMZW4ocDMsIHAwLCB0YXJnZXRTaWRlLCBvZmZzZXQpO1xuXG4gICAgY29uc3QgYzEgPSBBZGFwdGl2ZUN1cnZlQnVpbGRlci5fc29mdENvbnRyb2woc291cmNlU2lkZSwgcDAsIHAzLCBoMCk7XG4gICAgY29uc3QgYzIgPSBBZGFwdGl2ZUN1cnZlQnVpbGRlci5fc29mdENvbnRyb2wodGFyZ2V0U2lkZSwgcDMsIHAwLCBoMyk7XG5cbiAgICBjb25zdCBwYXRoID0gYE0gJHtwMC54fSAke3AwLnl9IEMgJHtjMS54fSAke2MxLnl9LCAke2MyLnh9ICR7YzIueX0sICR7cDMueCArIDAuMDAwMn0gJHtwMy55ICsgMC4wMDAyfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQ2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtwMCwgYzEsIGMyLCBwM10pLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGNvbm5lY3Rpb25DZW50ZXIsXG4gICAgICBzZWNvbmRQb2ludDogYzEsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50OiBjMixcbiAgICAgIHBvaW50czogX3NhbXBsZUN1YmljKHAwLCBjMSwgYzIsIHAzLCAzMiksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEV2YWx1YXRlcyBhIGN1YmljIELDqXppZXIgYXQgcGFyYW1ldGVyIGB0YCBpbiBbMCwgMV0uXG4gKlxuICogQHBhcmFtIHAwIC0gU3RhcnQgcG9pbnQuXG4gKiBAcGFyYW0gcDEgLSBGaXJzdCBjb250cm9sIHBvaW50LlxuICogQHBhcmFtIHAyIC0gU2Vjb25kIGNvbnRyb2wgcG9pbnQuXG4gKiBAcGFyYW0gcDMgLSBFbmQgcG9pbnQuXG4gKiBAcGFyYW0gdCAtIFBhcmFtZXRlciBpbiBbMCwgMV0uXG4gKiBAcmV0dXJucyBQb2ludCBvbiB0aGUgY3VydmUgYXQgYHRgLlxuICovXG5mdW5jdGlvbiBiZXozKHAwOiBJUG9pbnQsIHAxOiBJUG9pbnQsIHAyOiBJUG9pbnQsIHAzOiBJUG9pbnQsIHQ6IG51bWJlcik6IElQb2ludCB7XG4gIGNvbnN0IHUgPSAxIC0gdCxcbiAgICB0dCA9IHQgKiB0LFxuICAgIHV1ID0gdSAqIHUsXG4gICAgdXV1ID0gdXUgKiB1LFxuICAgIHR0dCA9IHR0ICogdDtcblxuICByZXR1cm4ge1xuICAgIHg6IHV1dSAqIHAwLnggKyAzICogdXUgKiB0ICogcDEueCArIDMgKiB1ICogdHQgKiBwMi54ICsgdHR0ICogcDMueCxcbiAgICB5OiB1dXUgKiBwMC55ICsgMyAqIHV1ICogdCAqIHAxLnkgKyAzICogdSAqIHR0ICogcDIueSArIHR0dCAqIHAzLnksXG4gIH07XG59XG5cbi8qKlxuICogVW5pZm9ybWx5IHNhbXBsZXMgYSBjdWJpYyBCw6l6aWVyIHNlZ21lbnQuXG4gKlxuICogQHBhcmFtIHAwIC0gU3RhcnQgcG9pbnQuXG4gKiBAcGFyYW0gcDEgLSBGaXJzdCBjb250cm9sIHBvaW50LlxuICogQHBhcmFtIHAyIC0gU2Vjb25kIGNvbnRyb2wgcG9pbnQuXG4gKiBAcGFyYW0gcDMgLSBFbmQgcG9pbnQuXG4gKiBAcGFyYW0gc2FtcGxlcyAtIE51bWJlciBvZiBzdWItc2VnbWVudHMgKGRlZmF1bHQ6IDMyKS4gVGhlIGZ1bmN0aW9uIHJldHVybnMgYHNhbXBsZXMgKyAxYCBwb2ludHMuXG4gKiBAcmV0dXJucyBBcnJheSBvZiBzYW1wbGVkIHBvaW50cyBpbmNsdWRpbmcgYm90aCBlbmRwb2ludHMuXG4gKiBAcmVtYXJrc1xuICogU2FtcGxpbmcgaXMgdW5pZm9ybSBpbiBwYXJhbWV0ZXIgYHRgLCBub3QgaW4gYXJjIGxlbmd0aC4gVGhpcyBpcyB0eXBpY2FsbHlcbiAqIHN1ZmZpY2llbnQgZm9yIGhpdC10ZXN0aW5nIGFuZCBib3VuZGluZyBib3hlczsgaWYgeW91IG5lZWQgZXJyb3ItYm91bmRlZFxuICogZmxhdHRlbmluZywgY29uc2lkZXIgYW4gYWRhcHRpdmUgc3ViZGl2aXNpb24gc3RyYXRlZ3kgaW5zdGVhZC5cbiAqL1xuZnVuY3Rpb24gX3NhbXBsZUN1YmljKHAwOiBJUG9pbnQsIHAxOiBJUG9pbnQsIHAyOiBJUG9pbnQsIHAzOiBJUG9pbnQsIHNhbXBsZXMgPSAzMik6IElQb2ludFtdIHtcbiAgY29uc3Qgb3V0OiBJUG9pbnRbXSA9IG5ldyBBcnJheShzYW1wbGVzICsgMSk7XG4gIG91dFswXSA9IHsgLi4ucDAgfTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPD0gc2FtcGxlczsgaSsrKSB7XG4gICAgb3V0W2ldID0gYmV6MyhwMCwgcDEsIHAyLCBwMywgaSAvIHNhbXBsZXMpO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- export class CalculateCenterBetweenPointsRequest {
2
- source;
3
- target;
4
- static fToken = Symbol('CalculateCenterBetweenPointsRequest');
5
- constructor(source, target) {
6
- this.source = source;
7
- this.target = target;
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBSXJDO0lBQ0E7SUFKVCxNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBRXZFLFlBQ1MsTUFBYyxFQUNkLE1BQWM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogSVBvaW50LFxuICAgIHB1YmxpYyB0YXJnZXQ6IElQb2ludCxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { PointExtensions } from '@foblex/2d';
2
- export class CalculateCenterBetweenPointsHandler {
3
- handle(request) {
4
- const { source, target } = request;
5
- const offsetX = Math.abs(target.x - source.x) / 2;
6
- const centerX = (target.x < source.x) ? target.x + offsetX : target.x - offsetX;
7
- const offsetY = Math.abs(target.y - source.y) / 2;
8
- const centerY = (target.y < source.y) ? target.y + offsetY : target.y - offsetY;
9
- return PointExtensions.initialize(centerX, centerY);
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR3JELE1BQU0sT0FBTyxtQ0FBbUM7SUFHdkMsTUFBTSxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRW5DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUVoRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFFaEYsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzLXJlcXVlc3QnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXJcbiAgICBpbXBsZW1lbnRzIElIYW5kbGVyPENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0LCBJUG9pbnQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0KTogSVBvaW50IHtcbiAgICBjb25zdCB7IHNvdXJjZSwgdGFyZ2V0IH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3Qgb2Zmc2V0WCA9IE1hdGguYWJzKHRhcmdldC54IC0gc291cmNlLngpIC8gMjtcbiAgICBjb25zdCBjZW50ZXJYID0gKHRhcmdldC54IDwgc291cmNlLngpID8gdGFyZ2V0LnggKyBvZmZzZXRYIDogdGFyZ2V0LnggLSBvZmZzZXRYO1xuXG4gICAgY29uc3Qgb2Zmc2V0WSA9IE1hdGguYWJzKHRhcmdldC55IC0gc291cmNlLnkpIC8gMjtcbiAgICBjb25zdCBjZW50ZXJZID0gKHRhcmdldC55IDwgc291cmNlLnkpID8gdGFyZ2V0LnkgKyBvZmZzZXRZIDogdGFyZ2V0LnkgLSBvZmZzZXRZO1xuXG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKGNlbnRlclgsIGNlbnRlclkpO1xuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './calculate-center-between-points.handler';
2
- export * from './calculate-center-between-points-request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdCc7XG4iXX0=
@@ -1,8 +0,0 @@
1
- export class CalculateConnectionCenterRequest {
2
- points;
3
- static fToken = Symbol('CalculateConnectionCenterRequest');
4
- constructor(points) {
5
- this.points = points;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBSWxDO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUVwRSxZQUNTLE1BQWdCO1FBQWhCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb2ludHM6IElQb2ludFtdLFxuICApIHtcbiAgfVxufVxuIl19
@@ -1,35 +0,0 @@
1
- export class CalculateConnectionCenterHandler {
2
- handle(request) {
3
- const { points } = request;
4
- let totalDistance = 0;
5
- const distances = [];
6
- for (let i = 0; i < points.length - 1; i++) {
7
- const distance = this.calculateDistance(points[i], points[i + 1]);
8
- distances.push(distance);
9
- totalDistance += distance;
10
- }
11
- let accumulatedDistance = 0;
12
- let centerIndex = 0;
13
- const halfTotalDistance = totalDistance / 2;
14
- for (let i = 0; i < distances.length; i++) {
15
- accumulatedDistance += distances[i];
16
- if (accumulatedDistance >= halfTotalDistance) {
17
- centerIndex = i;
18
- break;
19
- }
20
- }
21
- const remainingDistanceToCenter = halfTotalDistance - (accumulatedDistance - distances[centerIndex]);
22
- return this.findPointAtDistance(points[centerIndex], points[centerIndex + 1], remainingDistanceToCenter);
23
- }
24
- calculateDistance(pointA, pointB) {
25
- return Math.sqrt(Math.pow(pointB.x - pointA.x, 2) + Math.pow(pointB.y - pointA.y, 2));
26
- }
27
- findPointAtDistance(startPoint, endPoint, distance) {
28
- const totalDistance = this.calculateDistance(startPoint, endPoint);
29
- const ratio = distance / totalDistance;
30
- const x = (1 - ratio) * startPoint.x + ratio * endPoint.x;
31
- const y = (1 - ratio) * startPoint.y + ratio * endPoint.y;
32
- return { x, y };
33
- }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR3BDLE1BQU0sQ0FBQyxPQUF5QztRQUVyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFFL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFDLENBQUM7WUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixhQUFhLElBQUksUUFBUSxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsbUJBQW1CLElBQUksU0FBUyxDQUFFLENBQUMsQ0FBRSxDQUFDO1lBQ3RDLElBQUksbUJBQW1CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0MsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBRXZHLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBRSxXQUFXLENBQUUsRUFBRSxNQUFNLENBQUUsV0FBVyxHQUFHLENBQUMsQ0FBRSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUUxRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlclxuICAgIGltcGxlbWVudHMgSUhhbmRsZXI8Q2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsIElQb2ludD4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QpOiBJUG9pbnQge1xuXG4gICAgY29uc3QgeyBwb2ludHMgfSA9IHJlcXVlc3Q7XG4gICAgbGV0IHRvdGFsRGlzdGFuY2UgPSAwO1xuICAgIGNvbnN0IGRpc3RhbmNlczogbnVtYmVyW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHBvaW50c1sgaSBdLCBwb2ludHNbIGkgKyAxIF0pO1xuICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdGFuY2UpO1xuICAgICAgdG90YWxEaXN0YW5jZSArPSBkaXN0YW5jZTtcbiAgICB9XG5cbiAgICBsZXQgYWNjdW11bGF0ZWREaXN0YW5jZSA9IDA7XG4gICAgbGV0IGNlbnRlckluZGV4ID0gMDtcbiAgICBjb25zdCBoYWxmVG90YWxEaXN0YW5jZSA9IHRvdGFsRGlzdGFuY2UgLyAyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhY2N1bXVsYXRlZERpc3RhbmNlICs9IGRpc3RhbmNlc1sgaSBdO1xuICAgICAgaWYgKGFjY3VtdWxhdGVkRGlzdGFuY2UgPj0gaGFsZlRvdGFsRGlzdGFuY2UpIHtcbiAgICAgICAgY2VudGVySW5kZXggPSBpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5pbmdEaXN0YW5jZVRvQ2VudGVyID0gaGFsZlRvdGFsRGlzdGFuY2UgLSAoYWNjdW11bGF0ZWREaXN0YW5jZSAtIGRpc3RhbmNlc1sgY2VudGVySW5kZXggXSk7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kUG9pbnRBdERpc3RhbmNlKHBvaW50c1sgY2VudGVySW5kZXggXSwgcG9pbnRzWyBjZW50ZXJJbmRleCArIDEgXSwgcmVtYWluaW5nRGlzdGFuY2VUb0NlbnRlcik7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZURpc3RhbmNlKHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhwb2ludEIueCAtIHBvaW50QS54LCAyKSArIE1hdGgucG93KHBvaW50Qi55IC0gcG9pbnRBLnksIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBvaW50QXREaXN0YW5jZShzdGFydFBvaW50OiBJUG9pbnQsIGVuZFBvaW50OiBJUG9pbnQsIGRpc3RhbmNlOiBudW1iZXIpOiBJUG9pbnQge1xuICAgIGNvbnN0IHRvdGFsRGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHN0YXJ0UG9pbnQsIGVuZFBvaW50KTtcbiAgICBjb25zdCByYXRpbyA9IGRpc3RhbmNlIC8gdG90YWxEaXN0YW5jZTtcbiAgICBjb25zdCB4ID0gKDEgLSByYXRpbykgKiBzdGFydFBvaW50LnggKyByYXRpbyAqIGVuZFBvaW50Lng7XG4gICAgY29uc3QgeSA9ICgxIC0gcmF0aW8pICogc3RhcnRQb2ludC55ICsgcmF0aW8gKiBlbmRQb2ludC55O1xuXG4gICAgcmV0dXJuIHsgeCwgeSB9O1xuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './calculate-connection-center.handler';
2
- export * from './calculate-connection-center-request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdCc7XG4iXX0=