@foblex/flow 17.8.4 → 17.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/domain/drag-rect-cache.d.ts +8 -0
  2. package/domain/f-background/providers.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +7 -7
  5. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts +37 -3
  6. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +4 -3
  7. package/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts +8 -0
  8. package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-center-behavior.d.ts → utils/fixed-center-behavior.d.ts} +2 -2
  9. package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-outbound-behavior.d.ts → utils/fixed-outbound-behavior.d.ts} +2 -2
  10. package/domain/f-connection/calculate-connection-line-by-behavior/{floating-behavior.d.ts → utils/floating-behavior.d.ts} +2 -2
  11. package/domain/f-connection/providers.d.ts +2 -2
  12. package/domain/f-connection/redraw-connections/index.d.ts +1 -1
  13. package/domain/f-connection/redraw-connections/{redraw-connections.execution.d.ts → redraw-connections.d.ts} +3 -3
  14. package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.d.ts +8 -0
  15. package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.d.ts +21 -0
  16. package/domain/f-connectors/calculate-source-connectors-to-connect/index.d.ts +2 -0
  17. package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.d.ts +8 -0
  18. package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.d.ts +20 -0
  19. package/domain/f-connectors/calculate-target-connectors-to-connect/index.d.ts +2 -0
  20. package/domain/f-connectors/index.d.ts +2 -2
  21. package/domain/f-connectors/providers.d.ts +3 -3
  22. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
  23. package/domain/f-event-trigger.d.ts +1 -1
  24. package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +2 -2
  25. package/domain/f-line-alignment/add-line-alignment-to-store/{add-line-alignment-to-store.execution.d.ts → add-line-alignment-to-store.d.ts} +4 -4
  26. package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +1 -1
  27. package/domain/f-line-alignment/providers.d.ts +3 -3
  28. package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +1 -1
  29. package/domain/f-line-alignment/remove-line-alignment-from-store/{remove-line-alignment-from-store.execution.d.ts → remove-line-alignment-from-store.d.ts} +4 -4
  30. package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +2 -2
  31. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +8 -0
  32. package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +2 -28
  33. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +52 -0
  34. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.d.ts +6 -0
  35. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.d.ts +22 -0
  36. package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +6 -0
  37. package/domain/f-node/calculate-connectors-connectable-sides/constants/index.d.ts +1 -0
  38. package/domain/f-node/calculate-connectors-connectable-sides/index.d.ts +7 -0
  39. package/domain/f-node/calculate-connectors-connectable-sides/models/index.d.ts +1 -0
  40. package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +2 -0
  41. package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +10 -0
  42. package/domain/f-node/calculate-connectors-connectable-sides/utils/index.d.ts +2 -0
  43. package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +7 -0
  44. package/domain/f-node/calculate-input-connections/calculate-input-connections-request.d.ts +2 -2
  45. package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +3 -3
  46. package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.d.ts +2 -3
  47. package/domain/f-node/calculate-output-connections/calculate-output-connections-request.d.ts +2 -2
  48. package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +3 -3
  49. package/domain/f-node/get-parent-nodes/get-parent-nodes.d.ts +1 -1
  50. package/domain/f-node/get-parent-nodes/get-parent-nodes.request.d.ts +2 -2
  51. package/domain/f-node/index.d.ts +1 -2
  52. package/domain/f-node/providers.d.ts +2 -3
  53. package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +2 -2
  54. package/domain/f-node/remove-node-from-store/remove-node-from-store.d.ts +1 -1
  55. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +2 -2
  56. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.d.ts +2 -2
  57. package/domain/index.d.ts +1 -0
  58. package/domain/providers.d.ts +4 -3
  59. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -2
  60. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.request.d.ts → move-front-elements-before-target-element-request.d.ts} +4 -4
  61. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.execution.d.ts → move-front-elements-before-target-element.d.ts} +4 -4
  62. package/esm2022/domain/css-cls.mjs +2 -1
  63. package/esm2022/domain/drag-rect-cache.mjs +19 -0
  64. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +4 -4
  65. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +126 -13
  66. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +5 -4
  67. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +2 -0
  68. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +12 -0
  69. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +31 -0
  70. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +22 -0
  71. package/esm2022/domain/f-connection/providers.mjs +3 -3
  72. package/esm2022/domain/f-connection/redraw-connections/index.mjs +2 -2
  73. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +75 -0
  74. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.mjs +10 -0
  75. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +59 -0
  76. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/index.mjs +3 -0
  77. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.mjs +10 -0
  78. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +64 -0
  79. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/index.mjs +3 -0
  80. package/esm2022/domain/f-connectors/index.mjs +3 -3
  81. package/esm2022/domain/f-connectors/providers.mjs +5 -5
  82. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +1 -1
  83. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  84. package/esm2022/domain/f-event-trigger.mjs +2 -2
  85. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +4 -4
  86. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.mjs +25 -0
  87. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +2 -2
  88. package/esm2022/domain/f-line-alignment/providers.mjs +4 -7
  89. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +2 -2
  90. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.mjs +25 -0
  91. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +4 -4
  92. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +2 -2
  93. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +10 -0
  94. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +59 -0
  95. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +3 -0
  96. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +8 -0
  97. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +132 -0
  98. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +3 -0
  99. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.mjs +8 -0
  100. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +73 -0
  101. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +12 -0
  102. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/index.mjs +2 -0
  103. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/index.mjs +8 -0
  104. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/index.mjs +2 -0
  105. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +2 -0
  106. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +124 -0
  107. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/index.mjs +3 -0
  108. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +12 -0
  109. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +4 -4
  110. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +20 -7
  111. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +5 -8
  112. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +1 -1
  113. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +4 -4
  114. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +20 -7
  115. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
  116. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
  117. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +8 -8
  118. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +4 -4
  119. package/esm2022/domain/f-node/index.mjs +2 -3
  120. package/esm2022/domain/f-node/providers.mjs +3 -5
  121. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +4 -4
  122. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +3 -3
  123. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +3 -3
  124. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
  125. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +4 -4
  126. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.mjs +1 -1
  127. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +2 -2
  128. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -14
  129. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +4 -1
  130. package/esm2022/domain/index.mjs +2 -1
  131. package/esm2022/domain/is-mobile.mjs +5 -3
  132. package/esm2022/domain/providers.mjs +5 -5
  133. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -3
  134. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element-request.mjs +15 -0
  135. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.mjs +34 -0
  136. package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +201 -0
  137. package/esm2022/f-connection/common/domain/index.mjs +2 -1
  138. package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +12 -0
  139. package/esm2022/f-connection/common/e-f-connection-type.mjs +2 -1
  140. package/esm2022/f-connection/common/f-connection-base.mjs +28 -5
  141. package/esm2022/f-connection/common/index.mjs +2 -1
  142. package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -3
  143. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +9 -17
  144. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +10 -4
  145. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +4 -5
  146. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +3 -2
  147. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +14 -4
  148. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +14 -4
  149. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +1 -1
  150. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.mjs +10 -0
  151. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +58 -0
  152. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.mjs +10 -0
  153. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.mjs +47 -0
  154. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -3
  155. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +3 -3
  156. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +12 -12
  157. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +7 -7
  158. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +10 -10
  159. package/esm2022/f-draggable/f-connection/providers.mjs +4 -4
  160. package/esm2022/f-draggable/f-draggable.directive.mjs +5 -4
  161. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +1 -1
  162. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +11 -13
  163. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +3 -3
  164. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +14 -12
  165. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
  166. package/esm2022/f-flow/f-flow.component.mjs +2 -2
  167. package/esm2022/f-node/f-group.directive.mjs +3 -3
  168. package/esm2022/f-node/f-node.directive.mjs +3 -3
  169. package/esm2022/f-storage/f-connectors-store.mjs +11 -0
  170. package/esm2022/f-storage/index.mjs +2 -1
  171. package/f-backgroud/providers.d.ts +1 -1
  172. package/f-connection/common/domain/adaptive-curve-builder.d.ts +102 -0
  173. package/f-connection/common/domain/index.d.ts +1 -0
  174. package/f-connection/common/e-f-connection-connectable-side.d.ts +10 -0
  175. package/f-connection/common/e-f-connection-type.d.ts +2 -1
  176. package/f-connection/common/f-connection-base.d.ts +14 -2
  177. package/f-connection/common/index.d.ts +1 -0
  178. package/f-connection/f-connection/f-connection.component.d.ts +4 -2
  179. package/f-connection/f-connection-builder/f-connection-factory.d.ts +2 -4
  180. package/f-connection/f-connection-content/f-connection-content.d.ts +2 -2
  181. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -2
  182. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -2
  183. package/f-connection/providers.d.ts +1 -1
  184. package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.d.ts +8 -0
  185. package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.d.ts +16 -0
  186. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.d.ts +8 -0
  187. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.d.ts +14 -0
  188. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -2
  189. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +2 -2
  190. package/f-draggable/f-connection/providers.d.ts +2 -2
  191. package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.d.ts +2 -2
  192. package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
  193. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +1 -1
  194. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +1 -1
  195. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.d.ts +1 -1
  196. package/f-draggable/f-node-move/providers.d.ts +1 -1
  197. package/f-draggable/providers.d.ts +1 -1
  198. package/f-minimap/domain/providers.d.ts +1 -1
  199. package/f-node/providers.d.ts +1 -1
  200. package/f-selection-area/domain/providers.d.ts +1 -1
  201. package/f-storage/f-connectors-store.d.ts +6 -0
  202. package/f-storage/index.d.ts +1 -0
  203. package/f-storage/providers.d.ts +1 -1
  204. package/fesm2022/foblex-flow.mjs +1741 -1235
  205. package/fesm2022/foblex-flow.mjs.map +1 -1
  206. package/package.json +1 -1
  207. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +0 -17
  208. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +0 -6
  209. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +0 -2
  210. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +0 -18
  211. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.d.ts +0 -6
  212. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.d.ts +0 -2
  213. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +0 -9
  214. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +0 -20
  215. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.d.ts +0 -6
  216. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.d.ts +0 -28
  217. package/domain/f-node/calculate-node-connectors-connectable-sides/index.d.ts +0 -4
  218. package/domain/f-node/get-nodes/get-nodes-request.d.ts +0 -3
  219. package/domain/f-node/get-nodes/get-nodes.d.ts +0 -13
  220. package/domain/f-node/get-nodes/index.d.ts +0 -2
  221. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +0 -12
  222. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +0 -31
  223. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +0 -22
  224. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +0 -73
  225. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +0 -48
  226. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +0 -8
  227. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +0 -3
  228. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +0 -43
  229. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.mjs +0 -8
  230. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.mjs +0 -3
  231. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +0 -25
  232. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +0 -25
  233. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +0 -16
  234. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +0 -181
  235. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +0 -3
  236. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +0 -8
  237. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +0 -55
  238. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +0 -3
  239. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.mjs +0 -8
  240. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.mjs +0 -90
  241. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/index.mjs +0 -5
  242. package/esm2022/domain/f-node/get-nodes/get-nodes-request.mjs +0 -4
  243. package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +0 -25
  244. package/esm2022/domain/f-node/get-nodes/index.mjs +0 -3
  245. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -34
  246. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -15
  247. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +0 -52
  248. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +0 -10
  249. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +0 -49
  250. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +0 -10
  251. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +0 -16
  252. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts +0 -8
  253. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +0 -14
  254. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts +0 -8
  255. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/index.d.ts +0 -0
  256. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.d.ts +0 -0
  257. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/index.d.ts +0 -0
@@ -103,7 +103,7 @@ export class FFlowComponent extends FFlowBase {
103
103
  ...COMMON_PROVIDERS,
104
104
  ...F_DRAGGABLE_PROVIDERS,
105
105
  { provide: F_FLOW, useExisting: FFlowComponent },
106
- ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:fixed;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
107
107
  }
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowComponent, decorators: [{
109
109
  type: Component,
@@ -118,6 +118,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
118
118
  ...COMMON_PROVIDERS,
119
119
  ...F_DRAGGABLE_PROVIDERS,
120
120
  { provide: F_FLOW, useExisting: FFlowComponent },
121
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"] }]
121
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:fixed;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}\n"] }]
122
122
  }] });
123
123
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEdBQzVFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsa0RBQWtELEVBQ2xELHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixhQUFhLEVBRWIsbUJBQW1CLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEdBQzlGLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wscUJBQXFCLEdBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHdCQUF3QixHQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd2RCxJQUFJ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QUFrQjt3QkFDbEIsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcscUJBQXFCO3dCQUN4QixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfRkxPVywgRkZsb3dCYXNlIH0gZnJvbSAnLi9mLWZsb3ctYmFzZSc7XG5pbXBvcnQge1xuICBDbGVhclNlbGVjdGlvblJlcXVlc3QsXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25SZXF1ZXN0LFxuICBHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0LFxuICBHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdCxcbiAgUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICBTZWxlY3RBbGxSZXF1ZXN0LFxuICBTZWxlY3RSZXF1ZXN0LFxuICBJRkZsb3dTdGF0ZSxcbiAgR2V0Rmxvd1N0YXRlUmVxdWVzdCwgUmVtb3ZlRmxvd0Zyb21TdG9yZVJlcXVlc3QsIEFkZEZsb3dUb1N0b3JlUmVxdWVzdCwgU29ydEl0ZW1MYXllcnNSZXF1ZXN0LCBJQ3VycmVudFNlbGVjdGlvbixcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgRkRyYWdnYWJsZURhdGFDb250ZXh0LFxufSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHtcbiAgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0LFxuICBGX1NUT1JBR0VfUFJPVklERVJTLFxuICBMaXN0ZW5Db3VudENoYW5nZXNSZXF1ZXN0LFxuICBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QsXG59IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ09NTU9OX1BST1ZJREVSUyB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGX0RSQUdHQUJMRV9QUk9WSURFUlMgfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGQ2hhbm5lbEh1YiB9IGZyb20gJy4uL3JlYWN0aXZpdHknO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1mbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZi1mbG93LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWZsb3dcIixcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRk1lZGlhdG9yLFxuICAgIC4uLkZfU1RPUkFHRV9QUk9WSURFUlMsXG4gICAgRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAuLi5DT01NT05fUFJPVklERVJTLFxuICAgIC4uLkZfRFJBR0dBQkxFX1BST1ZJREVSUyxcbiAgICB7IHByb3ZpZGU6IEZfRkxPVywgdXNlRXhpc3Rpbmc6IEZGbG93Q29tcG9uZW50IH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGRmxvd0NvbXBvbmVudCBleHRlbmRzIEZGbG93QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlclNlcnZpY2UgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmc+KGBmLWZsb3ctJHt1bmlxdWVJZCsrfWAsIHsgYWxpYXM6ICdmRmxvd0lkJyB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZMb2FkZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgX2lzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRGbG93VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Jyb3dzZXJTZXJ2aWNlLmlzQnJvd3NlcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xpc3RlbkNvdW50Q2hhbmdlcygpO1xuICAgIHRoaXMuX2xpc3RlbkRhdGFDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5Db3VudENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8RkNoYW5uZWxIdWI+KFxuICAgICAgbmV3IExpc3RlbkNvdW50Q2hhbmdlc1JlcXVlc3QoKSxcbiAgICApLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgU29ydEl0ZW1MYXllcnNSZXF1ZXN0KCkpXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5EYXRhQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGQ2hhbm5lbEh1Yj4oXG4gICAgICBuZXcgTGlzdGVuRGF0YUNoYW5nZXNSZXF1ZXN0KCksXG4gICAgKS5saXN0ZW4odGhpcy5fZGVzdHJveVJlZiwgKCkgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCgpKTtcblxuICAgICAgdGhpcy5fZW1pdExvYWRlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdExvYWRlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzTG9hZGVkKSB7XG4gICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLmZMb2FkZWQuZW1pdCh0aGlzLmZJZCgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5faXNMb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb2Rlc0JvdW5kaW5nQm94KCk6IElSZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0IHwgbnVsbD4obmV3IENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbigpOiBJQ3VycmVudFNlbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDdXJyZW50U2VsZWN0aW9uPihuZXcgR2V0Q3VycmVudFNlbGVjdGlvblJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb25JbkZsb3cocG9zaXRpb246IElQb2ludCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QocG9zaXRpb24pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGF0ZSgpOiBJRkZsb3dTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBHZXRGbG93U3RhdGVSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBTZWxlY3RBbGxSZXF1ZXN0KCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2dyYW1tYXRpY2FsbHkgc2VsZWN0cyBub2RlcyBhbmQgY29ubmVjdGlvbnMgYnkgdGhlaXIgSURzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgZXh0ZXJuYWwgY29tcG9uZW50cyB0byBjb250cm9sIHRoZSBzZWxlY3Rpb24gc3RhdGUgb2YgdGhlIGNhbnZhcy5cbiAgICogU2VsZWN0ZWQgZWxlbWVudHMgd2lsbCBhcHBlYXIgdmlzdWFsbHkgaGlnaGxpZ2h0ZWQuIElmIGBpc1NlbGVjdGVkQ2hhbmdlZGAgaXMgdHJ1ZSxcbiAgICogdGhlIG5leHQgdXNlciBpbnRlcmFjdGlvbiAoZS5nLiwgY2xpY2tpbmcgdGhlIGNhbnZhcykgd2lsbCBlbWl0IGEgc2VsZWN0aW9uIGNoYW5nZSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIG5vZGVzIC0gQW4gYXJyYXkgb2Ygbm9kZSBJRHMgdG8gc2VsZWN0LlxuICAgKiBAcGFyYW0gY29ubmVjdGlvbnMgLSBBbiBhcnJheSBvZiBjb25uZWN0aW9uIElEcyB0byBzZWxlY3QuXG4gICAqIEBwYXJhbSBpc1NlbGVjdGVkQ2hhbmdlZCAtIE9wdGlvbmFsLiBJZiB0cnVlIChkZWZhdWx0KSwgbWFya3MgdGhlIHNlbGVjdGlvbiBzdGF0ZSBhcyBjaGFuZ2VkLFxuICAgKiB0cmlnZ2VyaW5nIGEgYGZTZWxlY3Rpb25DaGFuZ2VgIGV2ZW50IG9uIHRoZSBuZXh0IHVzZXIgaW50ZXJhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KG5vZGVzOiBzdHJpbmdbXSwgY29ubmVjdGlvbnM6IHN0cmluZ1tdLCBpc1NlbGVjdGVkQ2hhbmdlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBTZWxlY3RSZXF1ZXN0KG5vZGVzLCBjb25uZWN0aW9ucywgaXNTZWxlY3RlZENoYW5nZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ2xlYXJTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVGbG93RnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZEZWZpbml0aW9uc11cIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1iYWNrZ3JvdW5kXCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtbGluZS1hbGlnbm1lbnRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jYW52YXNcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1zZWxlY3Rpb24tYXJlYVwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -2,7 +2,7 @@ import { booleanAttribute, DestroyRef, Directive, inject, input, model, output,
2
2
  import { PointExtensions } from '@foblex/2d';
3
3
  import { F_NODE, FNodeBase } from './f-node-base';
4
4
  import { NotifyTransformChangedRequest } from '../f-storage';
5
- import { AddNodeToStoreRequest, UpdateNodeWhenStateOrSizeChangedRequest, RemoveNodeFromStoreRequest, CalculateNodeConnectorsConnectableSidesRequest, } from '../domain';
5
+ import { AddNodeToStoreRequest, UpdateNodeWhenStateOrSizeChangedRequest, RemoveNodeFromStoreRequest, CalculateConnectorsConnectableSidesRequest, } from '../domain';
6
6
  import { FMediator } from '@foblex/mediator';
7
7
  import * as i0 from "@angular/core";
8
8
  let uniqueId = 0;
@@ -83,7 +83,7 @@ export class FGroupDirective extends FNodeBase {
83
83
  this._debounceTimer = setTimeout(() => this._calculateNodeConnectorsConnectableSides(), _DEBOUNCE_TIME);
84
84
  }
85
85
  _calculateNodeConnectorsConnectableSides() {
86
- this._mediator.execute(new CalculateNodeConnectorsConnectableSidesRequest(this));
86
+ this._mediator.execute(new CalculateConnectorsConnectableSidesRequest(this));
87
87
  }
88
88
  ngAfterViewInit() {
89
89
  if (!this.browser.isBrowser()) {
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
117
117
  providers: [{ provide: F_NODE, useExisting: FGroupDirective }],
118
118
  }]
119
119
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHVDQUF1QyxFQUN2QywwQkFBMEIsRUFDMUIsOENBQThDLEdBQy9DLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0MsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sZUFDWCxTQUFRLFNBQVM7SUFHVCxjQUFjLEdBQXlDLElBQUksQ0FBQztJQUVuRCxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEIsR0FBRyxHQUFHLEtBQUssQ0FBUyxXQUFXLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUVwRSxTQUFTLEdBQUcsS0FBSyxDQUE0QixJQUFJLEVBQUU7UUFDMUUsS0FBSyxFQUFFLGdCQUFnQjtLQUN4QixDQUFDLENBQUM7SUFFc0IsUUFBUSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDdEUsS0FBSyxFQUFFLGdCQUFnQjtLQUN4QixDQUFDLENBQUM7SUFFc0IsSUFBSSxHQUFHLEtBQUssQ0FBb0IsU0FBUyxFQUFFO1FBQ2xFLEtBQUssRUFBRSxZQUFZO0tBQ3BCLENBQUMsQ0FBQztJQUVhLFVBQVUsR0FBRyxNQUFNLENBQVEsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBRWpELE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ3pDLEtBQUssRUFBRSxjQUFjO0tBQ3RCLENBQUMsQ0FBQztJQUVzQixjQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRTtRQUNwRCxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUVzQixhQUFhLEdBQUcsS0FBSyxDQUFvQixFQUFFLENBQUMsQ0FBQztJQUU3QyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFO1FBQ3hELEtBQUssRUFBRSx3QkFBd0I7UUFDL0IsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDLENBQUM7SUFFc0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRTtRQUN6RCxLQUFLLEVBQUUseUJBQXlCO1FBQ2hDLFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQyxDQUFDO0lBRXNCLGVBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ3JELFNBQVMsRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQyxDQUFDO0lBRXNCLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDNUQsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDLENBQUM7SUFFc0Isc0JBQXNCLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRTtRQUM3RCxTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUVIO0lBQ0UseURBQXlEO0lBQ3pELGdCQUF5QztRQUV6QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEIsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRWtCLFFBQVEsQ0FBQyxTQUFpQixFQUFFLEtBQWE7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVrQixXQUFXLENBQUMsU0FBaUI7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRWUsTUFBTTtRQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUM5QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0NBQXdDLEVBQUUsRUFDckQsY0FBYyxDQUNmLENBQUM7SUFDSixDQUFDO0lBRU8sd0NBQXdDO1FBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFPLElBQUksOENBQThDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSx1Q0FBdUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUVlLE9BQU87UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQzt3R0EvSFUsZUFBZTs0RkFBZixlQUFlLHdrRUFGZixDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7OzRGQUVuRCxlQUFlO2tCQVgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHdCQUF3QixFQUFFLE9BQU87d0JBQ2pDLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLG1DQUFtQyxFQUFFLHFCQUFxQjt3QkFDMUQsb0NBQW9DLEVBQUUsc0JBQXNCO3FCQUM3RDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJlY3QsIElTaXplLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfTk9ERSwgRk5vZGVCYXNlIH0gZnJvbSAnLi9mLW5vZGUtYmFzZSc7XG5pbXBvcnQgeyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHtcbiAgQWRkTm9kZVRvU3RvcmVSZXF1ZXN0LFxuICBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QsXG4gIFJlbW92ZU5vZGVGcm9tU3RvcmVSZXF1ZXN0LFxuICBDYWxjdWxhdGVOb2RlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXNSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5jb25zdCBfREVCT1VOQ0VfVElNRSA9IDM7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmR3JvdXBdJyxcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtZ3JvdXAtaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogJ2YtZ3JvdXAgZi1jb21wb25lbnQnLFxuICAgICdbY2xhc3MuZi1ncm91cC1kcmFnZ2luZy1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLWdyb3VwLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfTk9ERSwgdXNlRXhpc3Rpbmc6IEZHcm91cERpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRkdyb3VwRGlyZWN0aXZlXG4gIGV4dGVuZHMgRk5vZGVCYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZJZCA9IGlucHV0PHN0cmluZz4oYGYtZ3JvdXAtJHt1bmlxdWVJZCsrfWAsIHsgYWxpYXM6ICdmR3JvdXBJZCcgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZQYXJlbnRJZCA9IGlucHV0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KG51bGwsIHtcbiAgICBhbGlhczogJ2ZHcm91cFBhcmVudElkJyxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IHBvc2l0aW9uID0gbW9kZWwoUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSwge1xuICAgIGFsaWFzOiAnZkdyb3VwUG9zaXRpb24nLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PElTaXplIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHtcbiAgICBhbGlhczogJ2ZHcm91cFNpemUnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgc2l6ZUNoYW5nZSA9IG91dHB1dDxJUmVjdD4oeyBhbGlhczogJ2ZHcm91cFNpemVDaGFuZ2UnIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSByb3RhdGUgPSBtb2RlbCgwLCB7XG4gICAgYWxpYXM6ICdmR3JvdXBSb3RhdGUnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkNvbm5lY3RPbk5vZGUgPSBpbnB1dCh0cnVlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZk1pbmltYXBDbGFzcyA9IGlucHV0PHN0cmluZ1tdIHwgc3RyaW5nPihbXSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZEcmFnZ2luZ0Rpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZHcm91cERyYWdnaW5nRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZTZWxlY3Rpb25EaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmR3JvdXBTZWxlY3Rpb25EaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkluY2x1ZGVQYWRkaW5nID0gaW5wdXQodHJ1ZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZBdXRvRXhwYW5kT25DaGlsZEhpdCA9IGlucHV0KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkF1dG9TaXplVG9GaXRDaGlsZHJlbiA9IGlucHV0KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1pbmplY3RcbiAgICBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgICBzdXBlci5wb3NpdGlvbkNoYW5nZXMoKTtcbiAgICBzdXBlci5zaXplQ2hhbmdlcygpO1xuICAgIHN1cGVyLnJvdGF0ZUNoYW5nZXMoKTtcbiAgICBzdXBlci5wYXJlbnRDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJ2NlbnRlcicpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQWRkTm9kZVRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZXRTdHlsZShzdHlsZU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVtb3ZlU3R5bGUoc3R5bGVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaG9zdEVsZW1lbnQsIHN0eWxlTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IE5vdGlmeVRyYW5zZm9ybUNoYW5nZWRSZXF1ZXN0KCkpO1xuICAgIHRoaXMuX3VwZGF0ZUNvbm5lY3RvcnNTaWRlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cGRhdGVDb25uZWN0b3JzU2lkZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICB9XG4gICAgdGhpcy5fZGVib3VuY2VUaW1lciA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLl9jYWxjdWxhdGVOb2RlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXMoKSxcbiAgICAgIF9ERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVOb2RlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5icm93c2VyLmlzQnJvd3NlcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xpc3RlblN0YXRlU2l6ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlblN0YXRlU2l6ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QodGhpcywgdGhpcy5fZGVzdHJveVJlZiksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlbW92ZU5vZGVGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHVDQUF1QyxFQUN2QywwQkFBMEIsRUFDMUIsMENBQTBDLEdBQzNDLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0MsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sZUFDWCxTQUFRLFNBQVM7SUFHVCxjQUFjLEdBQXlDLElBQUksQ0FBQztJQUVuRCxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEIsR0FBRyxHQUFHLEtBQUssQ0FBUyxXQUFXLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUVwRSxTQUFTLEdBQUcsS0FBSyxDQUE0QixJQUFJLEVBQUU7UUFDMUUsS0FBSyxFQUFFLGdCQUFnQjtLQUN4QixDQUFDLENBQUM7SUFFc0IsUUFBUSxHQUFH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QUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHdCQUF3QixFQUFFLE9BQU87d0JBQ2pDLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLG1DQUFtQyxFQUFFLHFCQUFxQjt3QkFDMUQsb0NBQW9DLEVBQUUsc0JBQXNCO3FCQUM3RDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVJlY3QsIElTaXplLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfTk9ERSwgRk5vZGVCYXNlIH0gZnJvbSAnLi9mLW5vZGUtYmFzZSc7XG5pbXBvcnQgeyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHtcbiAgQWRkTm9kZVRvU3RvcmVSZXF1ZXN0LFxuICBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QsXG4gIFJlbW92ZU5vZGVGcm9tU3RvcmVSZXF1ZXN0LFxuICBDYWxjdWxhdGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlc1JlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxubGV0IHVuaXF1ZUlkID0gMDtcbmNvbnN0IF9ERUJPVU5DRV9USU1FID0gMztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZHcm91cF0nLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1ncm91cC1pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1ncm91cCBmLWNvbXBvbmVudCcsXG4gICAgJ1tjbGFzcy5mLWdyb3VwLWRyYWdnaW5nLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmYtZ3JvdXAtc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9OT0RFLCB1c2VFeGlzdGluZzogRkdyb3VwRGlyZWN0aXZlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGR3JvdXBEaXJlY3RpdmVcbiAgZXh0ZW5kcyBGTm9kZUJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgX2RlYm91bmNlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZklkID0gaW5wdXQ8c3RyaW5nPihgZi1ncm91cC0ke3VuaXF1ZUlkKyt9YCwgeyBhbGlhczogJ2ZHcm91cElkJyB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZlBhcmVudElkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4obnVsbCwge1xuICAgIGFsaWFzOiAnZkdyb3VwUGFyZW50SWQnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgcG9zaXRpb24gPSBtb2RlbChQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLCB7XG4gICAgYWxpYXM6ICdmR3JvdXBQb3NpdGlvbicsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBzaXplID0gaW5wdXQ8SVNpemUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCwge1xuICAgIGFsaWFzOiAnZkdyb3VwU2l6ZScsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBzaXplQ2hhbmdlID0gb3V0cHV0PElSZWN0Pih7IGFsaWFzOiAnZkdyb3VwU2l6ZUNoYW5nZScgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvdGF0ZSA9IG1vZGVsKDAsIHtcbiAgICBhbGlhczogJ2ZHcm91cFJvdGF0ZScsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmQ29ubmVjdE9uTm9kZSA9IGlucHV0KHRydWUsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmTWluaW1hcENsYXNzID0gaW5wdXQ8c3RyaW5nW10gfCBzdHJpbmc+KFtdKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkRyYWdnaW5nRGlzYWJsZWQgPSBpbnB1dChmYWxzZSwge1xuICAgIGFsaWFzOiAnZkdyb3VwRHJhZ2dpbmdEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZlNlbGVjdGlvbkRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZHcm91cFNlbGVjdGlvbkRpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmSW5jbHVkZVBhZGRpbmcgPSBpbnB1dCh0cnVlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkF1dG9FeHBhbmRPbkNoaWxkSGl0ID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmQXV0b1NpemVUb0ZpdENoaWxkcmVuID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLWluamVjdFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHN1cGVyLnBvc2l0aW9uQ2hhbmdlcygpO1xuICAgIHN1cGVyLnNpemVDaGFuZ2VzKCk7XG4gICAgc3VwZXIucm90YXRlQ2hhbmdlcygpO1xuICAgIHN1cGVyLnBhcmVudENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnY2VudGVyJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBBZGROb2RlVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW1vdmVTdHlsZShzdHlsZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gICAgdGhpcy5fdXBkYXRlQ29ubmVjdG9yc1NpZGVzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUNvbm5lY3RvcnNTaWRlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGVib3VuY2VUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RlYm91bmNlVGltZXIpO1xuICAgIH1cbiAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuX2NhbGN1bGF0ZU5vZGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlcygpLFxuICAgICAgX0RFQk9VTkNFX1RJTUUsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5vZGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBDYWxjdWxhdGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlc1JlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYnJvd3Nlci5pc0Jyb3dzZXIoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9saXN0ZW5TdGF0ZVNpemVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZVNpemVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICBuZXcgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0KHRoaXMsIHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5ub3RpZnkoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBSZW1vdmVOb2RlRnJvbVN0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import { booleanAttribute, DestroyRef, Directive, inject, input, model, output,
2
2
  import { PointExtensions } from '@foblex/2d';
3
3
  import { NotifyTransformChangedRequest } from '../f-storage';
4
4
  import { F_NODE, FNodeBase } from './f-node-base';
5
- import { AddNodeToStoreRequest, UpdateNodeWhenStateOrSizeChangedRequest, RemoveNodeFromStoreRequest, CalculateNodeConnectorsConnectableSidesRequest, } from '../domain';
5
+ import { AddNodeToStoreRequest, UpdateNodeWhenStateOrSizeChangedRequest, RemoveNodeFromStoreRequest, CalculateConnectorsConnectableSidesRequest, } from '../domain';
6
6
  import { stringAttribute } from '../utils';
7
7
  import { FMediator } from '@foblex/mediator';
8
8
  import * as i0 from "@angular/core";
@@ -87,7 +87,7 @@ export class FNodeDirective extends FNodeBase {
87
87
  this._debounceTimer = setTimeout(() => this._calculateNodeConnectorsConnectableSides(), _DEBOUNCE_TIME);
88
88
  }
89
89
  _calculateNodeConnectorsConnectableSides() {
90
- this._mediator.execute(new CalculateNodeConnectorsConnectableSidesRequest(this));
90
+ this._mediator.execute(new CalculateConnectorsConnectableSidesRequest(this));
91
91
  }
92
92
  ngAfterViewInit() {
93
93
  if (!this.browser.isBrowser()) {
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
121
121
  providers: [{ provide: F_NODE, useExisting: FNodeDirective }],
122
122
  }]
123
123
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBQzFCLDhDQUE4QyxHQUMvQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0MsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sY0FDWCxTQUFRLFNBQVM7SUFHVCxjQUFjLEdBQXlDLElBQUksQ0FBQztJQUVuRCxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEIsR0FBRyxHQUFHLEtBQUssQ0FBa0IsVUFBVSxRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzVFLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJ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RmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOzs0RkFFbEQsY0FBYztrQkFYMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLElBQUksRUFBRTt3QkFDSix1QkFBdUIsRUFBRSxPQUFPO3dCQUNoQyxLQUFLLEVBQUUsb0JBQW9CO3dCQUMzQixrQ0FBa0MsRUFBRSxxQkFBcUI7d0JBQ3pELG1DQUFtQyxFQUFFLHNCQUFzQjtxQkFDNUQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSZWN0LCBJU2l6ZSwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4vZi1ub2RlLWJhc2UnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7XG4gIEFkZE5vZGVUb1N0b3JlUmVxdWVzdCxcbiAgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0LFxuICBSZW1vdmVOb2RlRnJvbVN0b3JlUmVxdWVzdCxcbiAgQ2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IHN0cmluZ0F0dHJpYnV0ZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuY29uc3QgX0RFQk9VTkNFX1RJTUUgPSAzO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZk5vZGVdJyxcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtbm9kZS1pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1ub2RlIGYtY29tcG9uZW50JyxcbiAgICAnW2NsYXNzLmYtbm9kZS1kcmFnZ2luZy1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9OT0RFLCB1c2VFeGlzdGluZzogRk5vZGVEaXJlY3RpdmUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlRGlyZWN0aXZlXG4gIGV4dGVuZHMgRk5vZGVCYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBJSGFzSG9zdEVsZW1lbnQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oYGYtbm9kZS0ke3VuaXF1ZUlkKyt9YCwge1xuICAgIGFsaWFzOiAnZk5vZGVJZCcsXG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgYGYtbm9kZS0ke3VuaXF1ZUlkKyt9YCxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZQYXJlbnRJZCA9IGlucHV0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KG51bGwsIHtcbiAgICBhbGlhczogJ2ZOb2RlUGFyZW50SWQnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgcG9zaXRpb24gPSBtb2RlbChQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLCB7XG4gICAgYWxpYXM6ICdmTm9kZVBvc2l0aW9uJyxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxJU2l6ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7XG4gICAgYWxpYXM6ICdmTm9kZVNpemUnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgc2l6ZUNoYW5nZSA9IG91dHB1dDxJUmVjdD4oeyBhbGlhczogJ2ZOb2RlU2l6ZUNoYW5nZScgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvdGF0ZSA9IG1vZGVsKDAsIHtcbiAgICBhbGlhczogJ2ZOb2RlUm90YXRlJyxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZDb25uZWN0T25Ob2RlID0gaW5wdXQodHJ1ZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZNaW5pbWFwQ2xhc3MgPSBpbnB1dDxzdHJpbmdbXSB8IHN0cmluZz4oW10pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmRHJhZ2dpbmdEaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmTm9kZURyYWdnaW5nRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZTZWxlY3Rpb25EaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmTm9kZVNlbGVjdGlvbkRpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmSW5jbHVkZVBhZGRpbmcgPSBpbnB1dCh0cnVlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkF1dG9FeHBhbmRPbkNoaWxkSGl0ID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmQXV0b1NpemVUb0ZpdENoaWxkcmVuID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLWluamVjdFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHN1cGVyLnBvc2l0aW9uQ2hhbmdlcygpO1xuICAgIHN1cGVyLnNpemVDaGFuZ2VzKCk7XG4gICAgc3VwZXIucm90YXRlQ2hhbmdlcygpO1xuICAgIHN1cGVyLnBhcmVudENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKCdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RyYW5zZm9ybS1vcmlnaW4nLCAnY2VudGVyJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ2xlZnQnLCAnMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3RvcCcsICcwJyk7XG4gICAgc3VwZXIucmVkcmF3KCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBBZGROb2RlVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW1vdmVTdHlsZShzdHlsZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5ob3N0RWxlbWVudCwgc3R5bGVOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gICAgdGhpcy5fdXBkYXRlQ29ubmVjdG9yc1NpZGVzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUNvbm5lY3RvcnNTaWRlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGVib3VuY2VUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RlYm91bmNlVGltZXIpO1xuICAgIH1cbiAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuX2NhbGN1bGF0ZU5vZGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlcygpLFxuICAgICAgX0RFQk9VTkNFX1RJTUUsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5vZGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBDYWxjdWxhdGVOb2RlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXNSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmJyb3dzZXIuaXNCcm93c2VyKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVTaXplQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuU3RhdGVTaXplQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkUmVxdWVzdCh0aGlzLCB0aGlzLl9kZXN0cm95UmVmKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubm90aWZ5KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlTm9kZUZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBQzFCLDBDQUEwQyxHQUMzQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFN0MsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sY0FDWCxTQUFRLFNBQVM7SUFHVCxjQUFjLEdBQXlDLElBQUksQ0FBQztJQUVuRCxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEIsR0FBRyxHQUFHLEtBQUssQ0FBa0IsVUFBVSxRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzVFLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJ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RmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOzs0RkFFbEQsY0FBYztrQkFYMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLElBQUksRUFBRTt3QkFDSix1QkFBdUIsRUFBRSxPQUFPO3dCQUNoQyxLQUFLLEVBQUUsb0JBQW9CO3dCQUMzQixrQ0FBa0MsRUFBRSxxQkFBcUI7d0JBQ3pELG1DQUFtQyxFQUFFLHNCQUFzQjtxQkFDNUQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSZWN0LCBJU2l6ZSwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4vZi1ub2RlLWJhc2UnO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7XG4gIEFkZE5vZGVUb1N0b3JlUmVxdWVzdCxcbiAgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0LFxuICBSZW1vdmVOb2RlRnJvbVN0b3JlUmVxdWVzdCxcbiAgQ2FsY3VsYXRlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXNSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgc3RyaW5nQXR0cmlidXRlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5jb25zdCBfREVCT1VOQ0VfVElNRSA9IDM7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmTm9kZV0nLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1ub2RlLWlkXSc6ICdmSWQoKScsXG4gICAgY2xhc3M6ICdmLW5vZGUgZi1jb21wb25lbnQnLFxuICAgICdbY2xhc3MuZi1ub2RlLWRyYWdnaW5nLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCgpJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGX05PREUsIHVzZUV4aXN0aW5nOiBGTm9kZURpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVEaXJlY3RpdmVcbiAgZXh0ZW5kcyBGTm9kZUJhc2VcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgX2RlYm91bmNlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZklkID0gaW5wdXQ8c3RyaW5nLCB1bmtub3duPihgZi1ub2RlLSR7dW5pcXVlSWQrK31gLCB7XG4gICAgYWxpYXM6ICdmTm9kZUlkJyxcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCBgZi1ub2RlLSR7dW5pcXVlSWQrK31gLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZlBhcmVudElkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4obnVsbCwge1xuICAgIGFsaWFzOiAnZk5vZGVQYXJlbnRJZCcsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBwb3NpdGlvbiA9IG1vZGVsKFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIHtcbiAgICBhbGlhczogJ2ZOb2RlUG9zaXRpb24nLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PElTaXplIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHtcbiAgICBhbGlhczogJ2ZOb2RlU2l6ZScsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBzaXplQ2hhbmdlID0gb3V0cHV0PElSZWN0Pih7IGFsaWFzOiAnZk5vZGVTaXplQ2hhbmdlJyB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm90YXRlID0gbW9kZWwoMCwge1xuICAgIGFsaWFzOiAnZk5vZGVSb3RhdGUnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZkNvbm5lY3RPbk5vZGUgPSBpbnB1dCh0cnVlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZk1pbmltYXBDbGFzcyA9IGlucHV0PHN0cmluZ1tdIHwgc3RyaW5nPihbXSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZEcmFnZ2luZ0Rpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZOb2RlRHJhZ2dpbmdEaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZlNlbGVjdGlvbkRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZOb2RlU2VsZWN0aW9uRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZJbmNsdWRlUGFkZGluZyA9IGlucHV0KHRydWUsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmQXV0b0V4cGFuZE9uQ2hpbGRIaXQgPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZBdXRvU2l6ZVRvRml0Q2hpbGRyZW4gPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItaW5qZWN0XG4gICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gICAgc3VwZXIucG9zaXRpb25DaGFuZ2VzKCk7XG4gICAgc3VwZXIuc2l6ZUNoYW5nZXMoKTtcbiAgICBzdXBlci5yb3RhdGVDaGFuZ2VzKCk7XG4gICAgc3VwZXIucGFyZW50Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3R5bGUoJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndHJhbnNmb3JtLW9yaWdpbicsICdjZW50ZXInKTtcbiAgICB0aGlzLnNldFN0eWxlKCd1c2VyLXNlbGVjdCcsICdub25lJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9pbnRlci1ldmVudHMnLCAnYWxsJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgnbGVmdCcsICcwJyk7XG4gICAgdGhpcy5zZXRTdHlsZSgndG9wJywgJzAnKTtcbiAgICBzdXBlci5yZWRyYXcoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEFkZE5vZGVUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2V0U3R5bGUoc3R5bGVOYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaG9zdEVsZW1lbnQsIHN0eWxlTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbW92ZVN0eWxlKHN0eWxlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhdygpOiB2b2lkIHtcbiAgICBzdXBlci5yZWRyYXcoKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgICB0aGlzLl91cGRhdGVDb25uZWN0b3JzU2lkZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdXBkYXRlQ29ubmVjdG9yc1NpZGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kZWJvdW5jZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XG4gICAgfVxuICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4gdGhpcy5fY2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzKCksXG4gICAgICBfREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENhbGN1bGF0ZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5icm93c2VyLmlzQnJvd3NlcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xpc3RlblN0YXRlU2l6ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlblN0YXRlU2l6ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QodGhpcywgdGhpcy5fZGVzdHJveVJlZiksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlbW92ZU5vZGVGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FConnectorsStore {
4
+ _connectors = {};
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectorsStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectorsStore });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectorsStore, decorators: [{
9
+ type: Injectable
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3JzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb25uZWN0b3JzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDVixXQUFXLEdBQXNELEVBQUUsQ0FBQzt3R0FEMUUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdG9yc1N0b3JlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdG9yczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRUZDb25uZWN0YWJsZVNpZGU+PiA9IHt9O1xufVxuIl19
@@ -4,5 +4,6 @@ export * from './features/listen-count-changes';
4
4
  export * from './features/listen-transform-changes';
5
5
  export * from './features/notify-transform-changed';
6
6
  export * from './f-components-store';
7
+ export * from './f-connectors-store';
7
8
  export * from './providers';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZXMvbm90aWZ5LWRhdGEtY2hhbmdlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZXMvbGlzdGVuLWNvbXBvbmVudHMtZGF0YS1jaGFuZ2VkJztcblxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlcy9saXN0ZW4tY291bnQtY2hhbmdlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZXMvbGlzdGVuLXRyYW5zZm9ybS1jaGFuZ2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlcy9ub3RpZnktdHJhbnNmb3JtLWNoYW5nZWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29tcG9uZW50cy1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlcy9ub3RpZnktZGF0YS1jaGFuZ2VkJztcblxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlcy9saXN0ZW4tY29tcG9uZW50cy1kYXRhLWNoYW5nZWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmVzL2xpc3Rlbi1jb3VudC1jaGFuZ2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlcy9saXN0ZW4tdHJhbnNmb3JtLWNoYW5nZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmVzL25vdGlmeS10cmFuc2Zvcm0tY2hhbmdlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb21wb25lbnRzLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3RvcnMtc3RvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  import { FBackgroundComponent } from './f-background.component';
2
2
  import { FRectPatternComponent } from './f-rect-pattern';
3
3
  import { FCirclePatternComponent } from './f-circle-pattern';
4
- export declare const F_BACKGROUND_PROVIDERS: (typeof FRectPatternComponent | typeof FCirclePatternComponent | typeof FBackgroundComponent)[];
4
+ export declare const F_BACKGROUND_PROVIDERS: (typeof FBackgroundComponent | typeof FCirclePatternComponent | typeof FRectPatternComponent)[];
@@ -0,0 +1,102 @@
1
+ import { IFConnectionBuilder, IFConnectionBuilderRequest, IFConnectionBuilderResponse } from '../../f-connection-builder';
2
+ /**
3
+ * AdaptiveCurveBuilder
4
+ *
5
+ * Builds a smooth **adaptive connector curve** between two points using a cubic Bézier path,
6
+ * but with control points computed differently from a classic “Bezier” connector.
7
+ *
8
+ * Key differences from a classic Bézier builder:
9
+ * - Control handles are **aligned with the port side** (LEFT/RIGHT/TOP/BOTTOM),
10
+ * yet are **slightly blended toward the target direction** to reduce harsh S-shapes.
11
+ * - Handle lengths are **adaptive**: based on the `offset` (your “padding” from ports)
12
+ * and the projected distance along the side’s axis. This produces a subtler curvature
13
+ * and a distinct look & feel compared to a standard Bézier connector.
14
+ *
15
+ * Compatibility:
16
+ * - Implements {@link IFConnectionBuilder}; output shape is the same:
17
+ * SVG path, sampled points for hit-testing, and connection center.
18
+ * - Only the four base sides are expected to be passed here:
19
+ * {@link EFConnectableSide.LEFT}, {@link EFConnectableSide.RIGHT},
20
+ * {@link EFConnectableSide.TOP}, {@link EFConnectableSide.BOTTOM}.
21
+ *
22
+ * Usage example:
23
+ * ```ts
24
+ * const builder = new AdaptiveCurveBuilder();
25
+ * const res = builder.handle({
26
+ * source: { x: 100, y: 120 },
27
+ * sourceSide: EFConnectableSide.RIGHT,
28
+ * target: { x: 340, y: 220 },
29
+ * targetSide: EFConnectableSide.LEFT,
30
+ * offset: 16, // acts as padding + minimal handle baseline
31
+ * });
32
+ * // res.path -> SVG "M … C …" string
33
+ * // res.points -> sampled points along the curve
34
+ * ```
35
+ */
36
+ export declare class AdaptiveCurveBuilder implements IFConnectionBuilder {
37
+ /**
38
+ * Returns a unit direction vector for a given side.
39
+ *
40
+ * @param side - One of LEFT/RIGHT/TOP/BOTTOM.
41
+ * @returns Unit vector pointing outwards from the side.
42
+ * @remarks
43
+ * Only base sides should reach this builder. A fallback `{0,0}` is returned
44
+ * defensively, but should not occur in normal usage.
45
+ */
46
+ private static _dir;
47
+ /**
48
+ * Checks whether a side is horizontal (LEFT/RIGHT).
49
+ *
50
+ * @param side - Side to check.
51
+ * @returns `true` for LEFT/RIGHT, otherwise `false`.
52
+ */
53
+ private static _isH;
54
+ /**
55
+ * Computes a **soft** handle length for a control point.
56
+ *
57
+ * The handle length is derived from:
58
+ * - `offset` (acts as padding & the baseline handle),
59
+ * - distance projected along the side’s axis (dx for horizontal, dy for vertical),
60
+ * - a conservative upper bound to avoid bloated curves.
61
+ *
62
+ * @param p0 - Start (or end) point of the segment.
63
+ * @param p3 - Opposite end (or start) point.
64
+ * @param side - Side at which the handle originates.
65
+ * @param offset - Visual padding/minimal handle baseline (must be ≥ 0).
66
+ * @returns A bounded positive handle length.
67
+ */
68
+ private static _handleLen;
69
+ /**
70
+ * Computes a control point by taking the side direction and **lightly blending**
71
+ * it toward the target direction. This reduces harsh inflections while keeping
72
+ * the perceptual attachment to the port side.
73
+ *
74
+ * @param side - Base side defining the primary direction (LEFT/RIGHT/TOP/BOTTOM).
75
+ * @param source - Anchor point where the control handle is attached.
76
+ * @param target - Opposite end; used to orient the handle slightly toward the goal.
77
+ * @param handle - Handle length (see {@link _handleLen}).
78
+ * @returns Control point coordinates for the cubic Bézier segment.
79
+ */
80
+ private static _softControl;
81
+ /**
82
+ * Builds an adaptive connector between `source` and `target`.
83
+ *
84
+ * @param request - Connection build request.
85
+ * @param request.source - Start point of the connector.
86
+ * @param request.sourceSide - Side at the source port (LEFT/RIGHT/TOP/BOTTOM).
87
+ * @param request.target - End point of the connector.
88
+ * @param request.targetSide - Side at the target port (LEFT/RIGHT/TOP/BOTTOM).
89
+ * @param request.offset - Visual padding & minimal handle baseline (≥ 0).
90
+ *
91
+ * @returns Standard {@link IFConnectionBuilderResponse}:
92
+ * - `path`: SVG cubic path (“M … C …”),
93
+ * - `points`: discretized samples along the curve,
94
+ * - `connectionCenter`: approximate visual center for labeling/interaction,
95
+ * - `secondPoint`/`penultimatePoint`: first/second control points (for tooling).
96
+ *
97
+ * @remarks
98
+ * The returned path slightly offsets the end point by +0.0002 on both axes
99
+ * to avoid edge cases in some renderers and hit-testing implementations.
100
+ */
101
+ handle(request: IFConnectionBuilderRequest): IFConnectionBuilderResponse;
102
+ }
@@ -1,5 +1,6 @@
1
1
  export * from './calculate-center-between-points';
2
2
  export * from './calculate-connection-center';
3
+ export * from './adaptive-curve-builder';
3
4
  export * from './f-bezier.path-builder';
4
5
  export * from './f-segment.path-builder';
5
6
  export * from './f-straight.path-builder';
@@ -0,0 +1,10 @@
1
+ export declare enum EFConnectionConnectableSide {
2
+ DEFAULT = "default",
3
+ TOP = "top",
4
+ BOTTOM = "bottom",
5
+ LEFT = "left",
6
+ RIGHT = "right",
7
+ CALCULATE = "calculate",
8
+ CALCULATE_HORIZONTAL = "calculate_horizontal",
9
+ CALCULATE_VERTICAL = "calculate_vertical"
10
+ }
@@ -1,5 +1,6 @@
1
1
  export declare enum EFConnectionType {
2
2
  SEGMENT = "segment",
3
3
  STRAIGHT = "straight",
4
- BEZIER = "bezier"
4
+ BEZIER = "bezier",
5
+ ADAPTIVE_CURVE = "adaptive-curve"
5
6
  }
@@ -15,6 +15,7 @@ import { IHasHostElement } from '../../i-has-host-element';
15
15
  import { ISelectable, ICanChangeVisibility } from '../../mixins';
16
16
  import { FConnectionCenterDirective } from '../f-connection-center';
17
17
  import { FConnectionContent } from '../f-connection-content';
18
+ import { EFConnectionConnectableSide } from './e-f-connection-connectable-side';
18
19
  import * as i0 from "@angular/core";
19
20
  declare const MIXIN_BASE: import("../../mixins").Constructor<ISelectable> & import("../../mixins").AbstractConstructor<ISelectable> & import("../../mixins").Constructor<ICanChangeVisibility> & import("../../mixins").AbstractConstructor<ICanChangeVisibility> & {
20
21
  new (hostElement: HTMLElement): {
@@ -30,7 +31,7 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
30
31
  abstract fInputId: Signal<string>;
31
32
  abstract fRadius: number;
32
33
  abstract fOffset: number;
33
- path: string;
34
+ protected path: string;
34
35
  line: ILine;
35
36
  readonly fReassignableStart: Signal<boolean>;
36
37
  readonly fDraggingDisabled: Signal<boolean>;
@@ -50,18 +51,29 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
50
51
  readonly fConnectionCenter: Signal<ElementRef<HTMLDivElement> | undefined>;
51
52
  readonly fConnectionCenters: Signal<readonly FConnectionCenterDirective[]>;
52
53
  readonly fConnectionContents: Signal<readonly FConnectionContent[]>;
54
+ readonly fInputSide: Signal<EFConnectionConnectableSide>;
55
+ private _sourceSide;
56
+ readonly fOutputSide: Signal<EFConnectionConnectableSide>;
57
+ private _targetSide;
53
58
  private _penultimatePoint;
54
59
  private _secondPoint;
55
60
  protected constructor();
56
61
  initialize(): void;
57
62
  isContains(element: HTMLElement | SVGElement): boolean;
58
- setLine({ point1, point2 }: ILine, sourceSide: EFConnectableSide, targetSide: EFConnectableSide): void;
63
+ setLine({ point1, point2 }: ILine): void;
59
64
  private _contents;
60
65
  private _getPathResult;
61
66
  private _createTransformString;
62
67
  markChildrenAsSelected(): void;
63
68
  unmarkChildrenAsSelected(): void;
64
69
  redraw(): void;
70
+ /**
71
+ * Applies the resolved sides to the connection. Don't call this method directly; it's used internally.
72
+ *
73
+ * @param sourceSide The resolved side for the source element.
74
+ * @param targetSide The resolved side for the target element.
75
+ */
76
+ _applyResolvedSidesToConnection(sourceSide: EFConnectableSide, targetSide: EFConnectableSide): void;
65
77
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionBase, never>;
66
78
  static ɵdir: i0.ɵɵDirectiveDeclaration<FConnectionBase, never, never, { "fStartColor": { "alias": "fStartColor"; "required": false; "isSignal": true; }; "fEndColor": { "alias": "fEndColor"; "required": false; "isSignal": true; }; }, {}, ["fConnectionCenters", "fConnectionContents"], never, false, never>;
67
79
  }
@@ -6,6 +6,7 @@ export * from './f-path';
6
6
  export * from './f-selection';
7
7
  export * from './f-connection-base';
8
8
  export * from './e-f-connection-behavior';
9
+ export * from './e-f-connection-connectable-side';
9
10
  export * from './e-f-connection-type';
10
11
  export * from './f-connection-identifiers';
11
12
  export * from './i-has-connection-color';
@@ -1,5 +1,5 @@
1
1
  import { OnChanges, OnDestroy, OnInit } from '@angular/core';
2
- import { EFConnectionBehavior, EFConnectionType } from '../common';
2
+ import { EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType } from '../common';
3
3
  import { FConnectionBase } from '../common/f-connection-base';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class FConnectionComponent extends FConnectionBase implements OnInit, OnChanges, OnDestroy {
@@ -17,13 +17,15 @@ export declare class FConnectionComponent extends FConnectionBase implements OnI
17
17
  fSelectionDisabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
18
  fReassignableStart: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
19
  fDraggingDisabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
+ fInputSide: import("@angular/core").InputSignalWithTransform<EFConnectionConnectableSide, unknown>;
21
+ fOutputSide: import("@angular/core").InputSignalWithTransform<EFConnectionConnectableSide, unknown>;
20
22
  get boundingElement(): HTMLElement | SVGElement;
21
23
  private readonly _mediator;
22
24
  ngOnInit(): void;
23
25
  ngOnChanges(): void;
24
26
  ngOnDestroy(): void;
25
27
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fId": { "alias": "fConnectionId"; "required": false; "isSignal": true; }; "fText": { "alias": "fText"; "required": false; }; "fTextStartOffset": { "alias": "fTextStartOffset"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": false; "isSignal": true; }; "fInputId": { "alias": "fInputId"; "required": false; "isSignal": true; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; "isSignal": true; }; "fReassignableStart": { "alias": "fReassignableStart"; "required": false; "isSignal": true; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fId": { "alias": "fConnectionId"; "required": false; "isSignal": true; }; "fText": { "alias": "fText"; "required": false; }; "fTextStartOffset": { "alias": "fTextStartOffset"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": false; "isSignal": true; }; "fInputId": { "alias": "fInputId"; "required": false; "isSignal": true; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; "isSignal": true; }; "fReassignableStart": { "alias": "fReassignableStart"; "required": false; "isSignal": true; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; "isSignal": true; }; "fInputSide": { "alias": "fInputSide"; "required": false; "isSignal": true; }; "fOutputSide": { "alias": "fOutputSide"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
27
29
  static ngAcceptInputType_fRadius: unknown;
28
30
  static ngAcceptInputType_fOffset: unknown;
29
31
  static ngAcceptInputType_fBehavior: unknown;
@@ -1,11 +1,9 @@
1
- import { IFConnectionBuilders } from './f-connection-builders';
2
1
  import { IFConnectionFactoryRequest } from './i-f-connection-factory-request';
3
2
  import { IFConnectionBuilderResponse } from './i-f-connection-builder-response';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class FConnectionFactory {
6
- private readonly builders;
7
- constructor(builders: IFConnectionBuilders);
5
+ private readonly _builders;
8
6
  handle(request: IFConnectionFactoryRequest): IFConnectionBuilderResponse;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionFactory, [{ optional: true; }]>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionFactory, never>;
10
8
  static ɵprov: i0.ɵɵInjectableDeclaration<FConnectionFactory>;
11
9
  }
@@ -44,7 +44,7 @@ export declare class FConnectionContent implements OnInit, IPolylineContent {
44
44
  * - `1` — at the end of the connection,
45
45
  * - `0.5` — at the middle of the connection (default).
46
46
  */
47
- readonly position: import("@angular/core").InputSignalWithTransform<number, number>;
47
+ readonly position: import("@angular/core").InputSignalWithTransform<number, unknown>;
48
48
  /**
49
49
  * Perpendicular offset from the connection line (in pixels).
50
50
  *
@@ -53,7 +53,7 @@ export declare class FConnectionContent implements OnInit, IPolylineContent {
53
53
  * - Negative values shift it to the left.
54
54
  * - Default: `0` (no shift).
55
55
  */
56
- readonly offset: import("@angular/core").InputSignal<number>;
56
+ readonly offset: import("@angular/core").InputSignalWithTransform<number, unknown>;
57
57
  /**
58
58
  * Controls the orientation (rotation) of the content relative to the connection.
59
59
  *
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy, OnInit } from '@angular/core';
2
- import { EFConnectionBehavior } from '../common';
2
+ import { EFConnectionBehavior, EFConnectionConnectableSide } from '../common';
3
3
  import { EFConnectionType } from '../common';
4
4
  import { FConnectionBase } from '../common/f-connection-base';
5
5
  import * as i0 from "@angular/core";
@@ -13,6 +13,8 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
13
13
  fOffset: number;
14
14
  fBehavior: EFConnectionBehavior;
15
15
  fType: EFConnectionType | string;
16
+ fInputSide: import("@angular/core").InputSignalWithTransform<EFConnectionConnectableSide, unknown>;
17
+ fOutputSide: import("@angular/core").InputSignalWithTransform<EFConnectionConnectableSide, unknown>;
16
18
  get boundingElement(): HTMLElement | SVGElement;
17
19
  private readonly _mediator;
18
20
  ngOnInit(): void;
@@ -20,7 +22,7 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
20
22
  ngOnChanges(): void;
21
23
  ngOnDestroy(): void;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionForCreateComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionForCreateComponent, "f-connection-for-create", never, { "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionForCreateComponent, "f-connection-for-create", never, { "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fInputSide": { "alias": "fInputSide"; "required": false; "isSignal": true; }; "fOutputSide": { "alias": "fOutputSide"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
24
26
  static ngAcceptInputType_fRadius: unknown;
25
27
  static ngAcceptInputType_fOffset: unknown;
26
28
  static ngAcceptInputType_fBehavior: unknown;
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, OnChanges, OnDestroy, OnInit } from '@angular/core';
2
- import { EFConnectionBehavior } from '../common';
2
+ import { EFConnectionBehavior, EFConnectionConnectableSide } from '../common';
3
3
  import { EFConnectionType } from '../common';
4
4
  import { FConnectionBase } from '../common/f-connection-base';
5
5
  import * as i0 from "@angular/core";
@@ -14,6 +14,8 @@ export declare class FSnapConnectionComponent extends FConnectionBase implements
14
14
  fOffset: number;
15
15
  fBehavior: EFConnectionBehavior;
16
16
  fType: EFConnectionType | string;
17
+ fInputSide: import("@angular/core").InputSignalWithTransform<EFConnectionConnectableSide, unknown>;
18
+ fOutputSide: import("@angular/core").InputSignalWithTransform<EFConnectionConnectableSide, unknown>;
17
19
  get boundingElement(): HTMLElement | SVGElement;
18
20
  private readonly _mediator;
19
21
  ngOnInit(): void;
@@ -21,7 +23,7 @@ export declare class FSnapConnectionComponent extends FConnectionBase implements
21
23
  ngOnChanges(): void;
22
24
  ngOnDestroy(): void;
23
25
  static ɵfac: i0.ɵɵFactoryDeclaration<FSnapConnectionComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<FSnapConnectionComponent, "f-snap-connection", never, { "fSnapThreshold": { "alias": "fSnapThreshold"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<FSnapConnectionComponent, "f-snap-connection", never, { "fSnapThreshold": { "alias": "fSnapThreshold"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fInputSide": { "alias": "fInputSide"; "required": false; "isSignal": true; }; "fOutputSide": { "alias": "fOutputSide"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
25
27
  static ngAcceptInputType_fSnapThreshold: unknown;
26
28
  static ngAcceptInputType_fRadius: unknown;
27
29
  static ngAcceptInputType_fOffset: unknown;
@@ -4,4 +4,4 @@ import { FConnectionCenterDirective } from './f-connection-center';
4
4
  import { FConnectionForCreateComponent } from './f-connection-for-create';
5
5
  import { FMarkerDirective } from './f-marker';
6
6
  import { FSnapConnectionComponent } from './f-snap-connection';
7
- export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionDragHandleStartComponent | typeof FConnectionDragHandleEndComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FConnectionForCreateComponent | typeof FConnectionComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
7
+ export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionTextComponent | typeof FConnectionTextPathDirective | typeof FConnectionDragHandleStartComponent | typeof FConnectionDragHandleEndComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionSelectionComponent | typeof FConnectionComponent | typeof FConnectionCenterDirective | typeof FConnectionForCreateComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
@@ -0,0 +1,8 @@
1
+ import { FEventTrigger } from '../../../../domain';
2
+ import { IPointerEvent } from '../../../../drag-toolkit';
3
+ export declare class CreateConnectionPreparationRequest {
4
+ readonly event: IPointerEvent;
5
+ readonly fTrigger: FEventTrigger;
6
+ static readonly fToken: unique symbol;
7
+ constructor(event: IPointerEvent, fTrigger: FEventTrigger);
8
+ }
@@ -0,0 +1,16 @@
1
+ import { IHandler } from '@foblex/mediator';
2
+ import { CreateConnectionPreparationRequest } from './create-connection-preparation-request';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CreateConnectionPreparation implements IHandler<CreateConnectionPreparationRequest, void> {
5
+ private readonly _mediator;
6
+ private readonly _store;
7
+ private readonly _dragContext;
8
+ private _node;
9
+ handle(request: CreateConnectionPreparationRequest): void;
10
+ private _isValid;
11
+ private _getNode;
12
+ private _isValidConditions;
13
+ private _isValidTrigger;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionPreparation, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<CreateConnectionPreparation>;
16
+ }
@@ -0,0 +1,8 @@
1
+ import { FNodeBase } from '../../../../../f-node';
2
+ import { IPointerEvent } from '../../../../../drag-toolkit';
3
+ export declare class CreateConnectionFromOutputPreparationRequest {
4
+ readonly event: IPointerEvent;
5
+ readonly node: FNodeBase;
6
+ static readonly fToken: unique symbol;
7
+ constructor(event: IPointerEvent, node: FNodeBase);
8
+ }
@@ -0,0 +1,14 @@
1
+ import { IHandler } from '@foblex/mediator';
2
+ import { CreateConnectionFromOutputPreparationRequest } from './create-connection-from-output-preparation-request';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CreateConnectionFromOutputPreparation implements IHandler<CreateConnectionFromOutputPreparationRequest, void> {
5
+ private readonly _mediator;
6
+ private readonly _store;
7
+ handle(request: CreateConnectionFromOutputPreparationRequest): void;
8
+ private _isValid;
9
+ private _isNodeOutput;
10
+ private _getNodeOutlets;
11
+ private _getOutput;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionFromOutputPreparation, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<CreateConnectionFromOutputPreparation>;
14
+ }