@foblex/flow 12.2.4 → 12.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/LICENSE +0 -7
  2. package/README.md +33 -7
  3. package/domain/cast-to-enum.d.ts +1 -0
  4. package/domain/clear-selection/{clear-selection.handler.d.ts → clear-selection.execution.d.ts} +4 -4
  5. package/domain/clear-selection/index.d.ts +1 -1
  6. package/domain/create-connection-markers/{create-connection-markers.handler.d.ts → create-connection-markers.execution.d.ts} +4 -4
  7. package/domain/create-connection-markers/index.d.ts +1 -1
  8. package/domain/get-can-be-selected-items/get-can-be-selected-items-request.d.ts +2 -0
  9. package/{f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.d.ts → domain/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts} +6 -7
  10. package/{f-draggable/selection-area → domain}/get-can-be-selected-items/i-selectable-with-rect.d.ts +1 -1
  11. package/domain/get-can-be-selected-items/index.d.ts +2 -0
  12. package/domain/get-connection-line/get-connection-line.execution.d.ts +13 -0
  13. package/domain/get-connection-line/get-connection-line.request.d.ts +11 -0
  14. package/domain/get-connection-line/index.d.ts +2 -0
  15. package/domain/get-element-rect-in-flow/{get-element-rect-in-flow.handler.d.ts → get-element-rect-in-flow.execution.d.ts} +8 -5
  16. package/domain/get-element-rect-in-flow/index.d.ts +1 -1
  17. package/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.d.ts +3 -3
  18. package/domain/get-input-rect-in-flow/{get-input-rect-in-flow.handler.d.ts → get-input-rect-in-flow.execution.d.ts} +4 -5
  19. package/domain/get-input-rect-in-flow/index.d.ts +1 -1
  20. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +12 -0
  21. package/domain/get-nodes-rect/index.d.ts +1 -1
  22. package/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.d.ts +3 -3
  23. package/domain/get-output-rect-in-flow/{get-output-rect-in-flow.handler.d.ts → get-output-rect-in-flow.execution.d.ts} +4 -5
  24. package/domain/get-output-rect-in-flow/index.d.ts +1 -1
  25. package/domain/get-position-in-flow/{get-position-in-flow.handler.d.ts → get-position-in-flow.execution.d.ts} +5 -4
  26. package/domain/get-position-in-flow/index.d.ts +1 -1
  27. package/domain/get-selection/{get-selection.handler.d.ts → get-selection.execution.d.ts} +4 -4
  28. package/domain/get-selection/index.d.ts +1 -1
  29. package/domain/get-value-from-data-attr.d.ts +1 -0
  30. package/domain/index.d.ts +8 -1
  31. package/domain/intersections/e-f-connector-shape.d.ts +3 -0
  32. package/domain/intersections/f-connector-shape.extensions.d.ts +11 -0
  33. package/domain/intersections/i-connector-shape.d.ts +6 -0
  34. package/domain/intersections/index.d.ts +5 -0
  35. package/domain/intersections/intersection-finder.d.ts +67 -0
  36. package/domain/intersections/rounded-rect/i-rounded-rect.d.ts +8 -0
  37. package/domain/intersections/rounded-rect/index.d.ts +2 -0
  38. package/domain/intersections/rounded-rect/rounded-rect.d.ts +22 -0
  39. package/domain/is-connection-under-node/index.d.ts +1 -0
  40. package/{f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.d.ts → domain/is-connection-under-node/is-connection-under-node.execution.d.ts} +9 -8
  41. package/domain/is-connection-under-node/is-connection-under-node.request.d.ts +2 -0
  42. package/domain/is-element-with-class.d.ts +1 -0
  43. package/domain/providers.d.ts +17 -14
  44. package/domain/redraw-connections/index.d.ts +1 -1
  45. package/domain/redraw-connections/{redraw-connections.handler.d.ts → redraw-connections.execution.d.ts} +5 -6
  46. package/domain/select/index.d.ts +1 -1
  47. package/domain/select/{select.handler.d.ts → select.execution.d.ts} +4 -4
  48. package/domain/select-all/index.d.ts +1 -1
  49. package/domain/select-all/{select-all.handler.d.ts → select-all.execution.d.ts} +4 -4
  50. package/domain/select-and-update-node-layer/index.d.ts +2 -0
  51. package/domain/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +16 -0
  52. package/domain/select-and-update-node-layer/select-and-update-node-layer.request.d.ts +5 -0
  53. package/domain/update-item-layer/index.d.ts +1 -1
  54. package/domain/update-item-layer/update-item-layer.execution.d.ts +8 -0
  55. package/esm2022/domain/cast-to-enum.mjs +12 -0
  56. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +28 -0
  57. package/esm2022/domain/clear-selection/index.mjs +2 -2
  58. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +49 -0
  59. package/esm2022/domain/create-connection-markers/index.mjs +2 -2
  60. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +3 -0
  61. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +57 -0
  62. package/esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +2 -0
  63. package/esm2022/domain/get-can-be-selected-items/index.mjs +3 -0
  64. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +68 -0
  65. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +10 -0
  66. package/esm2022/domain/get-connection-line/index.mjs +3 -0
  67. package/esm2022/domain/get-connection.handler.mjs +5 -5
  68. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +41 -0
  69. package/esm2022/domain/get-element-rect-in-flow/index.mjs +2 -2
  70. package/esm2022/domain/get-incoming-connections.handler.mjs +4 -4
  71. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +1 -1
  72. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +33 -0
  73. package/esm2022/domain/get-input-rect-in-flow/index.mjs +2 -2
  74. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +29 -0
  75. package/esm2022/domain/get-nodes-rect/index.mjs +2 -2
  76. package/esm2022/domain/get-outgoing-connections.handler.mjs +4 -4
  77. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +1 -1
  78. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +37 -0
  79. package/esm2022/domain/get-output-rect-in-flow/index.mjs +2 -2
  80. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +32 -0
  81. package/esm2022/domain/get-position-in-flow/index.mjs +2 -2
  82. package/esm2022/domain/get-selection/get-selection.execution.mjs +35 -0
  83. package/esm2022/domain/get-selection/index.mjs +2 -2
  84. package/esm2022/domain/get-value-from-data-attr.mjs +7 -0
  85. package/esm2022/domain/index.mjs +9 -2
  86. package/esm2022/domain/intersections/e-f-connector-shape.mjs +5 -0
  87. package/esm2022/domain/intersections/f-connector-shape.extensions.mjs +46 -0
  88. package/esm2022/domain/intersections/i-connector-shape.mjs +2 -0
  89. package/esm2022/domain/intersections/index.mjs +6 -0
  90. package/esm2022/domain/intersections/intersection-finder.mjs +156 -0
  91. package/esm2022/domain/intersections/rounded-rect/i-rounded-rect.mjs +2 -0
  92. package/esm2022/domain/intersections/rounded-rect/index.mjs +3 -0
  93. package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +45 -0
  94. package/esm2022/domain/is-connection-under-node/index.mjs +2 -0
  95. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +80 -0
  96. package/esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs +3 -0
  97. package/esm2022/domain/is-element-with-class.mjs +8 -0
  98. package/esm2022/domain/providers.mjs +33 -27
  99. package/esm2022/domain/redraw-connections/index.mjs +2 -2
  100. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +60 -0
  101. package/esm2022/domain/select/index.mjs +2 -2
  102. package/esm2022/domain/select/select.execution.mjs +44 -0
  103. package/esm2022/domain/select-all/index.mjs +2 -2
  104. package/esm2022/domain/select-all/select-all.execution.mjs +38 -0
  105. package/esm2022/domain/select-and-update-node-layer/index.mjs +3 -0
  106. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +37 -0
  107. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.request.mjs +6 -0
  108. package/esm2022/domain/update-item-layer/index.mjs +2 -2
  109. package/esm2022/domain/update-item-layer/update-item-layer.execution.mjs +29 -0
  110. package/esm2022/errors/create-error-class.mjs +1 -2
  111. package/esm2022/f-backgroud/f-background-base.mjs +4 -4
  112. package/esm2022/f-backgroud/f-background.component.mjs +5 -5
  113. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +4 -4
  114. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +4 -4
  115. package/esm2022/f-backgroud/index.mjs +2 -1
  116. package/esm2022/f-backgroud/providers.mjs +9 -0
  117. package/esm2022/f-canvas/f-canvas-base.mjs +8 -6
  118. package/esm2022/f-canvas/f-canvas.component.mjs +5 -5
  119. package/esm2022/f-canvas/f-zoom/f-zoom.directive.mjs +4 -4
  120. package/esm2022/f-canvas/index.mjs +2 -1
  121. package/esm2022/f-canvas/providers.mjs +7 -0
  122. package/esm2022/f-connection/common/f-connection-base.mjs +25 -25
  123. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -4
  124. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +11 -11
  125. package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +1 -1
  126. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +4 -4
  127. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +7 -7
  128. package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +1 -1
  129. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +4 -4
  130. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +4 -4
  131. package/esm2022/f-connection/common/index.mjs +1 -3
  132. package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -12
  133. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +4 -4
  134. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +4 -4
  135. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +12 -11
  136. package/esm2022/f-connection/f-marker/f-marker-base.mjs +4 -4
  137. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +4 -4
  138. package/esm2022/f-connection/index.mjs +2 -1
  139. package/esm2022/f-connection/providers.mjs +18 -0
  140. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +4 -4
  141. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +4 -4
  142. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +4 -4
  143. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +4 -4
  144. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +4 -4
  145. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +4 -4
  146. package/esm2022/f-connectors/index.mjs +2 -1
  147. package/esm2022/f-connectors/providers.mjs +9 -0
  148. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +26 -0
  149. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +6 -0
  150. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +25 -0
  151. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +5 -0
  152. package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +7 -0
  153. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +36 -0
  154. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +6 -0
  155. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +43 -0
  156. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +5 -0
  157. package/esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs +7 -0
  158. package/esm2022/f-draggable/canvas/index.mjs +3 -3
  159. package/esm2022/f-draggable/canvas/providers.mjs +5 -5
  160. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +55 -0
  161. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +6 -0
  162. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +25 -0
  163. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +5 -0
  164. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/providers.mjs +7 -0
  165. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +39 -0
  166. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +8 -0
  167. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +4 -0
  168. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.mjs +5 -0
  169. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +60 -0
  170. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +6 -0
  171. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +4 -0
  172. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.mjs +5 -0
  173. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +46 -0
  174. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +6 -0
  175. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +34 -0
  176. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +5 -0
  177. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.mjs +7 -0
  178. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +43 -0
  179. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +6 -0
  180. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +32 -0
  181. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +8 -0
  182. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/providers.mjs +13 -0
  183. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +11 -9
  184. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +43 -0
  185. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +6 -0
  186. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +27 -0
  187. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +5 -0
  188. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.mjs +7 -0
  189. package/esm2022/f-draggable/connections/create-connection/index.mjs +4 -4
  190. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +72 -0
  191. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +7 -0
  192. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +35 -0
  193. package/esm2022/f-draggable/connections/get-input-under-pointer/index.mjs +5 -0
  194. package/esm2022/f-draggable/connections/get-input-under-pointer/providers.mjs +7 -0
  195. package/esm2022/f-draggable/connections/index.mjs +2 -2
  196. package/esm2022/f-draggable/connections/providers.mjs +10 -11
  197. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +3 -3
  198. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +5 -0
  199. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.mjs +7 -0
  200. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +50 -0
  201. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +6 -0
  202. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +25 -0
  203. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +5 -0
  204. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.mjs +7 -0
  205. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +59 -0
  206. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +6 -0
  207. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +42 -0
  208. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +10 -11
  209. package/esm2022/f-draggable/e-f-draggable-type.mjs +3 -1
  210. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.mjs +55 -0
  211. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.request.mjs +6 -0
  212. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.mjs +25 -0
  213. package/esm2022/f-draggable/external-item/external-item-finalize/index.mjs +5 -0
  214. package/esm2022/f-draggable/external-item/external-item-finalize/providers.mjs +7 -0
  215. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +41 -0
  216. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.request.mjs +6 -0
  217. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.mjs +29 -0
  218. package/esm2022/f-draggable/external-item/external-item-preparation/index.mjs +5 -0
  219. package/esm2022/f-draggable/external-item/external-item-preparation/providers.mjs +7 -0
  220. package/esm2022/f-draggable/external-item/index.mjs +3 -3
  221. package/esm2022/f-draggable/external-item/providers.mjs +5 -5
  222. package/esm2022/f-draggable/f-draggable-base.mjs +6 -7
  223. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -4
  224. package/esm2022/f-draggable/f-draggable.directive.mjs +31 -29
  225. package/esm2022/f-draggable/i-can-run-outside-angular.mjs +2 -0
  226. package/esm2022/f-draggable/index.mjs +4 -1
  227. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +8 -10
  228. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +8 -10
  229. package/esm2022/f-draggable/node/connection.drag-handler.mjs +8 -8
  230. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +92 -0
  231. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +3 -0
  232. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +4 -0
  233. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -0
  234. package/esm2022/f-draggable/node/index.mjs +4 -4
  235. package/esm2022/f-draggable/node/node-move-finalize/index.mjs +5 -0
  236. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +51 -0
  237. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +6 -0
  238. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +25 -0
  239. package/esm2022/f-draggable/node/node-move-finalize/providers.mjs +7 -0
  240. package/esm2022/f-draggable/node/node-move-preparation/index.mjs +5 -0
  241. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +60 -0
  242. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +6 -0
  243. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +41 -0
  244. package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +7 -0
  245. package/esm2022/f-draggable/node/node.drag-handler.mjs +2 -2
  246. package/esm2022/f-draggable/node/providers.mjs +7 -7
  247. package/esm2022/f-draggable/node-resize/index.mjs +5 -0
  248. package/esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs +5 -0
  249. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +26 -0
  250. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +6 -0
  251. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +25 -0
  252. package/esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs +7 -0
  253. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +5 -0
  254. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +52 -0
  255. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +6 -0
  256. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +41 -0
  257. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +7 -0
  258. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +49 -0
  259. package/esm2022/f-draggable/node-resize/providers.mjs +7 -0
  260. package/esm2022/f-draggable/providers.mjs +17 -0
  261. package/esm2022/f-draggable/selection-area/index.mjs +3 -4
  262. package/esm2022/f-draggable/selection-area/providers.mjs +5 -7
  263. package/esm2022/f-draggable/selection-area/selection-area-finalize/index.mjs +5 -0
  264. package/esm2022/f-draggable/selection-area/selection-area-finalize/providers.mjs +7 -0
  265. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.mjs +26 -0
  266. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.mjs +6 -0
  267. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.mjs +25 -0
  268. package/esm2022/f-draggable/selection-area/selection-area-preparation/index.mjs +5 -0
  269. package/esm2022/f-draggable/selection-area/selection-area-preparation/providers.mjs +7 -0
  270. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.mjs +38 -0
  271. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.mjs +6 -0
  272. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
  273. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +5 -5
  274. package/esm2022/f-draggable/single-select/index.mjs +4 -2
  275. package/esm2022/f-draggable/single-select/providers.mjs +5 -3
  276. package/esm2022/f-draggable/single-select/single-select.execution.mjs +80 -0
  277. package/esm2022/f-draggable/single-select/single-select.request.mjs +6 -0
  278. package/esm2022/f-draggable/single-select/single-select.validator.mjs +24 -0
  279. package/esm2022/f-external-item/f-external-item-base.mjs +4 -4
  280. package/esm2022/f-external-item/f-external-item.directive.mjs +4 -4
  281. package/esm2022/f-external-item/f-external-item.service.mjs +4 -4
  282. package/esm2022/f-external-item/index.mjs +2 -1
  283. package/esm2022/f-external-item/providers.mjs +5 -0
  284. package/esm2022/f-flow/f-flow.component.mjs +9 -19
  285. package/esm2022/f-flow/index.mjs +2 -1
  286. package/esm2022/f-flow/providers.mjs +5 -0
  287. package/esm2022/f-flow.module.mjs +58 -107
  288. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +14 -13
  289. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +4 -4
  290. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -12
  291. package/esm2022/f-line-alignment/index.mjs +2 -1
  292. package/esm2022/f-line-alignment/providers.mjs +5 -0
  293. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +8 -26
  294. package/esm2022/f-node/f-drag-handle/index.mjs +1 -2
  295. package/esm2022/f-node/f-node-base.mjs +8 -4
  296. package/esm2022/f-node/f-node.directive.mjs +24 -7
  297. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +8 -0
  298. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +55 -0
  299. package/esm2022/f-node/f-resize-handle/index.mjs +3 -0
  300. package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +27 -0
  301. package/esm2022/f-node/f-rotate-handle/index.mjs +2 -0
  302. package/esm2022/f-node/index.mjs +4 -1
  303. package/esm2022/f-node/providers.mjs +10 -0
  304. package/esm2022/f-selection-area/f-selection-area-base.mjs +4 -4
  305. package/esm2022/f-selection-area/f-selection-area.component.mjs +4 -4
  306. package/esm2022/f-selection-area/index.mjs +2 -1
  307. package/esm2022/f-selection-area/providers.mjs +5 -0
  308. package/esm2022/f-storage/f-components-store.mjs +4 -5
  309. package/esm2022/infrastructure/f-mediator/f-execution-register.mjs +7 -0
  310. package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +29 -0
  311. package/esm2022/infrastructure/f-mediator/f-validator-register.mjs +7 -0
  312. package/esm2022/infrastructure/f-mediator/index.mjs +4 -0
  313. package/esm2022/infrastructure/index.mjs +3 -0
  314. package/esm2022/infrastructure/pipeline/i-execution.mjs +2 -0
  315. package/esm2022/infrastructure/pipeline/i-validator.mjs +2 -0
  316. package/esm2022/infrastructure/pipeline/index.mjs +4 -0
  317. package/esm2022/infrastructure/pipeline/pipeline.mjs +19 -0
  318. package/esm2022/public-api.mjs +2 -3
  319. package/f-backgroud/index.d.ts +1 -0
  320. package/f-backgroud/providers.d.ts +4 -0
  321. package/f-canvas/f-canvas-base.d.ts +1 -0
  322. package/f-canvas/f-canvas.component.d.ts +1 -1
  323. package/f-canvas/index.d.ts +1 -0
  324. package/f-canvas/providers.d.ts +3 -0
  325. package/f-connection/common/f-connection-base.d.ts +8 -6
  326. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +2 -2
  327. package/f-connection/common/f-connection-text/i-connection-text.d.ts +2 -2
  328. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +2 -2
  329. package/f-connection/common/f-gradient/i-connection-gradient.d.ts +2 -2
  330. package/f-connection/common/index.d.ts +0 -2
  331. package/f-connection/index.d.ts +1 -0
  332. package/f-connection/providers.d.ts +6 -0
  333. package/f-connectors/index.d.ts +1 -0
  334. package/f-connectors/providers.d.ts +4 -0
  335. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +11 -0
  336. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.d.ts +5 -0
  337. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.d.ts +11 -0
  338. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +4 -0
  339. package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +3 -0
  340. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +14 -0
  341. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.d.ts +5 -0
  342. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +17 -0
  343. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +4 -0
  344. package/f-draggable/canvas/canvas-move-preparation/providers.d.ts +3 -0
  345. package/f-draggable/canvas/index.d.ts +2 -2
  346. package/f-draggable/canvas/providers.d.ts +1 -3
  347. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +21 -0
  348. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.d.ts +5 -0
  349. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.d.ts +11 -0
  350. package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +4 -0
  351. package/f-draggable/connections/create-connection/create-connection-finalize/providers.d.ts +3 -0
  352. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +16 -0
  353. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +8 -0
  354. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +3 -0
  355. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.d.ts +2 -0
  356. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +15 -0
  357. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +5 -0
  358. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +3 -0
  359. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.d.ts +2 -0
  360. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +15 -0
  361. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +5 -0
  362. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +14 -0
  363. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +4 -0
  364. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.d.ts +3 -0
  365. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +16 -0
  366. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +5 -0
  367. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.d.ts +15 -0
  368. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +7 -0
  369. package/f-draggable/connections/create-connection/create-connection-preparation/providers.d.ts +3 -0
  370. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +1 -1
  371. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +16 -0
  372. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +5 -0
  373. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +12 -0
  374. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +4 -0
  375. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.d.ts +3 -0
  376. package/f-draggable/connections/create-connection/index.d.ts +3 -3
  377. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +22 -0
  378. package/f-draggable/connections/{find-inputs-under-pointer/find-inputs-under-pointer.request.d.ts → get-input-under-pointer/get-input-under-pointer.request.d.ts} +1 -1
  379. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.d.ts +13 -0
  380. package/f-draggable/connections/get-input-under-pointer/index.d.ts +4 -0
  381. package/f-draggable/connections/get-input-under-pointer/providers.d.ts +3 -0
  382. package/f-draggable/connections/index.d.ts +1 -1
  383. package/f-draggable/connections/providers.d.ts +1 -4
  384. package/f-draggable/connections/reassign-connection/index.d.ts +2 -2
  385. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +4 -0
  386. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.d.ts +3 -0
  387. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +19 -0
  388. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.d.ts +5 -0
  389. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.d.ts +11 -0
  390. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +4 -0
  391. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.d.ts +3 -0
  392. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +21 -0
  393. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +5 -0
  394. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +18 -0
  395. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +1 -1
  396. package/f-draggable/e-f-draggable-type.d.ts +2 -0
  397. package/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.d.ts +21 -0
  398. package/f-draggable/external-item/external-item-finalize/external-item-finalize.request.d.ts +5 -0
  399. package/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.d.ts +11 -0
  400. package/f-draggable/external-item/external-item-finalize/index.d.ts +4 -0
  401. package/f-draggable/external-item/external-item-finalize/providers.d.ts +3 -0
  402. package/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.d.ts +17 -0
  403. package/f-draggable/external-item/external-item-preparation/external-item-preparation.request.d.ts +5 -0
  404. package/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.d.ts +12 -0
  405. package/f-draggable/external-item/external-item-preparation/index.d.ts +4 -0
  406. package/f-draggable/external-item/external-item-preparation/providers.d.ts +3 -0
  407. package/f-draggable/external-item/index.d.ts +2 -2
  408. package/f-draggable/external-item/providers.d.ts +1 -3
  409. package/f-draggable/f-draggable-base.d.ts +2 -3
  410. package/f-draggable/f-draggable.directive.d.ts +3 -4
  411. package/f-draggable/i-can-run-outside-angular.d.ts +3 -0
  412. package/f-draggable/index.d.ts +3 -0
  413. package/f-draggable/node/connection-source.drag-handler.d.ts +1 -1
  414. package/f-draggable/node/connection-target.drag-handler.d.ts +1 -1
  415. package/f-draggable/node/connection.drag-handler.d.ts +2 -2
  416. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +27 -0
  417. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts +2 -0
  418. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +3 -0
  419. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +2 -0
  420. package/f-draggable/node/index.d.ts +3 -3
  421. package/f-draggable/node/node-move-finalize/index.d.ts +4 -0
  422. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +17 -0
  423. package/f-draggable/node/node-move-finalize/node-move-finalize.request.d.ts +5 -0
  424. package/f-draggable/node/node-move-finalize/node-move-finalize.validator.d.ts +11 -0
  425. package/f-draggable/node/node-move-finalize/providers.d.ts +3 -0
  426. package/f-draggable/node/node-move-preparation/index.d.ts +4 -0
  427. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +21 -0
  428. package/f-draggable/node/node-move-preparation/node-move-preparation.request.d.ts +5 -0
  429. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +17 -0
  430. package/f-draggable/node/node-move-preparation/providers.d.ts +3 -0
  431. package/f-draggable/node/providers.d.ts +1 -4
  432. package/f-draggable/node-resize/index.d.ts +4 -0
  433. package/f-draggable/node-resize/node-resize-finalize/index.d.ts +4 -0
  434. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +11 -0
  435. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.d.ts +5 -0
  436. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.d.ts +11 -0
  437. package/f-draggable/node-resize/node-resize-finalize/providers.d.ts +3 -0
  438. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +4 -0
  439. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +18 -0
  440. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.d.ts +5 -0
  441. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +17 -0
  442. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +3 -0
  443. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +19 -0
  444. package/f-draggable/node-resize/providers.d.ts +1 -0
  445. package/f-draggable/providers.d.ts +1 -0
  446. package/f-draggable/selection-area/index.d.ts +2 -3
  447. package/f-draggable/selection-area/providers.d.ts +1 -4
  448. package/f-draggable/selection-area/selection-area-finalize/index.d.ts +4 -0
  449. package/f-draggable/selection-area/selection-area-finalize/providers.d.ts +3 -0
  450. package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.d.ts +11 -0
  451. package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.d.ts +5 -0
  452. package/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.d.ts +11 -0
  453. package/f-draggable/selection-area/selection-area-preparation/index.d.ts +4 -0
  454. package/f-draggable/selection-area/selection-area-preparation/providers.d.ts +3 -0
  455. package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.d.ts +15 -0
  456. package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.d.ts +5 -0
  457. package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.d.ts +12 -0
  458. package/f-draggable/selection-area/selection-area.drag-handle.d.ts +3 -3
  459. package/f-draggable/single-select/index.d.ts +3 -1
  460. package/f-draggable/single-select/providers.d.ts +3 -2
  461. package/f-draggable/single-select/{single-select.on-pointer-down.d.ts → single-select.execution.d.ts} +7 -7
  462. package/f-draggable/single-select/single-select.request.d.ts +5 -0
  463. package/f-draggable/single-select/single-select.validator.d.ts +11 -0
  464. package/f-external-item/index.d.ts +1 -0
  465. package/f-external-item/providers.d.ts +2 -0
  466. package/f-flow/f-flow.component.d.ts +1 -1
  467. package/f-flow/index.d.ts +1 -0
  468. package/f-flow/providers.d.ts +2 -0
  469. package/f-flow.module.d.ts +26 -26
  470. package/f-line-alignment/domain/nearest-coordinate.d.ts +3 -1
  471. package/f-line-alignment/f-line-alignment.component.d.ts +3 -2
  472. package/f-line-alignment/index.d.ts +1 -0
  473. package/f-line-alignment/providers.d.ts +2 -0
  474. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +4 -9
  475. package/f-node/f-drag-handle/index.d.ts +0 -1
  476. package/f-node/f-node-base.d.ts +6 -2
  477. package/f-node/f-node.directive.d.ts +6 -2
  478. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -0
  479. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +19 -0
  480. package/f-node/f-resize-handle/index.d.ts +2 -0
  481. package/f-node/f-rotate-handle/f-rotate-handle.directive.d.ts +9 -0
  482. package/f-node/f-rotate-handle/index.d.ts +1 -0
  483. package/f-node/index.d.ts +3 -0
  484. package/f-node/providers.d.ts +4 -0
  485. package/f-selection-area/index.d.ts +1 -0
  486. package/f-selection-area/providers.d.ts +2 -0
  487. package/f-storage/f-components-store.d.ts +0 -2
  488. package/fesm2022/foblex-flow.mjs +4287 -3174
  489. package/fesm2022/foblex-flow.mjs.map +1 -1
  490. package/infrastructure/f-mediator/f-execution-register.d.ts +5 -0
  491. package/{f-mediator → infrastructure/f-mediator}/f-flow-mediator.d.ts +3 -3
  492. package/infrastructure/f-mediator/f-validator-register.d.ts +5 -0
  493. package/infrastructure/f-mediator/index.d.ts +3 -0
  494. package/infrastructure/index.d.ts +2 -0
  495. package/infrastructure/pipeline/i-execution.d.ts +3 -0
  496. package/infrastructure/pipeline/i-validator.d.ts +3 -0
  497. package/infrastructure/pipeline/index.d.ts +3 -0
  498. package/infrastructure/pipeline/pipeline.d.ts +11 -0
  499. package/package.json +2 -2
  500. package/public-api.d.ts +1 -2
  501. package/domain/get-connection-vector/get-connection-vector.handler.d.ts +0 -12
  502. package/domain/get-connection-vector/get-connection-vector.request.d.ts +0 -11
  503. package/domain/get-connection-vector/index.d.ts +0 -2
  504. package/domain/get-nodes-rect/get-nodes-rect.handler.d.ts +0 -11
  505. package/domain/update-item-layer/update-item-layer.handler.d.ts +0 -8
  506. package/esm2022/domain/clear-selection/clear-selection.handler.mjs +0 -28
  507. package/esm2022/domain/create-connection-markers/create-connection-markers.handler.mjs +0 -49
  508. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +0 -79
  509. package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +0 -10
  510. package/esm2022/domain/get-connection-vector/index.mjs +0 -3
  511. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +0 -34
  512. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.mjs +0 -34
  513. package/esm2022/domain/get-nodes-rect/get-nodes-rect.handler.mjs +0 -30
  514. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +0 -37
  515. package/esm2022/domain/get-position-in-flow/get-position-in-flow.handler.mjs +0 -32
  516. package/esm2022/domain/get-selection/get-selection.handler.mjs +0 -35
  517. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +0 -60
  518. package/esm2022/domain/select/select.handler.mjs +0 -44
  519. package/esm2022/domain/select-all/select-all.handler.mjs +0 -38
  520. package/esm2022/domain/update-item-layer/update-item-layer.handler.mjs +0 -29
  521. package/esm2022/f-connection/common/cast-to-connection-behavior.mjs +0 -9
  522. package/esm2022/f-connection/common/cast-to-connection-type.mjs +0 -9
  523. package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +0 -23
  524. package/esm2022/f-draggable/canvas/canvas.prepare-drag-sequence.mjs +0 -37
  525. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +0 -48
  526. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +0 -85
  527. package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +0 -34
  528. package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.mjs +0 -2
  529. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +0 -54
  530. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.request.mjs +0 -7
  531. package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +0 -34
  532. package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.mjs +0 -2
  533. package/esm2022/f-draggable/connections/find-inputs-under-pointer/index.mjs +0 -4
  534. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +0 -36
  535. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +0 -53
  536. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +0 -45
  537. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +0 -44
  538. package/esm2022/f-draggable/node/domain/is-connection-under-node/index.mjs +0 -2
  539. package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +0 -73
  540. package/esm2022/f-draggable/node/node.on-pointer-up.mjs +0 -41
  541. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +0 -101
  542. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +0 -55
  543. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -2
  544. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/index.mjs +0 -3
  545. package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +0 -23
  546. package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +0 -32
  547. package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +0 -75
  548. package/esm2022/f-group/f-group-base.mjs +0 -6
  549. package/esm2022/f-group/f-group.directive.mjs +0 -110
  550. package/esm2022/f-group/index.mjs +0 -4
  551. package/esm2022/f-group/is-group.mjs +0 -4
  552. package/esm2022/f-mediator/f-flow-mediator.mjs +0 -24
  553. package/esm2022/f-mediator/f-handler-register.mjs +0 -7
  554. package/esm2022/f-mediator/index.mjs +0 -3
  555. package/esm2022/f-node/f-drag-handle/is-drag-handle.mjs +0 -20
  556. package/f-connection/common/cast-to-connection-behavior.d.ts +0 -2
  557. package/f-connection/common/cast-to-connection-type.d.ts +0 -2
  558. package/f-draggable/canvas/canvas.on-pointer-up.d.ts +0 -10
  559. package/f-draggable/canvas/canvas.prepare-drag-sequence.d.ts +0 -13
  560. package/f-draggable/connections/create-connection/create-connection.on-pointer-up.d.ts +0 -16
  561. package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +0 -20
  562. package/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +0 -13
  563. package/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/index.d.ts +0 -1
  564. package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +0 -18
  565. package/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.d.ts +0 -13
  566. package/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/index.d.ts +0 -1
  567. package/f-draggable/connections/find-inputs-under-pointer/index.d.ts +0 -3
  568. package/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.d.ts +0 -15
  569. package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +0 -18
  570. package/f-draggable/external-item/external-item.on-pointer-up.d.ts +0 -16
  571. package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +0 -16
  572. package/f-draggable/node/domain/is-connection-under-node/index.d.ts +0 -1
  573. package/f-draggable/node/node.on-pointer-up.d.ts +0 -15
  574. package/f-draggable/node/node.prepare-drag-sequence.d.ts +0 -22
  575. package/f-draggable/selection-area/get-can-be-selected-items/index.d.ts +0 -2
  576. package/f-draggable/selection-area/selection-area.on-pointer-up.d.ts +0 -10
  577. package/f-draggable/selection-area/selection-area.prepare-drag-sequence.d.ts +0 -15
  578. package/f-group/f-group-base.d.ts +0 -6
  579. package/f-group/f-group.directive.d.ts +0 -31
  580. package/f-group/index.d.ts +0 -3
  581. package/f-group/is-group.d.ts +0 -1
  582. package/f-mediator/f-handler-register.d.ts +0 -5
  583. package/f-mediator/index.d.ts +0 -2
  584. package/f-node/f-drag-handle/is-drag-handle.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- export * from './get-input-rect-in-flow.handler';
1
+ export * from './get-input-rect-in-flow.execution';
2
2
  export * from './get-input-rect-in-flow-request';
3
3
  export * from './get-input-rect-in-flow-response';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93LmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbnB1dC1yZWN0LWluLWZsb3ctcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWlucHV0LXJlY3QtaW4tZmxvdy1yZXNwb25zZSc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWlucHV0LXJlY3QtaW4tZmxvdy1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93LXJlc3BvbnNlJztcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { __decorate } from "tslib";
2
+ import { RectExtensions } from '@foblex/core';
3
+ import { GetNodesRectRequest } from './get-nodes-rect.request';
4
+ import { Injectable } from '@angular/core';
5
+ import { FExecutionRegister } from '../../infrastructure';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-storage";
8
+ let GetNodesRectExecution = class GetNodesRectExecution {
9
+ constructor(fComponentsStore) {
10
+ this.fComponentsStore = fComponentsStore;
11
+ }
12
+ handle(request) {
13
+ const fNodes = this.fComponentsStore.fNodes;
14
+ const rects = fNodes.map((x) => {
15
+ return RectExtensions.fromElement(x.hostElement);
16
+ });
17
+ return RectExtensions.union(rects);
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetNodesRectExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetNodesRectExecution }); }
21
+ };
22
+ GetNodesRectExecution = __decorate([
23
+ FExecutionRegister(GetNodesRectRequest)
24
+ ], GetNodesRectExecution);
25
+ export { GetNodesRectExecution };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetNodesRectExecution, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vZGVzLXJlY3QvZ2V0LW5vZGVzLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7OztBQUkvRCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUVoQyxZQUNVLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTVDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBNEI7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQWJVLHFCQUFxQjttSEFBckIscUJBQXFCOztBQUFyQixxQkFBcUI7SUFEakMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7R0FDM0IscUJBQXFCLENBY2pDOzs0RkFkWSxxQkFBcUI7a0JBRmpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9kZXNSZWN0UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vZGVzLXJlY3QucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb2Rlc1JlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVzUmVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9kZXNSZWN0UmVxdWVzdCwgSVJlY3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb2Rlc1JlY3RSZXF1ZXN0KTogSVJlY3Qge1xuICAgIGNvbnN0IGZOb2RlcyA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXM7XG4gICAgY29uc3QgcmVjdHMgPSBmTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLnVuaW9uKHJlY3RzKTtcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './get-nodes-rect.handler';
1
+ export * from './get-nodes-rect.execution';
2
2
  export * from './get-nodes-rect.request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtbm9kZXMtcmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcy1yZWN0LmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcy1yZWN0LnJlcXVlc3QnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtbm9kZXMtcmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcy1yZWN0LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGVzLXJlY3QucmVxdWVzdCc7XG4iXX0=
@@ -14,10 +14,10 @@ export class GetOutgoingConnectionsHandler {
14
14
  return outputsIds.includes(x.fOutputId);
15
15
  });
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GetOutgoingConnectionsHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GetOutgoingConnectionsHandler }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetOutgoingConnectionsHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetOutgoingConnectionsHandler }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GetOutgoingConnectionsHandler, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetOutgoingConnectionsHandler, decorators: [{
21
21
  type: Injectable
22
22
  }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dGdvaW5nLWNvbm5lY3Rpb25zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxJQUFZLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBeUI7UUFDckMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQyxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBRSxDQUFDO0lBQ04sQ0FBQzs4R0FoQlUsNkJBQTZCO2tIQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHZXRPdXRnb2luZ0Nvbm5lY3Rpb25zSGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEZDb25uZWN0b3JCYXNlW10sIEZDb25uZWN0aW9uQmFzZVtdPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZkNvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUob3V0cHV0czogRkNvbm5lY3RvckJhc2VbXSk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCBvdXRwdXRzSWRzID0gb3V0cHV0cy5tYXAoKHgpID0+IHguaWQpO1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiBvdXRwdXRzSWRzLmluY2x1ZGVzKHguZk91dHB1dElkKTtcbiAgICB9KSE7XG4gIH1cbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dGdvaW5nLWNvbm5lY3Rpb25zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxJQUFZLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBeUI7UUFDckMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQyxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBRSxDQUFDO0lBQ04sQ0FBQzsrR0FoQlUsNkJBQTZCO21IQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHZXRPdXRnb2luZ0Nvbm5lY3Rpb25zSGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEZDb25uZWN0b3JCYXNlW10sIEZDb25uZWN0aW9uQmFzZVtdPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZkNvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUob3V0cHV0czogRkNvbm5lY3RvckJhc2VbXSk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCBvdXRwdXRzSWRzID0gb3V0cHV0cy5tYXAoKHgpID0+IHguaWQpO1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiBvdXRwdXRzSWRzLmluY2x1ZGVzKHguZk91dHB1dElkKTtcbiAgICB9KSE7XG4gIH1cbn1cbiJdfQ==
@@ -4,4 +4,4 @@ export class GetOutputRectInFlowResponse {
4
4
  this.fConnectableSide = fConnectableSide;
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQ1csSUFBVyxFQUNYLGdCQUFtQztRQURuQyxTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1gscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtJQUU5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyByZWN0OiBJUmVjdCxcbiAgICAgIHB1YmxpYyBmQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZVxuICApIHtcbiAgfVxufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQ1csSUFBa0IsRUFDbEIsZ0JBQW1DO1FBRG5DLFNBQUksR0FBSixJQUFJLENBQWM7UUFDbEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtJQUU5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICcuLi9pbnRlcnNlY3Rpb25zJztcblxuZXhwb3J0IGNsYXNzIEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHJlY3Q6IElSb3VuZGVkUmVjdCxcbiAgICAgIHB1YmxpYyBmQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZVxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,37 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '../../infrastructure';
4
+ import { GetOutputRectInFlowRequest } from './get-output-rect-in-flow-request';
5
+ import { GetOutputRectInFlowResponse } from './get-output-rect-in-flow-response';
6
+ import { OutputNotFound } from '../../errors';
7
+ import { GetElementRectInFlowRequest } from '../get-element-rect-in-flow';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../f-storage";
10
+ import * as i2 from "../../infrastructure";
11
+ let GetOutputRectInFlowExecution = class GetOutputRectInFlowExecution {
12
+ constructor(fComponentsStore, fMediator) {
13
+ this.fComponentsStore = fComponentsStore;
14
+ this.fMediator = fMediator;
15
+ }
16
+ handle(request) {
17
+ let output = this.fComponentsStore.fOutputs.find((x) => x.id === request.fOutputId);
18
+ if (!output) {
19
+ output = this.fComponentsStore.fOutlets.find((x) => x.id === request.fOutputId);
20
+ }
21
+ if (!output) {
22
+ throw OutputNotFound(request.fOutputId);
23
+ }
24
+ const result = this.fMediator.send(new GetElementRectInFlowRequest(output.hostElement));
25
+ return new GetOutputRectInFlowResponse(result, output.fConnectableSide);
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetOutputRectInFlowExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetOutputRectInFlowExecution }); }
29
+ };
30
+ GetOutputRectInFlowExecution = __decorate([
31
+ FExecutionRegister(GetOutputRectInFlowRequest)
32
+ ], GetOutputRectInFlowExecution);
33
+ export { GetOutputRectInFlowExecution };
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetOutputRectInFlowExecution, decorators: [{
35
+ type: Injectable
36
+ }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FFlowMediator }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cvZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBS25FLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBRXZDLFlBQ1ksZ0JBQWtDLEVBQ2xDLFNBQXdCO1FBRHhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUVwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW1DO1FBRS9DLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFlLElBQUksMkJBQTJCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEcsT0FBTyxJQUFJLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxRSxDQUFDOytHQXRCVSw0QkFBNEI7bUhBQTVCLDRCQUE0Qjs7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDO0dBQ2xDLDRCQUE0QixDQXVCeEM7OzRGQXZCWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZGbG93TWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBHZXRPdXRwdXRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZSB9IGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVzcG9uc2UnO1xuaW1wb3J0IHsgT3V0cHV0Tm90Rm91bmQgfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWVsZW1lbnQtcmVjdC1pbi1mbG93JztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJy4uL2ludGVyc2VjdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE91dHB1dFJlY3RJbkZsb3dSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE91dHB1dFJlY3RJbkZsb3dFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE91dHB1dFJlY3RJbkZsb3dSZXF1ZXN0LCBHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2U+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QpOiBHZXRPdXRwdXRSZWN0SW5GbG93UmVzcG9uc2Uge1xuXG4gICAgbGV0IG91dHB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSByZXF1ZXN0LmZPdXRwdXRJZCk7XG5cbiAgICBpZiAoIW91dHB1dCkge1xuICAgICAgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRsZXRzLmZpbmQoKHgpID0+IHguaWQgPT09IHJlcXVlc3QuZk91dHB1dElkKTtcbiAgICB9XG5cbiAgICBpZiAoIW91dHB1dCkge1xuICAgICAgdGhyb3cgT3V0cHV0Tm90Rm91bmQocmVxdWVzdC5mT3V0cHV0SWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJvdW5kZWRSZWN0PihuZXcgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KG91dHB1dC5ob3N0RWxlbWVudCkpO1xuICAgIHJldHVybiBuZXcgR2V0T3V0cHV0UmVjdEluRmxvd1Jlc3BvbnNlKHJlc3VsdCwgb3V0cHV0LmZDb25uZWN0YWJsZVNpZGUpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- export * from './get-output-rect-in-flow.handler';
1
+ export * from './get-output-rect-in-flow.execution';
2
2
  export * from './get-output-rect-in-flow-request';
3
3
  export * from './get-output-rect-in-flow-response';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3ctcmVzcG9uc2UnO1xuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdy1yZXNwb25zZSc7XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { __decorate } from "tslib";
2
+ import { Point } from '@foblex/core';
3
+ import { Injectable } from '@angular/core';
4
+ import { GetPositionInFlowRequest } from './get-position-in-flow-request';
5
+ import { FExecutionRegister } from '../../infrastructure';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-storage";
8
+ let GetPositionInFlowExecution = class GetPositionInFlowExecution {
9
+ get transform() {
10
+ return this.fComponentsStore.transform;
11
+ }
12
+ get flowHost() {
13
+ return this.fComponentsStore.flowHost;
14
+ }
15
+ constructor(fComponentsStore) {
16
+ this.fComponentsStore = fComponentsStore;
17
+ }
18
+ handle(request) {
19
+ return Point.fromPoint(request.position).elementTransform(this.flowHost)
20
+ .sub(this.transform.scaledPosition).sub(this.transform.position).div(this.transform.scale);
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetPositionInFlowExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetPositionInFlowExecution }); }
24
+ };
25
+ GetPositionInFlowExecution = __decorate([
26
+ FExecutionRegister(GetPositionInFlowRequest)
27
+ ], GetPositionInFlowExecution);
28
+ export { GetPositionInFlowExecution };
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetPositionInFlowExecution, decorators: [{
30
+ type: Injectable
31
+ }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvc2l0aW9uLWluLWZsb3cuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LXBvc2l0aW9uLWluLWZsb3cvZ2V0LXBvc2l0aW9uLWluLWZsb3cuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQXFDLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHNCQUFzQixDQUFDOzs7QUFJL0QsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFFckMsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFDVSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUNyRSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRixDQUFDOytHQWxCVSwwQkFBMEI7bUhBQTFCLDBCQUEwQjs7QUFBMUIsMEJBQTBCO0lBRHRDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDO0dBQ2hDLDBCQUEwQixDQW1CdEM7OzRGQW5CWSwwQkFBMEI7a0JBRnRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldFBvc2l0aW9uSW5GbG93UmVxdWVzdCB9IGZyb20gJy4vZ2V0LXBvc2l0aW9uLWluLWZsb3ctcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRQb3NpdGlvbkluRmxvd1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0UG9zaXRpb25JbkZsb3dFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldFBvc2l0aW9uSW5GbG93UmVxdWVzdCwgSVBvaW50PiB7XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldFBvc2l0aW9uSW5GbG93UmVxdWVzdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LnBvc2l0aW9uKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZmxvd0hvc3QpXG4gICAgICAuc3ViKHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKS5zdWIodGhpcy50cmFuc2Zvcm0ucG9zaXRpb24pLmRpdih0aGlzLnRyYW5zZm9ybS5zY2FsZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './get-position-in-flow.handler';
1
+ export * from './get-position-in-flow.execution';
2
2
  export * from './get-position-in-flow-request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtcG9zaXRpb24taW4tZmxvdy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93LmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93LXJlcXVlc3QnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtcG9zaXRpb24taW4tZmxvdy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBvc2l0aW9uLWluLWZsb3ctcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { GetSelectionRequest } from './get-selection.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '../../infrastructure';
5
+ import { FSelectionChangeEvent } from '../../f-draggable';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-draggable";
8
+ let GetSelectionExecution = class GetSelectionExecution {
9
+ constructor(fDraggableDataContext) {
10
+ this.fDraggableDataContext = fDraggableDataContext;
11
+ }
12
+ handle() {
13
+ let selectedNodes = [];
14
+ let selectedConnections = [];
15
+ this.fDraggableDataContext.selectedItems.forEach((x) => {
16
+ if (x.hostElement.classList.contains('f-node')) {
17
+ selectedNodes.push(x.hostElement.dataset['fNodeId']);
18
+ }
19
+ else {
20
+ selectedConnections.push(x.hostElement.id);
21
+ }
22
+ });
23
+ return new FSelectionChangeEvent(selectedNodes, selectedConnections);
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetSelectionExecution, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetSelectionExecution }); }
27
+ };
28
+ GetSelectionExecution = __decorate([
29
+ FExecutionRegister(GetSelectionRequest)
30
+ ], GetSelectionExecution);
31
+ export { GetSelectionExecution };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GetSelectionExecution, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtc2VsZWN0aW9uL2dldC1zZWxlY3Rpb24uZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBeUIscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSTFFLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBRWhDLFlBQ1UscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFdEQsQ0FBQztJQUVNLE1BQU07UUFFWCxJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUM7UUFDakMsSUFBSSxtQkFBbUIsR0FBYSxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUE7WUFDdkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RSxDQUFDOytHQXJCVSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7QUFBckIscUJBQXFCO0lBRGpDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDO0dBQzNCLHFCQUFxQixDQXNCakM7OzRGQXRCWSxxQkFBcUI7a0JBRmpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRTZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0LCBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0U2VsZWN0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRTZWxlY3Rpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldFNlbGVjdGlvblJlcXVlc3QsIEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZSgpOiBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQge1xuXG4gICAgbGV0IHNlbGVjdGVkTm9kZXM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IHNlbGVjdGVkQ29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIGlmICh4Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1ub2RlJykpIHtcbiAgICAgICAgc2VsZWN0ZWROb2Rlcy5wdXNoKHguaG9zdEVsZW1lbnQuZGF0YXNldFsnZk5vZGVJZCddISlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdGVkQ29ubmVjdGlvbnMucHVzaCh4Lmhvc3RFbGVtZW50LmlkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgRlNlbGVjdGlvbkNoYW5nZUV2ZW50KHNlbGVjdGVkTm9kZXMsIHNlbGVjdGVkQ29ubmVjdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './get-selection.handler';
1
+ export * from './get-selection.execution';
2
2
  export * from './get-selection.request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LXNlbGVjdGlvbi5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2VsZWN0aW9uLnJlcXVlc3QnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtc2VsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LXNlbGVjdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1zZWxlY3Rpb24ucmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export function getValueFromDataAttr(element, attr, cls) {
2
+ return getClosestTarget(element, cls).dataset[attr];
3
+ }
4
+ function getClosestTarget(element, cls) {
5
+ return element.closest(cls);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxPQUFvQixFQUFFLElBQVksRUFBRSxHQUFXO0lBQ3JGLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQU0sQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFpQyxFQUFFLEdBQVc7SUFDdEUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBZ0IsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlRnJvbURhdGFBdHRyPFQ+KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBhdHRyOiBzdHJpbmcsIGNsczogc3RyaW5nKTogVCB7XG4gIHJldHVybiBnZXRDbG9zZXN0VGFyZ2V0KGVsZW1lbnQsIGNscykuZGF0YXNldFthdHRyXSBhcyBUO1xufVxuXG5mdW5jdGlvbiBnZXRDbG9zZXN0VGFyZ2V0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgY2xzOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50LmNsb3Nlc3QoY2xzKSBhcyBIVE1MRWxlbWVudDtcbn1cbiJdfQ==
@@ -1,18 +1,25 @@
1
1
  export * from './clear-selection';
2
2
  export * from './create-connection-markers';
3
- export * from './get-connection-vector';
3
+ export * from './get-can-be-selected-items';
4
+ export * from './get-connection-line';
4
5
  export * from './get-element-rect-in-flow';
5
6
  export * from './get-input-rect-in-flow';
6
7
  export * from './get-nodes-rect';
7
8
  export * from './get-output-rect-in-flow';
8
9
  export * from './get-position-in-flow';
9
10
  export * from './get-selection';
11
+ export * from './is-connection-under-node';
10
12
  export * from './redraw-connections';
11
13
  export * from './select';
12
14
  export * from './select-all';
15
+ export * from './select-and-update-node-layer';
16
+ export * from './intersections';
13
17
  export * from './update-item-layer';
18
+ export * from './cast-to-enum';
14
19
  export * from './get-connection.handler';
15
20
  export * from './get-incoming-connections.handler';
16
21
  export * from './get-outgoing-connections.handler';
22
+ export * from './get-value-from-data-attr';
23
+ export * from './is-element-with-class';
17
24
  export * from './providers';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMscUJBQXFCLENBQUM7QUFJcEMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsZWFyLXNlbGVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24tbWFya2Vycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNvbm5lY3Rpb24tdmVjdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbnB1dC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcy1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBvc2l0aW9uLWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlZHJhdy1jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYWxsJztcblxuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtaXRlbS1sYXllcic7XG5cblxuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jb25uZWN0aW9uLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbmNvbWluZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdGlvbi1saW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbnB1dC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcy1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0cHV0LXJlY3QtaW4tZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBvc2l0aW9uLWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVkcmF3LWNvbm5lY3Rpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hbGwnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyc2VjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1pdGVtLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYXN0LXRvLWVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jb25uZWN0aW9uLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1pbmNvbWluZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtb3V0Z29pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXZhbHVlLWZyb20tZGF0YS1hdHRyJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1lbGVtZW50LXdpdGgtY2xhc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export var EFConnectorShape;
2
+ (function (EFConnectorShape) {
3
+ EFConnectorShape["ROUNDED_RECT"] = "ROUNDED_RECT";
4
+ })(EFConnectorShape || (EFConnectorShape = {}));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3Rvci1zaGFwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvZS1mLWNvbm5lY3Rvci1zaGFwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBRTFCLGlEQUE2QixDQUFBO0FBQy9CLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRUZDb25uZWN0b3JTaGFwZSB7XG5cbiAgUk9VTkRFRF9SRUNUID0gJ1JPVU5ERURfUkVDVCcsXG59XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Arc, Line } from '@foblex/core';
2
+ import { EFConnectorShape } from './e-f-connector-shape';
3
+ export class FConnectorShapeExtensions {
4
+ static getSegments(shape) {
5
+ let result = [];
6
+ switch (shape.type) {
7
+ case EFConnectorShape.ROUNDED_RECT:
8
+ result = this.parseRect(shape);
9
+ break;
10
+ default:
11
+ throw new Error(`Unknown connector shape type: ${shape.type}`);
12
+ }
13
+ return result;
14
+ }
15
+ /**
16
+ * Parses the rounded rectangle into its constituent segments (arcs and lines).
17
+ * @param rect - The rounded rectangle to parse.
18
+ * @returns An array of arcs and lines representing the rectangle.
19
+ */
20
+ static parseRect(rect) {
21
+ const degree90 = Math.PI * 0.5;
22
+ const x0 = rect.x;
23
+ const y0 = rect.y;
24
+ const x1 = rect.x + rect.width;
25
+ const y1 = rect.y + rect.height;
26
+ const topLeftX = rect.x + rect.radius1;
27
+ const topLeftY = rect.y + rect.radius1;
28
+ const topRightX = rect.x + rect.width - rect.radius2;
29
+ const topRightY = rect.y + rect.radius2;
30
+ const bottomRightX = rect.x + rect.width - rect.radius3;
31
+ const bottomRightY = rect.y + rect.height - rect.radius3;
32
+ const bottomLeftX = rect.x + rect.radius4;
33
+ const bottomLeftY = rect.y + rect.height - rect.radius4;
34
+ return [
35
+ new Arc({ x: topLeftX, y: topLeftY }, rect.radius1, rect.radius1, 2 * degree90, 3 * degree90),
36
+ new Line({ x: topLeftX, y: y0 }, { x: topRightX, y: y0 }),
37
+ new Arc({ x: topRightX, y: topRightY }, rect.radius2, rect.radius2, 3 * degree90, 4 * degree90),
38
+ new Line({ x: x1, y: topRightY }, { x: x1, y: bottomRightY }),
39
+ new Arc({ x: bottomRightX, y: bottomRightY }, rect.radius3, rect.radius3, 0, degree90),
40
+ new Line({ x: bottomRightX, y: y1 }, { x: bottomLeftX, y: y1 }),
41
+ new Arc({ x: bottomLeftX, y: bottomLeftY }, rect.radius4, rect.radius4, degree90, 2 * degree90),
42
+ new Line({ x: x0, y: bottomLeftY }, { x: x0, y: topLeftY }),
43
+ ];
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxNQUFNLE9BQU8seUJBQXlCO0lBRTdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBc0I7UUFDOUMsSUFBSSxNQUFNLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixLQUFLLGdCQUFnQixDQUFDLFlBQVk7Z0JBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQXFCLENBQUMsQ0FBQztnQkFDL0MsTUFBTTtZQUNSO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWtDLEtBQUssQ0FBQyxJQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBa0I7UUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFFL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFaEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRXhELE9BQU87WUFDTCxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDN0YsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3pELElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUMvRixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDN0QsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQztZQUN0RixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDL0QsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDL0YsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO1NBQzVELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29ubmVjdG9yU2hhcGUgfSBmcm9tICcuL2ktY29ubmVjdG9yLXNoYXBlJztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJy4vcm91bmRlZC1yZWN0JztcbmltcG9ydCB7IEFyYywgTGluZSB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RvclNoYXBlIH0gZnJvbSAnLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcblxuZXhwb3J0IGNsYXNzIEZDb25uZWN0b3JTaGFwZUV4dGVuc2lvbnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0U2VnbWVudHMoc2hhcGU6IElDb25uZWN0b3JTaGFwZSk6IChBcmMgfCBMaW5lKVtdIHtcbiAgICBsZXQgcmVzdWx0OiAoQXJjIHwgTGluZSlbXSA9IFtdO1xuICAgIHN3aXRjaCAoc2hhcGUudHlwZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3RvclNoYXBlLlJPVU5ERURfUkVDVDpcbiAgICAgICAgcmVzdWx0ID0gdGhpcy5wYXJzZVJlY3Qoc2hhcGUgYXMgSVJvdW5kZWRSZWN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29ubmVjdG9yIHNoYXBlIHR5cGU6ICR7IHNoYXBlLnR5cGUgfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyB0aGUgcm91bmRlZCByZWN0YW5nbGUgaW50byBpdHMgY29uc3RpdHVlbnQgc2VnbWVudHMgKGFyY3MgYW5kIGxpbmVzKS5cbiAgICogQHBhcmFtIHJlY3QgLSBUaGUgcm91bmRlZCByZWN0YW5nbGUgdG8gcGFyc2UuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFyY3MgYW5kIGxpbmVzIHJlcHJlc2VudGluZyB0aGUgcmVjdGFuZ2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcGFyc2VSZWN0KHJlY3Q6IElSb3VuZGVkUmVjdCk6IChBcmMgfCBMaW5lKVtdIHtcbiAgICBjb25zdCBkZWdyZWU5MCA9IE1hdGguUEkgKiAwLjU7XG5cbiAgICBjb25zdCB4MCA9IHJlY3QueDtcbiAgICBjb25zdCB5MCA9IHJlY3QueTtcbiAgICBjb25zdCB4MSA9IHJlY3QueCArIHJlY3Qud2lkdGg7XG4gICAgY29uc3QgeTEgPSByZWN0LnkgKyByZWN0LmhlaWdodDtcblxuICAgIGNvbnN0IHRvcExlZnRYID0gcmVjdC54ICsgcmVjdC5yYWRpdXMxO1xuICAgIGNvbnN0IHRvcExlZnRZID0gcmVjdC55ICsgcmVjdC5yYWRpdXMxO1xuICAgIGNvbnN0IHRvcFJpZ2h0WCA9IHJlY3QueCArIHJlY3Qud2lkdGggLSByZWN0LnJhZGl1czI7XG4gICAgY29uc3QgdG9wUmlnaHRZID0gcmVjdC55ICsgcmVjdC5yYWRpdXMyO1xuICAgIGNvbnN0IGJvdHRvbVJpZ2h0WCA9IHJlY3QueCArIHJlY3Qud2lkdGggLSByZWN0LnJhZGl1czM7XG4gICAgY29uc3QgYm90dG9tUmlnaHRZID0gcmVjdC55ICsgcmVjdC5oZWlnaHQgLSByZWN0LnJhZGl1czM7XG4gICAgY29uc3QgYm90dG9tTGVmdFggPSByZWN0LnggKyByZWN0LnJhZGl1czQ7XG4gICAgY29uc3QgYm90dG9tTGVmdFkgPSByZWN0LnkgKyByZWN0LmhlaWdodCAtIHJlY3QucmFkaXVzNDtcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgQXJjKHsgeDogdG9wTGVmdFgsIHk6IHRvcExlZnRZIH0sIHJlY3QucmFkaXVzMSwgcmVjdC5yYWRpdXMxLCAyICogZGVncmVlOTAsIDMgKiBkZWdyZWU5MCksXG4gICAgICBuZXcgTGluZSh7IHg6IHRvcExlZnRYLCB5OiB5MCB9LCB7IHg6IHRvcFJpZ2h0WCwgeTogeTAgfSksXG4gICAgICBuZXcgQXJjKHsgeDogdG9wUmlnaHRYLCB5OiB0b3BSaWdodFkgfSwgcmVjdC5yYWRpdXMyLCByZWN0LnJhZGl1czIsIDMgKiBkZWdyZWU5MCwgNCAqIGRlZ3JlZTkwKSxcbiAgICAgIG5ldyBMaW5lKHsgeDogeDEsIHk6IHRvcFJpZ2h0WSB9LCB7IHg6IHgxLCB5OiBib3R0b21SaWdodFkgfSksXG4gICAgICBuZXcgQXJjKHsgeDogYm90dG9tUmlnaHRYLCB5OiBib3R0b21SaWdodFkgfSwgcmVjdC5yYWRpdXMzLCByZWN0LnJhZGl1czMsIDAsIGRlZ3JlZTkwKSxcbiAgICAgIG5ldyBMaW5lKHsgeDogYm90dG9tUmlnaHRYLCB5OiB5MSB9LCB7IHg6IGJvdHRvbUxlZnRYLCB5OiB5MSB9KSxcbiAgICAgIG5ldyBBcmMoeyB4OiBib3R0b21MZWZ0WCwgeTogYm90dG9tTGVmdFkgfSwgcmVjdC5yYWRpdXM0LCByZWN0LnJhZGl1czQsIGRlZ3JlZTkwLCAyICogZGVncmVlOTApLFxuICAgICAgbmV3IExpbmUoeyB4OiB4MCwgeTogYm90dG9tTGVmdFkgfSwgeyB4OiB4MCwgeTogdG9wTGVmdFkgfSksXG4gICAgXTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jb25uZWN0b3Itc2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbnRlcnNlY3Rpb25zL2ktY29ubmVjdG9yLXNoYXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFRkNvbm5lY3RvclNoYXBlIH0gZnJvbSAnLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbm5lY3RvclNoYXBlIHtcblxuICB0eXBlOiBFRkNvbm5lY3RvclNoYXBlO1xuXG4gIGdyYXZpdHlDZW50ZXI6IElQb2ludDtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './rounded-rect';
2
+ export * from './e-f-connector-shape';
3
+ export * from './f-connector-shape.extensions';
4
+ export * from './i-connector-shape';
5
+ export * from './intersection-finder';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbnRlcnNlY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91bmRlZC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3Rvci1zaGFwZS5leHRlbnNpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWNvbm5lY3Rvci1zaGFwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJzZWN0aW9uLWZpbmRlcic7XG4iXX0=
@@ -0,0 +1,156 @@
1
+ import { Arc, Line, PointExtensions, VectorExtensions } from '@foblex/core';
2
+ import { FConnectorShapeExtensions } from './f-connector-shape.extensions';
3
+ /**
4
+ * The IntersectionFinder class is designed to find intersection points between
5
+ * line segments and various geometric shapes. Currently, it supports rectangles,
6
+ * circles, and ellipses. In the future, support for additional shapes will be added.
7
+ */
8
+ export class IntersectionFinder {
9
+ /**
10
+ * Finds the guaranteed intersection points between a line segment and a rounded rectangle.
11
+ * @param from - Starting point of the line segment.
12
+ * @param to - Ending point of the line segment.
13
+ * @param shape - The shape to check for intersections.
14
+ * @returns An array of intersection points.
15
+ */
16
+ static getIntersections(from, to, shape) {
17
+ const segments = FConnectorShapeExtensions.getSegments(shape);
18
+ for (const segment of segments) {
19
+ if (segment instanceof Arc) {
20
+ const intersections = this.intersectArcWithLine(segment, from, to);
21
+ if (intersections.length > 0) {
22
+ return intersections;
23
+ }
24
+ }
25
+ else if (segment instanceof Line) {
26
+ const intersection = this.intersectLineSegments(from, to, segment.point1, segment.point2);
27
+ if (intersection) {
28
+ return [intersection];
29
+ }
30
+ }
31
+ }
32
+ return [];
33
+ }
34
+ /**
35
+ * Finds the intersection points between an arc and a line segment.
36
+ * @param arc - The arc to check for intersections.
37
+ * @param from - Starting point of the line segment.
38
+ * @param to - Ending point of the line segment.
39
+ * @returns An array of intersection points.
40
+ */
41
+ static intersectArcWithLine(arc, from, to) {
42
+ return this.filterPointsWithinArc(this.findEllipseLineIntersections(arc.center, arc.radiusX, arc.radiusY, from, to), arc);
43
+ }
44
+ /**
45
+ * Finds the intersection point between two line segments.
46
+ * @param p1 - Starting point of the first line segment.
47
+ * @param p2 - Ending point of the first line segment.
48
+ * @param p3 - Starting point of the second line segment.
49
+ * @param p4 - Ending point of the second line segment.
50
+ * @returns The intersection point or null if there is no intersection.
51
+ */
52
+ static intersectLineSegments(p1, p2, p3, p4) {
53
+ const s1_x = p2.x - p1.x;
54
+ const s1_y = p2.y - p1.y;
55
+ const s2_x = p4.x - p3.x;
56
+ const s2_y = p4.y - p3.y;
57
+ const s = (-s1_y * (p1.x - p3.x) + s1_x * (p1.y - p3.y)) / (-s2_x * s1_y + s1_x * s2_y);
58
+ const t = (s2_x * (p1.y - p3.y) - s2_y * (p1.x - p3.x)) / (-s2_x * s1_y + s1_x * s2_y);
59
+ if (s >= 0 && s <= 1 && t >= 0 && t <= 1) {
60
+ return { x: p1.x + (t * s1_x), y: p1.y + (t * s1_y) };
61
+ }
62
+ return null;
63
+ }
64
+ /**
65
+ * Filters intersection points to retain only those within the given arc.
66
+ * @param points - The points to filter.
67
+ * @param arc - The arc to check against.
68
+ * @returns An array of points within the arc.
69
+ */
70
+ static filterPointsWithinArc(points, arc) {
71
+ let { center, startAngle, endAngle } = arc;
72
+ if (points.length === 0) {
73
+ return points;
74
+ }
75
+ if (endAngle < startAngle) {
76
+ [startAngle, endAngle] = [endAngle, startAngle];
77
+ }
78
+ if (startAngle < 0 || endAngle < 0) {
79
+ startAngle += 2.0 * Math.PI;
80
+ endAngle += 2.0 * Math.PI;
81
+ }
82
+ const filteredPoints = [];
83
+ for (const point of points) {
84
+ let angle = this.normalizeAngle(VectorExtensions.angle(VectorExtensions.initialize(1, 0), VectorExtensions.initialize(point.x - center.x, point.y - center.y)));
85
+ if (angle < startAngle) {
86
+ angle += 2.0 * Math.PI;
87
+ }
88
+ if (startAngle <= angle && angle <= endAngle) {
89
+ filteredPoints.push(point);
90
+ }
91
+ }
92
+ return filteredPoints;
93
+ }
94
+ /**
95
+ * Normalizes an angle to be within the range 0 to 2π.
96
+ * @param radians - The angle in radians.
97
+ * @returns The normalized angle.
98
+ */
99
+ static normalizeAngle(radians) {
100
+ const normal = radians % (2.0 * Math.PI);
101
+ return normal < 0.0 ? (normal + (2.0 * Math.PI)) : normal;
102
+ }
103
+ /**
104
+ * Finds the intersection points between an ellipse and a line segment.
105
+ * @param center - Center of the ellipse.
106
+ * @param radiusX - X radius of the ellipse.
107
+ * @param radiusY - Y radius of the ellipse.
108
+ * @param pointA - Starting point of the line segment.
109
+ * @param pointB - Ending point of the line segment.
110
+ * @returns An array of intersection points.
111
+ */
112
+ static findEllipseLineIntersections(center, radiusX, radiusY, pointA, pointB) {
113
+ const origin = VectorExtensions.initialize(pointA.x, pointA.y);
114
+ const direction = VectorExtensions.fromPoints(pointA, pointB);
115
+ const ellipseCenter = VectorExtensions.initialize(center.x, center.y);
116
+ const diff = VectorExtensions.subtract(origin, ellipseCenter);
117
+ const scaledDir = VectorExtensions.initialize(direction.x / (radiusX * radiusX), direction.y / (radiusY * radiusY));
118
+ const scaledDiff = VectorExtensions.initialize(diff.x / (radiusX * radiusX), diff.y / (radiusY * radiusY));
119
+ const a = VectorExtensions.dotProduct(direction, scaledDir);
120
+ const b = VectorExtensions.dotProduct(direction, scaledDiff);
121
+ const c = VectorExtensions.dotProduct(diff, scaledDiff) - 1.0;
122
+ const discriminant = b * b - a * c;
123
+ return discriminant < 0 ? [] : this.calculateIntersectionPoints(discriminant, a, b, pointA, pointB);
124
+ }
125
+ /**
126
+ * Calculates the intersection points based on the discriminant.
127
+ * @param discriminant - The discriminant value.
128
+ * @param a - Coefficient 'a' in the quadratic equation.
129
+ * @param b - Coefficient 'b' in the quadratic equation.
130
+ * @param pointA - Starting point of the line segment.
131
+ * @param pointB - Ending point of the line segment.
132
+ * @returns An array of intersection points.
133
+ */
134
+ static calculateIntersectionPoints(discriminant, a, b, pointA, pointB) {
135
+ const points = [];
136
+ if (discriminant > 0) {
137
+ const root = Math.sqrt(discriminant);
138
+ const t1 = (-b - root) / a;
139
+ const t2 = (-b + root) / a;
140
+ if (t1 >= 0 && t1 <= 1) {
141
+ points.push(PointExtensions.interpolatePoints(pointA, pointB, t1));
142
+ }
143
+ if (t2 >= 0 && t2 <= 1) {
144
+ points.push(PointExtensions.interpolatePoints(pointA, pointB, t2));
145
+ }
146
+ }
147
+ else {
148
+ const t = -b / a;
149
+ if (t >= 0 && t <= 1) {
150
+ points.push(PointExtensions.interpolatePoints(pointA, pointB, t));
151
+ }
152
+ }
153
+ return points;
154
+ }
155
+ }
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLWZpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvaW50ZXJzZWN0aW9uLWZpbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFnQixJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzdFLE1BQU0sUUFBUSxHQUFtQix5QkFBeUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUUsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLE9BQU8sWUFBWSxHQUFHLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25FLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsT0FBTyxhQUFhLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksT0FBTyxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUYsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFFLFlBQVks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QUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmMsIElBcmMsIElQb2ludCwgTGluZSwgUG9pbnRFeHRlbnNpb25zLCBWZWN0b3JFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElDb25uZWN0b3JTaGFwZSB9IGZyb20gJy4vaS1jb25uZWN0b3Itc2hhcGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucyB9IGZyb20gJy4vZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogVGhlIEludGVyc2VjdGlvbkZpbmRlciBjbGFzcyBpcyBkZXNpZ25lZCB0byBmaW5kIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlblxuICogbGluZSBzZWdtZW50cyBhbmQgdmFyaW91cyBnZW9tZXRyaWMgc2hhcGVzLiBDdXJyZW50bHksIGl0IHN1cHBvcnRzIHJlY3RhbmdsZXMsXG4gKiBjaXJjbGVzLCBhbmQgZWxsaXBzZXMuIEluIHRoZSBmdXR1cmUsIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgc2hhcGVzIHdpbGwgYmUgYWRkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcnNlY3Rpb25GaW5kZXIge1xuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZ3VhcmFudGVlZCBpbnRlcnNlY3Rpb24gcG9pbnRzIGJldHdlZW4gYSBsaW5lIHNlZ21lbnQgYW5kIGEgcm91bmRlZCByZWN0YW5nbGUuXG4gICAqIEBwYXJhbSBmcm9tIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHRvIC0gRW5kaW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBzaGFwZSAtIFRoZSBzaGFwZSB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW50ZXJzZWN0aW9ucyhmcm9tOiBJUG9pbnQsIHRvOiBJUG9pbnQsIHNoYXBlOiBJQ29ubmVjdG9yU2hhcGUpOiBJUG9pbnRbXSB7XG4gICAgY29uc3Qgc2VnbWVudHM6IChBcmMgfCBMaW5lKVtdID0gRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucy5nZXRTZWdtZW50cyhzaGFwZSk7XG5cbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2Ygc2VnbWVudHMpIHtcbiAgICAgIGlmIChzZWdtZW50IGluc3RhbmNlb2YgQXJjKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbnMgPSB0aGlzLmludGVyc2VjdEFyY1dpdGhMaW5lKHNlZ21lbnQsIGZyb20sIHRvKTtcbiAgICAgICAgaWYgKGludGVyc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBpbnRlcnNlY3Rpb25zO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNlZ21lbnQgaW5zdGFuY2VvZiBMaW5lKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbiA9IHRoaXMuaW50ZXJzZWN0TGluZVNlZ21lbnRzKGZyb20sIHRvLCBzZWdtZW50LnBvaW50MSwgc2VnbWVudC5wb2ludDIpO1xuICAgICAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIFsgaW50ZXJzZWN0aW9uIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlbiBhbiBhcmMgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gYXJjIC0gVGhlIGFyYyB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHBhcmFtIGZyb20gLSBTdGFydGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gdG8gLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdEFyY1dpdGhMaW5lKGFyYzogSUFyYywgZnJvbTogSVBvaW50LCB0bzogSVBvaW50KTogSVBvaW50W10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvaW50c1dpdGhpbkFyYyhcbiAgICAgIHRoaXMuZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhhcmMuY2VudGVyLCBhcmMucmFkaXVzWCwgYXJjLnJhZGl1c1ksIGZyb20sIHRvKSxcbiAgICAgIGFyY1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludCBiZXR3ZWVuIHR3byBsaW5lIHNlZ21lbnRzLlxuICAgKiBAcGFyYW0gcDEgLSBTdGFydGluZyBwb2ludCBvZiB0aGUgZmlyc3QgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gcDIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGZpcnN0IGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHAzIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIHNlY29uZCBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwNCAtIEVuZGluZyBwb2ludCBvZiB0aGUgc2Vjb25kIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgVGhlIGludGVyc2VjdGlvbiBwb2ludCBvciBudWxsIGlmIHRoZXJlIGlzIG5vIGludGVyc2VjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdExpbmVTZWdtZW50cyhwMTogSVBvaW50LCBwMjogSVBvaW50LCBwMzogSVBvaW50LCBwNDogSVBvaW50KTogSVBvaW50IHwgbnVsbCB7XG4gICAgY29uc3QgczFfeCA9IHAyLnggLSBwMS54O1xuICAgIGNvbnN0IHMxX3kgPSBwMi55IC0gcDEueTtcbiAgICBjb25zdCBzMl94ID0gcDQueCAtIHAzLng7XG4gICAgY29uc3QgczJfeSA9IHA0LnkgLSBwMy55O1xuXG4gICAgY29uc3QgcyA9ICgtczFfeSAqIChwMS54IC0gcDMueCkgKyBzMV94ICogKHAxLnkgLSBwMy55KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuICAgIGNvbnN0IHQgPSAoczJfeCAqIChwMS55IC0gcDMueSkgLSBzMl95ICogKHAxLnggLSBwMy54KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuXG4gICAgaWYgKHMgPj0gMCAmJiBzIDw9IDEgJiYgdCA+PSAwICYmIHQgPD0gMSkge1xuICAgICAgcmV0dXJuIHsgeDogcDEueCArICh0ICogczFfeCksIHk6IHAxLnkgKyAodCAqIHMxX3kpIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBpbnRlcnNlY3Rpb24gcG9pbnRzIHRvIHJldGFpbiBvbmx5IHRob3NlIHdpdGhpbiB0aGUgZ2l2ZW4gYXJjLlxuICAgKiBAcGFyYW0gcG9pbnRzIC0gVGhlIHBvaW50cyB0byBmaWx0ZXIuXG4gICAqIEBwYXJhbSBhcmMgLSBUaGUgYXJjIHRvIGNoZWNrIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBvaW50cyB3aXRoaW4gdGhlIGFyYy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGZpbHRlclBvaW50c1dpdGhpbkFyYyhwb2ludHM6IElQb2ludFtdLCBhcmM6IElBcmMpOiBJUG9pbnRbXSB7XG4gICAgbGV0IHsgY2VudGVyLCBzdGFydEFuZ2xlLCBlbmRBbmdsZSB9ID0gYXJjO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgaWYgKGVuZEFuZ2xlIDwgc3RhcnRBbmdsZSkge1xuICAgICAgWyBzdGFydEFuZ2xlLCBlbmRBbmdsZSBdID0gWyBlbmRBbmdsZSwgc3RhcnRBbmdsZSBdO1xuICAgIH1cblxuICAgIGlmIChzdGFydEFuZ2xlIDwgMCB8fCBlbmRBbmdsZSA8IDApIHtcbiAgICAgIHN0YXJ0QW5nbGUgKz0gMi4wICogTWF0aC5QSTtcbiAgICAgIGVuZEFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50IG9mIHBvaW50cykge1xuICAgICAgbGV0IGFuZ2xlID0gdGhpcy5ub3JtYWxpemVBbmdsZShcbiAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5hbmdsZShcbiAgICAgICAgICBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoMSwgMCksXG4gICAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50LnggLSBjZW50ZXIueCwgcG9pbnQueSAtIGNlbnRlci55KVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBpZiAoYW5nbGUgPCBzdGFydEFuZ2xlKSB7XG4gICAgICAgIGFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydEFuZ2xlIDw9IGFuZ2xlICYmIGFuZ2xlIDw9IGVuZEFuZ2xlKSB7XG4gICAgICAgIGZpbHRlcmVkUG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFBvaW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGFuIGFuZ2xlIHRvIGJlIHdpdGhpbiB0aGUgcmFuZ2UgMCB0byAyz4AuXG4gICAqIEBwYXJhbSByYWRpYW5zIC0gVGhlIGFuZ2xlIGluIHJhZGlhbnMuXG4gICAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGFuZ2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgbm9ybWFsaXplQW5nbGUocmFkaWFuczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3JtYWwgPSByYWRpYW5zICUgKDIuMCAqIE1hdGguUEkpO1xuICAgIHJldHVybiBub3JtYWwgPCAwLjAgPyAobm9ybWFsICsgKDIuMCAqIE1hdGguUEkpKSA6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiZXR3ZWVuIGFuIGVsbGlwc2UgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gY2VudGVyIC0gQ2VudGVyIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWCAtIFggcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWSAtIFkgcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcG9pbnRBIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHBvaW50QiAtIEVuZGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBpbnRlcnNlY3Rpb24gcG9pbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhjZW50ZXI6IElQb2ludCwgcmFkaXVzWDogbnVtYmVyLCByYWRpdXNZOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBvcmlnaW4gPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUocG9pbnRBLngsIHBvaW50QS55KTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBWZWN0b3JFeHRlbnNpb25zLmZyb21Qb2ludHMocG9pbnRBLCBwb2ludEIpO1xuICAgIGNvbnN0IGVsbGlwc2VDZW50ZXIgPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoY2VudGVyLngsIGNlbnRlci55KTtcbiAgICBjb25zdCBkaWZmID0gVmVjdG9yRXh0ZW5zaW9ucy5zdWJ0cmFjdChvcmlnaW4sIGVsbGlwc2VDZW50ZXIpO1xuICAgIGNvbnN0IHNjYWxlZERpciA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaXJlY3Rpb24ueCAvIChyYWRpdXNYICogcmFkaXVzWCksIGRpcmVjdGlvbi55IC8gKHJhZGl1c1kgKiByYWRpdXNZKSk7XG4gICAgY29uc3Qgc2NhbGVkRGlmZiA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaWZmLnggLyAocmFkaXVzWCAqIHJhZGl1c1gpLCBkaWZmLnkgLyAocmFkaXVzWSAqIHJhZGl1c1kpKTtcblxuICAgIGNvbnN0IGEgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaXIpO1xuICAgIGNvbnN0IGIgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaWZmKTtcbiAgICBjb25zdCBjID0gVmVjdG9yRXh0ZW5zaW9ucy5kb3RQcm9kdWN0KGRpZmYsIHNjYWxlZERpZmYpIC0gMS4wO1xuICAgIGNvbnN0IGRpc2NyaW1pbmFudCA9IGIgKiBiIC0gYSAqIGM7XG5cbiAgICByZXR1cm4gZGlzY3JpbWluYW50IDwgMCA/IFtdIDogdGhpcy5jYWxjdWxhdGVJbnRlcnNlY3Rpb25Qb2ludHMoZGlzY3JpbWluYW50LCBhLCBiLCBwb2ludEEsIHBvaW50Qik7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiYXNlZCBvbiB0aGUgZGlzY3JpbWluYW50LlxuICAgKiBAcGFyYW0gZGlzY3JpbWluYW50IC0gVGhlIGRpc2NyaW1pbmFudCB2YWx1ZS5cbiAgICogQHBhcmFtIGEgLSBDb2VmZmljaWVudCAnYScgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIGIgLSBDb2VmZmljaWVudCAnYicgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIHBvaW50QSAtIFN0YXJ0aW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwb2ludEIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGNhbGN1bGF0ZUludGVyc2VjdGlvblBvaW50cyhkaXNjcmltaW5hbnQ6IG51bWJlciwgYTogbnVtYmVyLCBiOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBwb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBpZiAoZGlzY3JpbWluYW50ID4gMCkge1xuICAgICAgY29uc3Qgcm9vdCA9IE1hdGguc3FydChkaXNjcmltaW5hbnQpO1xuICAgICAgY29uc3QgdDEgPSAoLWIgLSByb290KSAvIGE7XG4gICAgICBjb25zdCB0MiA9ICgtYiArIHJvb3QpIC8gYTtcblxuICAgICAgaWYgKHQxID49IDAgJiYgdDEgPD0gMSkge1xuICAgICAgICBwb2ludHMucHVzaChQb2ludEV4dGVuc2lvbnMuaW50ZXJwb2xhdGVQb2ludHMocG9pbnRBLCBwb2ludEIsIHQxKSk7XG4gICAgICB9XG4gICAgICBpZiAodDIgPj0gMCAmJiB0MiA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdDIpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdCA9IC1iIC8gYTtcbiAgICAgIGlmICh0ID49IDAgJiYgdCA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwb2ludHM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1yb3VuZGVkLXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbnRlcnNlY3Rpb25zL3JvdW5kZWQtcmVjdC9pLXJvdW5kZWQtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSUNvbm5lY3RvclNoYXBlIH0gZnJvbSAnLi4vaS1jb25uZWN0b3Itc2hhcGUnO1xuXG4vLy8gUmFkaXVzIGluIENTUyBvcmRlclxuLy8vIHRvcExlZnQsIHRvcFJpZ2h0LCBib3R0b21SaWdodCwgYm90dG9tTGVmdFxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3VuZGVkUmVjdCBleHRlbmRzIElSZWN0LCBJQ29ubmVjdG9yU2hhcGUge1xuXG4gIHJhZGl1czE6IG51bWJlcjtcblxuICByYWRpdXMyOiBudW1iZXI7XG5cbiAgcmFkaXVzMzogbnVtYmVyO1xuXG4gIHJhZGl1czQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './i-rounded-rect';
2
+ export * from './rounded-rect';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbnRlcnNlY3Rpb25zL3JvdW5kZWQtcmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ktcm91bmRlZC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9yb3VuZGVkLXJlY3QnO1xuIl19